Charakter-Effekte: Unterschied zwischen den Versionen
Aus Sternenschweif Wiki
Zeile 1: | Zeile 1: | ||
− | Beispiel für einen Effekt auf einen NPC (Gegner) | + | Beispiel für einen Effekt auf einen NPC (Gegner). |
Wird ausgelöst durch einen Treffer mit der Waffe, Effekt läuft über poison. | Wird ausgelöst durch einen Treffer mit der Waffe, Effekt läuft über poison. | ||
Zeile 21: | Zeile 21: | ||
var RS = getCharAttribute("RS",0); | var RS = getCharAttribute("RS",0); | ||
var RSmod = 0; | var RSmod = 0; | ||
− | |||
if ( RS > 0 ) RSmod = -1; | if ( RS > 0 ) RSmod = -1; | ||
setEffect( "RS", RSmod ); | setEffect( "RS", RSmod ); | ||
− | RSnew = RS + RSmod; | + | var RSnew = RS + RSmod; |
showMessage("RS alt: "+RS+" RS neu: "+RSnew); | showMessage("RS alt: "+RS+" RS neu: "+RSnew); | ||
} | } | ||
− | ]]></script> | + | ]]></script> |
</effect> | </effect> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | Da unique="true", wird der Effekt nur einmal pro Gegner ausgelöst. Der RS darf nicht unter 0 sinken, da sonst durch die Berechnung TP - RS = SP ein zusätzlicher SP entstehen würde. | ||
--lunatic 21:02, 9. Apr. 2014 (CEST) | --lunatic 21:02, 9. Apr. 2014 (CEST) |
Version vom 9. April 2014, 20:05 Uhr
Beispiel für einen Effekt auf einen NPC (Gegner). Wird ausgelöst durch einen Treffer mit der Waffe, Effekt läuft über poison.
Zunächst die nötigen Effekte bei dem Item (Waffe)
<effect on="spawn" type="uses" mod="999" /> <effect on="spawn" type="varusestype" which="lunatic_schwert" /> <effect on="data" type="usestype" which="poison" />
Hier die Definition unter dem <effects>-Tag:
<effect intname="poison_lunatic_schwert" duration="999" battle="true" langid="chartext_opp_lunatic_schwert" unique="true"> <type>other</type> <display>negative</display> <!-- Nur beim ersten Treffer wird der RS um 1 reduziert (wenn > 0) --> <script><![CDATA[ function OnAdd() { var RS = getCharAttribute("RS",0); var RSmod = 0; if ( RS > 0 ) RSmod = -1; setEffect( "RS", RSmod ); var RSnew = RS + RSmod; showMessage("RS alt: "+RS+" RS neu: "+RSnew); } ]]></script> </effect>
Da unique="true", wird der Effekt nur einmal pro Gegner ausgelöst. Der RS darf nicht unter 0 sinken, da sonst durch die Berechnung TP - RS = SP ein zusätzlicher SP entstehen würde.
--lunatic 21:02, 9. Apr. 2014 (CEST)