Even if I am a noob in (v)Jass, I wrote a trigger for a spell which does the same as Stormbolt, but heals the caster. And i wanted to do it without any dummy unit, which heals my hero. Here's my script, but the red marked line creates a syntax error:
And here in Jass (because with [Noparse]
scope ShadowWave initializer Init
globals
private constant integer ID = 'Hess'
endglobals
private function True takes nothing returns boolean
return true
endfunction
private function Cons takes nothing returns boolean
return (GetSpellAbilityId() == ID)
endfunction
private function NewHp takes unit p returns integer
return ((R2I(GetWidgetLife(p)) + (GetUnitAbilityLevel(p, ID)) * 100)
endfunction
private function Wave takes nothing returns nothing
local unit u = GetSpellTargetUnit()
local unit t = GetTriggerUnit()
call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Orc\\HealingWave\\HealingWaveTarget.mdl", t, "Chest"))
SetWidgetLife(t, NewHp(t))
endfunction
private function Init takes nothing returns nothing
local integer i = 0
local trigger t = CreateTrigger()
loop
exitwhen i > 15
call TriggerRegisterUnitEvent (t, gg_unit_Hmkg_0000, EVENT_UNIT_SPELL_CAST)
set i = i + 1
endloop
call TriggerAddCondition(t, Filter(function Cons))
call TriggerAddAction(t, function Wave)
endfunction
endscope
And here in Jass (because with [Noparse]
JASS:
[/Noparse] i can039;t color the lines:
<div class="bbCodeSpoiler">
<button type="button" class="bbCodeSpoiler-button button" data-xf-click="toggle" data-xf-init="tooltip" title="Click to reveal or hide spoiler"><span class="button-text">
<span>Spoiler</span>
</span></button>
<div class="bbCodeSpoiler-content">
<div class="bbCodeBlock bbCodeBlock--spoiler">
<div class="bbCodeBlock-content"><div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"><div class="bbCodeBlock-title">JASS:</div><div class="bbCodeBlock-content"><pre class="bbCodeCode"><code class="jass"><span class="keyword">scope</span> <span>ShadowWave</span> <span class="keyword">initializer</span> <span>Init</span>
<span class="keyword">globals</span>
<span class="keyword">private</span> <span class="keyword">constant</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/integer" class="type">integer</a> <span>ID</span> <span class="symbol">=</span> <span class="number">0</span><span class="number">39</span>;<span>Hess</span><span class="number">0</span><span class="number">39</span>;
<span class="keyword">endglobals</span>
<span class="keyword">private</span> <span class="keyword">function</span> <span>True</span> <span class="keyword">takes</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/nothing" class="type">nothing</a> <span class="keyword">returns</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/boolean" class="type">boolean</a>
<span class="keyword">return</span> <span class="value">true</span>
<span class="keyword">endfunction</span>
<span class="keyword">private</span> <span class="keyword">function</span> <span>Cons</span> <span class="keyword">takes</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/nothing" class="type">nothing</a> <span class="keyword">returns</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/boolean" class="type">boolean</a>
<span class="keyword">return</span> <span class="symbol">(</span><a href="http://wiki.thehelper.net/wc3/jass/common.j/GetSpellAbilityId" class="native">GetSpellAbilityId</a><span class="symbol">(</span><span class="symbol">)</span> <span class="symbol">=</span><span class="symbol">=</span> <span>ID</span><span class="symbol">)</span>
<span class="keyword">endfunction</span>
<span class="keyword">private</span> <span class="keyword">function</span> <span>NewHp</span> <span class="keyword">takes</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/unit" class="type">unit</a> <span>p</span> <span class="keyword">returns</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/integer" class="type">integer</a>
<span class="keyword">return</span> <span class="symbol">(</span><span class="symbol">(</span><a href="http://wiki.thehelper.net/wc3/jass/common.j/R2I" class="native">R2I</a><span class="symbol">(</span><a href="http://wiki.thehelper.net/wc3/jass/common.j/GetWidgetLife" class="native">GetWidgetLife</a><span class="symbol">(</span><span>p</span><span class="symbol">)</span><span class="symbol">)</span> <span class="symbol">+</span> <span class="symbol">(</span><a href="http://wiki.thehelper.net/wc3/jass/common.j/GetUnitAbilityLevel" class="native">GetUnitAbilityLevel</a><span class="symbol">(</span><span>p</span><span class="symbol">,</span> <span>ID</span><span class="symbol">)</span><span class="symbol">)</span> <span class="symbol">*</span> <span class="number">100</span><span class="symbol">)</span>
<span class="keyword">endfunction</span>
<span class="keyword">private</span> <span class="keyword">function</span> <span>Wave</span> <span class="keyword">takes</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/nothing" class="type">nothing</a> <span class="keyword">returns</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/nothing" class="type">nothing</a>
<span class="keyword">local</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/unit" class="type">unit</a> <span>u</span> <span class="symbol">=</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/GetSpellTargetUnit" class="native">GetSpellTargetUnit</a><span class="symbol">(</span><span class="symbol">)</span>
<span class="keyword">local</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/unit" class="type">unit</a> <span>t</span> <span class="symbol">=</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/GetTriggerUnit" class="native">GetTriggerUnit</a><span class="symbol">(</span><span class="symbol">)</span>
<span class="keyword">call</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/DestroyEffect" class="native">DestroyEffect</a><span class="symbol">(</span><a href="http://wiki.thehelper.net/wc3/jass/common.j/AddSpecialEffectTarget" class="native">AddSpecialEffectTarget</a><span class="symbol">(</span>&<span>quot</span>;<span>Abilities</span>\\<span>Spells</span>\\<span>Orc</span>\\<span>HealingWave</span>\\<span>HealingWaveTarget</span>.<span>mdl</span>&<span>quot</span>;<span class="symbol">,</span> <span>t</span><span class="symbol">,</span> &<span>quot</span>;<span>Chest</span>&<span>quot</span>;<span class="symbol">)</span><span class="symbol">)</span>
<a href="http://wiki.thehelper.net/wc3/jass/common.j/SetWidgetLife" class="native">SetWidgetLife</a><span class="symbol">(</span><span>t</span><span class="symbol">,</span> <span>NewHp</span><span class="symbol">(</span><span>t</span><span class="symbol">)</span><span class="symbol">)</span>
<span class="keyword">endfunction</span>
<span class="keyword">private</span> <span class="keyword">function</span> <span>Init</span> <span class="keyword">takes</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/nothing" class="type">nothing</a> <span class="keyword">returns</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/nothing" class="type">nothing</a>
<span class="keyword">local</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/integer" class="type">integer</a> <span>i</span> <span class="symbol">=</span> <span class="number">0</span>
<span class="keyword">local</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/trigger" class="type">trigger</a> <span>t</span> <span class="symbol">=</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/CreateTrigger" class="native">CreateTrigger</a><span class="symbol">(</span><span class="symbol">)</span>
<span class="keyword">loop</span>
<span class="keyword">exitwhen</span> <span>i</span> &<span>gt</span>; <span class="number">15</span>
<span class="keyword">call</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/TriggerRegisterUnitEvent" class="native">TriggerRegisterUnitEvent</a> <span class="symbol">(</span><span>t</span><span class="symbol">,</span> <span>gg_unit_Hmkg_0000</span><span class="symbol">,</span> <a href="http://wiki.thehelper.net/wc3/EVENT_UNIT_SPELL_CAST" class="variable">EVENT_UNIT_SPELL_CAST</a><span class="symbol">)</span>
<span class="keyword">set</span> <span>i</span> <span class="symbol">=</span> <span>i</span> <span class="symbol">+</span> <span class="number">1</span>
<span class="keyword">endloop</span>
<span class="keyword">call</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/TriggerAddCondition" class="native">TriggerAddCondition</a><span class="symbol">(</span><span>t</span><span class="symbol">,</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/Filter" class="native">Filter</a><span class="symbol">(</span><span class="keyword">function</span> <span>Cons</span><span class="symbol">)</span><span class="symbol">)</span>
<span class="keyword">call</span> <a href="http://wiki.thehelper.net/wc3/jass/common.j/TriggerAddAction" class="native">TriggerAddAction</a><span class="symbol">(</span><span>t</span><span class="symbol">,</span> <span class="keyword">function</span> <span>Wave</span><span class="symbol">)</span>
<span class="keyword">endfunction</span>
<span class="keyword">endscope</span></code></pre></div></div></div>
</div>
</div>
</div>
And please tell me about the green line, because I039;m not sure about the correctness of it.
MfG Lehona