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

[General] Creating a custom hero

Status
Not open for further replies.
Level 1
Joined
Dec 17, 2021
Messages
1
So this is my first post not exactly sure how to go about this. I haven't messed with the editor in ~15 years trying to get back into the swing of things. I wanted to make a custom berserker hero and ran into a few snags and came across the site in my quest to answer my questions. Currently, I'm trying to make a custom berserk/bloodlust ability that is the crux of the class as a PoC where for every % of health missing, increase % of atk spd. I have zero idea on how to do this, let alone how to make it a custom hero skill. I know how to do things such as give it the animation I want and the icon I want; just not the custom effects and make it a skill that levels. This is the top of my to do list for the PoC (for no one but myself) but there's a few other things that I don't know how to do that I'd like to learn. That list is:

How to increase hero max level above 10

How to make a charge skill

how to make unit skills level up (I.E. envenomed spears can be leveled up and no this isn't for the zerker just an example skill)

I do not need, say, the full code/edits, just a general idea of what it is I would need to do and where to go in the editor to do these things.

Thank you so much, everyone, for your help.
 
Level 25
Joined
Sep 26, 2009
Messages
2,378
For the berserker/bloodlust ability - this depends on whether you are running on latest version of reforged or not, because reforged allows you to modify ability fields for specific unit via triggers.
Also, how it works would depend on whether this is active or passive ability
  • For passive ability, you would need a periodic trigger, which would update the attack speed bonus
  • For active ability you can just detect when the ability is cast and figure out the rest
If you have reforged, you can modify abilities like this:
  • Ability - Set Ability: (Unit: (Triggering unit)'s Ability with Ability Code: Metamorphosis)'s Real Level Field: Duration - Hero ('ahdu') of Level: 0 to 60.00
This would change duration of metamorphosis for some (triggering unit) to 60 seconds.
But I don't think this approach works for passive abilities (at least I think I had issues with this for abilities like Evasion or Critical Strike).
If the above is not suitable for you, you would need an ability (or a set of abilities) with multiple levels and via triggers add/remove the ability and increase/decrease levels of abilities.
For example you would want to increase attack speed by 5% for every 5% health missing.
You could create a passive spell based off the Gloves of Haste and give it 20 levels (each level would give 5% more attack speed than previous level). And via triggers calculate which level you should set for the ability.

---
Increasing hero max level: This is in world editor -> top bar -> Advanced -> Gameplay Constants -> Hero Maximum Level

---
Charge skills are complicated (even more so if you want to take pathing into account). I would advise checking some charge spell on this site.

---
Unit skill can't be leveled up via UI (like how hero abilities are leveled up). You can increase ability level via upgrades or via triggers. Upgrades are better if the level increase should be global (for old and new units alike).
 
Level 12
Joined
Mar 13, 2020
Messages
421
For the berserker/bloodlust ability - this depends on whether you are running on latest version of reforged or not, because reforged allows you to modify ability fields for specific unit via triggers.
Also, how it works would depend on whether this is active or passive ability
  • For passive ability, you would need a periodic trigger, which would update the attack speed bonus
  • For active ability you can just detect when the ability is cast and figure out the rest
If you have reforged, you can modify abilities like this:
  • Ability - Set Ability: (Unit: (Triggering unit)'s Ability with Ability Code: Metamorphosis)'s Real Level Field: Duration - Hero ('ahdu') of Level: 0 to 60.00
This would change duration of metamorphosis for some (triggering unit) to 60 seconds.
But I don't think this approach works for passive abilities (at least I think I had issues with this for abilities like Evasion or Critical Strike).
If the above is not suitable for you, you would need an ability (or a set of abilities) with multiple levels and via triggers add/remove the ability and increase/decrease levels of abilities.
For example you would want to increase attack speed by 5% for every 5% health missing.
You could create a passive spell based off the Gloves of Haste and give it 20 levels (each level would give 5% more attack speed than previous level). And via triggers calculate which level you should set for the ability.

---
Increasing hero max level: This is in world editor -> top bar -> Advanced -> Gameplay Constants -> Hero Maximum Level

---
Charge skills are complicated (even more so if you want to take pathing into account). I would advise checking some charge spell on this site.

---
Unit skill can't be leveled up via UI (like how hero abilities are leveled up). You can increase ability level via upgrades or via triggers. Upgrades are better if the level increase should be global (for old and new units alike).
You can Modifiy Passivs too you only Need a Diffrent Event..
Like gain a level of pick up an item

Edit: seems like all Attackspeed Passivs and stuff is just bugged and doesn’t change the value

Anyways here some example for attackcooldown so you get maybe some inspiration at least

here is some example based on 1% health gains 0.5% Attackspeed Cooldown Reduction its a bit overpower if your map has incredible attackspeed amounts
 

Attachments

  • example berserker.w3m
    92.3 KB · Views: 29
Last edited:
Status
Not open for further replies.
Top