- Joined
- Apr 12, 2011
- Messages
- 124
Manastorm Spellbase [Feedback]
Here it is. My project im working on.
It's basically one spell, but where you can customize the spell alot.
I had issues of what to make of the spell at first, there is so many cool visual effects you can use. So this is what i came up with.
Manastorm:
The Hero unleashes his full power creating a manastorm which damages units within 300/350/400 yards and deals 100/200/300 damage per unit. It also ignites the mana of the units affected, burning 10%/15%/20% of the victims mana and leaves the victim with a debuff that slows movementspeed for 7/10/14 seconds.
Please tell me what you think in comment.
If you find any bugs/leaks please tell me
<Triggers posted may be inaccurate>
That's all
Tell me in Comment what you guys think
Please if you find any bugs/leaks tell me
Im keeping old uploads so others can learn and also see how i developed it (if it's against any rule tell me :X)
Latest version is furthest down in the list
Im off on vacation, comments will be read and responsed to on the 27th April
Updated
- Fixed leaks
- removed excess commentary
- made mana burn and range easier to configure
Updated
- Now checks for structure and spellimmunity
- Made all create actions use unit type variable
- Tooltip updated
Here it is. My project im working on.
It's basically one spell, but where you can customize the spell alot.
I had issues of what to make of the spell at first, there is so many cool visual effects you can use. So this is what i came up with.
Manastorm:
The Hero unleashes his full power creating a manastorm which damages units within 300/350/400 yards and deals 100/200/300 damage per unit. It also ignites the mana of the units affected, burning 10%/15%/20% of the victims mana and leaves the victim with a debuff that slows movementspeed for 7/10/14 seconds.
Please tell me what you think in comment.
If you find any bugs/leaks please tell me
<Triggers posted may be inaccurate>
-
Startup
-

Events
-


Map initialization
-
-

Conditions
-

Actions
-


-------- ======================================================================= --------
-


-------- DON'T TOUCH THIS --------
-


-------- ======================================================================= --------
-


Hashtable - Create a hashtable
-


Set WS_Hashtable = (Last created hashtable)
-


-------- WS_DummyMonsoon --------
-


Set WS_DummyMonsoon = Lightning Dummy (Visual Monsoon)
-


-------- WS_DummyThunderclap --------
-


Set WS_DummyThunderclap = Lightning Dummy (Visual Thunderclap)
-


-------- WS_Dummy --------
-


Set WS_Dummy = Dummy
-


-------- ======================================================================= --------
-


-------- CUSTOMISE THIS --------
-


-------- You can customise the rest of the ability in Trigger "Manastorm Cast" --------
-


-------- Some visual effects are in the object editor (spells, buffs, units) --------
-


-------- ======================================================================= --------
-


-------- Number of Lightnings / Number of times Loop is repeated --------
-


Set WS_Loops = 20
-


-------- Lightning Type --------
-


Set WS_LightningType = Mana Burn
-


-------- Specifies the effect which appears at the lightning strike point --------
-


Set WS_Impact = (Art path of Manastorm (Dummy) Target Art (index 0))
-


-------- Lightning Duration in seconds --------
-


Set WS_LightningDuration = 0.80
-


-------- --------
-
-
-
Manastorm Cast
-

Events
-


Unit - A unit Starts the effect of an ability
-
-

Conditions
-


(Ability being cast) Equal to Manastorm
-
-

Actions
-


-------- --------
-


-------- READ ME! --------
-


-------- --------
-


-------- Manasurge's Manastorm! --------
-


-------- Provides a base of triggers with multiple exchangeable values to maximize the different way to combine this spell --------
-


-------- --------
-


-------- Tooltip --------
-


-------- Manastorm --------
-


-------- Damages units within 300/350/400 yards and deals 100/200/300 damage per unit. It also ignites the mana of the units affected, burning 10%/15%/20% and leaves the victim with a debuff that slows movementspeed for 7/10/14 seconds. --------
-


-------- --------
-


-------- To get this spell to your map you need to copy and paste these: --------
-


-------- NOTE: Make sure your map has "Automatically create unknown variables while pasting trigger data" box checked --------
-


-------- --------
-


-------- Units: Dummy, Lightning Dummy (Visual Monsoon), Lightning Dummy (Visual Thunderclap) --------
-


-------- Spells: Shock (Dummy), Manastorm (Dummy), Manastorm --------
-


-------- Buffs: Mana Residue --------
-


-------- Triggers: Startup, Manastorm Cast, Lightning Clear --------
-


-------- All Special Effects (except Lightning andLightning impact) is in the Object Editor spells. --------
-


-------- --------
-


-------- You can customise: --------
-


-------- --------
-


-------- Number of Lightnings --------
-


-------- Number of Levels (in the spell in object editor and Manastorm Cast trigger, change the lvl check on Mana Burn, DamageRange and Range --------
-


-------- Lightning type --------
-


-------- Damage --------
-


-------- End Damage --------
-


-------- Mana Burned --------
-


-------- Range of Damage --------
-


-------- Range of the Effects --------
-


-------- Mana Cost ( In object editor ) --------
-


-------- Cooldown (In the spell in Object Editor) --------
-


-------- Visual Effects (In the spells themselfes in Object Editor, 2 of the effects are units with a effect model: Dummy (Visual Monsoon) and Dummy (Visual Thunderclap)) --------
-


-------- Duration of the Slow (This is modified in the Object Editor) --------
-


-------- --------
-


-------- ======================================================================= --------
-


-------- ======================================================================= --------
-


-------- ///////////////// Do NOT change this //////////////////// --------
-


-------- ======================================================================= --------
-


-------- ======================================================================= --------
-


-------- --------
-


-------- Determins who is the triggering unit, (Caster) --------
-


Set WS_Caster = (Triggering unit)
-


-------- Determins who owns the triggering unit, (Owner of Caster) --------
-


Set WS_Owner = (Owner of WS_Caster)
-


-------- Determins what level the ability cast is. (Thunderstorm) --------
-


Set WS_Lvl = (Level of (Ability being cast) for WS_Caster)
-


-------- Fixates the position of the caster to originate all effects --------
-


Set WS_Point[1] = (Position of WS_Caster)
-


-------- Recycle WS_Real --------
-


Set WS_Real = 0.00
-


-------- --------
-


-------- ======================================================================= --------
-


-------- ======================================================================= --------
-


-------- --------
-


-------- ////////////////////////////////////////////////////////////// --------
-


-------- BELOW THIS LINE YOU CAN CUSTOMISE SOME THE ABILITY --------
-


-------- YOU CAN CUSTOMISE THE REST AT Trigger "Startup" --------
-


-------- Some visual effects are in the object editor (spells, buffs, units) --------
-


-------- ////////////////////////////////////////////////////////////// --------
-


-------- --------
-


-------- Determins the range of which units take damage, originating from the caster (WS_Caster) --------
-


Set WS_DamageRange = (250.00 + (50.00 x (Real(WS_Lvl))))
-


-------- --------
-


-------- Determins range of the shockwave type effect. (This is only for visual effect) --------
-


Set WS_Range = (250.00 + (50.00 x (Real(WS_Lvl))))
-


-------- --------
-


-------- Determins initial damage ( now: Lvl x 100 Damage, 100, 200, 300 damage) --------
-


Set WS_Damage = ((Real(WS_Lvl)) x 100.00)
-


-------- --------
-


-------- Determins damage dealt to units that got their mana burned to 0 --------
-


Set WS_EndDamage = ((Real(WS_Lvl)) x 100.00)
-


-------- --------
-


-------- To change Duration of Slow effect Modify the spell Electrified (Dummy) --------
-


-------- Slows for 7/10/14 seconds --------
-


-------- --------
-


-------- Mana Burned --------
-


-------- Current: 10%, 15%, 20% --------
-


Set WS_Manaburn = (5 + (5 x WS_Lvl))
-


-------- --------
-


-------- ////////////////////////////////////////////////////////////// --------
-


-------- DO NOT CUSTOMISE ANYTHING BELOW THIS LINE --------
-


-------- ////////////////////////////////////////////////////////////// --------
-


-------- Creates Visual Dummy --------
-


Unit - Create 1 WS_DummyMonsoon for WS_Owner at WS_Point[1] facing Default building facing degrees
-


Unit - Make (Last created unit) Explode on death
-


Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
-


-------- Creates Visual Dummy --------
-


Unit - Create 1 WS_DummyThunderclap for WS_Owner at WS_Point[1] facing Default building facing degrees
-


Unit - Make (Last created unit) Explode on death
-


Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
-


-------- Starts Integer Loop to create lightnings and effects --------
-


For each (Integer WS_Integer) from 1 to WS_Loops, do (Actions)
-



Loop - Actions
-




-------- Determins the point where the lightning starts and targets --------
-




Set WS_Point[3] = (WS_Point[1] offset by WS_DamageRange towards WS_Real degrees)
-




-------- Creates the Lightning Effect and a small impact effect --------
-




Lightning - Create a WS_LightningType lightning effect from source WS_Point[1] to target WS_Point[3]
-




Special Effect - Create a special effect at WS_Point[3] using WS_Impact
-




Special Effect - Destroy (Last created special effect)
-




-------- Activates timed life of Lightning Effects --------
-




Unit - Create 1 WS_Dummy for WS_Owner at WS_Point[1] facing Default building facing degrees
-




Unit - Make (Last created unit) Explode on death
-




Unit - Add a WS_LightningDuration second Generic expiration timer to (Last created unit)
-




Unit Group - Add (Last created unit) to WS_LightningGroup
-




Hashtable - Save Handle Of(Last created lightning effect) as 0 of (Key (Last created unit)) in WS_Hashtable
-




Set WS_Point[2] = (WS_Point[1] offset by WS_Range towards WS_Real degrees)
-




-------- Creates Dummy For ability Effect --------
-




Unit - Create 1 WS_Dummy for WS_Owner at WS_Point[3] facing Default building facing degrees
-




Unit - Add Manastorm (Dummy) to (Last created unit)
-




Unit - Set level of Manastorm (Dummy) for (Last created unit) to WS_Lvl
-




Unit - Order (Last created unit) to Undead Dreadlord - Carrion Swarm WS_Point[1]
-




Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
-




Unit - Make (Last created unit) Explode on death
-




Set WS_Real = (WS_Real + (360.00 / (Real(WS_Loops))))
-




-------- Clears location leaks --------
-




Custom script: call RemoveLocation(udg_WS_Point[2])
-




Custom script: call RemoveLocation(udg_WS_Point[3])
-
-
-
-
-
Set WS_Unitgroup = (Units within WS_DamageRange of WS_Point[1] matching ((((Matching unit) belongs to an enemy of WS_Owner) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) is alive))))
-

