Charakter-Effekte: Unterschied zwischen den Versionen
Aus Sternenschweif Wiki
Zeile 18: | Zeile 18: | ||
<!-- Nur beim ersten Treffer wird der RS um 1 reduziert (wenn > 0) --> | <!-- Nur beim ersten Treffer wird der RS um 1 reduziert (wenn > 0) --> | ||
<script><![CDATA[ | <script><![CDATA[ | ||
+ | </syntaxhighlight> | ||
+ | <syntaxhighlight lang="Javascript"> | ||
function OnAdd() { | function OnAdd() { | ||
var RS = getCharAttribute("RS",0); | var RS = getCharAttribute("RS",0); | ||
Zeile 26: | Zeile 28: | ||
showMessage("RS alt: "+RS+" RS neu: "+RSnew); | showMessage("RS alt: "+RS+" RS neu: "+RSnew); | ||
} | } | ||
+ | </syntaxhighlight> | ||
+ | <syntaxhighlight lang="XML"> | ||
]]></script> | ]]></script> | ||
</effect> | </effect> |
Version vom 9. April 2014, 20:07 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)