- Joined
- Feb 9, 2009
- Messages
- 1,814
Configuration
Cast
Block
Periodic
-
BAmr Config
-

Events
-


Map initialization
-
-

Conditions
-

Actions
-


Hashtable - Create a hashtable
-


Set BAmr_Hashtable = (Last created hashtable)
-


-------- This value represents how often the BAmr Peridic will run. --------
-


Set BAmr_PERIODIC = 0.03
-


Trigger - Add to BAmr Periodic <gen> the event (Time - Every BAmr_PERIODIC seconds of game time)
-


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


-------- This value indicates what spell is being used by the caster --------
-


Set BAmr_SPELL = Bone Armor BAmr
-


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


-------- This value indicates which buff will be detected when the enchanted unit is struck, and which buff the enchanted unit needs to keep the effect going. --------
-


Set BAmr_BUFF = Bone Armor BAmr
-


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


-------- Spell stat values --------
-


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



If - Conditions
-



Then - Actions
-




-------- This indicates the base value for the shield --------
-




Set BAmr_BASE_HP = 100.00
-




-------- This indicates the base value for the shield --------
-




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




-------- This value will determine the increase in shield health if the hero invests skill points into the Ability --------
-




Set BAmr_LVL_HP_BONUS[1] = 200.00
-




Set BAmr_LVL_HP_BONUS[2] = 400.00
-




Set BAmr_LVL_HP_BONUS[3] = 600.00
-




-------- This value will determine the increase in shield health if the hero invests skill points into the Ability --------
-




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




-------- This value decides what percentage of the caster's Strength will be used to boost Bone Armor's Health (Default: 0.00) --------
-




Set BAmr_ATT_BONUS[1] = 0.00
-




-------- This value decides what percentage of the caster's Agility will be used to boost Bone Armor's Health (Default: 0.00) --------
-




Set BAmr_ATT_BONUS[2] = 0.00
-




-------- This value decides what percentage of the caster's Intelligence will be used to boost Bone Armor's Health (Default: 0.00) --------
-




Set BAmr_ATT_BONUS[3] = 0.00
-




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




-------- This value denotes of what percentage of the damage will be taken by the shield. Default:1.00 (100%) --------
-




-------- Example: 0.5 means only 50% of incoming damage will be taken by the shield and will be dealt to the unit --------
-




Set BAmr_ABSORBTION_PERCENTAGE = 1.00
-




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




-------- These two values determine what percentage of physical or Spell damage it will resist. Default: 1.00 (100%) --------
-




-------- Not to be confused with the previous value --------
-




-------- Example: Spell Resist at 2.00 means that spell damage will deal 200% more damage --------
-




-------- Setting either of these values to 0.00 will ignore that type of damage --------
-




Set BAmr_RESIST_SPELL = 1.00
-




Set BAmr_RESIST_PHYSICAL = 1.00
-




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



Else - Actions
-
-


-------- Spell stat values --------
-


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


-------- This value determines the "Flavour" of the Shield, the number corresponds with the options below, match it to get the intended effect --------
-


Set BAmr_Flavor = 23
-


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



If - Conditions
-



Then - Actions
-




-------- Flavors --------
-




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




-------- 23 --------
-




-------- Lime / Necro --------
-




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





If - Conditions
-






BAmr_Flavor Equal to 23
-
-





Then - Actions
-






Set BAmr_Flavor_Path[0] = Abilities\Weapons\NecromancerMissile\NecromancerMissile.mdl
-






Set BAmr_Flavor_Path[1] = Abilities\Spells\Undead\RaiseSkeletonWarrior\RaiseSkeleton.mdl
-






Set BAmr_Flavor_Path[2] = Abilities\Spells\Undead\RaiseSkeletonWarrior\RaiseSkeleton.mdl
-






Set BAmr_Flavor_Path[3] = BoneArmorCasterTC.mdx
-
-





Else - Actions
-
-




-------- 23 --------
-




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




-------- 1 --------
-




-------- Red / Fire --------
-




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





If - Conditions
-






BAmr_Flavor Equal to 1
-
-





Then - Actions
-






Set BAmr_Flavor_Path[0] = Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
-






