• 🏆 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!

[Trigger] Enraged ability

Level 23
Joined
Sep 7, 2018
Messages
451
Hi friends I have request, can anyone make a passive MUI spell like Misha's Enraged in gui system with these details.
Level 1: gain 3% attack speed by 5% health lose.
Level 2: gain 4% attack speed by 5% health lose.
Level 3: gain 5% attack speed by 5% health lose.
It loses attack speed by restoring health.
 
Last edited:

Uncle

Warcraft Moderator
Level 65
Joined
Aug 10, 2018
Messages
6,647
In case you want to save time, this is Huskar's Berserker's Blood from DotA, which has been made in some shape or form several times already:
 
  • EnrageConfig
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set Enrage__Ability = Enrage
      • Set Enrage__AbilityATKSPD = Enrage (Attack Speed)
      • -------- Attack speed increase for each 1% of missing health --------
      • -------- The description may say 5%, but the actual calculation is done at every 1% --------
      • Set Enrage__ATKSPDBonus[1] = 0.60
      • Set Enrage__ATKSPDBonus[2] = 0.80
      • Set Enrage__ATKSPDBonus[3] = 1.00
      • -------- Maximum attack speed increase --------
      • -------- Absolute limit is capped at 400% by Warcraft III --------
      • Set Enrage__MaxATKSPDBonus[1] = 100.00
      • Set Enrage__MaxATKSPDBonus[2] = 100.00
      • Set Enrage__MaxATKSPDBonus[3] = 100.00
      • -------- SFX --------
      • Set Enrage__SFX = Abilities\Spells\NightElf\BattleRoar\RoarCaster.mdl
      • Set Enrage__SFXAttachPoint = origin
      • -------- Debug Mode --------
      • -------- Set to FALSE on Public Maps --------
      • Set Enrage__DebugMode = True
  • EnrageOnDamage
    • Events
      • Game - OnDamageEvent becomes Equal to 1.00
    • Conditions
      • (Level of Enrage__Ability for DamageEventSource) Greater than 0
    • Actions
      • Special Effect - Create a special effect attached to the Enrage__SFXAttachPoint of DamageEventSource using Enrage__SFX
      • Special Effect - Destroy (Last created special effect)
      • Set Enrage_Level = (Level of Enrage__Ability for DamageEventSource)
      • Set Enrage_MissingHPPercent = (100.00 - (Percentage life of DamageEventSource))
      • Set Enrage_SPDFactor = (Enrage__ATKSPDBonus[Enrage_Level] x Enrage_MissingHPPercent)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Enrage_SPDFactor Greater than Enrage__MaxATKSPDBonus[Enrage_Level]
        • Then - Actions
          • Set Enrage_SPDFactor = Enrage__MaxATKSPDBonus[Enrage_Level]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Enrage__DebugMode Equal to True
        • Then - Actions
          • Game - Display to (All players) the text: (Speed Increase Percent: + (String(Enrage_SPDFactor)))
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Enrage__AbilityATKSPD for DamageEventSource) Equal to 0
        • Then - Actions
          • Unit - Add Enrage__AbilityATKSPD to DamageEventSource
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Enrage__DebugMode Equal to True
            • Then - Actions
              • Game - Display to (All players) the text: ATK SPD ability add...
            • Else - Actions
        • Else - Actions
      • -------- Divide by 100 to find the actual multiplier used by Attack Speed ability --------
      • Set Enrage_SPDFactor = (Enrage_SPDFactor / 100.00)
      • Ability - Set Ability: (Unit: DamageEventSource's Ability with Ability Code: Enrage__AbilityATKSPD)'s Real Level Field: Attack Speed Increase ('Isx1') of Level: 0 to Enrage_SPDFactor
      • Unit - Increase level of Enrage__AbilityATKSPD for DamageEventSource
      • Unit - Decrease level of Enrage__AbilityATKSPD for DamageEventSource
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Enrage__DebugMode Equal to True
        • Then - Actions
          • Game - Display to (All players) the text: (Final Speed Increase: + (String(Enrage_SPDFactor)))
        • Else - Actions
 
Level 23
Joined
Sep 7, 2018
Messages
451
  • EnrageConfig
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set Enrage__Ability = Enrage
      • Set Enrage__AbilityATKSPD = Enrage (Attack Speed)
      • -------- Attack speed increase for each 1% of missing health --------
      • -------- The description may say 5%, but the actual calculation is done at every 1% --------
      • Set Enrage__ATKSPDBonus[1] = 0.60
      • Set Enrage__ATKSPDBonus[2] = 0.80
      • Set Enrage__ATKSPDBonus[3] = 1.00
      • -------- Maximum attack speed increase --------
      • -------- Absolute limit is capped at 400% by Warcraft III --------
      • Set Enrage__MaxATKSPDBonus[1] = 100.00
      • Set Enrage__MaxATKSPDBonus[2] = 100.00
      • Set Enrage__MaxATKSPDBonus[3] = 100.00
      • -------- SFX --------
      • Set Enrage__SFX = Abilities\Spells\NightElf\BattleRoar\RoarCaster.mdl
      • Set Enrage__SFXAttachPoint = origin
      • -------- Debug Mode --------
      • -------- Set to FALSE on Public Maps --------
      • Set Enrage__DebugMode = True
  • EnrageOnDamage
    • Events
      • Game - OnDamageEvent becomes Equal to 1.00
    • Conditions
      • (Level of Enrage__Ability for DamageEventSource) Greater than 0
    • Actions
      • Special Effect - Create a special effect attached to the Enrage__SFXAttachPoint of DamageEventSource using Enrage__SFX
      • Special Effect - Destroy (Last created special effect)
      • Set Enrage_Level = (Level of Enrage__Ability for DamageEventSource)
      • Set Enrage_MissingHPPercent = (100.00 - (Percentage life of DamageEventSource))
      • Set Enrage_SPDFactor = (Enrage__ATKSPDBonus[Enrage_Level] x Enrage_MissingHPPercent)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Enrage_SPDFactor Greater than Enrage__MaxATKSPDBonus[Enrage_Level]
        • Then - Actions
          • Set Enrage_SPDFactor = Enrage__MaxATKSPDBonus[Enrage_Level]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Enrage__DebugMode Equal to True
        • Then - Actions
          • Game - Display to (All players) the text: (Speed Increase Percent: + (String(Enrage_SPDFactor)))
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Enrage__AbilityATKSPD for DamageEventSource) Equal to 0
        • Then - Actions
          • Unit - Add Enrage__AbilityATKSPD to DamageEventSource
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Enrage__DebugMode Equal to True
            • Then - Actions
              • Game - Display to (All players) the text: ATK SPD ability add...
            • Else - Actions
        • Else - Actions
      • -------- Divide by 100 to find the actual multiplier used by Attack Speed ability --------
      • Set Enrage_SPDFactor = (Enrage_SPDFactor / 100.00)
      • Ability - Set Ability: (Unit: DamageEventSource's Ability with Ability Code: Enrage__AbilityATKSPD)'s Real Level Field: Attack Speed Increase ('Isx1') of Level: 0 to Enrage_SPDFactor
      • Unit - Increase level of Enrage__AbilityATKSPD for DamageEventSource
      • Unit - Decrease level of Enrage__AbilityATKSPD for DamageEventSource
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Enrage__DebugMode Equal to True
        • Then - Actions
          • Game - Display to (All players) the text: (Final Speed Increase: + (String(Enrage_SPDFactor)))
        • Else - Actions
Thanks.
 
Level 23
Joined
Sep 7, 2018
Messages
451
  • EnrageConfig
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set Enrage__Ability = Enrage
      • Set Enrage__AbilityATKSPD = Enrage (Attack Speed)
      • -------- Attack speed increase for each 1% of missing health --------
      • -------- The description may say 5%, but the actual calculation is done at every 1% --------
      • Set Enrage__ATKSPDBonus[1] = 0.60
      • Set Enrage__ATKSPDBonus[2] = 0.80
      • Set Enrage__ATKSPDBonus[3] = 1.00
      • -------- Maximum attack speed increase --------
      • -------- Absolute limit is capped at 400% by Warcraft III --------
      • Set Enrage__MaxATKSPDBonus[1] = 100.00
      • Set Enrage__MaxATKSPDBonus[2] = 100.00
      • Set Enrage__MaxATKSPDBonus[3] = 100.00
      • -------- SFX --------
      • Set Enrage__SFX = Abilities\Spells\NightElf\BattleRoar\RoarCaster.mdl
      • Set Enrage__SFXAttachPoint = origin
      • -------- Debug Mode --------
      • -------- Set to FALSE on Public Maps --------
      • Set Enrage__DebugMode = True
  • EnrageOnDamage
    • Events
      • Game - OnDamageEvent becomes Equal to 1.00
    • Conditions
      • (Level of Enrage__Ability for DamageEventSource) Greater than 0
    • Actions
      • Special Effect - Create a special effect attached to the Enrage__SFXAttachPoint of DamageEventSource using Enrage__SFX
      • Special Effect - Destroy (Last created special effect)
      • Set Enrage_Level = (Level of Enrage__Ability for DamageEventSource)
      • Set Enrage_MissingHPPercent = (100.00 - (Percentage life of DamageEventSource))
      • Set Enrage_SPDFactor = (Enrage__ATKSPDBonus[Enrage_Level] x Enrage_MissingHPPercent)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Enrage_SPDFactor Greater than Enrage__MaxATKSPDBonus[Enrage_Level]
        • Then - Actions
          • Set Enrage_SPDFactor = Enrage__MaxATKSPDBonus[Enrage_Level]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Enrage__DebugMode Equal to True
        • Then - Actions
          • Game - Display to (All players) the text: (Speed Increase Percent: + (String(Enrage_SPDFactor)))
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Enrage__AbilityATKSPD for DamageEventSource) Equal to 0
        • Then - Actions
          • Unit - Add Enrage__AbilityATKSPD to DamageEventSource
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Enrage__DebugMode Equal to True
            • Then - Actions
              • Game - Display to (All players) the text: ATK SPD ability add...
            • Else - Actions
        • Else - Actions
      • -------- Divide by 100 to find the actual multiplier used by Attack Speed ability --------
      • Set Enrage_SPDFactor = (Enrage_SPDFactor / 100.00)
      • Ability - Set Ability: (Unit: DamageEventSource's Ability with Ability Code: Enrage__AbilityATKSPD)'s Real Level Field: Attack Speed Increase ('Isx1') of Level: 0 to Enrage_SPDFactor
      • Unit - Increase level of Enrage__AbilityATKSPD for DamageEventSource
      • Unit - Decrease level of Enrage__AbilityATKSPD for DamageEventSource
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Enrage__DebugMode Equal to True
        • Then - Actions
          • Game - Display to (All players) the text: (Final Speed Increase: + (String(Enrage_SPDFactor)))
        • Else - Actions
Sorry also can you send variables too.
 
Sorry also can you send variables too.
Here. IIRC, Ability Code is Ability in patches below 1.31.


Do note if you try to copy this below 1.31, this line is unlikely to exist in the editor:
  • Ability - Set Ability: (Unit: DamageEventSource's Ability with Ability Code: Enrage__AbilityATKSPD)'s Real Level Field: Attack Speed Increase ('Isx1') of Level: 0 to Enrage_SPDFactor
 

Attachments

  • Capture.JPG
    Capture.JPG
    23.5 KB · Views: 2
Level 23
Joined
Sep 7, 2018
Messages
451
Here. IIRC, Ability Code is Ability in patches below 1.31.


Do note if you try to copy this below 1.31, this line is unlikely to exist in the editor:
  • Ability - Set Ability: (Unit: DamageEventSource's Ability with Ability Code: Enrage__AbilityATKSPD)'s Real Level Field: Attack Speed Increase ('Isx1') of Level: 0 to Enrage_SPDFactor
Thanks again.
 
Top