• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a faction for Warcraft 3 and enter Hive's 19th Techtree Contest: Co-Op Commanders! Click here to enter!
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 21st Texturing Contest: Upgrade is now concluded, time to vote for your favourite set of icons! Click here to vote!

LoTP needs help!

Status
Not open for further replies.
Level 49
Joined
Apr 18, 2008
Messages
8,453
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).

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.

  • 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)
          • Custom script: call DestroyGroup(udg_FH_Group)
        • Else - Actions

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)
        • Else - Actions

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

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.
 
Status
Not open for further replies.
Top