Set BAmr_Flavor_Path[1] = Abilities\Spells\Items\AIfb\AIfbSpecialArt.mdl
-






Set BAmr_Flavor_Path[2] = Abilities\Spells\Items\AIfb\AIfbSpecialArt.mdl
-






Set BAmr_Flavor_Path[3] = BoneArmorCasterTC.mdx
-
-





Else - Actions
-
-




-------- 1 --------
-




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




-------- 2 --------
-




-------- Blue / Frost --------
-




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





If - Conditions
-






BAmr_Flavor Equal to 2
-
-





Then - Actions
-






Set BAmr_Flavor_Path[0] = Abilities\Spells\Other\FrostBolt\FrostBoltMissile.mdl
-






Set BAmr_Flavor_Path[1] = Abilities\Spells\Undead\FrostNova\FrostNovaTarget.mdl
-






Set BAmr_Flavor_Path[2] = Abilities\Spells\Undead\FrostNova\FrostNovaTarget.mdl
-






Set BAmr_Flavor_Path[3] = BoneArmorCasterTC.mdx
-
-





Else - Actions
-
-




-------- 2 --------
-




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




-------- 3 --------
-




-------- Teal / Ocean --------
-




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





If - Conditions
-






BAmr_Flavor Equal to 3
-
-





Then - Actions
-






Set BAmr_Flavor_Path[0] = Abilities\Weapons\SeaElementalMissile\SeaElementalMissile.mdl
-






Set BAmr_Flavor_Path[1] = Abilities\Spells\Other\CrushingWave\CrushingWaveDamage.mdl
-






Set BAmr_Flavor_Path[2] = Abilities\Spells\Other\CrushingWave\CrushingWaveDamage.mdl
-






Set BAmr_Flavor_Path[3] = BoneArmorCasterTC.mdx
-
-





Else - Actions
-
-




-------- 3 --------
-




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




-------- 4 --------
-




-------- Purple / Ooze? --------
-




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





If - Conditions
-






BAmr_Flavor Equal to 4
-
-





Then - Actions
-






Set BAmr_Flavor_Path[0] = Abilities\Weapons\SludgeMissile\SludgeMissile.mdl
-






Set BAmr_Flavor_Path[1] = Abilities\Spells\Undead\DarkRitual\DarkRitualTarget.mdl
-






Set BAmr_Flavor_Path[2] = Abilities\Spells\Items\AIil\AIilTarget.mdl
-






Set BAmr_Flavor_Path[3] = BoneArmorCasterTC.mdx
-
-





Else - Actions
-
-




-------- 4 --------
-




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




-------- 5 --------
-




-------- Yellow / Holy --------
-




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





If - Conditions
-






BAmr_Flavor Equal to 5
-
-





Then - Actions
-






Set BAmr_Flavor_Path[0] = Abilities\Weapons\FaerieDragonMissile\FaerieDragonMissile.mdl
-






Set BAmr_Flavor_Path[1] = Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
-






Set BAmr_Flavor_Path[2] = Abilities\Spells\Other\HealingSpray\HealBottleMissile.mdl
-






Set BAmr_Flavor_Path[3] = BoneArmorCasterTC.mdx
-
-





Else - Actions
-
-




-------- 5 --------
-




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




-------- 6 --------
-




-------- Orange / Drunk --------
-




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





If - Conditions
-






BAmr_Flavor Equal to 6
-
-





Then - Actions
-






Set BAmr_Flavor_Path[0] = Abilities\Spells\Other\StrongDrink\BrewmasterMissile.mdl
-






Set BAmr_Flavor_Path[1] = Abilities\Spells\Orc\SpiritLink\SpiritLinkZapTarget.mdl
-






Set BAmr_Flavor_Path[2] = Abilities\Spells\Human\Feedback\SpellBreakerAttack.mdl
-






Set BAmr_Flavor_Path[3] = BoneArmorCasterTC.mdx
-
-





Else - Actions
-
-




-------- 6 --------
-




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




-------- 7 --------
-




-------- Green / Nature --------
-




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





If - Conditions
-






BAmr_Flavor Equal to 7
-
-





Then - Actions
-






Set BAmr_Flavor_Path[0] = Abilities\Weapons\KeeperGroveMissile\KeeperGroveMissile.mdl
-






Set BAmr_Flavor_Path[1] = Objects\Spawnmodels\NightElf\EntBirthTarget\EntBirthTarget.mdl
-






Set BAmr_Flavor_Path[2] = Objects\Spawnmodels\NightElf\EntBirthTarget\EntBirthTarget.mdl
-






Set BAmr_Flavor_Path[3] = BoneArmorCasterTC.mdx
-
-





Else - Actions
-
-




-------- 7 --------
-




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




-------- 8 --------
-




-------- Pink / Darkness --------
-




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





If - Conditions
-






BAmr_Flavor Equal to 8
-
-





Then - Actions
-






Set BAmr_Flavor_Path[0] = Abilities\Weapons\VoidWalkerMissile\VoidWalkerMissile.mdl
-






Set BAmr_Flavor_Path[1] = Abilities\Spells\Undead\OrbOfDeath\AnnihilationMissile.mdl
-






Set BAmr_Flavor_Path[2] = Abilities\Spells\Undead\OrbOfDeath\AnnihilationMissile.mdl
-






Set BAmr_Flavor_Path[3] = BoneArmorCasterTC.mdx
-
-





Else - Actions
-
-




-------- 8 --------
-




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




-------- Flavors --------
-
-



Else - Actions
-
-


-------- This value determines the "Flavour" of the Shield, the number corresponds with the options below, match it to get the intended effect --------
-


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


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


-------- Special effects & related values --------
-


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



If - Conditions
-



Then - Actions
-




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




-------- This path denotes what form the orbiting segments will take. --------
-




Set BAmr_EFFECTPATH[0] = BAmr_Flavor_Path[0]
-




-------- This path denotes what form the orbiting segments will take. --------
-




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




-------- This value indicates what effect will occur when the segments are first spawned --------
-




Set BAmr_EFFECTPATH[1] = BAmr_Flavor_Path[1]
-




-------- This value indicates what effect will occur when the segments are first spawned --------
-




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




-------- This value indicates what effect will occur when the segments are destroyed --------
-




Set BAmr_EFFECTPATH[2] = BAmr_Flavor_Path[2]
-




-------- This value indicates what effect will occur when the segments are destroyed --------
-




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




-------- This value indicates what effect will occur when the enchanted unit is struck --------
-




Set BAmr_EFFECTPATH[3] = BAmr_Flavor_Path[3]
-




-------- This value indicates what effect will occur when the enchanted unit is struck --------
-




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




-------- Values contained within directly influence the "shield flare" effect governed by BAmr_EFFECTPATH[3] --------
-




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





If - Conditions
-





Then - Actions
-






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






-------- This Value determines whether or not you want the "Shield Flare Effect" to match the player's colour or to a specific colour --------
-






Set BAmr_Boolean[1] = False
-






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






-------- Offset will determine how far away the Special effect will be created from the enchanted target --------
-






-------- PLAYER COLOUR --------
-






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







If - Conditions
-








BAmr_Boolean[1] Equal to False
-
-







Then - Actions
-








Set BAmr_SPEF_VALUE[0] = (Real(BAmr_Flavor))
-
-







Else - Actions
-
-






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






-------- Offset will determine how far away the Special effect will be created from the enchanted target --------
-






-------- OFFSET --------
-






Set BAmr_SPEF_VALUE[1] = 85.00
-






-------- Offset will determine how far away the Special effect will be created from the enchanted target --------
-






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






-------- Height will determine at what height the Special effect will be created, starting from the enchanted target's current height & Z Height. --------
-






-------- HEIGHT --------
-






Set BAmr_SPEF_VALUE[2] = 65.00
-






-------- Height will determine at what height the Special effect will be created, starting from the enchanted target's current height --------
-






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






-------- Scale will determine the percentage of scale the Special effect will have --------
-






-------- SCALE --------
-






Set BAmr_SPEF_VALUE[3] = 0.90
-






-------- Scale will determine the percentage of scale the Special effect will have --------
-






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






-------- Timescale will determine the speed of the special effect's animation --------
-






-------- TIMESCALE --------
-






Set BAmr_SPEF_VALUE[4] = 7.50
-






-------- Timescale will determine the speed of the special effect's animation --------
-






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






-------- RGB value from 0 - 255 will determine what colors will be present in the special effect (note this requires a lot of experimentation) --------
-






-------- from 1 - 3 is RED, GREEN, BLUE --------
-






Set BAmr_SPEF_VALUE[5] = 255.00
-






Set BAmr_SPEF_VALUE[6] = 255.00
-






Set BAmr_SPEF_VALUE[7] = 255.00
-






-------- from 1 - 3 is RED, GREEN, BLUE --------
-






-------- RGB value from 0 - 255 will determine what colors will be present in the special effect (note this requires a lot of experimentation) --------
-






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






-------- YPR will determine in order of apperance, Yaw, Pitch, & Roll. --------
-






-------- Thanks to Hermit, the model provided already has an orienation to 90 degrees we need not add it, but I will leave these all the same for interesting effects! --------
-






-------- The Values are calculated as (( X * 3.14 ) / 180 ), X being the value below --------
-






-------- To flip normally horizontal models like the default spirit touch, all values below must be set to 1.57 or ((90 x 3.14 /) 180) --------
-






-------- from 8 - 10 is YAW, PITCH, ROLL --------
-






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






Set BAmr_SPEF_VALUE[8] = 0.00
-






-------- YAW --------
-






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






Set BAmr_SPEF_VALUE[9] = 0.00
-






-------- PITCH --------
-






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






Set BAmr_SPEF_VALUE[10] = 0.00
-






-------- ROLL --------
-






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






-------- YPR will determine in order of apperance, Yaw, Pitch, & Roll. --------
-






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






-------- This Value checks whether or not the Shield flare intensity will match the shield's current health --------
-






Set BAmr_Boolean[2] = True
-






-------- If Above Boolean is true, this handles the minimum the shield will fade to. --------
-






Set BAmr_SPEF_VALUE[11] = 50.00
-






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





Else - Actions
-
-




-------- Values contained within directly influence the "shield flare" effect governed by BAmr_EFFECTPATH[3] --------
-




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



Else - Actions
-
-


-------- Special effects & related values --------
-


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


-------- Segement orbit values --------
-


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



If - Conditions
-



Then - Actions
-




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




-------- This value indicates how "segments" will orbit around the enchanted Target. --------
-




Set BAmr_SEGMENT_SPAWNED = 3
-




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




-------- This value indicates how far away the "segments" orbit away from the enchanted Target. --------
-




Set BAmr_SEGMENT_O_OFFSET = 60.00
-




-------- This value indicates how far away the segments spawn from the their target --------
-




Set BAmr_SEGMENT_OFFSET = 120.00
-




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




-------- This value indicates at what height the segment will be at in addition the the unit's flying height --------
-




Set BAmr_SEGMENT_HEIGHT = 65.00
-




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




-------- This value indicates how far apart the segements will spawn from, this is default to a 360 --------
-




Set BAmr_SEGMENT_ANGLE = 360.00
-




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




-------- This value indicates where the segments will be offset from --------
-




Set BAmr_SEGMENT_SPAWN = 1
-




-------- 1 (DEFAULT) Caster's Position --------
-




-------- 2 Target's Position --------
-




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




-------- This value indicates how fast the "segments" orbit around the enchanted Target. --------
-




Set BAmr_SEGMENT_O_SPEED = 1.00
-




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




-------- This value indicates how fast the "segments" intially move towards the enchanted Target. --------
-




Set BAmr_MISSILE_SPEED = 18.00
-
-



Else - Actions
-
-


-------- Segement orbit values --------
-


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


-------- Preload --------
-


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



If - Conditions
-



Then - Actions
-




Set BAmr_Point[1] = (Center of (Playable map area))
-




Unit - Create 1 Chicken for Neutral Passive at BAmr_Point[1] facing Default building facing degrees
-




Set BAmr_Target = (Last created unit)
-




Unit - Add BAmr_SPELL to BAmr_Target
-




Unit - Add a 0.03 second Generic expiration timer to BAmr_Target
-




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



Else - Actions
-
-


