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

[General] Making a regular unit into a hero unit. Help.

Status
Not open for further replies.
Level 2
Joined
May 5, 2013
Messages
8
My idea for my mod is that I want to have regular units gain experience as a way to improve upon themselves as well as reward the player who micros well.

While I understand the easy steps on how the make a unit into a hero (just edit a hero unit to your liking) there are some questions that I need answered.

- How to get rid of the Hero quick-select UI on the right side of the screen?

When creating a hero in the vanilla game. The hero appears as a icon on the right side of the screen to allow for easy access. For my mod, I don't want this (as I'm gonna be having many units) how do I get rid of it?

- How to get rid of hero level up bloom?

When a vanilla hero levels, it explodes in a cascade of light. How do I get rid of that?

- How to get rid of hero death animation?

When a hero dies, instead of changing into a corpse, it's body fades away. How do I make it so that a corpse appears instead?

- How do I make a hero automatically gain an ability without player interaction?

In the vanilla game, when a hero levels up it has the choice of gaining abilities, but it requires player interaction ("oh do I want wind walk or critical strike for example) in my mod, I want abilties to be gained automatically in a linear way without that interaction. (I.E Level 1 unit = no abilities Level 2 unit = gains critical strike Level 3 unit = gains windwalk etc.)



Basically what I want to do here is just have units have the ability to level up as well as improve upon themselves but with none of the fluff that comes with it (I.E blooms of light, bodies fading, quick-acess UI etc..)

Thanks in advance.

Also, like to add.

How to make it so the hero unit isn't revivalable either?
 
Last edited by a moderator:
Level 30
Joined
Nov 29, 2012
Messages
6,637
-You can find in the Objec Editor the field, Stats - Hide Hero Icon Interface
-You can disable leveling by setting a trigger disabling its EXP gain
-You can try going to the World Editor's Game Interface to find on disabling special effect on leveling up
-You cannot remove a Death Animation, but only way is editing the model but yo can nstantly remove it when it dies
-You also need to edit the model itself to make corpse appears and not fade away.
-You can make a trigger on giving it an ability ike this:

  • Unit - Add Black Arrow to (Triggering unit)
Mostly this requires trigger

-You can make a hero no revivable by going to Object Editor and find the buildings and units you used that Revives Hero and find this Field there:

Techtree - Revives Dead Heros and set it to False
 
Level 23
Joined
Oct 20, 2012
Messages
3,075
-You can disable leveling by setting a trigger disabling its EXP gain

-You can make a hero no revivable by going to Object Editor and find the buildings and units you used that Revives Hero and find this Field there:

Techtree - Revives Dead Heros and set it to False

-He still wants the units to level up.
and
-He still has Normal heroes on the map. :3



- How to get rid of the Hero quick-select UI on the right side of the screen?

Change that in the Object Editor. Find the "Stats - Hero - Hide Interface Icon" and set it to True.

- How to get rid of hero level up bloom?

You can trigger your experience system to hide the hero level up using these:
  • Hero - Add (Value) experience to (Unit), Hide level-up graphics
  • Hero - Set (Unit) experience to (Value), Hide level-up graphics
I don't know if you can get rid of that without triggers though.

- How to get rid of hero death animation?

The model of the hero will have to have a corpse model built in. If it does have a corpse model, just trigger the thing. When the hero dies, remove the dying it ( Removing it will also solve this: "How to make it so the hero unit isn't revivalable either?") and replace it with a dummy unit of the same properties and kill the dummy unit instantly so that the corpse would be the dummy unit's but not the hero's. This will make ressurection spells more complex though because you'll have to trigger the thing because if the player uses the default resurrection spell, it will ressurect the dummy unit instead.

- How do I make a hero automatically gain an ability without player interaction?

You can add it via
  • Unit - Add (Ability) to (Unit)
 
Level 13
Joined
Mar 24, 2013
Messages
1,105
Be careful not to double post, simply edit if something else comes to mind!

In the object editor in the Heroes info look for a line called

Stats- Hero - Hide Hero Interface Icon

This will remove the Icon from the top of the screen

I believe to remove the "Bloom" upon leveling up you need to find the path of this in wc3 and replace it with something that has no animation
^^^I'm not entirely sure on this^^^


I don't think you can "get rid of its death animation" unless you're using custom models w/o death animations, to slightly solve this problem you can put their death time to 0, to help speed up their departure. As long as you don't intend to revive the hero from the corpse you can a trigger similar to this one to make a corpse for your dying unit.

  • Corpse
    • Events
      • Unit - A unit Dies
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit-type of (Triggering unit)) Equal to Blood Mage
        • Then - Actions
          • Set TempPoint = (Position of (Triggering unit))
          • Unit - Create a Blood Mage corpse for (Owner of (Triggering unit)) at TempPoint
          • Unit - Turn collision for (Last created unit) Off
          • Animation - Play (Last created unit)'s death animation
          • Custom script: call RemoveLocation(udg_TempPoint)
        • Else - Actions
