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

Invisibility With Visible Effects

Status
Not open for further replies.
Level 28
Joined
Apr 6, 2010
Messages
3,107
Is there a way to have an effect added to a unit in such a way that if the unit is invisible, the effect remains visible but not "part" of the unit?

Specifically, a treant with Shadowmeld that looks like a regular destructible tree when not moving, but holding the mouse over the tree doodad doesn't reveal it as hostile and doesn't display a healthbar unless a detector is nearby.

I've tried using orb-abilities and triggered attachments, but in both cases they're visible and invisible at the same time as the unit.

If it can't be done in the map editor, can it be done by editing the model?
 
Level 18
Joined
Mar 16, 2008
Messages
721
You mean kind of like in Starcraft how you can see a visual distortion where cloaked units are?

Maybe something like this... might need some more work...

  • Untitled Trigger 001
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Invisibility
    • Actions
      • Set VariableSet cloaked_unit_variable = (Casting unit)
      • Special Effect - Create a special effect attached to the origin of cloaked_unit_variable using Abilities\Spells\Undead\AbsorbMana\AbsorbManaBirthMissile.mdl
      • Special Effect - Destroy (Last created special effect)
      • Wait 2.00 seconds
      • Special Effect - Create a special effect attached to the origin of cloaked_unit_variable using Abilities\Spells\Undead\AbsorbMana\AbsorbManaBirthMissile.mdl
      • Special Effect - Destroy (Last created special effect)
probably a better way to do this. i'll post if i think of it.

edit: considering the post below you obviously will want to use a point variable, and loop trigger. my example above is just meant to get you started... probably don't use it exactly.
 
Last edited:
Status
Not open for further replies.
Top