-------- Preload --------
-
-
Cast
-
BAmr Cast
-

Events
-


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

Conditions
-


(Ability being cast) Equal to BAmr_SPELL
-
-

Actions
-


Set BAmr_Caster = (Triggering unit)
-


Set BAmr_Target = (Target unit of ability being cast)
-


Set BAmr_Point[1] = (Position of BAmr_Caster)
-


Set BAmr_Point[2] = (Position of BAmr_Target)
-


Set BAmr_ATTRIBUTE[1] = ((Real((Strength of BAmr_Caster (Include bonuses)))) x BAmr_ATT_BONUS[1])
-


Set BAmr_ATTRIBUTE[2] = ((Real((Agility of BAmr_Caster (Include bonuses)))) x BAmr_ATT_BONUS[2])
-


Set BAmr_ATTRIBUTE[3] = ((Real((Intelligence of BAmr_Caster (Include bonuses)))) x BAmr_ATT_BONUS[3])
-


Set BAmr_Health = ((BAmr_BASE_HP + BAmr_LVL_HP_BONUS[(Level of BAmr_SPELL for BAmr_Caster)]) + (BAmr_ATTRIBUTE[1] + (BAmr_ATTRIBUTE[2] + BAmr_ATTRIBUTE[3])))
-


Set BAmr_Max = BAmr_Health
-


Set BAmr_Damage_Taken = 0.00
-


-------- Convert Values to Hashtable --------
-


Hashtable - Save BAmr_Health as (Key Health) of (Key (Target unit of ability being cast)) in BAmr_Hashtable
-


Hashtable - Save BAmr_Max as (Key Max) of (Key (Target unit of ability being cast)) in BAmr_Hashtable
-


Hashtable - Save BAmr_SEGMENT_SPAWNED as (Key S_Count) of (Key (Target unit of ability being cast)) in BAmr_Hashtable
-


Hashtable - Save BAmr_Damage_Taken as (Key Total) of (Key (Target unit of ability being cast)) in BAmr_Hashtable
-


For each (Integer BAmr_Loop) from 1 to BAmr_SEGMENT_SPAWNED, do (Actions)
-



Loop - Actions
-




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





If - Conditions
-






(Load (Key (state + (String(BAmr_Loop)))) of (Key (Target unit of ability being cast)) from BAmr_Hashtable) Not equal to Alive
-
-





Then - Actions
-






Set BAmr_Point[3] = (BAmr_Point[BAmr_SEGMENT_SPAWN] offset by BAmr_SEGMENT_OFFSET towards ((BAmr_SEGMENT_ANGLE / (Real(BAmr_SEGMENT_SPAWNED))) x (Real(BAmr_Loop))) degrees)
-






Special Effect - Create a special effect at BAmr_Point[3] using BAmr_EFFECTPATH[0]
-






Hashtable - Save Handle Of(Last created special effect) as (Key (Seg + (String(BAmr_Loop)))) of (Key (Target unit of ability being cast)) in BAmr_Hashtable
-






Hashtable - Save Alive as (Key (state + (String(BAmr_Loop)))) of (Key (Target unit of ability being cast)) in BAmr_Hashtable
-
-





Else - Actions
-






Set BAmr_Point[3] = (Point((Position - X of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Target unit of ability being cast)) in BAmr_Hashtable)), (Position - Y of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Target unit of ability being cast)) in BAmr_Hashtable))))
-
-
-




Special Effect - Create a special effect at BAmr_Point[3] using BAmr_EFFECTPATH[1]
-




Special Effect - Destroy (Last created special effect)
-




Custom script: call RemoveLocation(udg_BAmr_Point[3])
-
-
-


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


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


Unit Group - Add BAmr_Target to BAmr_GROUP
-


Set BAmr_Instances = (BAmr_Instances + 1)
-


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



If - Conditions
-




BAmr_Instances Equal to 1
-
-



Then - Actions
-




Trigger - Turn on BAmr Periodic <gen>
-




Trigger - Turn on BAmr Block <gen>
-
-



Else - Actions
-
-
-
Block
-
BAmr Periodic
-

Events
-

Conditions
-

Actions
-


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