To give a hero an ability when they level up you need to use a trigger, here's a basic one. Also a basic one to set the level of this ability later.

  • Levels up
    • Events
      • Unit - A unit Gains a level
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Hero level of (Triggering unit)) Equal to 2
        • Then - Actions
          • Unit - Add Critical Strike to (Triggering unit)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Hero level of (Triggering unit)) Equal to 3
        • Then - Actions
          • Unit - Add Wind Walk to (Triggering unit)
        • Else - Actions
  • Set Level
    • Events
      • Unit - A unit Gains a level
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Hero level of (Triggering unit)) Equal to 10
        • Then - Actions
          • Unit - Set level of Critical Strike for (Triggering unit) to 5
        • Else - Actions

When the hero dies, if you remove it from the game it cannot be resurrected

  • Dying Hero Removal
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Triggering unit) is A Hero) Equal to True
    • Actions
      • Unit - Remove (Triggering unit) from the game
EDIT: Why don't I ever refresh -.-
 
Level 21
Joined
Mar 27, 2012
Messages
3,232
I would just make a unitXP system that adds the features originally requested, instead of taking normal heroes and removing 90% of their meaning.
Seems more logical that way.

So first you need an indexer
Then an array that contains the XP of every unit on map
Then whenever a unit kills a unit you add to the amount of XP that the killing unit has.
Whenever a unit has enough XP you give/level up an ability on that unit.

Note that the array values must be initialized to 0 or you won't be able to add to them.

In the sake of understandability you can also make an ability that does absolutely nothing and tells the user what level this unit is. You can base it on critical strike or something.
 
Level 2
Joined
May 5, 2013
Messages
8
Thanks guys! Appreciate the help! All it it works pretty well (now just gotta do the auto-spell-learning)
 
Level 2
Joined
May 5, 2013
Messages
8
Be careful not to double post, simply edit if something else comes to mind!

In the object editor in the Heroes info look for a line called

Stats- Hero - Hide Hero Interface Icon

This will remove the Icon from the top of the screen

I believe to remove the "Bloom" upon leveling up you need to find the path of this in wc3 and replace it with something that has no animation
^^^I'm not entirely sure on this^^^


I don't think you can "get rid of its death animation" unless you're using custom models w/o death animations, to slightly solve this problem you can put their death time to 0, to help speed up their departure. As long as you don't intend to revive the hero from the corpse you can a trigger similar to this one to make a corpse for your dying unit.

  • Corpse
    • Events
      • Unit - A unit Dies
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit-type of (Triggering unit)) Equal to Blood Mage
        • Then - Actions
          • Set TempPoint = (Position of (Triggering unit))
          • Unit - Create a Blood Mage corpse for (Owner of (Triggering unit)) at TempPoint
          • Unit - Turn collision for (Last created unit) Off
          • Animation - Play (Last created unit)'s death animation
          • Custom script: call RemoveLocation(udg_TempPoint)
        • Else - Actions
To give a hero an ability when they level up you need to use a trigger, here's a basic one. Also a basic one to set the level of this ability later.

  • Levels up
    • Events
      • Unit - A unit Gains a level
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Hero level of (Triggering unit)) Equal to 2
        • Then - Actions
          • Unit - Add Critical Strike to (Triggering unit)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Hero level of (Triggering unit)) Equal to 3
        • Then - Actions
          • Unit - Add Wind Walk to (Triggering unit)
        • Else - Actions
  • Set Level
    • Events
      • Unit - A unit Gains a level
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Hero level of (Triggering unit)) Equal to 10
        • Then - Actions
          • Unit - Set level of Critical Strike for (Triggering unit) to 5
        • Else - Actions

When the hero dies, if you remove it from the game it cannot be resurrected

  • Dying Hero Removal
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Triggering unit) is A Hero) Equal to True
    • Actions
      • Unit - Remove (Triggering unit) from the game
EDIT: Why don't I ever refresh -.-



(Hero level of (Triggering unit)) Equal to 2

Where do I find that trigger listing?
 
Status
Not open for further replies.
Top