- 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
- -------- --------
-
Events
-
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])
-
Loop - Actions
-
Events
-
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
-
If - Conditions
- Else - Actions
-
If - Conditions
-
Loop - 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)
-
Unit Group - Pick every unit in WS_Unitgroup and do (Actions)
-
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
-
Events
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: 58
-
[Mana] Manastorm Spellbase 1.1b.w3x42.5 KB · Views: 80
-
[Mana] Manastorm Spellbase 1.2.w3x43.6 KB · Views: 54
-
[Mana] Manastorm Spellbase 1.2b.w3x43.1 KB · Views: 93
-
[Mana] Manastorm Spellbase 1.3.w3x48.3 KB · Views: 46
Last edited: