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