• 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.

[Spell] Make Custom Hero Ability With Trigger

Status
Not open for further replies.
Level 5
Joined
Apr 25, 2023
Messages
34
I Try Hard for Make This Ability Automatic and Passive like Hero "Axe" in Dota
But I Can't Find Something like That...
Hope you Guys Help Me



Shot 0002.png
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,877
Axe's Counter Helix isn't a passive version of Bladestorm. It's an entirely unique custom ability that's done using triggers. The only thing that it has related to Bladestorm is the Icon and the Animation that gets played, both of which can be used freely in anything you want.

Here's an MUI version based on Axe from DotA 2. The attached map requires the latest patch to open and requires that you have a Unit Indexer imported into your map. You can copy the one from my map, however, you should only have ONE Unit Indexer system in your map at all times. These systems should all basically do the same thing so pick the one you like and stick with it.

Here are the triggers:
  • Counter Helix Learn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Counter Helix
    • Actions
      • Set VariableSet CounterHelix_Hero = (Triggering unit)
      • Set VariableSet CounterHelix_CV = (Custom value of CounterHelix_Hero)
      • -------- --------
      • -------- Set damage/proc chance based on ability level: --------
      • -------- --------
      • -------- 60/100/140/180 damage: --------
      • Set VariableSet CounterHelix_Damage[CounterHelix_CV] = (20.00 + (40.00 x (Real((Learned skill level)))))
      • -------- --------
      • -------- 17/18/19/20% proc chance: --------
      • Set VariableSet CounterHelix_ProcChance[CounterHelix_CV] = (16 + (1 x (Learned skill level)))
      • -------- --------
      • Trigger - Turn on Counter Helix Proc <gen>
  • Counter Helix Proc
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • (Level of Counter Helix for (Triggering unit)) Greater than 0
      • CounterHelix_Cooldown[(Custom value of (Triggering unit))] Equal to False
    • Actions
      • Set VariableSet CounterHelix_Hero = (Triggering unit)
      • Set VariableSet CounterHelix_CV = (Custom value of CounterHelix_Hero)
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random integer number between 1 and 100) Less than or equal to CounterHelix_ProcChance[CounterHelix_CV]
        • Then - Actions
          • -------- Play the spin animation (may not work if animation gets interrupted): --------
          • Animation - Play CounterHelix_Hero's spin animation
          • Animation - Queue CounterHelix_Hero's stand animation
          • -------- --------
          • -------- Put the ability on cooldown: --------
          • Set VariableSet CounterHelix_Cooldown[CounterHelix_CV] = True
          • Trigger - Run Counter Helix Cooldown <gen> (ignoring conditions)
          • -------- --------
          • Set VariableSet CounterHelix_Point = (Position of CounterHelix_Hero)
          • Set VariableSet CounterHelix_Group = (Units within 300.00 of CounterHelix_Point.)
          • -------- --------
          • -------- Deal damage to nearby enemies: --------
          • Unit Group - Pick every unit in CounterHelix_Group and do (Actions)
            • Loop - Actions
              • Set VariableSet CounterHelix_Target = (Picked unit)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (CounterHelix_Target belongs to an enemy of (Owner of CounterHelix_Hero).) Equal to True
                  • (CounterHelix_Target is alive) Equal to True
                  • (CounterHelix_Target is A structure) Equal to False
                  • (CounterHelix_Target is invulnerable) Equal to False
                • Then - Actions
                  • Special Effect - Create a special effect attached to the chest of CounterHelix_Target using Abilities\Weapons\HydraliskImpact\HydraliskImpact.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Cause CounterHelix_Hero to damage CounterHelix_Target, dealing CounterHelix_Damage[CounterHelix_CV] damage of attack type Spells and damage type Universal
                • Else - Actions
          • -------- --------
          • Custom script: call RemoveLocation(udg_CounterHelix_Point)
          • Custom script: call DestroyGroup(udg_CounterHelix_Group)
        • Else - Actions
  • Counter Helix Cooldown
    • Events
    • Conditions
    • Actions
      • -------- This trigger runs separate from Counter Helix Proc to manage the cooldown of the ability: --------
      • Custom script: local integer cv = udg_CounterHelix_CV
      • Wait 0.30 game-time seconds
      • Custom script: set udg_CounterHelix_Cooldown[cv] = false
 

Attachments

  • Counter Helix 1.w3m
    24.4 KB · Views: 10
Last edited:

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,877
No problem, here are the variables:

CounterHelix_Hero = Unit
CounterHelix_Target = Unit
CounterHelix_CV = Integer
CounterHelix_Point = Point
CounterHelix_Group = Unit Group

CounterHelix_Damage = Real (array)
CounterHelix_ProcChance = Integer (array)
CounterHelix_Cooldown = Boolean (array)

You want to set the Counter Helix Proc trigger to Initially OFF (checkbox next to Enabled).

The ability is based on Storm Hammers.

Here's where you can adjust the Area of Effect:
  • Set VariableSet CounterHelix_Group = (Units within 300.00 of CounterHelix_Point.)
Here's where you can adjust the Cooldown duration:
  • Wait 0.30 game-time seconds
You'll need a Unit Indexer system that's compatible with your version. Just about any that you find on Hiveworkshop should work.
 
Level 5
Joined
Apr 25, 2023
Messages
34
There is a problem > I Set all Variables , Triggers , and CounterHelix (dumb) ability
But ...

Shot 0004.png
Shot 0005.png


Action :
Unit - Cause CounterHelix_Hero to damage CounterHelix_Target, dealing CounterHelix_Damage[CounterHelix_CV] damage of attack type Spells and damage type Universal
Is not Exist in Game With Version 1.31

Trigger not working :(
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,877
It definitely exists. 1.31 should have just about every native that 1.35 has.

2.png
1.png


Also, if you only have one single unit in your map that can use this ability then the triggers become A LOT more simple. The arrays and unit indexer were added to make it work with any number of units.

I'd recommend in the future to let people know exactly what you want, it can save others trouble when coming up with a solution. The more simple your map is the more simple the solution will be. Also, provide which version you're on.

"Hello, I'm on version 1.31 and need to make X spell for a single hero in my map. It does not need to be MUI/MPI."

No worries though! I enjoyed making it :p
 
Last edited:
Level 5
Joined
Apr 25, 2023
Messages
34
It definitely exists. 1.31 should have just about every native that 1.35 has.
View attachment 432263View attachment 432262
Also, if you only have one single unit in your map that can use this ability then the triggers become A LOT more simple. The arrays and unit indexer stuff was added to make it work with any number of units using this ability.
You Are the Best...
I hate my self .. i found it and set this action

Did i need set CounterHelix_Hero Value to Axe?
 
Level 5
Joined
Apr 25, 2023
Messages
34
  • CounterHelix Learn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Counter Helix
    • Actions
      • Set CounterHelix_Hero = (Triggering unit)
      • Set CounterHelix_CV = (Custom value of CounterHelix_Hero)
      • -------- --------
      • -------- Set damage/proc chance based on ability level: --------
      • -------- --------
      • -------- 60/100/140/180 damage: --------
      • Set CounterHelix_Damage[CounterHelix_CV] = (20.00 + (40.00 x (Real((Learned skill level)))))
      • -------- --------
      • -------- 17/18/19/20% proc chance: --------
      • Set CounterHelix_PorcChance[CounterHelix_CV] = (16 + (1 x (Learned skill level)))
      • -------- --------
      • Trigger - Turn on CounterHelix Porc <gen>
  • CounterHelix Porc
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • (Level of Counter Helix for (Triggering unit)) Greater than 0
      • CounterHelix_Cooldown[(Custom value of (Triggering unit))] Equal to False
    • Actions
      • Set CounterHelix_Hero = (Triggering unit)
      • Set CounterHelix_CV = (Custom value of CounterHelix_Hero)
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random integer number between 1 and 100) Less than or equal to CounterHelix_CV
        • Then - Actions
          • Animation - Play CounterHelix_Hero's Attack Walk Stand Spain animation
          • Animation - Queue CounterHelix_Hero's Attack Slam animation
          • -------- --------
          • -------- Put the ability on cooldown: --------
          • Set CounterHelix_Cooldown[CounterHelix_CV] = True
          • Trigger - Run CounterHelix Cooldown <gen> (ignoring conditions)
          • -------- --------
          • Set CounterHelix_Point = (Position of CounterHelix_Hero)
          • Set CounterHelix_Group = (Units within 300.00 of CounterHelix_Point)
          • -------- --------
          • -------- Deal damage to nearby enemis: --------
          • Unit Group - Pick every unit in CounterHelix_Group and do (Actions)
            • Loop - Actions
              • Set CounterHelix_Target = (Picked unit)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (CounterHelix_Target belongs to an enemy of (Owner of CounterHelix_Hero)) Equal to True
                  • (CounterHelix_Target is alive) Equal to True
                  • (CounterHelix_Target is A structure) Equal to False
                  • (CounterHelix_Target is invulnerable) Equal to False
                • Then - Actions
                  • Special Effect - Create a special effect attached to the chest of CounterHelix_Target using Abilities\Weapons\HydraliskImpact\HydraliskImpact.md
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Cause CounterHelix_Hero to damage CounterHelix_Target, dealing CounterHelix_Damage[CounterHelix_CV] damage of attack type Spells and damage type Universal
                • Else - Actions
                  • Custom script: call RemoveLocation(udg_CounterHelix_Point)
                  • Custom script: call DestroyGroup(udg_CounterHelix_Group)
        • Else - Actions
          • Do nothing
  • CounterHelix Cooldown
    • Events
    • Conditions
    • Actions
      • Custom script: local integer cv = udg_CounterHelix_CV
      • Wait 0.30 seconds
      • Custom script: set udg_CounterHelix_Cooldown[cv] = false
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,877
These are in the wrong spot. They're supposed to happen after the Pick Every Unit action:
  • Custom script: call RemoveLocation(udg_CounterHelix_Point)
  • Custom script: call DestroyGroup(udg_CounterHelix_Group)
Delete this, it's useless:
  • Do nothing
Your Animation Names look wrong. Attack Walk Stand Spain? spin should work for all of the Blademaster heroes. Also, I queue the stand animation so that the unit returns to normal after it's done spinning, assuming it's idle.

Make sure Counter Helix Proc is initially OFF:
a.png


But other than that it looks like it should work. Are you sure that you're learning the skill properly and that you have a Unit Indexer system in your map?
You can add Text Messages to the triggers to see if they're running or not and try to debug it.
 
Last edited:
Level 5
Joined
Apr 25, 2023
Messages
34
These are in the wrong spot. They're supposed to happen after the Pick Every Unit action:
  • Custom script: call RemoveLocation(udg_CounterHelix_Point)
  • Custom script: call DestroyGroup(udg_CounterHelix_Group)
Delete this, it's useless:
  • Do nothing
Your Animation Names look wrong. Attack Walk Stand Spain? spin should work for all of the Blademaster heroes. Also, I queue the stand animation so that the unit returns to normal after it's done spinning, assuming it's idle.

But other than that it looks like it should work. Are you sure that you're learning the skill properly and that you have a Unit Indexer system in your map?
You can add Text Messages to the triggers to see if they're running or not and try to debug it.
Here is a test map for check the problem
if possible check it please
thank you
 

Attachments

  • CounterHelix.w3x
    40.1 KB · Views: 3

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,877
Oh, found another issue, this one was the major problem but you still need to fix everything else:
  • (Random integer number between 1 and 100) Less than or equal to CounterHelix_CV
That should be using the proc chance:
  • (Random integer number between 1 and 100) Less than or equal to CounterHelix_PorcChance[CounterHelix_CV]
 
Level 5
Joined
Apr 25, 2023
Messages
34
Oh, found another issue, this one was the major problem but you still need to fix everything else:
  • (Random integer number between 1 and 100) Less than or equal to CounterHelix_CV
That should be using the proc chance:
  • (Random integer number between 1 and 100) Less than or equal to CounterHelix_PorcChance[CounterHelix_CV]
this is the problem
Well Done And Thank you
👌
 
Level 5
Joined
Apr 25, 2023
Messages
34
You can DM me if you want.
Hi Uncle
Here , I Finish the CounterHelix and Fix Issues ,
How does it look ?
Shot 0006.png
Shot 0007.png



And i look for new Ability
look like this

Shot 0008.png
Shot 0009.png

and Here is Triggers i try to write
  • Ability Incinerate Learn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Incinerate [ Axe ]
    • Actions
      • Set AbilityIncinerate_Hero = (Triggering unit)
      • Set AbilityIncinerate_CV = (Custom value of AbilityIncinerate_Hero)
      • Set AbilityIncinerate_Damage[AbilityIncinerate_CV] = (25.00 x (Real((Learned skill level))))
      • Trigger - Run Ability Incinerate Target <gen> (ignoring conditions)
  • Ability Incinerate Target
    • Events
      • Unit - A unit Begins channeling an ability
    • Conditions
      • (Ability being cast) Equal to Incinerate [ Axe ]
    • Actions
      • Set AbilityIncinerate_Target = (Targeted unit)
  • Ability Incinerate Damage
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • (Triggering unit) Equal to AbilityIncinerate_Target
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Targeted unit) is A Hero) Equal to True
        • Then - Actions
        • Else - Actions
This dumb ability have cooldown - target range - select target
so what you think about it?
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,877
I see a few mistakes. I'm going to show you what you're doing now and then the FIX below it:
  • Trigger - Run Ability Incinerate Target <gen> (ignoring conditions)
  • FIX:
  • Trigger - Turn on Ability Incinerate Target <gen>
  • Unit - A unit Begins channeling an ability
  • FIX:
  • Unit - A unit Starts the effect of an ability
  • Set AbilityIncinerate_Target = (Targeted unit)
  • FIX:
  • Set AbilityIncinerate_Target = (Target unit of ability being cast)
  • ((Targeted unit) is A Hero) Equal to True
  • FIX:
  • ((Attacked unit) is A Hero) Equal to True
  • OR
  • ((Attacking unit) is A Hero) Equal to True
I don't exactly know what you're trying to do here though.

If you want Axe's Battle Hunger ability then I can show you how to do that. The old DotA 1 Battle Hunger was simple, it deals damage per second for X seconds OR until the enemy kills another unit. The new one in DotA 2 also Slows movement speed and gives Axe bonus movement speed which stacks. This one is a bit more complicated.

If you want a simple damage over time ability then I can show you how to do that as well.
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,877
Here's the really simple Battle Hunger from DotA 1. It does damage per second for 15.00 seconds OR until the enemy kills another unit:
  • Battle Hunger Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Battle Hunger (Axe)
    • Actions
      • Set BattleHunger_Hero = (Triggering unit)
      • Set BattleHunger_Target = (Target unit of ability being cast)
      • Set BattleHunger_CV = (Custom value of BattleHunger_Target)
      • -------- --------
      • Set BattleHunger_Damage = (25.00 x (Real((Level of (Ability being cast) for BattleHunger_Hero))))
      • Set BattleHunger_Duration[BattleHunger_CV] = 15.00
      • -------- --------
      • Unit Group - Add BattleHunger_Target to BattleHunger_UnitGroup
      • -------- --------
      • Countdown Timer - Start BattleHunger_Timer as a Repeating timer that will expire in 1.00 seconds
      • Trigger - Turn on Battle Hunger Kill <gen>
  • Battle Hunger Damage
    • Events
      • Time - BattleHunger_Timer expires
    • Conditions
    • Actions
      • Unit Group - Pick every unit in BattleHunger_UnitGroup and do (Actions)
        • Loop - Actions
          • Set BattleHunger_Target = (Picked unit)
          • Set BattleHunger_CV = (Custom value of BattleHunger_Target)
          • -------- --------
          • Unit - Cause BattleHunger_Hero to damage BattleHunger_Target, dealing BattleHunger_Damage damage of attack type Spells and damage type Normal
          • -------- --------
          • Set BattleHunger_Duration[BattleHunger_CV] = (BattleHunger_Duration[BattleHunger_CV] - 1.00)
          • -------- --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Or - Any (Conditions) are true
                • Conditions
                  • (BattleHunger_Target is alive) Equal to False
                  • BattleHunger_Duration[BattleHunger_CV] Less than or equal to 0.01
            • Then - Actions
              • Unit Group - Remove BattleHunger_Target from BattleHunger_UnitGroup.
              • -------- --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Number of units in BattleHunger_UnitGroup) Equal to 0
                • Then - Actions
                  • Trigger - Turn off Battle Hunger Kill <gen>
                  • Countdown Timer - Pause BattleHunger_Timer
                • Else - Actions
            • Else - Actions
  • Battle Hunger Kill
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Killing unit) is in BattleHunger_Group.) Equal to True
    • Actions
      • Unit Group - Remove (Killing unit) from BattleHunger_UnitGroup.
The Battle Hunger Kill trigger should be Initially OFF.
This spell NEEDS a Unit Indexer in your map to work!
The type of variable is in the variable's name!
This is NOT going to work for more than one Axe. It also has some other minor issues but I don't think they matter much.
 
Last edited:
Level 5
Joined
Apr 25, 2023
Messages
34
Finally triggers:
  • Ability Incinerate Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Incinerate [ Axe ]
    • Actions
      • Set AbilityIncinerate_Hero = (Triggering unit)
      • Set AbilityIncinerate_Target = (Target unit of ability being cast)
      • Set AbilityIncinerate_CV = (Custom value of AbilityIncinerate_Hero)
      • Set AbilityIncinerate_Damage[AbilityIncinerate_CV] = (25.00 x (Real((Level of (Ability being cast) for AbilityIncinerate_Hero))))
      • Unit Group - Add AbilityIncinerate_Target to AbilityIncinerate_Group
      • Countdown Timer - Start AbilityIncinerate_Timer as a Repeating timer that will expire in 1.00 seconds
      • Trigger - Turn on Ability Incinerate Kill <gen>
  • Ability Incinerate Kill
    • Events
      • Time - AbilityIncinerate_Timer expires
    • Conditions
      • (AbilityIncinerate_Target is alive) Equal to True
    • Actions
      • Unit Group - Pick every unit in AbilityIncinerate_Group and do (Actions)
        • Loop - Actions
          • Set AbilityIncinerate_CV = (Custom value of AbilityIncinerate_Target)
          • Set AbilityIncinerate_Target = (Picked unit)
          • Special Effect - Create a special effect attached to the overhead of AbilityIncinerate_Target using war3mapImported\ReviveDemon.mdx
          • Unit - Cause AbilityIncinerate_Hero to damage AbilityIncinerate_Target, dealing AbilityIncinerate_Damage[AbilityIncinerate_CV] damage of attack type Spells and damage type Universal
          • Countdown Timer - Start AbilityIncinerate_Timer_End as a Repeating timer that will expire in (Ability Cooldown of AbilityIncinerate_Hero for ability Incinerate [ Axe ], Level: (6 x (Level of Incinerate [ Axe ] for AbilityIncinerate_Hero))) seconds
  • Ability Incinerate Cooldown
    • Events
      • Time - AbilityIncinerate_Timer_End expires
    • Conditions
    • Actions
      • Special Effect - Destroy (Last created special effect)
      • Trigger - Turn off Ability Incinerate Kill <gen>
 

Rexxa

Banned
Level 1
Joined
Apr 28, 2023
Messages
4
There's a lot of mistakes with your triggers and they don't really make any sense.

You need to explain exactly how the ability works or I won't know what to do.

Here's an example of a well explained ability: Axe
Am.. sorry
I have question
Can make custom ability like this guy ability's with out triggers or single scripts?
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,877
Am.. sorry
I have question
Can make custom ability like this guy ability's with out triggers or single scripts?
No, Counter Helix needs to be triggered. No such ability exists in Warcraft 3 that does what it does.

The good news is that if you're on the latest version of Wc3 you can open my map and literally copy and paste my triggers into your own map and get it running in 30 seconds.
 
Level 5
Joined
Apr 25, 2023
Messages
34
No, Counter Helix needs to be triggered. No such ability exists in Warcraft 3 that does what it does.

The good news is that if you're on the latest version of Wc3 you can open my map and literally copy and paste my triggers into your own map and get it running in 30 seconds.
hello uncle...
hope you have good times always..
can you give me other Axe skills triggers ..
The "Battle Hunger" & "Counter Helix" Complate.
 
Last edited:

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,877
What is the Variable Type of BattleHunger Duration ?
It's a Real (array).

Here's a thread about the Taunt ability:

Culling Blade is super simple, just check the life of the (Target unit of ability being cast). If it's less than X then deal 9999999 Damage to the target, otherwise, deal the normal damage.
  • Events
    • Unit - A unit Starts the effect of an ability
  • Conditions
    • (Ability being cast) Equal to Culling Blade
  • Actions
    • If Then Else
      • If - Conditions
        • (Life of (Target unit of ability being cast) Less than or Equal to CullingBlade_Life
      • Then - Actions
        • Unit - Deal 9999999 damage to (Target unit of ability being cast)
        • Else - Actions
          • Unit - Deal CullingBlade_Damage to (Target unit of ability being cast)
 
Level 5
Joined
Apr 25, 2023
Messages
34
It's a Real (array).

Here's a thread about the Taunt ability:

Culling Blade is super simple, just check the life of the (Target unit of ability being cast). If it's less than X then deal 9999999 Damage to the target, otherwise, deal the normal damage.
  • Events
    • Unit - A unit Starts the effect of an ability
  • Conditions
    • (Ability being cast) Equal to Culling Blade
  • Actions
    • If Then Else
      • If - Conditions
        • (Life of (Target unit of ability being cast) Less than or Equal to CullingBlade_Life
      • Then - Actions
        • Unit - Deal 9999999 damage to (Target unit of ability being cast)
        • Else - Actions
          • Unit - Deal CullingBlade_Damage to (Target unit of ability being cast)
CullingBlade_Life variable Type??
Please write what variables i need to set :D
 
Last edited:
Level 5
Joined
Apr 25, 2023
Messages
34
It's a Real. There's two types of number variables, Integers and Reals. Integers are whole numbers like 1, 2, 3. Reals are fractional numbers like 0.01, 1.54, 2.00.
  • AbilityCullingBlade Physical
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Culling Blade [ Axe ]
    • Actions
      • Set AbilityCullingBlade_Hero = (Triggering unit)
      • Set AbilityCullingBlade_Life = 2.00
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Life of (Triggering unit)) Less than or equal to AbilityCullingBlade_Life
        • Then - Actions
          • Unit - Cause HeroAxe to damage (Target unit of ability being cast), dealing 100000.00 damage of attack type Normal and damage type Normal
        • Else - Actions
Is it true?
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,877
AbilityCullingBlade_Hero isn't being used and can be deleted. Also, you want to check the life of the target unit not the caster.

(Triggering unit) = The unit that cast the spell

Also, 1000000 damage might not be enough but I don't know how your map works. You may want to change the Damage type to Universal, I believe that makes it deal "true" or "pure" damage.

You also aren't dealing damage if the life is greater than AbilityCullingBlade_Life.
 
Last edited:
Level 5
Joined
Apr 25, 2023
Messages
34
AbilityCullingBlade_Hero isn't being used and can be deleted. Also, you want to check the life of the target unit not the caster.

(Triggering unit) = The unit that cast the spell

Also, 1000000 damage might not be enough but I don't know how your map works. You may want to change the Damage type to Universal, I believe that makes it deal "true" or "pure" damage.
Uncle it still 200 dmg
I think need change dumb ability , good match for this trigger
can you help?
and something about AI
i want player buy Random Hero from Tavern !
And Trigger for Selectable Items in Tavern !
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,877
Focus and look at my trigger then look at yours side by side.

There's very noticeable differences, like for example mine deals damage in both cases: Low life and not life low life.

Yours only deals damage on low life.

I recommend searching Hive for answers to your other questions, there's a lot of threads on the subject.
 

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,877
  • AbilityCullingBlade Physical
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Culling Blade [ Axe ]
    • Actions
      • Set AbilityCullingBlade_Life = 250.00
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Life of (Target unit of ability being cast)) Less than or equal to AbilityCullingBlade_Life
        • Then - Actions
          • Unit - Cause HeroAxe to damage (Target unit of ability being cast), dealing 1000000.00 damage of attack type Spells and damage type Universal
        • Else - Actions
          • Unit - Cause HeroAxe to damage (Target unit of ability being cast), dealing 200.00 damage of attack type Spells and damage type Normal
You can set AbilityCullingBlade_Life to whatever amount you want to be the threshold. If the enemy has less than or equal to this amount then it will be killed instantly. Otherwise, it will take a small amount of damage.

If the HeroAxe variable is already set BEFORE this spell is cast then it will work fine.
 
Status
Not open for further replies.
Top