• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

LoTP needs help!

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