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

Shadow meld bugged?

Status
Not open for further replies.
Level 5
Joined
Jul 5, 2014
Messages
155
For some reason, I can't trigger shadow meld. I wanted to add regeneration to it by trigger with no success. Then I made an incredibly simple trigger to it and it still didn't work.

  • Untitled Trigger 002
    • Events
      • Unit - Hero <gen> Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Shadow Meld
    • Actions
      • Wait 2.00 seconds
      • Cinematic - Send transmission to (All players) from Hero 0018 <gen> named Hero: Play No sound and display Working. Modify duration: Set to 3.00 seconds and Don't wait
 
Level 5
Joined
Jul 5, 2014
Messages
155
I can only put the hero in variable, but it doesn't change it. Start effect doesn't make it work either :/

Pharaoh: I'm not sure I'm getting this o_O
 
Last edited by a moderator:
Level 22
Joined
Sep 24, 2005
Messages
4,821
You have to order the unit to use shadowmeld, like Pharaoh said. I thought the trigger you posted was a debug message, my mistake, sorry.
 
Level 26
Joined
Mar 19, 2008
Messages
3,140
Shadow-meld might be an ability which on "auto-cast" doesnt really fire detectable ability order, thus is it impossible to react on such event.

In my (Polish editor) there are 2 abilities named similarly to "Shadow Meld", however, if you we speak about generic Night Elves one, then yes, this issue will bit you.
 
Level 5
Joined
Jul 5, 2014
Messages
155
Does shadow meld count as buff?

EDIT: Anyway, I managed to make a trigger that causes shadow melded units to heal if they have a certain dummy ability. Although the process requires manual shadow meld it's still better than nothing, so thank you all.
 
Last edited:
I just made a system based on Bribe's IsUnitMoving system.
You register the value "ShadowMeldFadeIn", according to your value in the field "Fade Duration" of the Shadow Meld ability.
The "TimedEvent" variable allows you to determine lower values, e.g. if you have a fading duration of X.3, you need to set TimedEvent to 0.3. For the example, I made a floating text saying "Detected!", but you can of course delete it and replace it with the desirable action.

This could be even better with local timers per unit moving, so as to avoid a global enumeration, but this is fine as well.
 

Attachments

  • AutomaticShadowMeld.w3x
    25 KB · Views: 48
Level 5
Joined
Jul 5, 2014
Messages
155
Umm, thank you, although this seems a rather complicated solution to my monkey brain. I'm not sure how simpler it would be if this only need to work on a single unit but I never used hashtable before and JASS is pretty much beyond me.
 
For a single unit, you only check for that unit with the events given in the test map, instead of enumerating. Additionally, you don't add it to a unit group, you simply use the variable that has the unit stored and finally, you don't even use a hashtable, just use a simple variable, from which you subtract "TimedEvent". If it goes to 0 or less, then turn off the trigger and set the variable of TimedEvent to ShadowMeldFadeIn value.

You don't have a monkey brain, you are just not familiar with certain functions and terms. ;)
 
Level 5
Joined
Jul 5, 2014
Messages
155
The problem is that I have hard time to separate which event exactly refers to what function (and since english is only a second language for me, it doesn't make it easier). :( Although you described the stuff to the trigger, it's pretty highly advanced for me to comprehend. The point would be giving restoring properties to the shadow meld. The only thing it misses is noticing the automatic shadow melding.

  • Regeneration
    • Events
      • Unit - A unit Is issued an order with no target
    • Conditions
      • (Issued order) Equal to (Order(ambush))
      • (Level of One With The Night for (Triggering unit)) Equal to 1
      • (Triggering unit) Equal to Hero
    • Actions
      • Wait 2.00 seconds
      • Unit - Add Regeneration (hero) to Hero
      • Unit - Add Mana Regeneration (hero) to Hero

I made 3 triggers for checking moving (it may sloppy, but I don't see 'or' option among trigger events)


  • Stop reg1/2/3
    • Events
      • Unit - A unit Is issued an order with no target/target object/target point
    • Conditions
      • (Issued order) Not equal to (Order(ambush))
      • (Triggering unit) Equal to Hero
    • Actions
      • Unit - Remove Regeneration (hero) from Hero
      • Unit - Remove Mana Regeneration (hero) from Hero
 
Level 5
Joined
Jul 5, 2014
Messages
155
It's present originally, although it's moves between maps, so it's original ID isn't do any good. It's belong to the player (well, a rescuable hero) and has only one life. The campaign's structure is kind of a mixture of Warchasers and To Tame a Land.
 
Status
Not open for further replies.
Top