• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Buff damage base on attribute

Status
Not open for further replies.
Level 24
Joined
Feb 9, 2009
Messages
1,787
If you catch the unit casting the ability you can modify majority of the numeric fields by changing them via triggers.

I'm away from my computer with an editor but it's under the ability category. If you are patient I can get back to you in 6 hours, otherwise someone like @Uncle can provide it.

Also would be nice to know what buff you have in mind.
https://www.hiveworkshop.com/thread...hero-attribute-as-damage.332336/#post-3482266
Scratch that I found a thread that should answer your question.
 
Last edited:
Level 2
Joined
Nov 11, 2019
Messages
19
Why i can't find "Ability - Set Ability"? I'm so confused.
My patch is 1.29
1625314216287.png
 
Level 24
Joined
Feb 9, 2009
Messages
1,787
Ah your game version might be an issue, that makes it much more tedious.

If your game version is out of date I would suggest using a damage detection system & a unit indexer to catch the casting unit and save it under the buffed targets.
But you will need to lurk and scour to find what damage detection system works for you.
Using something like Bribe's Damage Engine you can make a trigger like this
  • example cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Battle Roar
    • Actions
      • Set VariableSet BATTLEROAR_CASTER = (Triggering unit)
      • Set VariableSet Point[1] = (Position of (Triggering unit))
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units within 650.00 of Point[1].) and do (Actions)
        • Loop - Actions
          • Set VariableSet BATTLEROAR_KEY = (Custom value of (Picked unit))
          • Set VariableSet BATTLEROAR_ATT_BONUS[BATTLEROAR_KEY] = ((Real((Strength of BATTLEROAR_CASTER (Include bonuses)))) x 999.00)
      • Custom script: call RemoveLocation(udg_Point[1])
  • example attempt at attack while buffed
    • Events
      • Game - DamageModifierEvent becomes Equal to 1.00
    • Conditions
      • (DamageEventSource has buff Battle Roar) Equal to True
    • Actions
      • Set VariableSet BATTLEROAR_KEY = (Custom value of DamageEventSource)
      • Set VariableSet DamageEventAmount = (DamageEventAmount + BATTLEROAR_ATT_BONUS[BATTLEROAR_KEY])
 
Last edited:
Level 24
Joined
Feb 9, 2009
Messages
1,787
Because you require a damage detection system and a unit indexer.
Without them they are simply null variables with little use.

Download the map from the link above (or find one that matches your equivalent game version.) and fiddle with the triggers to learn more.
Without the fundamentals of variables and copying and pasting trigger structures into other maps you will come to a short journey I'm afraid.
 
Status
Not open for further replies.
Top