No dummy remove needed in your triggers. Just change for dummy in object editor: not raise, no decay.
In-game spell descriptions is also a must have.
JASS:
globals
hashtable HS
endglobals
private function init takes nothing returns nothing
set HS = InitHashtable()
endfunction
|
-->
JASS:
globals
hashtable HS = InitHashtable()
endglobals
|
Or you could use
http://www.hiveworkshop.com/forums/jass-resources-412/snippet-new-table-188084/.
private constant integer ARRAY_SIZE = 8190
. Here you also could just write 8192, or? ^^
JASS:
local real r = GetUnitAbilityLevel(c,SPELLID) * 10 // deal 10 damage per level of ability per beam
return r
-->
return GetUnitAbilityLevel(c,SPELLID) * 10
You several times use GetUnitX/Y more often. Don't keep repeating same function calls. For further actions you should use variables.
Or also the same with GetOwningPlayer.
You don't always null local timers.
I think working with unit variable is better than always using bj_lastCreatedUnit.
I think if you don't destroy a trigger there is no need to null it.
GetWidgetLife(GetFilterUnit()) > 0.45
, you mean 0.405 maybe. But this is no save methode.
-->
not IsUnitType(u, UNIT_TYPE_DEAD) and GetUnitTypeId(u) != 0
After HeavenlyBlast and HeavenlyBeem you should play unit's stand animation, or it looks weird. At the moment he keeps in his spell animation afterwerds.
@PurgeandFire
Maker in Spell Submission Rules said:
It is preferred for spell/system code to be posted in the description.
|
I think this should be changed in rules to a must-have. At the moment you may think that you can still choose it by yourself if you post code or not.
There are also spells approved with no code in description, but if some ressources get a "Need Fix" only because of that it should be changed in the rules maybe.