EVENT-TYP
ET_GUILD_LEARN - Fertigkeiten-Lern-Event innerhalb einer Gilde
BEDEUTUNG
Mit bzw. bei diesem Event lernt oder verlernt der Spieler eine
Fertigkeit in seiner Gilde. Es sei darauf hingewiesen, dass beim
Austritt aus der Gilde und dem Verlernen dadurch der Event nicht
erzeugt wird. Das 'verlernen' ist damit zwar moeglich, aber das
ist nicht getestet. :-)
DEFAULT HANDLER
Die jeweilige Gilde selbst.
EVENT DEFINES
/sys/events.h
/sys/guilds.h
EVENT DATEN
Das Event-Mapping enthaelt folgende Daten:
Key | Inhalt
---------------+----------------------------------------------------
Eintraege, die automatisch gesetzt werden (NICHT VERAENDERN!)
E_SENDER | (object) Event-Erzeuger. (Meist die Gilde selbst)
E_DESTINATIONS | (array) Objekte, an die der Event gesandt wird. (Im
| Normalfall nur die Gilde selbst
E_COMMAND | (string oder 0) Das eingegebene Kommando. (das Verb)
Eintraege, die der Sender gesetzt hat (setzen muss):
E_ACTOR | Das agierende Lebewesen. Also das Lebwesen, das
| etwas lernen will.
E_GUILD | Die Gilde (Name), in der etwas gelernt werden soll.
E_LEARN_WHAT | Die Fertigkeit die gelernt werden soll als String.
E_LEARN_VALUE | Der Lernwert im Sinne der Probability als Integer.
| maximal 1000, minimal -1 (zum einfachen Verlernen)
E_LEARN_TEXT | Der Text, den der Spieler beim Erlernen der Fertig-
| keit bekommt. Standardmaessig ist das: "Du konzen-
| trierst Dich eine Weile und lernst <spell>.
| <spellbeschreibung>"
Nach oder waehrend der Abarbeitung EVENTUELL enthalten:
E_HANDLED | (int) Wenn gesetzt, wurde der Event verarbeitet
E_HANDLER | (object) Der ausfuehrende Handler.
E_CANCELLED | (mixed) Wenn gesetzt, wurde der Event abgebrochen.
| Der Inhalt kann beliebig sein.
E_CANCELLER | (object) Das abbrechende Object.
EVENT-LAUSCHER
Siehe allgemeine Syntaxen in event_listeners(WL).
EVENT-SENDER
Siehe allgemeine Syntaxen in event_senders(WL). Gesendet werden
muessen mindestens:
E_GUILD, E_ACTOR, E_LEARN_WHAT, E_LEARN_VALUE, E_LEARN_TEXT
Automatisch werden immer gesetzt:
E_SENDER, E_DESTINATION und E_COMMAND
Ziel des Events sollte immer der Gildenraum sein. Wohl meistens
this_object(). Die Gilde akzeptiert nur Events, die sie selbst
gesandt hat oder ein Objekt, was sich im Inventory der Gilde
befindet und die gleiche euid hat. Zum Beispiel Gilden-NPCs etc.
BESCHREIBUNG
Der Event wird normalerweise in der Gilde erzeugt, wenn ein Spieler
'lerne <wasweissich>' eingibt. Vorm eigentlichen Senden wird
geprueft, ob der Spieler nicht vielleicht ein Geist oder garnicht
Mitglied dieser Gilde ist und ob man die fertigkeit ueberhaupt in
der Gilde lernen kann.
Der Event geht mit Prioritaet EPRIO_DEF_HANDLE (0) an die Gilde als
Default-Handler. Diese macht dann das eigentliche erlernen, indem es
prueft, ob die Bedingungen erfuellt sind und die Fertigkeit vergibt
oder den neuen Lernwert setzt. Ein tet wird ausgegeben, mit welchen
Verben die Fertigkeit verwendet werden darf und wie gut man sie
beherrscht. Beim Wegnehmen, wird garnix ausgegeben.
Objekte die mit hoeherer Prioritaet lauschen (z.B.: EPRIO_MODIFY
(700) bzw. EPRIO_CANCEL (400)), koennen VOR dem Lernen den Event
aendern oder ganz abbrechen.
Objekte die mit kleinerer Prioritaet (z.B.: EPRIO_REACT (-300))
lauschen, koennen NACH dem Erhoehen dem Spieler zum Beispiel
gratulieren etc.
SIEHE AUCH
ET_GUILD_JOIN, ET_GUILD_LEAVE, ET_ADVANCE, events(WL),
event_types(WL), event_prioritaeten(WL), listen_event(S)
|