Charakter-Effekte: Unterschied zwischen den Versionen

Aus Sternenschweif Wiki
Wechseln zu: Navigation, Suche
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)