Unit Group - Pick every unit in WS_Unitgroup and do (Actions)
-


Loop - Actions
-



Unit - Cause WS_Caster to damage (Picked unit), dealing WS_Damage damage of attack type Spells and damage type Normal
-



Unit - Create 1 WS_Dummy for WS_Owner at WS_Point[1] facing Default building facing degrees
-



Unit - Make (Last created unit) Explode on death
-



Unit - Add Shocked (Dummy) to (Last created unit)
-



Unit - Set level of Shocked (Dummy) for (Last created unit) to WS_Lvl
-



Unit - Order (Last created unit) to Orc Shaman - Purge (Picked unit)
-



Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
-



-------- Calculates mana that will be burned --------
-



Set WS_BurnedMana1 = ((Max mana of (Picked unit)) / 100.00)
-



Set WS_BurnedMana = ((Mana of (Picked unit)) - (WS_BurnedMana1 x (Real(WS_Manaburn))))
-



-------- Checking if any mana was burned and --------
-



-------- Applies the calculated burn --------
-



Unit - Set mana of (Picked unit) to WS_BurnedMana
-



Set WS_CurrentMana = (Mana of (Picked unit))
-



Set WS_BurnedmessageInteger = ((Integer(WS_BurnedMana1)) x WS_Manaburn)
-



