Item-Effekte
Anmerkung: Ich liste hier nur Effekte und Kombinationen auf, die mir bekannt sind und von denen ich mit Sicherheit sagen kann, dass sie funktionieren. Ich bin in diesem Bereich noch beim "Tüfteln und Probieren". Somit ist diese Auflistung aller Wahrscheinlichkeit nach nicht abschließend:
Bei einer Item-Definition können (und sind in aller Regal) auch Effekte definiert werden, die bei bestimmten Aktionen mit diesem Item ausgelöst werden sollen. Ein Beispiel (aus der Definition des Zauberstabs):
<effect on="carry" type="providerope" mod="10" prereq="level" prereqval="3" />
on: bei welcher Aktion der Effekt ausgelöst werden soll (hier "carry", also: Item ist im Inventar, muss nicht ausgerüstet sein)
type: der gewünscht Effekt (hier: Zauberstab dient als Seil)
mod: eine Modifikation/Präzisierung des Effekts (nicht immer nötig, hier: 10 m Seil)
prereq: Voraussetzung für den Effekt (hier: der Level des Gegenstandes)
prereqval: der Wert, der bei der unter "prereq" angegebenen Voraussetzung mind. gegeben sein muss (hier: 3. Stabzauber)
Ein weiteres Beispiel (der Heiltrank):
<effect on="drink" type="modifyattr" which="cLE" mod="10" /> <effect on="drink" type="spawnitem" mod="31" />
Bei der Aktion "drink" wird das Attribut ("which") cLE (current LE, also aktuelle Lebensenergie) um den Modifikator 10 verändert. Dafür wird als "type" "modifyattr" angegeben.
Parallel wird ein neues Item mit der ID 31 (Glasflasche) gespawnt (type="spawnitem")
Inhaltsverzeichnis
Liste möglicher "ons"
on="" | Bedeutung |
---|---|
eat | essen |
drink | trinken |
equip | ausrüsten |
carry | im Inventar haben |
expire | Auslauf des Effekts |
analues | Zauberwirkung des Analüs |
data | |
applypoison | Gift auftragen |
sharpenthis | Schleifstein benutzen |
exist | Gegenstand ist vorhanden |
inflame | anzünden |
spawn | Erhalten des Gegenstandes |
refilloil | mit Öl auffüllen |
refill | auffüllen |
read | lesen |
Darüber hinaus kann man "[freie Aktionen]" definieren, die dann ebenfalls unter on="" verwendet werden könnn.
Liste möglicher "types"
type | Zweck | which | mod | duration | spell |
---|---|---|---|---|---|
needammo | Waffe benötigt Munition | Bezeichnung für die Munition | |||
provideammo | Gegenstand liefert Munition (stackable, on=equip wichtig!) | Bezeichnung für die Munition (wie in needammo) | |||
<Beliebiges Attribut> | Modifikation eines Attributs (on=equip) | Modifikation des Attributs | |||
nohunger | verhindert, dass der Hunger erhöht wird | 1 | |||
nothirst | verhindert, dass der Durst erhöht wird | 1 | |||
protectwet | Nässeschutzwert | Wert | |||
protectcold | Kälteschutzwert | Wert | |||
throwing | Markiert einen Wurfgegenstand, zB einen Trank | ||||
script | führt ein (sehr einfaches!) Javascript im aktuellen Locationkontext aus | Das Skript | |||
usestype | Bei on=data: welcher Art das intere "uses"-Feld ist | poison, water, food, repairs | Die Maximalgröße "uses" | ||
modifyuses | Je nach Aktion wird "uses" modifiziert bzw. die Aktion abgebrochen | Wie uses modifiziert wird (meist: -1) | |||
modifybf | Je nach Ereignis (meist: on=sharpenthis) wird der Bruchfaktor modifiziert, Minimalwert des BF ist Item-BasisBF +1 | Wie der BF modifiziert wird (meist: -1) | |||
uses | Initialwert von Uses (meist: on=spawn) | Wert von Uses | |||
checkbonus | Modifikator auf bestimmte Proben | welches Talent (bzw. welche "Probenbezeichnung" für Metatalente) modifiziert werden soll | Wert des Modifikators | ||
checkbonusap | Modifikator auf bestimmte Proben, gilt für die gesamte aktive Gruppe | welches Talent (bzw. welche "Probenbezeichnung" für Metatalente) modifiziert werden soll | Wert des Modifikators | ||
TP | Modifikation der Trefferpunkte einer Waffe | Wert der Modifikation | |||
setdamagetype | Setzt die Schadensart der Waffe, meist in on=equip | die zu verwendende Schadensart (zb physicalblunt) | |||
adddamagetype | Fügt bei erfolgreichem Angriff mit der Hauptwaffe zusätzlichen Schaden hinzu | Schadensart des Zusatzschadens | Menge des Zusatzschadens | ||
consume | Verbraucht eine Anzahl Items bzw. eine Anzahl uses (zuerst Items, dann uses) | Zu verbrauchende Menge (Standard: 1) |
Freie Aktionen
Über die "freien Aktionen" kann man Items neue Aktionen zuordnen, die man dann mit dem Item durchführen kann. Am Item erscheint ein Button mit dem entsprechenden Text.
Zunächst muss unter dem Tag
<globalsettings> <character> <useactions>
die neue Aktion definiert werden.
<action>neueaktion</action>
Im zweiten Schritt wird für diese Aktion ein Textkey angelegt:
<text key="inv_itemneueaktion">Neue Aktion</text>
Anschließend erscheint ein Button "Neue Aktion" am Item, und in der Item-Definition ist
on="neueaktion"
verwendbar.
Bedingungen
Gegenstände können Eigenschaften haben, die an bestimmte Bedingungen geknüpft sind, Beispiel hierfür ist der Zauberstab des Magiers, der mehrere "Stabzauber" besitzen und somit je nach Stufe des Stabzaubers mehr Eigenschaften freischaltet. Auch andere Vorbedingungen können sinnvoll sein und werden in das Feld "prereq" eingetragen. "prereqval" gibt in weiterer Folge an, ob ein numerischer Wert ebenfalls abgefragt werden soll. Folgende sind vorhanden:
level
Die Vorbedingung "level" ist genau für den Stabzauber, aber auch für alle anderen mehrstufigen Gegenstände wichtig. Dazu wird das interne Feld "Level" verwendet, welches über data->leveltype angesprochen wird. prereqval steht in diesem Fall für die Stufe, die für die entsprechende Eigenschaft erreicht werden muss.
uses
Die Verwendungen eines Items müssen größer als prereqval sein. Beispielsweise möglich, um ein "castspell" nur dann anzubieten, wenn noch Benutzungen vorhanden sind.
needammo
Sinnvoll nur in Kombination mit on=equip type=provideammo. Nur in Verwendung mit on=equip-Effekten. Stellt sicher, dass der Effekt nur angewendet wird, wenn eine Waffe ausgerüstet ist, deren "needammo"-Feld mit dem "provideammo"-Feld dieses Items korrespondiert. Beispiele sind Spezialpfeile und -bolzen, die ihre Effekte nur in Kombination mit einer entsprechenden Fernwaffe entfalten sollen.