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">init registerSpellEffectEvent<span class="style_symbol">(</span>'A01M',function spellCast<span class="style_symbol">)</span> timerIterateSpell.startPeriodic<span class="style_symbol">(</span><span class="style_float">0.03</span>,function spellLoop<span class="style_symbol">)</span> timerIterateSpell2.startPeriodic<span class="style_symbol">(</span><span class="style_float">0.03</span>,function spellLoop2<span class="style_symbol">)</span> function spellCast<span class="style_symbol">(</span><span class="style_symbol">)</span> vec2 target = vec2<span class="style_symbol">(</span>GetLocationX<span class="style_symbol">(</span>GetSpellTargetLoc<span class="style_symbol">(</span><span class="style_symbol">)</span><span class="style_symbol">)</span>,GetLocationY<span class="style_symbol">(</span>GetSpellTargetLoc<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 = GetTriggerUnit<span class="style_symbol">(</span><span class="style_symbol">)</span>.getPos<span class="style_symbol">(</span><span class="style_symbol">)</span> let uvy = origin.distToVec<span class="style_symbol">(</span>target<span class="style_symbol">)</span> <span class="style_comment">//print(uvy.toString())</span> let agi = GetHeroAgi<span class="style_symbol">(</span>GetTriggerUnit<span class="style_symbol">(</span><span class="style_symbol">)</span>,<span class="style_keyword">true</span><span class="style_symbol">)</span>.toReal<span class="style_symbol">(</span><span class="style_symbol">)</span> let str = GetHeroStr<span class="style_symbol">(</span>GetTriggerUnit<span class="style_symbol">(</span><span class="style_symbol">)</span>,<span class="style_keyword">true</span><span class="style_symbol">)</span>.toReal<span class="style_symbol">(</span><span class="style_symbol">)</span> GetTriggerUnit<span class="style_symbol">(</span><span class="style_symbol">)</span>.addAbility<span class="style_symbol">(</span>'Amrf'<span class="style_symbol">)</span> GetTriggerUnit<span class="style_symbol">(</span><span class="style_symbol">)</span>.addAbility<span class="style_symbol">(</span>'A01N'<span class="style_symbol">)</span> GetTriggerUnit<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>'Amrf',<span class="style_keyword">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> let lev = GetTriggerUnit<span class="style_symbol">(</span><span class="style_symbol">)</span>.getAbilityLevel<span class="style_symbol">(</span>'A01M'<span class="style_symbol">)</span>.toReal<span class="style_symbol">(</span><span class="style_symbol">)</span> spellList.add<span class="style_symbol">(</span>new Spell<span class="style_symbol">(</span>GetTriggerUnit<span class="style_symbol">(</span><span class="style_symbol">)</span>,agi,str,lev,uvy,GetTriggerUnit<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_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_int">27</span><span class="style_symbol">)</span><span class="style_symbol">)</span><span class="style_symbol">)</span> function spellLoop2<span class="style_symbol">(</span><span class="style_symbol">)</span> <span class="style_keyword">for</span> x in spellList2 x.setTime<span class="style_symbol">(</span><span class="style_symbol">)</span> function spellLoop<span class="style_symbol">(</span><span class="style_symbol">)</span> <span class="style_keyword">for</span> x in spellList x.setTime<span class="style_symbol">(</span><span class="style_symbol">)</span> public class Spell real time real xtime real agi real str real lvl unit u unit caster vec2 veloc construct<span class="style_symbol">(</span>unit c,real a,real g,real b,real d,unit cast,vec2 velo<span class="style_symbol">)</span> time = d xtime = d u = c agi = a str = g lvl = b caster = cast veloc = velo <span class="style_comment">//i = 0</span> function setTime<span class="style_symbol">(</span><span class="style_symbol">)</span> time = time - <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-time<span class="style_symbol">)</span><span class="style_symbol">)</span>/<span class="style_int">500</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>+veloc<span class="style_symbol">)</span> <span class="style_keyword">if</span> time <= <span class="style_int">0</span> u.setFlyHeight<span class="style_symbol">(</span><span class="style_int">0</span>,<span class="style_int">0</span><span class="style_symbol">)</span> u.removeAbility<span class="style_symbol">(</span>'Amrf'<span class="style_symbol">)</span> u.removeAbility<span class="style_symbol">(</span>'A01N'<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_int">200</span><span class="style_symbol">)</span> <span class="style_keyword">while</span> TRUE iter = FirstOfGroup<span class="style_symbol">(</span>g<span class="style_symbol">)</span> <span class="style_keyword">if</span> iter == <span class="style_keyword">null</span> <span class="style_keyword">break</span> <span class="style_keyword">if</span> IsPlayerEnemy<span class="style_symbol">(</span>iter.getOwner<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_int">100</span><span class="style_symbol">)</span> spellList2.add<span class="style_symbol">(</span>new Spell2<span class="style_symbol">(</span>vec2<span class="style_symbol">(</span><span class="style_int">0</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_int">24</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> let m = <span class="style_string">"Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl"</span> DestroyEffect<span class="style_symbol">(</span>AddSpecialEffect<span class="style_symbol">(</span>m,caster.getX<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> destroy <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