- Joined
- Apr 18, 2008
- Messages
- 8,440
A few days ago, Pippo has joined the LoTP(Leader of the Pack, link in my signature) team as a GUI coder. He was tasked with making a few spells for Hogger himself, but he has encountered a small problem - with the first cast of each spell, there is a slight lag. He did not want to make a thread himself for reasons unknown to me. The triggers are positioned inside a map file that is the first chapter, concluding the prelude, of a campaign file(LoTP).
Please note that the spell descriptions are NOT up-to-date.
If you need any more information about whatever you need to help us, please let me know.
Furious Howl: Hogger howls with such fury that enemies who hear the howl are being struck with great fear, damaging their fighting capabilities - decreasing their armor by X and causing them to miss Y% of their attacks for Z seconds.
Rage(Passive): Hogger gains X% attack speed for every enemy he kills for Y seconds. Stacks Z times.
Swift Strike: Hogger uses his swiftness to quickly strike an enemy unit, dealing damage equal to X% of Hogger's agility to the enemy.
-
Furious Howl
-
Events
- Unit - A unit Starts the effect of an ability
- Conditions
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Ability being cast) Equal to Furious Howl
-
Then - Actions
- Set FH_Caster = (Triggering unit)
- Set FH_Position = (Position of FH_Caster)
- Set FH_Item[1] = FH Item 1
- Set FH_Item[2] = FH Item 2
- Set FH_Item[3] = FH Item 3
- Set FH_Group = (Units within 500.00 of FH_Position matching ((((Matching unit) belongs to an enemy of (Owner of FH_Caster)) Equal to True) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) is A structure) Equal to False))))
- Custom script: call RemoveLocation(udg_FH_Position)
-
Unit Group - Pick every unit in FH_Group and do (Actions)
-
Loop - Actions
- Set FH_Position = (Position of (Picked unit))
- Unit - Create 1 Dummy Caster for (Owner of FH_Caster) at FH_Position facing Default building facing degrees
- Item - Create FH_Item[(Level of Furious Howl for FH_Caster)] at FH_Position
- Hero - Give (Last created item) to (Last created unit)
- Hero - Order (Last created unit) to use (Last created item)
- Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
- Custom script: call RemoveLocation(udg_FH_Position)
- Set FH_Position = (Position of (Picked unit))
- Unit - Create 1 Dummy Caster for (Owner of FH_Caster) at FH_Position facing Default building facing degrees
- Unit - Add Furious Howl Miss Dummy to (Last created unit)
- Unit - Set level of Furious Howl Miss Dummy for (Last created unit) to (Level of Furious Howl for FH_Caster)
- Unit - Order (Last created unit) to Undead Banshee - Curse (Picked unit)
- Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
- Custom script: call RemoveLocation(udg_FH_Position)
-
Loop - Actions
- Custom script: call DestroyGroup(udg_FH_Group)
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
Rage(Passive): Hogger gains X% attack speed for every enemy he kills for Y seconds. Stacks Z times.
-
Rage
-
Events
- Unit - A unit Dies
- Conditions
-
Actions
- Set R_Caster = (Killing unit)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Level of Rage for R_Caster) Greater than 0
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Killing unit) has buff Rage ) Equal to False
-
Then - Actions
- Set R_Point = (Position of R_Caster)
- Set R_Number[(Key (Killing unit))] = (Level of Rage for R_Caster)
- Unit - Create 1 Dummy Caster for (Owner of R_Caster) at R_Point facing Default building facing degrees
- Custom script: call RemoveLocation(udg_R_Point)
- Unit - Add Rage Dummy to (Last created unit)
- Unit - Set level of Rage Dummy for (Last created unit) to R_Number[(Key (Killing unit))]
- Unit - Order (Last created unit) to Orc Shaman - Bloodlust R_Caster
- Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
-
Else - Actions
- Set R_Caster = (Killing unit)
- Set R_Point = (Position of R_Caster)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- R_Number[(Key (Killing unit))] Less than or equal to ((Level of FH ability lvl1 for (Killing unit)) x 50)
-
Then - Actions
- Set R_Number[(Key (Killing unit))] = (R_Number[(Key (Killing unit))] + (1 x (Level of FH ability lvl1 for R_Caster)))
- Unit - Create 1 Dummy Caster for (Owner of R_Caster) at R_Point facing Default building facing degrees
- Unit - Add Rage Dummy to (Last created unit)
- Unit - Set level of Rage Dummy for (Last created unit) to R_Number[(Key (Killing unit))]
- Unit - Order (Last created unit) to Orc Shaman - Bloodlust R_Caster
- Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
- Custom script: call RemoveLocation(udg_R_Point)
-
Else - Actions
- Custom script: call RemoveLocation(udg_R_Point)
-
If - Conditions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Else - Actions
-
If - Conditions
-
Events
Swift Strike: Hogger uses his swiftness to quickly strike an enemy unit, dealing damage equal to X% of Hogger's agility to the enemy.
-
Swift Strike
-
Events
- Unit - A unit Starts the effect of an ability
- Conditions
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Ability being cast) Equal to Swift Strike
-
Then - Actions
- Set SS_Caster = (Triggering unit)
- Set SS_Target = (Target unit of ability being cast)
- Special Effect - Create a special effect attached to the hand left of SS_Caster using Abilities\Spells\Undead\OrbOfDeath\AnnihilationMissile.mdl
- Special Effect - Destroy (Last created special effect)
- Special Effect - Create a special effect attached to the hand right of SS_Caster using Abilities\Spells\Undead\OrbOfDeath\AnnihilationMissile.mdl
- Special Effect - Destroy (Last created special effect)
- Unit - Cause SS_Caster to damage SS_Target, dealing (0.50 x ((Real((Level of Swift Strike for SS_Caster))) x (Real((Agility of SS_Caster (Include bonuses)))))) damage of attack type Spells and damage type Normal
- Unit - Cause SS_Caster to damage SS_Target, dealing (50.00 x ((Real((Level of Swift Strike for SS_Caster))) + 0.00)) damage of attack type Spells and damage type Normal
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
Please note that the spell descriptions are NOT up-to-date.
If you need any more information about whatever you need to help us, please let me know.