Models from>>WILL THE ALMIGHTY
changelog>>
v 1.1 -spell is now MUI
-COOLER EFFECTS!! xD
Rating - 0.00 (0 votes)
(Hover and click)
Moderator Comments
Not Rated
00:18, 23rd Aug 2012
Magtheridon96:
(Casting unit) -> (Triggering unit)
Also, you have far too many special effects.
The effect you're using is not the kind that should be spammed.
You /can/ create 1 or maybe 4, but NOT 36. That's far too much.
My machine is slightly above average and I had a little bit more than 1FPS when I casted the spell.
edit
Your Decimate spell has location leaks.
Store the positions you're moving the caster to into point variables, use them, then remove them.
And both your spells need to have configurables set on map initialization.
The special effects need to be configurable so a user can easily modify a spell.
Hashtable - Create a hashtable Set EC_Hash = (Last created hashtable)
EC cast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Earth Collision
Actions
Set EC_caster = (Casting unit) Unit Group - Add (Casting unit) to EC_Group Custom script: set udg_handle = GetHandleId(udg_EC_caster) Set EC_boolean = True Hashtable - Save EC_boolean as 2 of handle in EC_Hash Set EC_Range = 1.00 Hashtable - Save EC_Range as 1 of handle in EC_Hash Set EC_Index[1] = 2.00 Hashtable - Save EC_Index[1] as 3 of handle in EC_Hash Set EC_Index[2] = 1.10 Hashtable - Save EC_Index[2] as 4 of handle in EC_Hash Unit - Pause EC_caster Unit - Add Crow Form to EC_caster Unit - Remove Crow Form from EC_caster Trigger - Turn on EC loop <gen>
EC loop
Events
Time - Every 0.10 seconds of game time
Conditions Actions
Unit Group - Pick every unit in EC_Group and do (Actions)
Loop - Actions
Set EC_caster = (Picked unit) Set EC_Range = (Load 1 of handle from EC_Hash) Set EC_boolean = (Load 2 of handle from EC_Hash) Set EC_Index[1] = (Load 3 of handle from EC_Hash) Set EC_Index[2] = (Load 4 of handle from EC_Hash) Set EC_loc = (Position of EC_caster) If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
EC_Range Less than or equal to 10.00
Then - Actions
For each (Integer A) from 1 to 36, do (Actions)
Loop - Actions
Unit - Create 1 Dummy for (Owner of EC_caster) at (EC_loc offset by (100.00 x EC_Range) towards (10.00 x (Real((Integer A)))) degrees) facing Default building facing degrees Unit - Add a 1.00 second Generic expiration timer to (Last created unit) Unit - Add Dummy (Neutral Hostile 1) to (Last created unit) Unit - Set level of Dummy (Neutral Hostile 1) for (Last created unit) to (Level of Earth Collision for EC_caster) Unit - Order (Last created unit) to Orc Tauren Chieftain - War Stomp Destructible - Pick every destructible within 200.00 of (Position of (Last created unit)) and do (Destructible - Kill (Picked destructible))
Hashtable - Save (EC_Range + 1.00) as 1 of handle in EC_Hash Custom script: call RemoveLocation(udg_EC_loc)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
EC_boolean Equal to True
Then - Actions
Animation - Change EC_caster flying height to 12000.00 at 3000.00 If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Current flying height of EC_caster) Equal to 12000.00
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
EC_Index[1] Greater than 0.00
Then - Actions
Hashtable - Save (EC_Index[1] - 0.10) as 3 of handle in EC_Hash
Else - Actions
Hashtable - Save False as 2 of handle in EC_Hash
Else - Actions
Else - Actions
Animation - Change EC_caster flying height to (Default flying height of EC_caster) at 5000.00 If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
EC_Index[2] Greater than 0.00
Then - Actions
Hashtable - Save (EC_Index[2] - 0.10) as 4 of handle in EC_Hash
Else - Actions
Unit - Create 1 DummyExplod for (Owner of EC_caster) at EC_loc facing Default building facing degrees Unit - Add EXplod (Neutral Hostile 1) to (Last created unit) Unit - Set level of EXplod (Neutral Hostile 1) for (Last created unit) to (Level of Earth Collision for EC_caster) Unit - Order (Last created unit) to Orc Tauren Chieftain - War Stomp Unit Group - Pick every unit in (Units within 1000.00 of EC_loc) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is A structure) Equal to False ((Picked unit) belongs to an enemy of (Owner of EC_caster)) Equal to True
Then - Actions
Unit - Cause EC_caster to damage (Picked unit), dealing Atribute damage of attack type Spells and damage type Normal
Else - Actions
For each (Integer A) from 1 to 3, do (Actions)
Loop - Actions
Unit - Create 1 Dummy2 for (Owner of EC_caster) at (EC_loc offset by 150.00 towards (120.00 x (Real((Integer A)))) degrees) facing EC_loc Unit - Add a 3.00 second Water Elemental expiration timer to (Last created unit)
Custom script: call RemoveLocation(udg_EC_loc) Unit - Unpause EC_caster Hashtable - Clear all child hashtables of child handle in EC_Hash Unit Group - Remove EC_caster from EC_Group
D init
Events
Map initialization
Conditions Actions
Hashtable - Create a hashtable Set D_hash = (Last created hashtable)
D cast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Decimate
Actions
Set D_caster = (Triggering unit) Unit Group - Add (Triggering unit) to D_group Custom script: set udg_D_handle = GetHandleId(udg_D_caster) Set D_enemy = (Target unit of ability being cast) Hashtable - Save Handle OfD_enemy as 2 of D_handle in D_hash Set D_slashes = (10.00 x (Real((Level of Decimate for D_caster)))) Hashtable - Save D_slashes as 1 of D_handle in D_hash Set D_angle = (Angle from (Position of D_caster) to (Position of D_enemy)) Hashtable - Save D_angle as 3 of D_handle in D_hash Unit - Move D_caster instantly to (Target point of ability being cast), facing (Target point of ability being cast) Animation - Change D_caster's vertex coloring to (100.00%, 100.00%, 100.00%) with 90.00% transparency Unit - Pause D_caster Trigger - Turn on D loop <gen>
D loop
Events
Time - Every 0.05 seconds of game time
Conditions Actions
Unit Group - Pick every unit in D_group and do (Actions)
Loop - Actions
Set D_caster = (Picked unit) Set D_slashes = (Load 1 of D_handle from D_hash) Set D_atributes = (Real((Agility of D_caster (Include bonuses)))) If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
D_slashes Greater than 0.00
Then - Actions
Set D_enemy = (Load 2 of D_handle in D_hash) Set D_angle = (Load 3 of D_handle from D_hash) Set D_point = (Position of D_caster) Animation - Change D_caster's animation speed to 1000.00% of its original speed Special Effect - Create a special effect attached to the origin of D_caster using Abilities\Spells\Human\MarkOfChaos\MarkOfChaosTarget.mdl Unit - Move D_caster instantly to (D_point offset by 50.00 towards D_angle degrees), facing D_angle degrees Unit - Move D_enemy instantly to (D_point offset by 50.00 towards D_angle degrees) Animation - Play D_caster's attack animation Unit - Create 1 Slash for (Owner of D_caster) at D_point facing (Random angle) degrees Unit - Add a 1.00 second Water Elemental expiration timer to (Last created unit) Unit - Cause D_caster to damage D_enemy, dealing D_atributes damage of attack type Chaos and damage type Fire Special Effect - Destroy (Last created special effect) Hashtable - Save (D_slashes - 1.00) as 1 of D_handle in D_hash Custom script: call RemoveLocation(udg_D_point)
Else - Actions
Unit - Unpause D_caster Animation - Change D_caster's animation speed to 100.00% of its original speed Animation - Change D_caster's vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency Hashtable - Clear all child hashtables of child handle in D_hash Unit Group - Remove D_caster from D_group Trigger - Turn off (This trigger)
__________________
Current Project: Legends of War: Eternal Despair
______________________________________________________________________________________________
Last edited by ShadowFox04; 08-22-2012 at 11:47 AM.
Also for the purpose of the screenshot, I'd suggest making it bigger, it's practically impossible to see anything from it other than a big effect-spam circle.
Also for the purpose of the screenshot, I'd suggest making it bigger, it's practically impossible to see anything from it other than a big effect-spam circle.