Charakter-Effekte: Unterschied zwischen den Versionen

Aus Sternenschweif Wiki
Wechseln zu: Navigation, Suche
Zeile 34: Zeile 34:
 
</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.
+
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 21:02, 9. Apr. 2014 (CEST)
 
--lunatic 21:02, 9. Apr. 2014 (CEST)

Version vom 9. April 2014, 20:09 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. Das "showMessage" dient nur zu Prüfzwecken und kann natürlich entfernt werden.

--lunatic 21:02, 9. Apr. 2014 (CEST)