- Joined
- Jul 19, 2007
- Messages
- 855
I have a hero ability in my map named "Untouchable" that works like this "Gives Galadriel a chance to damage enemies that attack her and slow their attack and movement speed by 35% for 2.5 seconds. |n|n|cffffcc00Level 1|r - 10% chance to deal 20 damage. |n|cffffcc00Level 2|r - 15% chance to deal 40 damage. |n|cffffcc00Level 3|r - 20% chance to deal 60 damage. |n|cffffcc00Level 4|r - 25% chance to deal 80 damage." I didn't make this ability myself. I got it from a spellpack but the ability is kinda broken because it has a chance to damage and slow enemies when Galadriel is hit by a spell or damage-overtime effect too but it's meant to only have chance to damage and slow enemies that are physically attacking her, not from spells. To bad the GDD system doesn't seems to be able to check if damage was done by normal attack so I can't fix this ability myself and I think it needs to be recreated. I hope someone will make it for me.
Here is the current triggers of the broken ability.
Here is the current triggers of the broken ability.
-
Thorn Armor Config
-
Events
-
Map initialization
-
-
Conditions
-
Actions
-
-------- Set the base damage (Level 1) --------
-
Set VariableSet TA_BaseDamage = 20.00
-
-------- Set the damage growth per each additional level --------
-
Set VariableSet TA_DamageGrowth = 20.00
-
-------- Set the base chance (Level 1) --------
-
Set VariableSet TA_BaseChance = 10
-
-------- Set the chance growth per each additional level --------
-
Set VariableSet TA_ChanceGrowth = 5
-
-------- Set the special effect --------
-
Set VariableSet TA_SFX = Shot II Blue.mdx
-
-
-
Thorn Armor
-
Events
-
Game - DamageModifierEvent becomes Equal to 1.00
-
-
Conditions
-
(DamageEventTarget has buff Untouchable (Armor)) Equal to True
-
-
Actions
-
Set VariableSet TA_Levels = (Level of Untouchable for DamageEventTarget)
-
Set VariableSet TA_ThornSpawn = (Position of DamageEventTarget)
-
Set VariableSet TA_ThornEffect = (Position of DamageEventSource)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to (TA_BaseChance + (TA_ChanceGrowth x (TA_Levels - 1)))
-
(DamageEventSource is A structure) Not equal to True
-
(DamageEventSource is A flying unit) Not equal to True
-
-
Then - Actions
-
Special Effect - Create a special effect at TA_ThornEffect using TA_SFX
-
Special Effect - Destroy (Last created special effect)
-
Unit - Cause DamageEventTarget to damage DamageEventSource, dealing (TA_BaseDamage + (TA_DamageGrowth x ((Real(TA_Levels)) - 1.00))) damage of attack type Spells and damage type Magic
-
Unit - Create 1 Thorn Armor Dummy for (Owner of DamageEventTarget) at TA_ThornSpawn facing Default building facing degrees
-
Set VariableSet Thorn_Dummy = (Last created unit)
-
Unit - Add a 1.00 second Generic expiration timer to Thorn_Dummy
-
Unit - Add Untouchable (slow) to Thorn_Dummy
-
Unit - Order Thorn_Dummy to Human Sorceress - Slow DamageEventSource
-
-
Else - Actions
-
-
Custom script: call RemoveLocation(udg_TA_ThornSpawn)
-
Custom script: call RemoveLocation(udg_TA_ThornEffect)
-
-
-
Remove Dummy Leak
-
Events
-
Unit - A unit Dies
-
-
Conditions
-
(Unit-type of (Triggering unit)) Equal to Thorn Armor Dummy
-
-
Actions
-
Unit - Remove (Triggering unit) from the game
-
-