Moderator
M
Moderator
23:01, 2nd Jun 2009
hvo-busterkomo:
Edit: Changes made, looks good.
hvo-busterkomo:
Edit: Changes made, looks good.
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
(1 ratings)
ApprovedSpell Review: Alien Massacre
General Review [TD] : [/TD] [tr][td]The spell works?[/td][td]
Question ![]()
[/td][/tr][tr][td]The spell does not lag?[/td][td]
[/td][/tr][tr][td]The spell is MUI?[/td][td]
[/td][/tr][tr][td]The Spell is Original?[/td][td]
[/td][/tr][tr][/tr]![]()
Detailed Review [TD] : [/TD]
EffectsThe effects are quite nice, the spawning of the ship is great.
But I'm not very fond on the fact that the mini-ships sends out lightning, that makes the target burn.
I'd change the missile of the Phoenix Fire. MovementThe mothership stands still, just as it should.
Although, I'd want the mini-ships to have a less "strict" path.
Perhaps make them change direction every 1 second or something? Bugs FoundNo bugs found when testing;
It does not hit neutral units, but that's probably intentional and can be easily changed. Other CommentsGood job on this spell. Works very well and I like the originality.
Just try to fix the stuff i mentioned and it will be a lot nicer. UsefulnessIn case you don't want to use the original concept, you can easily change the models to something more "medieval".
This makes this spell very useful indeed. Overall RatingIdea: 5/5
Execution: 4/5
Effects: 3/5
Fun: 5/5
(Distance between (Position of TinyUFO1[Inter_A]) and AB_Target[Inter_A]) (<) 1000.00
(Distance between (Position of TinyUFO1[Inter_A]) and AB_Target[Inter_A]) (>) 1000.00
(Distance between (Position of TinyUFO1[Inter_A]) and AB_Target[Inter_A]) (<) 75.00
Of course, by checking condition you need to get this point anyway, right? Since you're getting this point, WE should give some bytes to this point. And then you are never going to use this point again... ;( Tragic, yeah?Guishiu said:And I did not know a condition could leak? So I have to make it create a point variable for tiny UFO1 every loop and then refer to it and destroy it at the end of the loop? damn. ok
I'm not a rule fanatic, but the rules comply with what I'm about to say this time:Aspard said:3) Well... import? I understand, that's the matter of the spell Als themselves, so you had to import this plate model, but I think, that as a preview you could use random round model, but at spell description tell, that the idea was created to match this model etc
Custom script: call DestroyGroup(udg_TU_Group[Inter_A])
Condition leaks are easily fixable, just set the position before the condition into a variable, then use the condition and destroy the point later. Example:Aspard said:Of course, by checking condition you need to get this point anyway, right? Since you're getting this point, WE should give some bytes to this point. And then you are never going to use this point again... ;( Tragic, yeah?Funny now =)
Bad Example

Events


Time - Every 2.00 seconds of game time

Conditions


(Distance between (Position of (Triggering unit)) and (Position of (Target unit of ability being cast))) Greater than or equal to 10.00

Actions


-------- all the actions --------
Good Example

Events


Time - Every 2.00 seconds of game time

Conditions

Actions


Set DT_Point[0] = (Position of (Triggering unit))


Set DT_Point[1] = (Position of (Target unit of ability being cast))


If (All Conditions are True) then do (Then Actions) else do (Else Actions)



If - Conditions




(Distance between DT_Point[0] and DT_Point[1]) Greater than or equal to 10.00



Then - Actions




-------- all the actions --------



Else - Actions


Custom script: call RemoveLocation(udg_DT_Point[0])


Custom script: call RemoveLocation(udg_DT_Point[1])
X,Y, and Z are all coordinates and not points. They are simply real numbers which would form a sort of "graph". Thus they only allocate 32-bits only and nothing more. And later, when reused, they do not leak.Guishiu said:Well if that's true then wouldnt the same be said of getting the Flying Heigh in a condition? It is a point isnt it? Only of the Z coordinate instead of X and Y.
Well, I knew that, why did you post it to me?Msaeed said:Condition leaks are easily fixable, just set the position before the condition into a variable, then use the condition and destroy the point later. Example:
Only to make it more clear, want to add, that flying height - isn't the point of the unit - the point still will be at ground, not in the air, dunno specific part of what it is: WarCraft or whole Jass, but this is so.X,Y, and Z are all coordinates and not points. They are simply real numbers which would form a sort of "graph". Thus they only allocate 32-bits only and nothing more. And later, when reused, they do not leak.
It's not removed anywhere in the trigger...Aspard said:I didn't get the idea of a group leak, if it's removed anyway. ;(
Custom script: set <variable> = CreateGroup()
Well, I was talking about REMOVING, not about this particular triggerMsaeed said:It's not removed anywhere in the trigger...
Set TU_Point[T1[Inter_A]] = ((Position of TinyUFO1[Inter_A]) offset by 1050.00 towards 45.00 degrees)
Set TU_Point[T2[Inter_A]] = ((Position of TinyUFO2[Inter_A]) offset by 1000.00 towards 135.00 degrees)
Set TU_Point[T3[Inter_A]] = ((Position of TinyUFO3[Inter_A]) offset by 1000.00 towards 225.00 degrees)
Set TU_Point[T4[Inter_A]] = ((Position of TinyUFO4[Inter_A]) offset by 1000.00 towards 315.00 degrees)
Custom script: set <variable> = CreateGroup()
Then - Actions

Set Order_Number[Inter_A] = (Order_Number[Inter_A] + 1)

Set TU_Point[T1[Inter_A]] = ((Position of TinyUFO1[Inter_A]) offset by 1050.00 towards 45.00 degrees)

Unit - Order TinyUFO1[Inter_A] to Move To TU_Point[T1[Inter_A]]

Unit - Add UFO Laser to TinyUFO1[Inter_A]

Unit - Set level of UFO Laser for TinyUFO1[Inter_A] to AB_Level[AB_Cast_Number]

-------- Custom script that removes location leaks. Location leaks are the area of the target, these are stored by the game cache (unless removed like this) and then dumped at the end, The reason for sometimes having a long loading screen at the end of a game. --------

Custom script: call RemoveLocation(udg_TU_Point[udg_T1[udg_Inter_A]])

Set TU_Point[T2[Inter_A]] = ((Position of TinyUFO2[Inter_A]) offset by 1000.00 towards 135.00 degrees)

Unit - Order TinyUFO2[Inter_A] to Move To TU_Point[T2[Inter_A]]

Unit - Add UFO Laser to TinyUFO2[Inter_A]

Unit - Set level of UFO Laser for TinyUFO2[Inter_A] to AB_Level[AB_Cast_Number]

Custom script: call RemoveLocation(udg_TU_Point[udg_T2[udg_Inter_A]])

Set TU_Point[T3[Inter_A]] = ((Position of TinyUFO3[Inter_A]) offset by 1000.00 towards 225.00 degrees)

Unit - Order TinyUFO3[Inter_A] to Move To TU_Point[T3[Inter_A]]

Unit - Add UFO Laser to TinyUFO3[Inter_A]

Unit - Set level of UFO Laser for TinyUFO3[Inter_A] to AB_Level[AB_Cast_Number]

Custom script: call RemoveLocation(udg_TU_Point[udg_T3[udg_Inter_A]])

Set TU_Point[T4[Inter_A]] = ((Position of TinyUFO4[Inter_A]) offset by 1000.00 towards 315.00 degrees)

Unit - Order TinyUFO4[Inter_A] to Move To TU_Point[T4[Inter_A]]

Unit - Add UFO Laser to TinyUFO4[Inter_A]

Unit - Set level of UFO Laser for TinyUFO4[Inter_A] to AB_Level[AB_Cast_Number]

Custom script: call RemoveLocation(udg_TU_Point[udg_T4[udg_Inter_A]])
Set TinyPoint1[AB_Cast_Number] = (Position of TinyUFO1[AB_Cast_Number])

