- Joined
- Jul 19, 2007
- Messages
- 855
I've got another imported spell from a spellpack map to one of my maps but it doesn't seems to be working like it should... Well the flaming arrow actually gets fired and damages the enemies it hits but after the enemies are hit by the arrow it is meant to cause an ignite-effect but it doesn't seems to be working because enemies are not getting the ignite effect after being hit by the arrow...
Here is the triggers for the spell.
Here is the triggers for the spell.
-
Mars Flame Sniper Cast
-
Events
-
Conditions
-
Actions
-
Set tempUnit0 = (Casting unit)
-
Set tempPlayer = (Owner of tempUnit0)
-
Set tempInteger0 = (Hero level of tempUnit0)
-
Set tempLoc0 = (Position of tempUnit0)
-
Set tempLoc1 = (Target point of ability being cast)
-
Set tempReal0 = (Angle from tempLoc0 to tempLoc1)
-
Custom script: call RemoveLocation(udg_tempLoc1)
-
Custom script: set udg_tempLoc1 = null
-
Set tempLoc2 = (tempLoc0 offset by sorFlameCollision towards tempReal0 degrees)
-
Custom script: call RemoveLocation(udg_tempLoc0)
-
Custom script: set udg_tempLoc0 = null
-
Unit - Create 1 Mars Flame Sniper for tempPlayer at tempLoc2 facing tempReal0 degrees
-
Custom script: call RemoveLocation(udg_tempLoc2)
-
Custom script: set udg_tempLoc2 = null
-
Unit Group - Add (Last created unit) to sorFlameMGroup
-
Set sorCountFlame = (sorCountFlame + 1)
-
Set tempInteger1 = (Key (Last created unit))
-
Hashtable - Save Handle OftempUnit0 as (Key source) of tempInteger1 in sorHashFlame
-
Hashtable - Save tempInteger0 as (Key level) of tempInteger1 in sorHashFlame
-
Hashtable - Save tempReal0 as (Key angle) of tempInteger1 in sorHashFlame
-
Hashtable - Save sorFlameSpeedBase as (Key speed) of tempInteger1 in sorHashFlame
-
Hashtable - Save 0.00 as (Key distance) of tempInteger1 in sorHashFlame
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Mars Flame Sniper Missile <gen> is on) Equal to False
-
-
Then - Actions
-
Trigger - Turn on Mars Flame Sniper Missile <gen>
-
-
Else - Actions
-
-
-
-
Mars Flame Sniper Missile
-
Events
-
Time - Every 0.03 seconds of game time
-
-
Conditions
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
sorCountFlame Equal to 0
-
-
Then - Actions
-
Trigger - Turn off (This trigger)
-
-
Else - Actions
-
Unit Group - Pick every unit in sorFlameMGroup and do (Actions)
-
Loop - Actions
-
Set tempUnit0 = (Picked unit)
-
Set tempPlayer = (Owner of tempUnit0)
-
Custom script: set udg_tempInteger0 = GetHandleId(udg_tempUnit0)
-
Set tempReal0 = (Load (Key distance) of tempInteger0 from sorHashFlame)
-
Set tempLoc0 = (Position of tempUnit0)
-
Set tempGroup = (Units within sorFlameCollision of tempLoc0 matching ((((Matching unit) belongs to an enemy of tempPlayer) Equal to True) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is Mechanical) Equal to False) and (((Matching unit) is A structur
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Or - Any (Conditions) are true
-
Conditions
-
tempReal0 Greater than or equal to sorFlameRange
-
(tempGroup is empty) Equal to False
-
-
-
-
Then - Actions
-
Unit Group - Remove all units from tempGroup
-
Custom script: call DestroyGroup(udg_tempGroup)
-
Custom script: set udg_tempGroup = null
-
-------- - --------
-
Unit Group - Remove tempUnit0 from sorFlameMGroup
-
Unit - Kill tempUnit0
-
Set sorCountFlame = (sorCountFlame - 1)
-
-------- - --------
-
Set tempGroup = (Units within sorFlameRadius of tempLoc0 matching ((((Matching unit) belongs to an enemy of tempPlayer) Equal to True) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is Mechanical) Equal to False) and (((Matching unit) is A structure)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(tempGroup is empty) Equal to True
-
-
Then - Actions
-
Custom script: call DestroyGroup(udg_tempGroup)
-
Custom script: set udg_tempGroup = null
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
tempReal0 Greater than sorFlameScaleRange
-
-
Then - Actions
-
Set tempReal0 = sorFlameScaleRange
-
-
Else - Actions
-
-
Set tempReal1 = (sorFlameDmgMinBase + (((sorFlameDmgMaxBase + (sorFlameDmgMaxInc x (Real(((Load (Key level) of tempInteger0 from sorHashFlame) - 1))))) - sorFlameDmgMinBase) x (tempReal0 / sorFlameScaleRange)))
-
Set tempReal2 = (sorIgniteFactor x tempReal1)
-
Set tempReal3 = (intervalAbilityEffects x (tempReal2 / sorIgniteDuration))
-
Set tempUnit0 = (Load (Key source) of tempInteger0 in sorHashFlame)
-
Set tempPlayer = (Owner of tempUnit0)
-
-------- - --------
-
Hashtable - Clear all child hashtables of child tempInteger0 in sorHashFlame
-
-------- - --------
-
Floating Text - Create floating text that reads ((String((Integer(tempReal1)))) + !) at tempLoc0 with Z offset 64.00, using font size 22.00, color (100.00%, 40.00%, 0.00%), and 0.00% transparency
-
Floating Text - Change (Last created floating text): Disable permanence
-
Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
-
Floating Text - Change the lifespan of (Last created floating text) to 1.60 seconds
-
Floating Text - Change the fading age of (Last created floating text) to 1.20 seconds
-
-------- - --------
-
Unit Group - Pick every unit in tempGroup and do (Actions)
-
Loop - Actions
-
Set tempUnit1 = (Picked unit)
-
Custom script: set udg_tempInteger1 = GetHandleId(udg_tempUnit1)
-
Unit - Cause tempUnit0 to damage tempUnit1, dealing tempReal1 damage of attack type Spells and damage type Magic
-
Special Effect - Create a special effect attached to the chest of tempUnit1 using Abilities\Spells\Items\AIfb\AIfbSpecialArt.mdl
-
Special Effect - Destroy (Last created special effect)
-
-------- - --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(tempUnit1 is in sorIgniteTargets) Equal to True
-
-
Then - Actions
-
Hashtable - Save (tempReal2 + (Load (Key totaldamage) of tempInteger1 from sorHashIgnite)) as (Key totaldamage) of tempInteger1 in sorHashIgnite
-
-
Else - Actions
-
Unit Group - Add tempUnit1 to sorIgniteTargets
-
Hashtable - Save tempReal2 as (Key totaldamage) of tempInteger1 in sorHashIgnite
-
-
-
-------- - --------
-
Unit - Create 1 EffectDummy for tempPlayer at tempLoc0 facing Default building facing degrees
-
Set tempInteger2 = (Key (Last created unit))
-
Unit Group - Add (Last created unit) to sorIgniteGroup
-
Set sorCountIgnite = (sorCountIgnite + 1)
-
Hashtable - Save Handle OftempUnit0 as (Key source) of tempInteger2 in sorHashIgnite
-
Hashtable - Save Handle OftempUnit1 as (Key target) of tempInteger2 in sorHashIgnite
-
Hashtable - Save tempReal2 as (Key damage) of tempInteger2 in sorHashIgnite
-
Hashtable - Save tempReal3 as (Key dpt) of tempInteger2 in sorHashIgnite
-
Hashtable - Save sorIgniteDuration as (Key duration) of tempInteger2 in sorHashIgnite
-
Special Effect - Create a special effect attached to the chest of tempUnit1 using Abilities\Spells\Other\Incinerate\IncinerateBuff.mdl
-
Hashtable - Save Handle Of(Last created special effect) as (Key effect0) of tempInteger2 in sorHashIgnite
-
-------- - --------
-
Unit Group - Remove tempUnit1 from tempGroup
-
-
-
Custom script: call DestroyGroup(udg_tempGroup)
-
Custom script: set udg_tempGroup = null
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Ignite Effects <gen> is on) Equal to False
-
-
Then - Actions
-
Trigger - Turn on Ignite Effects <gen>
-
-
Else - Actions
-
-
-
-
Custom script: call RemoveLocation(udg_tempLoc0)
-
Custom script: set udg_tempLoc0 = null
-
-
Else - Actions
-
Set tempReal1 = (Load (Key speed) of tempInteger0 from sorHashFlame)
-
Set tempReal2 = (Load (Key angle) of tempInteger0 from sorHashFlame)
-
Set tempLoc1 = (tempLoc0 offset by tempReal1 towards tempReal2 degrees)
-
Custom script: call RemoveLocation(udg_tempLoc0)
-
Custom script: set udg_tempLoc0 = null
-
Unit - Move tempUnit0 instantly to tempLoc1
-
Custom script: call RemoveLocation(udg_tempLoc1)
-
Custom script: set udg_tempLoc1 = null
-
Hashtable - Save (tempReal0 + tempReal1) as (Key distance) of tempInteger0 in sorHashFlame
-
Hashtable - Save (tempReal1 + sorFlameSpeedInc) as (Key speed) of tempInteger0 in sorHashFlame
-
-
-
-
-
-
-
-
-
Ignite Effects
-
Events
-
Time - Every 0.20 seconds of game time
-
-
Conditions
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
sorCountIgnite Equal to 0
-
-
Then - Actions
-
Trigger - Turn off (This trigger)
-
-
Else - Actions
-
Unit Group - Pick every unit in sorIgniteGroup and do (Actions)
-
Loop - Actions
-
Set tempUnit0 = (Picked unit)
-
Custom script: set udg_tempInteger0 = GetHandleId(udg_tempUnit0)
-
Set tempUnit1 = (Load (Key target) of tempInteger0 in sorHashIgnite)
-
Set tempReal0 = (Load (Key duration) of tempInteger0 from sorHashIgnite)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Or - Any (Conditions) are true
-
Conditions
-
tempReal0 Less than or equal to 0.00
-
(tempUnit1 is dead) Equal to True
-
(tempUnit1 is in sorIgniteTargets) Equal to False
-
-
-
-
Then - Actions
-
Unit Group - Remove tempUnit0 from sorIgniteGroup
-
Set sorCountIgnite = (sorCountIgnite - 1)
-
Special Effect - Destroy (Load (Key effect0) of tempInteger0 in sorHashIgnite)
-
-------- - --------
-
Custom script: set udg_tempInteger1 = GetHandleId(udg_tempUnit1)
-
Set tempReal1 = ((Load (Key totaldamage) of tempInteger1 from sorHashIgnite) - (Load (Key damage) of tempInteger0 from sorHashIgnite))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
tempReal1 Less than or equal to 0.00
-
-
Then - Actions
-
Unit Group - Remove tempUnit1 from sorIgniteTargets
-
Hashtable - Clear all child hashtables of child tempInteger1 in sorHashIgnite
-
-
Else - Actions
-
Hashtable - Save tempReal1 as (Key totaldamage) of tempInteger1 in sorHashIgnite
-
-
-
Hashtable - Clear all child hashtables of child tempInteger0 in sorHashIgnite
-
Unit - Remove tempUnit0 from the game
-
-
Else - Actions
-
Set tempUnit0 = (Load (Key source) of tempInteger0 in sorHashIgnite)
-
Unit - Cause tempUnit0 to damage tempUnit1, dealing (Load (Key dpt) of tempInteger0 from sorHashIgnite) damage of attack type Spells and damage type Magic
-
Hashtable - Save (tempReal0 - intervalAbilityEffects) as (Key duration) of tempInteger0 in sorHashIgnite
-
-
-
-
-
-
-
-