Charakter-Effekte: Unterschied zwischen den Versionen
Zeile 38: | Zeile 38: | ||
--lunatic 22:12, 9. Apr. 2014 (CEST) | --lunatic 22:12, 9. Apr. 2014 (CEST) | ||
+ | [[Category:Modding]] |
Version vom 11. April 2014, 11:12 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>
Durch battle="true" wird festgelegt, dass es sich um einen Effekt handelt, der ausschließlich im Kampf aktiv sein kann. Demzufolge bedeutet die Angabe unter duration, dass es sich dabei um Kampfrunden handelt. Bei einem Effekt außerhalb eines Kampfes (also ohne battle="true") bestimmt man über duration die Stunden, die der Effekt andauern soll. 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. Das "showMessage" dient nur zu Prüfzwecken und kann natürlich entfernt werden.
--lunatic 22:12, 9. Apr. 2014 (CEST)