Moderator
M
Moderator
01:01, 3rd Jan 2010
TriggerHappy:
Most of the spells aren't even MPI and some leak quite a bit.
TriggerHappy:
Most of the spells aren't even MPI and some leak quite a bit.
(4 ratings)
Performance
Submissions must be bugless, leakless, lagless on a computer that runs Warcraft III smoothly, and fully multiinstanceable. Spells using non-recycling "indexing systems" will not be accepted.
Triggering: 2½/5 Eye-Candy: 3/5 Description: 2/5 Total: 2/5 1 - 2 - 3 - 4 - 5 Vote for Rejection Review by: OffGraphic |
-Review v3.0-
Alright the first spell called
Flame Trap
-Not MUI
change that to triggering unit to increase performance
--36 leaks each cast, point offset leaks, also use your own variable as the integer might interfear the bug of A & B, make a custom one and use it
Set FlameTrapUnit[1] = (Casting unit)
-This line makes it non MUI, make some kind of loop to fix that
For each (Integer A) from 1 to 36, do (Actions)
Loop - Actions
Unit - Create 1 Dummy for (Owner of FlameTrapUnit[1]) at (FlameTrapLoc[2] offset by 256.00 towards ((Facing of FlameTrapUnit[2]) + (10.00 x (Real((Integer A))))) degrees) facing Default building facing degrees
That's all for that spell, next comming up
Wait (6.00 + (Real(LevelVar[1]))) seconds
Ignite
-Not MUI
-change to triggering unit
-sp leak as you dont destroy it immidatly
Set IgniteUnit[1] = (Casting unit)
-uses waits such as this one, both prevents MUI
Special Effect - Create a special effect attached to the origin of IgniteUnit[2] using Abilities\Spells\Other\Doom\DoomTarget.mdl
and this one
Wait (5.10 + (Real(LevelVar[2]))) seconds
-playing with units movement speed is not very good ...
Wait 5.00 seconds
now that spell is finished, next one comming up
Unit - Set IgniteUnit[2] movement speed to ((Current movement speed of IgniteUnit[2]) - (1.00 x (Real(LevelVar[2]))))
Infraradition
-Not MUI
-I guess it should only be turned on every 2 seconds when it happens? Use a Loop to fix the timer cause as it is now it's only working for one unit
-You set the unit into a variable but dont use it...
-wait again prevents MUI
Unit - Create 1 Infra for (Owner of (Attacking unit)) at InfraLoc[2] facing Default building facing degrees
next one comming up
Wait 2.00 seconds
Magma Eruption
-Not MUI
-Put as triggering unit
-
Set MagmaUnit[1] = (Casting unit)
you know what it does
Wait 5.00 seconds
-10 leaks each cast, polar offset leaks, it also contains a wait which will bug all other Integer A loops running when this spell is running
-another wait
For each (Integer A) from 1 to 10, do (Actions)
Loop - Actions
Unit - Order MagmaUnit[4] to Attack Ground (MagmaLoc[1] offset by 256.00 towards ((Facing of MagmaUnit[4]) + (Random real number between 0.00 and 360.00)) degrees)
Wait 0.50 seconds
-
Wait 20.00 seconds
-I would add an exp timer instead of removing them
Wait 5.00 seconds
- the decast trigger also contains a wait
Unit Group - Pick every unit in MagmaGroup and do (Actions)
Loop - Actions
Unit - Remove (Picked unit) from the game
next trigger comming up
Sand Form
-Not MUI
--change the interval to 0.02 or higher prefer 0.03
Wait ((Distance between SandFormLoc[1] and SandFormLoc[2]) / 2500.00) seconds
-Massive leakage cause you need to remove this locations inside the trigger instead in the cast trigger as they will overwrite itself like 1000 times
Time - Every 0.01 seconds of game time
Quicksand
Set SandFormLoc[3] = (SandFormLoc[1] offset by 20.00 towards (Angle from SandFormLoc[1] to SandFormLoc[2]) degrees)
-Not MUI
-WTF permanent deform?
-
Environment - Create a 30.00 second Permanent crater deformation at SandStormLoc[2] with radius 500.00 and depth 1000.00
-again you have this point issue
Wait 10.00 seconds
-Massive unit group leakage
Set SandStormLoc[3] = (SandStormLoc[2] offset by (600.00 - (0.50 x (Real(i[2])))) towards (RealVar[1] + (5.00 x (Real(i[2])))) degrees)
Sand Aura
Unit Group - Pick every unit in (Units within 900.00 of SandStormLoc[2] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of SandStormUnit[1])) Equal to True)))) and do (Actions)
Loop - Actions
Set SandStormUnit[3] = (Picked unit)
Set SandStormLoc[5] = (Position of SandStormUnit[3])
Unit - Turn collision for SandStormUnit[3] Off
Set SandStormLoc[4] = (SandStormLoc[5] offset by -2.00 towards (Angle from SandStormLoc[2] to SandStormLoc[5]) degrees)
Unit - Move SandStormUnit[3] instantly to SandStormLoc[4], facing SandStormLoc[2]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Terrain pathing at SandStormLoc[4] of type Walkability is off) Equal to True
Then - Actions
Trigger - Turn off (This trigger)
Else - Actions
Set SandStormLoc[5] = SandStormLoc[4]
Wait 10.00 seconds
Unit - Turn collision for SandStormUnit[3] On
-Not MUI
--uses integer A thingy and also you dont need to null global locations just remove them instead, nulling is only used for local locations
Wait (RealVar[7] / 375.00) seconds
Poison
For each (Integer A) from 1 to 3, do (Actions)
Loop - Actions
Custom script: call RemoveLocation(udg_LocVar[bj_forLoopAIndex])
Custom script: set udg_LocVar[bj_forLoopAIndex] = null
poison nova
--no need to pause the unit, it is an instant spell for goodness sake? or maybe you are just preventing the cooldown bug, i dont know, if you do, you dont need to remove it
Set UnitVar[10] = (Casting unit)
-skip integer A make a custom one
Unit - Pause UnitVar[10]
-group leak
Corrosive Skin
Unit Group - Pick every unit in (Units within 1000.00 of LocVar[10] matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of UnitVar[10])) Equal to True))) and do (Actions)
-NOT MUI FOR BLOODY SAKE WHY YOU NEED THIS LINE THAT RUINS IT ALL?!
Cosmic
Wait 1.00 seconds
Starfall
-Not MUI
-WOOOH GOOD POINT +
-sp leak, you cant wait between the creation and removal, even if you remove it instantly after it will perform as it should
Set Starfall_Unit[1] = (Triggering unit)
-GOOD POINT +
Special Effect - Create a special effect at Starfall_Loc[2] using war3mapImported\ShootingStar.mdx
Set Starfall_Effect = (Last created special effect)
Wait 0.75 seconds
Special Effect - Destroy Starfall_Effect
-you need to destroy the point inside this loop else it will just overwrite itself
Set Starfall_Group = (Units within 400.00 of Starfall_Loc[2] matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of Starfall_Unit[1])) Equal to True)))
Darkness
Unit Group - Pick every unit in Starfall_Group and do (Actions)
Loop - Actions
Set Starfall_Unit[2] = (Picked unit)
Unit - Turn collision for Starfall_Unit[2] Off
Set Starfall_Loc[3] = (Position of Starfall_Unit[2])
Set Starfall_Loc[4] = (Starfall_Loc[3] offset by -10.00 towards (Angle from Starfall_Loc[3] to Starfall_Loc[2]) degrees)
Unit - Move Starfall_Unit[2] instantly to Starfall_Loc[4], facing Starfall_Loc[2]
Special Effect - Create a special effect at Starfall_Loc[3] using war3mapImported\Sand.mdx
Special Effect - Destroy (Last created special effect)
Set Starfall_Loc[3] = Starfall_Loc[4]
Wait 1.50 seconds
Unit - Turn collision for Starfall_Unit[2] On
Dark Ripple
-I see no point converting this into JASS as I only see normal GUI functions (might be wrong)
thnx, but im a newbie lol