Loop - Actions
-




Set BAmr_Picked_Unit = (Picked unit)
-




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





If - Conditions
-






(BAmr_Picked_Unit is alive) Equal to True
-






(BAmr_Picked_Unit has buff BAmr_BUFF) Equal to True
-
-





Then - Actions
-






For each (Integer BAmr_Loop) from 1 to BAmr_SEGMENT_SPAWNED, do (Actions)
-







Loop - Actions
-








Set BAmr_Point[1] = (Position of BAmr_Picked_Unit)
-








Set BAmr_Point[3] = (Point((Position - X of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable)), (Position - Y of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable))))
-








Custom script: set udg_BAmr_Spef_Current_Height = GetLocationZ(udg_BAmr_Point[1])
-








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









If - Conditions
-










(Distance between BAmr_Point[1] and BAmr_Point[3]) Less than (BAmr_SEGMENT_O_OFFSET + 15.00)
-
-









Then - Actions
-










Set BAmr_Current_Rot_Speed = (Load (Key Rotation Speed) of (Key (Picked unit)) from BAmr_Hashtable)
-










Set BAmr_Current_Rot_Speed = (BAmr_Current_Rot_Speed + BAmr_SEGMENT_O_SPEED)
-










Hashtable - Save BAmr_Current_Rot_Speed as (Key Rotation Speed) of (Key (Picked unit)) in BAmr_Hashtable
-










Set BAmr_Point[2] = (BAmr_Point[1] offset by BAmr_SEGMENT_O_OFFSET towards (((360.00 / (Real(BAmr_SEGMENT_SPAWNED))) x (Real(BAmr_Loop))) + BAmr_Current_Rot_Speed) degrees)
-










Special Effect - Set Position of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable) to x: (X of BAmr_Point[2]), y: (Y of BAmr_Point[2]), z: ((BAmr_Spef_Current_Height + BAmr_SEGMENT_HEIGHT) + (Current flying height of BAmr_Picked_Unit))
-










Special Effect - Set Roll of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable) to: (((Angle from BAmr_Point[3] to BAmr_Point[2]) x 3.14) / 180.00)
-
-









Else - Actions
-










Set BAmr_Point[2] = (BAmr_Point[3] offset by BAmr_MISSILE_SPEED towards (Angle from BAmr_Point[3] to BAmr_Point[1]) degrees)
-










Special Effect - Set Position of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable) to x: (X of BAmr_Point[2]), y: (Y of BAmr_Point[2]), z: ((BAmr_Spef_Current_Height + BAmr_SEGMENT_HEIGHT) + (Current flying height of BAmr_Picked_Unit))
-










Special Effect - Set Roll of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable) to: (((Angle from BAmr_Point[3] to BAmr_Point[2]) x 3.14) / 180.00)
-
-
-








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








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








Custom script: call RemoveLocation(udg_BAmr_Point[3])
-








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





Else - Actions
-






For each (Integer BAmr_Loop) from 1 to BAmr_SEGMENT_SPAWNED, do (Actions)
-







Loop - Actions
-








Hashtable - Save Dead as (Key (State + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable
-








Special Effect - Destroy (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable)
-








Set BAmr_Point[3] = (Point((Position - X of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable)), (Position - Y of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable))))
-








Special Effect - Create a special effect at BAmr_Point[3] using BAmr_EFFECTPATH[2]
-








Special Effect - Destroy (Last created special effect)
-








Custom script: call RemoveLocation(udg_BAmr_Point[3])
-
-
-






Unit Group - Remove BAmr_Picked_Unit from BAmr_GROUP
-






Set BAmr_Instances = (BAmr_Instances - 1)
-






Hashtable - Clear all child hashtables of child (Key (Picked unit)) in BAmr_Hashtable
-






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







If - Conditions
-








BAmr_Instances Less than 1
-
-







Then - Actions
-








Trigger - Turn off BAmr Periodic <gen>
-








Trigger - Turn off BAmr Block <gen>
-
-







Else - Actions
-
-






-------- --------
-
-
-
-
-
-
Periodic
-
BAmr Periodic
-

Events
-

Conditions
-

Actions
-


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



Loop - Actions
-