Set WS_BurnedMessage = (- + (String(WS_BurnedmessageInteger)))
-



-------- Creates the Floating Text effect reflecting the burned amount --------
-



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




If - Conditions
-





WS_BurnedmessageInteger Greater than 0
-
-




Then - Actions
-





Floating Text - Create floating text that reads WS_BurnedMessage above (Picked unit) with Z offset 0.00, using font size 8.00, color (50.00%, 50.00%, 100.00%), and 0.00% transparency
-





Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
-





Floating Text - Change (Last created floating text): Disable permanence
-





Floating Text - Change the lifespan of (Last created floating text) to 1.50 seconds
-





Floating Text - Change the fading age of (Last created floating text) to 1.20 seconds
-





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






If - Conditions
-







WS_CurrentMana Less than or equal to 0.00
-
-






Then - Actions
-







Unit - Cause WS_Caster to damage (Picked unit), dealing WS_EndDamage damage of attack type Spells and damage type Normal
-







Special Effect - Create a special effect at (Position of (Picked unit)) using Abilities\Spells\Undead\CarrionSwarm\CarrionSwarmDamage.mdl
-







Special Effect - Destroy (Last created special effect)
-
-






Else - Actions
-
-
-




Else - Actions
-
-
-
-

-------- Clear Lightning leak in Trigger "Lightning Clear" --------
-

-------- Clears location leaks --------
-

Custom script: call RemoveLocation(udg_WS_Point[1])
-

-------- Clears unitgroup leaks --------
-

Custom script: call DestroyGroup(udg_WS_Unitgroup)
-
-
Lightning Clear
-

Events
-


Unit - A unit Dies
-
-

Conditions
-


((Triggering unit) is in WS_LightningGroup) Equal to True
-
-

Actions
-


Unit Group - Remove (Triggering unit) from WS_LightningGroup
-


Lightning - Destroy (Load 0 of (Key (Triggering unit)) in WS_Hashtable)
-


Hashtable - Clear all child hashtables of child (Key (Triggering unit)) in WS_Hashtable
-
-
That's all
Tell me in Comment what you guys think
Please if you find any bugs/leaks tell me
Im keeping old uploads so others can learn and also see how i developed it (if it's against any rule tell me :X)
Latest version is furthest down in the list
Im off on vacation, comments will be read and responsed to on the 27th April
Updated
- Fixed leaks
- removed excess commentary
- made mana burn and range easier to configure
Updated
- Now checks for structure and spellimmunity
- Made all create actions use unit type variable
- Tooltip updated
Attachments
-
Manastorm img1.jpg656.4 KB · Views: 98 -
[Mana] Manastorm Spellbase.w3x42.4 KB · Views: 75
-
[Mana] Manastorm Spellbase 1.1b.w3x42.5 KB · Views: 102
-
[Mana] Manastorm Spellbase 1.2.w3x43.6 KB · Views: 79
-
[Mana] Manastorm Spellbase 1.2b.w3x43.1 KB · Views: 111
-
[Mana] Manastorm Spellbase 1.3.w3x48.3 KB · Views: 68
Last edited:







