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