Set BAmr_Picked_Unit = (Picked unit)
-




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





If - Conditions
-






(BAmr_Picked_Unit is alive) Equal to True
-






(BAmr_Picked_Unit has buff BAmr_BUFF) Equal to True
-
-





Then - Actions
-






For each (Integer BAmr_Loop) from 1 to BAmr_SEGMENT_SPAWNED, do (Actions)
-







Loop - Actions
-








Set BAmr_Point[1] = (Position of BAmr_Picked_Unit)
-








Set BAmr_Point[3] = (Point((Position - X of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable)), (Position - Y of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable))))
-








Custom script: set udg_BAmr_Spef_Current_Height = GetLocationZ(udg_BAmr_Point[1])
-








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









If - Conditions
-










(Distance between BAmr_Point[1] and BAmr_Point[3]) Less than (BAmr_SEGMENT_O_OFFSET + 15.00)
-
-









Then - Actions
-










Set BAmr_Current_Rot_Speed = (Load (Key Rotation Speed) of (Key (Picked unit)) from BAmr_Hashtable)
-










Set BAmr_Current_Rot_Speed = (BAmr_Current_Rot_Speed + BAmr_SEGMENT_O_SPEED)
-










Hashtable - Save BAmr_Current_Rot_Speed as (Key Rotation Speed) of (Key (Picked unit)) in BAmr_Hashtable
-










Set BAmr_Point[2] = (BAmr_Point[1] offset by BAmr_SEGMENT_O_OFFSET towards (((360.00 / (Real(BAmr_SEGMENT_SPAWNED))) x (Real(BAmr_Loop))) + BAmr_Current_Rot_Speed) degrees)
-










Special Effect - Set Position of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable) to x: (X of BAmr_Point[2]), y: (Y of BAmr_Point[2]), z: ((BAmr_Spef_Current_Height + BAmr_SEGMENT_HEIGHT) + (Current flying height of BAmr_Picked_Unit))
-










Special Effect - Set Roll of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable) to: (((Angle from BAmr_Point[3] to BAmr_Point[2]) x 3.14) / 180.00)
-
-









Else - Actions
-










Set BAmr_Point[2] = (BAmr_Point[3] offset by BAmr_MISSILE_SPEED towards (Angle from BAmr_Point[3] to BAmr_Point[1]) degrees)
-










Special Effect - Set Position of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable) to x: (X of BAmr_Point[2]), y: (Y of BAmr_Point[2]), z: ((BAmr_Spef_Current_Height + BAmr_SEGMENT_HEIGHT) + (Current flying height of BAmr_Picked_Unit))
-










Special Effect - Set Roll of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable) to: (((Angle from BAmr_Point[3] to BAmr_Point[2]) x 3.14) / 180.00)
-
-
-








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








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








Custom script: call RemoveLocation(udg_BAmr_Point[3])
-








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





Else - Actions
-






For each (Integer BAmr_Loop) from 1 to BAmr_SEGMENT_SPAWNED, do (Actions)
-







Loop - Actions
-








Hashtable - Save Dead as (Key (State + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable
-








Special Effect - Destroy (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable)
-








Set BAmr_Point[3] = (Point((Position - X of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable)), (Position - Y of (Load (Key (Seg + (String(BAmr_Loop)))) of (Key (Picked unit)) in BAmr_Hashtable))))
-








Special Effect - Create a special effect at BAmr_Point[3] using BAmr_EFFECTPATH[2]
-








Special Effect - Destroy (Last created special effect)
-








Custom script: call RemoveLocation(udg_BAmr_Point[3])
-
-
-






Unit Group - Remove BAmr_Picked_Unit from BAmr_GROUP
-






Set BAmr_Instances = (BAmr_Instances - 1)
-






Hashtable - Clear all child hashtables of child (Key (Picked unit)) in BAmr_Hashtable
-






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







If - Conditions
-








BAmr_Instances Less than 1
-
-







Then - Actions
-








Trigger - Turn off BAmr Periodic <gen>
-








Trigger - Turn off BAmr Block <gen>
-
-







Else - Actions
-
-






-------- --------
-
-
-
-
-
-
Attachments
Last edited:
