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
[code]init registerSpellEffectEvent[b]([/b]'A01M',function spellCast[b])[/b] timerIterateSpell.startPeriodic[b]([/b][color=FF7777]0.03[/color],function spellLoop[b])[/b] timerIterateSpell2.startPeriodic[b]([/b][color=FF7777]0.03[/color],function spellLoop2[b])[/b] function spellCast[b]([/b][b])[/b] vec2 target = vec2[b]([/b]GetLocationX[b]([/b]GetSpellTargetLoc[b]([/b][b])[/b][b])[/b],GetLocationY[b]([/b]GetSpellTargetLoc[b]([/b][b])[/b][b])[/b][b])[/b] [color=999999][i]//print(target.toString())[/i][/color] vec2 origin = GetTriggerUnit[b]([/b][b])[/b].getPos[b]([/b][b])[/b] let uvy = origin.distToVec[b]([/b]target[b])[/b] [color=999999][i]//print(uvy.toString())[/i][/color] let agi = GetHeroAgi[b]([/b]GetTriggerUnit[b]([/b][b])[/b],[color=7777FF][b]true[/b][/color][b])[/b].toReal[b]([/b][b])[/b] let str = GetHeroStr[b]([/b]GetTriggerUnit[b]([/b][b])[/b],[color=7777FF][b]true[/b][/color][b])[/b].toReal[b]([/b][b])[/b] GetTriggerUnit[b]([/b][b])[/b].addAbility[b]([/b]'Amrf'[b])[/b] GetTriggerUnit[b]([/b][b])[/b].addAbility[b]([/b]'A01N'[b])[/b] GetTriggerUnit[b]([/b][b])[/b].getOwner[b]([/b][b])[/b].setAbilityAvailable[b]([/b]'Amrf',[color=7777FF][b]false[/b][/color][b])[/b] [color=999999][i]//let u = createUnit(GetTriggerUnit().getOwner(),'n011',GetTriggerUnit().getPos(),origin.angleTo(target))[/i][/color] [color=999999][i]//print(u.getName())[/i][/color] [color=999999][i]//GetTriggerUnit().issuePointOrder("move",target)[/i][/color] [color=999999][i]//u.setVertexColor(255,255,255,155)[/i][/color] [color=999999][i]//u.setTimeScale(3.5)[/i][/color] let lev = GetTriggerUnit[b]([/b][b])[/b].getAbilityLevel[b]([/b]'A01M'[b])[/b].toReal[b]([/b][b])[/b] spellList.add[b]([/b][color=990066]new[/color] Spell[b]([/b]GetTriggerUnit[b]([/b][b])[/b],agi,str,lev,uvy,GetTriggerUnit[b]([/b][b])[/b],vec2[b]([/b][color=FFFF77]0[/color],[color=FFFF77]0[/color][b])[/b].polarOffset[b]([/b]origin.angleTo[b]([/b]target[b])[/b],[color=FFFF77]27[/color][b])[/b][b])[/b][b])[/b] function spellLoop2[b]([/b][b])[/b] [color=7777FF][b]for[/b][/color] x in spellList2 x.setTime[b]([/b][b])[/b] function spellLoop[b]([/b][b])[/b] [color=7777FF][b]for[/b][/color] x in spellList x.setTime[b]([/b][b])[/b] [color=7777FF][b]public[/b][/color] [color=7777FF][b]class[/b][/color] Spell real [color=990066]time[/color] real xtime real agi real str real lvl unit u unit caster vec2 veloc construct[b]([/b]unit c,real a,real g,real b,real d,unit cast,vec2 velo[b])[/b] [color=990066]time[/color] = d xtime = d u = c agi = a str = g lvl = b caster = cast veloc = velo [color=999999][i]//i = 0[/i][/color] function setTime[b]([/b][b])[/b] [color=990066]time[/color] = [color=990066]time[/color] - [color=FFFF77]27[/color] [color=999999][i]//SetUnitAnimation(u, "walk")[/i][/color] [color=999999][i]//u.setVertexColor(255,255,255,(time/4.71).toInt())[/i][/color] u.setFlyHeight[b]([/b][b]([/b][b]([/b][color=990066]time[/color][b])[/b][b]*[/b][b]([/b]xtime-[color=990066]time[/color][b])[/b][b])[/b]/[color=FFFF77]500[/color],[color=FFFF77]0[/color][b])[/b] u.setXY[b]([/b]u.getPos[b]([/b][b])[/b]+veloc[b])[/b] [color=7777FF][b]if[/b][/color] [color=990066]time[/color] <= [color=FFFF77]0[/color] u.setFlyHeight[b]([/b][color=FFFF77]0[/color],[color=FFFF77]0[/color][b])[/b] u.removeAbility[b]([/b]'Amrf'[b])[/b] u.removeAbility[b]([/b]'A01N'[b])[/b] [color=7777FF][b]if[/b][/color] caster.isAlive[b]([/b][b])[/b] [color=999999][i]//caster.setPos(u.getPos())[/i][/color] [color=999999][i]//u.kill()[/i][/color] g.enumUnitsInRange[b]([/b]u.getPos[b]([/b][b])[/b],[color=FFFF77]200[/color][b])[/b] [color=7777FF][b]while[/b][/color] TRUE iter = FirstOfGroup[b]([/b]g[b])[/b] [color=7777FF][b]if[/b][/color] iter == null [color=7777FF][b]break[/b][/color] [color=7777FF][b]if[/b][/color] IsPlayerEnemy[b]([/b]iter.getOwner[b]([/b][b])[/b],u.getOwner[b]([/b][b])[/b][b])[/b] caster.damageTarget[b]([/b]iter,[color=FFFF77]100[/color][b])[/b] spellList2.add[b]([/b][color=990066]new[/color] Spell2[b]([/b]vec2[b]([/b][color=FFFF77]0[/color],[color=FFFF77]0[/color][b])[/b].polarOffset[b]([/b]caster.getPos[b]([/b][b])[/b].angleTo[b]([/b]iter.getPos[b]([/b][b])[/b][b])[/b],[color=FFFF77]24[/color][b])[/b],iter[b])[/b][b])[/b] g.removeUnit[b]([/b]iter[b])[/b] let m = [color=77FF77]"Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl"[/color] DestroyEffect[b]([/b]AddSpecialEffect[b]([/b]m,caster.getX[b]([/b][b])[/b],caster.getY[b]([/b][b])[/b][b])[/b][b])[/b] spellList.remove[b]([/b][color=990066]this[/color][b])[/b] destroy [color=990066]this[/color] [/code]
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