- 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: 78
-
[Mana] Manastorm Spellbase.w3x42.4 KB · Views: 59
-
[Mana] Manastorm Spellbase 1.1b.w3x42.5 KB · Views: 81
-
[Mana] Manastorm Spellbase 1.2.w3x43.6 KB · Views: 55
-
[Mana] Manastorm Spellbase 1.2b.w3x43.1 KB · Views: 94
-
[Mana] Manastorm Spellbase 1.3.w3x48.3 KB · Views: 47
Last edited: