• 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] Need Ideas for Base Abilities

Level 20
Joined
Mar 16, 2008
Messages
811
1) I need a single target ability that isn't the same base spell as Storm Bolt nor Firebolt. I also don't want to use Shadowstrike because the animations seem to be hard coded for that ability. I'm using triggers to do most of the ability damage but the trigger keeps triggering the unit's Stormbolt/Firebolt ability. Because apparently these abilities all share the same base ability apparently.

2) Also trying to make a single target healing reduction ability. I tried using the Fire Orb spell/buff but I can't seem to get anything to work.

Any ideas or ability suggestions are welcome. Thank you in advance.
 
Level 20
Joined
Mar 16, 2008
Messages
811
1) Channel isn't a single target ability, or really a usable ability at all as far as I can tell. Looking for something that players can use to single target a unit.

2) This might work.
 
Level 27
Joined
Aug 29, 2012
Messages
1,200
Sure it is, you can turn into single target if you wish and set the targets allowed as desired

1722721941018.png
 
Level 10
Joined
Aug 24, 2022
Messages
326
For the 1st issue: I don't know which rules are in your project, but you can try using Death Coil or Acid Bomb. For Death Coil, you need to check if all possible targets for your spell are classified as undead or not. For Acid Bomb, just put AoE to 1, so it affect only the targeted unit.

EDIT: Or use finger of death. What your ability is supposed to do, exactly?
 
Level 20
Joined
Mar 16, 2008
Messages
811
I think he means that it applies stun which is not desirable.
@Gnuoy how about chain lightning with 0 jumps?
I think chain lighting might work. Acid Bomb seems to work fine for my purpose.

But just thought I would mention that if you use a "unit begins casting ability" as event, it doesn't seem to be able to distinguish between Firebolt/Stormbolt/Hurl Boulder.
 
Level 10
Joined
Aug 24, 2022
Messages
326
I agree with Nichilus. Help us help you, show exactly what you want. With half information is hard to help you solve your issue with precision.
 
Level 23
Joined
Feb 27, 2019
Messages
766
I agree with Barbafire.

For 2) I see two options.
1. Use the vanilla way of Healing reduction from the orb of fire. Which is attacking and dealing damage with a unit to apply the buff.
2. Manage all healing yourself, not relying on vanilla abilities but basically triggering all healing yourself whenever a heal is applied. Have a variable called healing reduction that is multiplied with the healing. Its easy to imagine that if you have some triggers and calculations controlling healing given, it could include a healing reduction parameter which would be healingamount * healingreduction.
 
Level 20
Joined
Mar 16, 2008
Messages
811
Sorry for being vague but you all helped me solve my problem despite any confusion. So thank you all for all the replies.

so for 1) I was trying to make a scaling damage ability but they the hero in question already had another storm bolt based ability so when I tried making the scaling ability, then it was triggering the hero's other stormbolt-based ability.
  • Martial Strike
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Sunder Armor (W) [this is based on acid bomb as previous suggested, which doesn't seem to overlap with stormbolt, etc]
    • Actions
      • Set VariableSet level_martialstrike = (Level of (Ability being cast) for (Casting unit))
      • Set VariableSet Amount_martialstrike = (martial_strike_base[level_martialstrike] + (martial_strike_multiplier[level_martialstrike] x (Real((Strength of (Casting unit) (Include bonuses))))))
      • Ability - Set Ability: (Unit: (Casting unit)'s Ability with Ability Code: Sunder Armor (W))'s Real Level Field: Primary Damage ('Nab4') of Level: (level_martialstrike - 1) to Amount_martialstrike


2) Ended up just adding the passive healing reduction ability to the unit. I don't want to get into triggering a healing system, just want to rely on vanilla as much as possible.
 
Level 23
Joined
Feb 27, 2019
Messages
766
Sorry for being vague but you all helped me solve my problem despite any confusion. So thank you all for all the replies.

so for 1) I was trying to make a scaling damage ability but they the hero in question already had another storm bolt based ability so when I tried making the scaling ability, then it was triggering the hero's other stormbolt-based ability.
  • Martial Strike
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Sunder Armor (W) [this is based on acid bomb as previous suggested, which doesn't seem to overlap with stormbolt, etc]
    • Actions
      • Set VariableSet level_martialstrike = (Level of (Ability being cast) for (Casting unit))
      • Set VariableSet Amount_martialstrike = (martial_strike_base[level_martialstrike] + (martial_strike_multiplier[level_martialstrike] x (Real((Strength of (Casting unit) (Include bonuses))))))
      • Ability - Set Ability: (Unit: (Casting unit)'s Ability with Ability Code: Sunder Armor (W))'s Real Level Field: Primary Damage ('Nab4') of Level: (level_martialstrike - 1) to Amount_martialstrike


2) Ended up just adding the passive healing reduction ability to the unit. I don't want to get into triggering a healing system, just want to rely on vanilla as much as possible.
Cool beans, glad you got it working and all. I am still not convinced abilities based on storm bolt, firebolt and hurl boulder are the same in ability being cast conditions. How did you make your firebolt and hurl boulder ability? Did you actually copy the actual firebolt and hurl boulder ability or did you just change the order id/order string of storm bolt? One of my suspisions is that you made them wrong, which made them share the same order id, causing the wrong ability to be cast even if selecting another.
 
Level 20
Joined
Mar 16, 2008
Messages
811
Yes I copied stormbolt/firebolt/hurl boulder and it seemed to "confuse" the game with the hero's other ability based on stormbolt. I don't have a test easily postable but that's what happened.

I'm not sure what order ID is to be honest. So maybe that is the problem.
 
Level 23
Joined
Feb 27, 2019
Messages
766
Yes I copied stormbolt/firebolt/hurl boulder and it seemed to "confuse" the game with the hero's other ability based on stormbolt. I don't have a test easily postable but that's what happened.

I'm not sure what order ID is to be honest. So maybe that is the problem.
If the hero has two abilities based on Storm Bolt those two abilities share the same order id. This is almost never a good thing because if you press to cast one of them it might cast the other one because the game doesnt know which is which. However Storm Bolt and Firebolt dont have the same order id so the game shouldnt confuse them upon casting.
 
Level 28
Joined
Sep 26, 2009
Messages
2,515
I'm not sure what order ID is to be honest. So maybe that is the problem.
When you cast a spell, you give unit an order which it tries to carry out.
Take Fireball for example. You have a unit with Fireball spell. The spell has 600.00 range. You click the spell's icon and select target which is 800.00 range away.
What does your unit do? It runs towards the target until it is within range, then starts casting the spell until finally it shoots the fiery ball at the target.

How does the game keep track of what to do? Answer: via order.
The moment you selected target of the Fireball spell, the caster was issued an order on a targeted unit. The order (or order ID) is hardcoded into each spell. So in case of Fireball, the order is 'firebolt', in case of Stormbolt, the order is 'stormbolt'. In case of Holy Light the order is 'holybolt'.
Unit has same order until it completely finishes whatever that order entails. In case of Fireball, the order lasts until caster successfully finishes casting the spell.
This way the game knows what your unit is currently doing and what it should do next.

Since these orders are hardcoded, there is no way to change them even if you create derivates of the original spell. So for example lets say I have Paladin with Holy Light and I also give him another ability, based off Holy Light, called Empowered Holy Light. The thing is, both spells have the same order id 'holybolt'. So when the Palading is issued order 'holybolt', which spell should the game choose to use?
That is the "confusion" you are most likely writing about.

The only spell which does not have its order hardcoded is the "Channel" spell, which is the reason why it is used so much - Channel spell has "Data - Base Order ID" which allows you to set which order the spell will use.
 

Uncle

Warcraft Moderator
Level 70
Joined
Aug 10, 2018
Messages
7,377
Which is why the Base Order ID field on Channel exists, so you can change the order string. Unsure of why this tech wasn't expanded to every other ability o_O

Oh and you know what's great, Channel doesn't actually work like most abilities - even if you can modify most settings. The ability has the problem in that it will always animation cancel. I suppose it makes sense since that's how channeled abilities work (they don't use art - backswing) but you'd expect that all of the "channeling" behavior would be disabled if you set the Follow Through Time to 0.

You can't win with this video game, lol.
 
Last edited:
Top