- Joined
- Feb 9, 2009
- Messages
- 1,800
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: