Git Product home page Git Product logo

avalon's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

avalon's Issues

plugin-struktur entschlacken

Die Plugin-Struktur ist derzeit ausprogrammiert, die Plugins werden also nicht fest geladen, sondern zur Laufzeit dynamisch in bestimmter Reihenfolge geladen.
Dies war früher nötig, da Mechanismen wie das Austauschen der TTS-Plugins via Strg+F12 nicht realisierbar waren, wenn die Plugins zur Compile Time festgelegt werden wollten.
Da der MushReader inzwischen allerdings mit allen gängigen Screen Readern funktionieren sollte, kann dies umgestellt werden. Zu Beachten ist allerdings, dass hierbei auch der Updater entsprechend angepasst werden muss.

Fährtensuche-Formatierung

Die Meistermeldung der Fährtensuche könnte effektiv geparst werden, um eine bessere Lesbarkeit, nicht nur für Blinde, zu gewehrleisten. Dwalin hat mit etwas ähnlichem bereits einmal angefangen und auch schon fast fertiggestellt, vielleicht könnte man dort einmal nachfragen?

api documentation

Die inzwischen recht extensive API im Soundpack ist bislang noch undokumentiert. Dies beinhaltet:

  • PPI-Schnittstellen diverser Plugins (speedwalking, Avalon, timers etc.)
  • Module und Pakete (direkte Verwendung von Timern, speedwalks und mehr)
  • Callbacks in der Avalon API (korrektes Einhängen in ATCP Events etc)
    Hierfür ist ein text-only Format via readme vermutlich nicht geeignet, stattdessen sollte ein strukturiertes Format (auf Basis von Sphinx oder Ähnlichem) genutzt werden. Von Entwicklern sollten dahingehende Kenntnisse realistisch sein.

Updater kopiert keine Variablen aus aktueller Konfiguration mit

Beim Zusammenführen von Variablen, Triggern, Aliasen etc in der MCL-Datei durch den Updater werden die Variablen der heruntergeladenen, aktualisierten MCL-Version nicht übernommen, was bspw. beim Update nach dem Speedwalking-Umbau zu Fehlern führt.

Unterstützung für neue ATCP-Befehle in Speedwalks

Die neue Oger-Rasse bringt die Funktion mit, dass sie nicht spontan die Richtung wechseln können, sondern dazu etwas Zeit benötigen.
Um dies den Clients zu kommunizieren, wurden zwei neue ATCP-Meldungen eingebunden:
Avalon.BewegungVerzoegert X, mit X = Sekunden, die der letzte Befehl verzögert wurde.
Avalon.BewegungIgnoriert X, mit X = zu wartende Zeit, bevor neue Bewegungen akzeptiert werden.
Wichtig: Avalon.BewegungIgnoriert erfordert ein anschließendes Neusenden des letzten Bewegungs-Kommandos.

Priorisierung der Zauberanzeige

Spieler wünschen sich, die wichtigeren Zauber (KB, Holzhaut etc) noch vor den weniger wichtigen Zaubern (Licht etc) zu sehen.

Speedwalk Gruppenmodus

Einen Speedwalk mit ? (oder einem anderen Zeichen) beenden bedeutet, dass man langsame Gruppenmitglieder hat, welche einem folgen wollen. In diesem Fall wird die Zeit einfach etwas verlängert, damit die Gruppenmitglieder Zeit haben, nachzuziehen.

login-helper

Ein MUSHclient Plugin, dass einem beim Anmelden in Avalon hilft (vielleicht auch so allgemein, dass man es auch auf andere MUDs übernehmen kann):

  • multicharakter möglich
  • Trigger auf erwartete Nutzernamen-Eingabe
  • Trigger für erwartete Passworteingabe
  • falls noch kein Passwort fuer diesen Nutzernamen verfuegbar, dann abwarten und eingegebenes Passwort merken
  • falls verfügbar, selbstständig eintragen

Golemschutzschild Trigger Reparatur

Um die Komplikationen zu beheben, welche den Golemschutzschild-Zauber auslösen, wenn andere Leute einen Schild zaubern, ist entweder eine Meldungs-Änderung seitens Avalon nötig oder das Abfangen des Golemnamens beim Abholen/Wegbringen oder anderen Aktionen und anschließend das dynamische Erstellen von Triggern, spezifiziert auf die gewonnen Daten.

Dämonenkrieger-Integration

Die Integration der Dämonenkrieger umfasst voraussichtlich folgende Punkte:

  • vollkommene Sound-Ausstattung (eventuell nach und nach)
  • Dämonennamen-Abkürzung (eventuelles Script, um nur noch beispielsweise 2 Buchstaben statt den ganzen Namen zu benötigen)

healthbar standardmäßig nicht aktiviert

Aktuell ist das Healthbar-Plugin deaktiviert, wenn man sich das Soundpack neu herunterlädt. Im Speedwalking-Branch wurden damals Anpassungen an den Avalon-internen Config-Methoden vorgenommen, welche vermutlich hier einen Folgefehler verursachen.

zentrales Objekt zur PPI-Ansteuerung

PPI bereitet aktuell immer diese Probleme:

  • API ist erst bereit, wenn das entsprechende Plugin geladen wurde und die Endpunkte bereitgestellt hat
  • Plugins, welche vor dem entsprechenden Plugin geladen werden, können daher in OnPluginInstall keine PPI.Load()/ API-Aufrufe durchführen, da die API-Schnittstelle noch nicht initialisiert wurde
    Daher brauchen wir ein zentrales PPI-Objekt, welches
  • ein Objekt returniert, welches die gewünschten Methoden-Aufrufe inkl. Parameter cached und eine vorgegebene Timeout-Zeit wartet, in der es immer wieder versucht, eine Verbindung zur Schnittstelle herzustellen.
  • ist dies erfolgreich, werden die Befehle so schnell wie möglich weitergeleitet
  • falls nicht, werden Fehler erzeugt

Verschlüsselung mithilfe von stunnel

Verschlüsselung mithilfe des stunnel-Clienten einbinden, dazu sicherstellen, dass stunnel nach dem Client-Schließen auch geschlossen wird, außerdem Fallback-Mode, falls stunnel nicht funktioniert.

Feedback, wenn zwischen Laufen, Klettern und Schwimmen umgeschaltet wird

Bisher schaltet das Soundpack selbstständig und ohne ersichtliches Feedback zwischen Laufen, Schwimmen und Klettern um. Seitens Avalon wird gebeten, diese Umschaltung für den Spieler ersichtlich zu machen, damit gerade für jüngere Spieler erkennbar wird, dass hier eine Automatik greift, die das Spielen angenehmer gestaltet.
Ich empfehle ein Opt Out Verfahren, diese Hinweise auch ausschalten zu können, wobei sie standardmäßig eingeschaltet sind.

heuristik fuer laenge von zaubern

bei benannten timern koennte jeweils erfasst werden, wann der zauber (timer) beendet wurde. dies kann registriert und daraus durchschnittlich eine vermutete maximale dauer ermittelt werden, welche ausgegeben werden koennte.

Markierung/Priorisierung von wichtigeren NPCs

Bezüglich dieser Neuerung muss Kontakt mit Xtian aufgenommen werden (bereits geschehen)
Es existieren diesbezüglich Ideen für ein Priorisierungs-System, d.h. verschiedene nummerische Werte, welchen eine Bedeutung zugewiesen wird und welche ausgewertet werden kann. Diese Methode ermöglicht es, Neuerungen direkt zu übernehmen, ohne einen neuen Tag zu benötigen. Diskussion mit Xtian bleibt abzuwarten.

Farbliche Verschönerung für Sehende

Die farbliche Hervorhebung wichtiger Meldungen für Sehende sollte zukünftig verstärkt integriert werden, um das Spielen mit Soundpack auch für Sehende angenehmer zu gestalten. Dazu müssen optimale Farbkombinationen (bisher RGB unterstützt) durch sehende zusammengestellt werden (einiges schon durch Dwalin getan, siehe Code avalon.xml etc), allerdings ist auch hier noch einige Arbeit nötig.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.