Skip to content
Home
Post Code
Jass (Warcraft III)
Wurst
GUI (Warcraft III)
Galaxy (StarCraft II)
GUI (StarCraft II)
C++
Java
Delphi
Text
Search Code
Compare Code
Uploads
Draw
Create New Drawing
View Drawings
Graph
Log in
<pre class="jasscode"><span class="style_keyword">init</span> registerSpellEffectEvent<span class="style_symbol">(</span><span class="style_int">'A01M'</span><span class="style_symbol">,</span><span class="style_keyword">function</span> spellCast<span class="style_symbol">)</span> timerIterateSpell.startPeriodic<span class="style_symbol">(</span><span class="style_int">0</span>.<span class="style_int">03</span><span class="style_symbol">,</span><span class="style_keyword">function</span> spellLoop<span class="style_symbol">)</span> timerIterateSpell2.startPeriodic<span class="style_symbol">(</span><span class="style_int">0</span>.<span class="style_int">03</span><span class="style_symbol">,</span><span class="style_keyword">function</span> spellLoop2<span class="style_symbol">)</span> <span class="style_keyword">function</span> spellCast<span class="style_symbol">(</span><span class="style_symbol">)</span> vec2 target <span class="style_symbol">=</span> vec2<span class="style_symbol">(</span><a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetLocationX">GetLocationX</a><span class="style_symbol">(</span><a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetSpellTargetLoc">GetSpellTargetLoc</a><span class="style_symbol">(</span><span class="style_symbol">)</span><span class="style_symbol">)</span><span class="style_symbol">,</span><a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetLocationY">GetLocationY</a><span class="style_symbol">(</span><a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetSpellTargetLoc">GetSpellTargetLoc</a><span class="style_symbol">(</span><span class="style_symbol">)</span><span class="style_symbol">)</span><span class="style_symbol">)</span> <span class="style_comment">//print(target.toString())</span> vec2 origin <span class="style_symbol">=</span> <a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetTriggerUnit">GetTriggerUnit</a><span class="style_symbol">(</span><span class="style_symbol">)</span>.getPos<span class="style_symbol">(</span><span class="style_symbol">)</span> <span class="style_keyword">let</span> uvy <span class="style_symbol">=</span> origin.distToVec<span class="style_symbol">(</span>target<span class="style_symbol">)</span> <span class="style_comment">//print(uvy.toString())</span> <span class="style_keyword">let</span> agi <span class="style_symbol">=</span> <a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetHeroAgi">GetHeroAgi</a><span class="style_symbol">(</span><a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetTriggerUnit">GetTriggerUnit</a><span class="style_symbol">(</span><span class="style_symbol">)</span><span class="style_symbol">,</span><span class="style_constant">true</span><span class="style_symbol">)</span>.toReal<span class="style_symbol">(</span><span class="style_symbol">)</span> <span class="style_keyword">let</span> str <span class="style_symbol">=</span> <a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetHeroStr">GetHeroStr</a><span class="style_symbol">(</span><a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetTriggerUnit">GetTriggerUnit</a><span class="style_symbol">(</span><span class="style_symbol">)</span><span class="style_symbol">,</span><span class="style_constant">true</span><span class="style_symbol">)</span>.toReal<span class="style_symbol">(</span><span class="style_symbol">)</span> <a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetTriggerUnit">GetTriggerUnit</a><span class="style_symbol">(</span><span class="style_symbol">)</span>.addAbility<span class="style_symbol">(</span><span class="style_int">'Amrf'</span><span class="style_symbol">)</span> <a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetTriggerUnit">GetTriggerUnit</a><span class="style_symbol">(</span><span class="style_symbol">)</span>.addAbility<span class="style_symbol">(</span><span class="style_int">'A01N'</span><span class="style_symbol">)</span> <a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetTriggerUnit">GetTriggerUnit</a><span class="style_symbol">(</span><span class="style_symbol">)</span>.getOwner<span class="style_symbol">(</span><span class="style_symbol">)</span>.setAbilityAvailable<span class="style_symbol">(</span><span class="style_int">'Amrf'</span><span class="style_symbol">,</span><span class="style_constant">false</span><span class="style_symbol">)</span> <span class="style_comment">//let u = createUnit(GetTriggerUnit().getOwner(),'n011',GetTriggerUnit().getPos(),origin.angleTo(target))</span> <span class="style_comment">//print(u.getName())</span> <span class="style_comment">//GetTriggerUnit().issuePointOrder("move",target)</span> <span class="style_comment">//u.setVertexColor(255,255,255,155)</span> <span class="style_comment">//u.setTimeScale(3.5)</span> <span class="style_keyword">let</span> lev <span class="style_symbol">=</span> <a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetTriggerUnit">GetTriggerUnit</a><span class="style_symbol">(</span><span class="style_symbol">)</span>.getAbilityLevel<span class="style_symbol">(</span><span class="style_int">'A01M'</span><span class="style_symbol">)</span>.toReal<span class="style_symbol">(</span><span class="style_symbol">)</span> spellList.add<span class="style_symbol">(</span><span class="style_keyword">new</span> Spell<span class="style_symbol">(</span><a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetTriggerUnit">GetTriggerUnit</a><span class="style_symbol">(</span><span class="style_symbol">)</span><span class="style_symbol">,</span>agi<span class="style_symbol">,</span>str<span class="style_symbol">,</span>lev<span class="style_symbol">,</span>uvy<span class="style_symbol">,</span><a class="style_function" href="http://www.mappedia.de/wiki/Jass:GetTriggerUnit">GetTriggerUnit</a><span class="style_symbol">(</span><span class="style_symbol">)</span><span class="style_symbol">,</span>vec2<span class="style_symbol">(</span><span class="style_int">0</span><span class="style_symbol">,</span><span class="style_int">0</span><span class="style_symbol">)</span>.polarOffset<span class="style_symbol">(</span>origin.angleTo<span class="style_symbol">(</span>target<span class="style_symbol">)</span><span class="style_symbol">,</span><span class="style_int">27</span><span class="style_symbol">)</span><span class="style_symbol">)</span><span class="style_symbol">)</span> <span class="style_keyword">function</span> spellLoop2<span class="style_symbol">(</span><span class="style_symbol">)</span> <span class="style_keyword">for</span> x <span class="style_keyword">in</span> spellList2 x.setTime<span class="style_symbol">(</span><span class="style_symbol">)</span> <span class="style_keyword">function</span> spellLoop<span class="style_symbol">(</span><span class="style_symbol">)</span> <span class="style_keyword">for</span> x <span class="style_keyword">in</span> spellList x.setTime<span class="style_symbol">(</span><span class="style_symbol">)</span> <span class="style_keyword">public</span> <span class="style_keyword">class</span> Spell <span class="style_type">real</span> time <span class="style_type">real</span> xtime <span class="style_type">real</span> agi <span class="style_type">real</span> str <span class="style_type">real</span> lvl <span class="style_type">unit</span> u <span class="style_type">unit</span> caster vec2 veloc <span class="style_keyword">construct</span><span class="style_symbol">(</span><span class="style_type">unit</span> c<span class="style_symbol">,</span><span class="style_type">real</span> a<span class="style_symbol">,</span><span class="style_type">real</span> g<span class="style_symbol">,</span><span class="style_type">real</span> b<span class="style_symbol">,</span><span class="style_type">real</span> d<span class="style_symbol">,</span><span class="style_type">unit</span> cast<span class="style_symbol">,</span>vec2 velo<span class="style_symbol">)</span> time <span class="style_symbol">=</span> d xtime <span class="style_symbol">=</span> d u <span class="style_symbol">=</span> c agi <span class="style_symbol">=</span> a str <span class="style_symbol">=</span> g lvl <span class="style_symbol">=</span> b caster <span class="style_symbol">=</span> cast veloc <span class="style_symbol">=</span> velo <span class="style_comment">//i = 0</span> <span class="style_keyword">function</span> setTime<span class="style_symbol">(</span><span class="style_symbol">)</span> time <span class="style_symbol">=</span> time <span class="style_symbol">-</span> <span class="style_int">27</span> <span class="style_comment">//SetUnitAnimation(u, "walk")</span> <span class="style_comment">//u.setVertexColor(255,255,255,(time/4.71).toInt())</span> u.setFlyHeight<span class="style_symbol">(</span><span class="style_symbol">(</span><span class="style_symbol">(</span>time<span class="style_symbol">)</span><span class="style_symbol">*</span><span class="style_symbol">(</span>xtime<span class="style_symbol">-</span>time<span class="style_symbol">)</span><span class="style_symbol">)</span><span class="style_symbol">/</span><span class="style_int">500</span><span class="style_symbol">,</span><span class="style_int">0</span><span class="style_symbol">)</span> u.setXY<span class="style_symbol">(</span>u.getPos<span class="style_symbol">(</span><span class="style_symbol">)</span><span class="style_symbol">+</span>veloc<span class="style_symbol">)</span> <span class="style_keyword">if</span> time <<span class="style_symbol">=</span> <span class="style_int">0</span> u.setFlyHeight<span class="style_symbol">(</span><span class="style_int">0</span><span class="style_symbol">,</span><span class="style_int">0</span><span class="style_symbol">)</span> u.removeAbility<span class="style_symbol">(</span><span class="style_int">'Amrf'</span><span class="style_symbol">)</span> u.removeAbility<span class="style_symbol">(</span><span class="style_int">'A01N'</span><span class="style_symbol">)</span> <span class="style_keyword">if</span> caster.isAlive<span class="style_symbol">(</span><span class="style_symbol">)</span> <span class="style_comment">//caster.setPos(u.getPos())</span> <span class="style_comment">//u.kill()</span> g.enumUnitsInRange<span class="style_symbol">(</span>u.getPos<span class="style_symbol">(</span><span class="style_symbol">)</span><span class="style_symbol">,</span><span class="style_int">200</span><span class="style_symbol">)</span> <span class="style_keyword">while</span> <span class="style_constant">TRUE</span> iter <span class="style_symbol">=</span> <a class="style_function" href="http://www.mappedia.de/wiki/Jass:FirstOfGroup">FirstOfGroup</a><span class="style_symbol">(</span>g<span class="style_symbol">)</span> <span class="style_keyword">if</span> iter <span class="style_symbol">=</span><span class="style_symbol">=</span> <span class="style_keyword">null</span> <span class="style_keyword">break</span> <span class="style_keyword">if</span> <a class="style_function" href="http://www.mappedia.de/wiki/Jass:IsPlayerEnemy">IsPlayerEnemy</a><span class="style_symbol">(</span>iter.getOwner<span class="style_symbol">(</span><span class="style_symbol">)</span><span class="style_symbol">,</span>u.getOwner<span class="style_symbol">(</span><span class="style_symbol">)</span><span class="style_symbol">)</span> caster.damageTarget<span class="style_symbol">(</span>iter<span class="style_symbol">,</span><span class="style_int">100</span><span class="style_symbol">)</span> spellList2.add<span class="style_symbol">(</span><span class="style_keyword">new</span> Spell2<span class="style_symbol">(</span>vec2<span class="style_symbol">(</span><span class="style_int">0</span><span class="style_symbol">,</span><span class="style_int">0</span><span class="style_symbol">)</span>.polarOffset<span class="style_symbol">(</span>caster.getPos<span class="style_symbol">(</span><span class="style_symbol">)</span>.angleTo<span class="style_symbol">(</span>iter.getPos<span class="style_symbol">(</span><span class="style_symbol">)</span><span class="style_symbol">)</span><span class="style_symbol">,</span><span class="style_int">24</span><span class="style_symbol">)</span><span class="style_symbol">,</span>iter<span class="style_symbol">)</span><span class="style_symbol">)</span> g.removeUnit<span class="style_symbol">(</span>iter<span class="style_symbol">)</span> <span class="style_keyword">let</span> m <span class="style_symbol">=</span> <span class="style_string">"Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl"</span> <a class="style_function" href="http://www.mappedia.de/wiki/Jass:DestroyEffect">DestroyEffect</a><span class="style_symbol">(</span><a class="style_function" href="http://www.mappedia.de/wiki/Jass:AddSpecialEffect">AddSpecialEffect</a><span class="style_symbol">(</span>m<span class="style_symbol">,</span>caster.getX<span class="style_symbol">(</span><span class="style_symbol">)</span><span class="style_symbol">,</span>caster.getY<span class="style_symbol">(</span><span class="style_symbol">)</span><span class="style_symbol">)</span><span class="style_symbol">)</span> spellList.remove<span class="style_symbol">(</span><span class="style_keyword">this</span><span class="style_symbol">)</span> <span class="style_keyword">destroy</span> <span class="style_keyword">this</span> </pre>
select language
jass
java
delphi
C++
php
GSL
galaxy
visualBasic
> wurst
Text
Markdown
select style
default
bbcode - default
Jasscraft
> jasscraft html
visual
lightweight
lightweightNr
goto line:
Compare with:
text copy window
edit this code
post new code
init registerSpellEffectEvent('A01M',function spellCast) timerIterateSpell.startPeriodic(0.03,function spellLoop) timerIterateSpell2.startPeriodic(0.03,function spellLoop2) function spellCast() vec2 target = vec2(GetLocationX(GetSpellTargetLoc()),GetLocationY(GetSpellTargetLoc())) //print(target.toString()) vec2 origin = GetTriggerUnit().getPos() let uvy = origin.distToVec(target) //print(uvy.toString()) let agi = GetHeroAgi(GetTriggerUnit(),true).toReal() let str = GetHeroStr(GetTriggerUnit(),true).toReal() GetTriggerUnit().addAbility('Amrf') GetTriggerUnit().addAbility('A01N') GetTriggerUnit().getOwner().setAbilityAvailable('Amrf',false) //let u = createUnit(GetTriggerUnit().getOwner(),'n011',GetTriggerUnit().getPos(),origin.angleTo(target)) //print(u.getName()) //GetTriggerUnit().issuePointOrder("move",target) //u.setVertexColor(255,255,255,155) //u.setTimeScale(3.5) let lev = GetTriggerUnit().getAbilityLevel('A01M').toReal() spellList.add(new Spell(GetTriggerUnit(),agi,str,lev,uvy,GetTriggerUnit(),vec2(0,0).polarOffset(origin.angleTo(target),27))) function spellLoop2() for x in spellList2 x.setTime() function spellLoop() for x in spellList x.setTime() public class Spell real time real xtime real agi real str real lvl unit u unit caster vec2 veloc construct(unit c,real a,real g,real b,real d,unit cast,vec2 velo) time = d xtime = d u = c agi = a str = g lvl = b caster = cast veloc = velo //i = 0 function setTime() time = time - 27 //SetUnitAnimation(u, "walk") //u.setVertexColor(255,255,255,(time/4.71).toInt()) u.setFlyHeight(((time)*(xtime-time))/500,0) u.setXY(u.getPos()+veloc) if time <= 0 u.setFlyHeight(0,0) u.removeAbility('Amrf') u.removeAbility('A01N') if caster.isAlive() //caster.setPos(u.getPos()) //u.kill() g.enumUnitsInRange(u.getPos(),200) while TRUE iter = FirstOfGroup(g) if iter == null break if IsPlayerEnemy(iter.getOwner(),u.getOwner()) caster.damageTarget(iter,100) spellList2.add(new Spell2(vec2(0,0).polarOffset(caster.getPos().angleTo(iter.getPos()),24),iter)) g.removeUnit(iter) let m = "Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl" DestroyEffect(AddSpecialEffect(m,caster.getX(),caster.getY())) spellList.remove(this) destroy this