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

[Spell] Adding special effects when using abilities

Status
Not open for further replies.
Level 9
Joined
Apr 22, 2020
Messages
430
Can somebody send me a trigger when a hero cast a spell like Healing Wave,Chain Lightning,Spirit Link,Stormbolt,Blizzard those kind of spells i can put more than 1 special effects ON THE CASTER
And the second trigger request is i want more than one special effects on the target unit of ability being cast you already what i mean
 
Level 4
Joined
Aug 1, 2020
Messages
17
Spells | HIVE

^ You might want to check on that, there are so many options you can start with.

There is also a custom 'chain of' system, so you can make chain of storm bolt, chain of firebolt, chain of frost, chain of entangle roots, etc:
Chain Spell Template

This is also pretty useful
Buff System v1.8

Try to search first tho on the spell section, I'm quite sure there are a lot that meets your criteria
 
Last edited:
Level 9
Joined
Apr 22, 2020
Messages
430
Spells | HIVE

^ You might want to check on that, there are so many options you can start with.

There is also a custom 'chain of' system, so you can make chain of storm bolt, chain of firebolt, chain of frost, chain of entangle roots, etc:
Chain Spell Template

This is also pretty useful
Buff System v1.8

Try to search first tho on the spell section, I'm quite sure that's a lot that meets your criteria
Is thier a specific system that allows me to make multiple special effects on units? I'm not really familar with the systems here in hive.
Edit: To be specific though i want only to have a unit have more than one SPECIAL EFFECT when casting a spell ON THE CASTER or the target unit of ability bieng cast.
 
  • Untitled Trigger 001
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Blizzard
    • Actions
      • Special Effect - Create a special effect attached to the origin of (Triggering unit) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
 
Level 9
Joined
Apr 22, 2020
Messages
430
  • Untitled Trigger 001
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Blizzard
    • Actions
      • Special Effect - Create a special effect attached to the origin of (Triggering unit) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Special Effect - Destroy (Last created special effect)
Are you sure about this trigger because the special effect didn't really show up at all
 
Level 17
Joined
Mar 21, 2011
Messages
1,597
The trigger should work fine, but there might be other issues:
-your unit doesnt have an origin attachment point.
-your effect has no proper death animation and disappears instantly after creation
-your units scaling is off, and the effect disappears inside the model
 
Level 9
Joined
Apr 22, 2020
Messages
430
The trigger should work fine, but there might be other issues:
-your unit doesnt have an origin attachment point.
-your effect has no proper death animation and disappears instantly after creation
-your units scaling is off, and the effect disappears inside the model
Wait is this the trigger where the special effect shows up when the spell hits the target unit?
 

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,517
Here's a useful "system" you can create that allows you to destroy a special effect after a delay:
  • Delayed Destroy Effect
    • Events
    • Conditions
    • Actions
      • Custom script: local effect udg_Delayed_Sfx = GetLastCreatedEffectBJ()
      • Wait Delayed_Duration seconds
      • Special Effect - Destroy Delayed_Sfx
      • Custom script: set udg_Delayed_Sfx = null
Example of using it:
  • Example DDE
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
    • Actions
      • Special Effect - Create a special effect attached to the chest of (Triggering unit) using Abilities\Spells\Human\DivineShield\DivineShieldTarget.mdl
      • Set VariableSet Delayed_Duration = 1.00
      • Trigger - Run Delayed Destroy Effect <gen> (ignoring conditions)
Delayed_Duration = Real
Delayed_Sfx = Special Effect

There's no easy way to detect when a spell hits a target. A damage engine or custom missile system would allow for this but obviously it would have to deal damage for the former and the latter is more advanced. Another option is to use a loop that periodically checks if the target has received a buff or not, but that would only work if the ability applies a buff.
 

Attachments

  • Delayed Destroy Effect.w3m
    16.5 KB · Views: 37
Level 9
Joined
Apr 22, 2020
Messages
430
Here's a useful "system" you can create that allows you to destroy a special effect after a delay:
  • Delayed Destroy Effect
    • Events
    • Conditions
    • Actions
      • Custom script: local effect udg_Delayed_Sfx = GetLastCreatedEffectBJ()
      • Wait Delayed_Duration seconds
      • Special Effect - Destroy Delayed_Sfx
      • Custom script: set udg_Delayed_Sfx = null
Example of using it:
  • Example DDE
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
    • Actions
      • Special Effect - Create a special effect attached to the chest of (Triggering unit) using Abilities\Spells\Human\DivineShield\DivineShieldTarget.mdl
      • Set VariableSet Delayed_Duration = 1.00
      • Trigger - Run Delayed Destroy Effect <gen> (ignoring conditions)
Delayed_Duration = Real
Delayed_Sfx = Special Effect

There's no easy way to detect when a spell hits a target. A damage engine or custom missile system would allow for this but obviously it would have to deal damage for the former and the latter is more advanced. Another option is to use a loop that periodically checks if the target has received a buff or not, but that would only work if the ability applies a buff.
Uncle in the second trigger can i create two or more special effects? Like:
Event:
A unit begins casting an ability
Conditions:
Ability being cast equal to <Whatever Ability it is>
Actions:
Special Effect: Create special effect attached to the overhead of triggering unit using Inner Fire
Special Effect: Create special effect attached to the origin of triggering unit using Slow (target)
(This is what i meant putting more special effects) Can the system handle it?
 
Level 9
Joined
Apr 22, 2020
Messages
430
You can:
Create effect -> set duration -> Run trigger, repeat.

Note that you want to use "A unit starts the effect of an ability" as the Event in most cases.
So if i want like 10 special effects on my when casting a certain ability then i would have to repeat the trigger that you have made (the second one) 10X times but with different special effects?
 

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,517
No, you just repeat the Actions.

Create effect
Set duration
Run trigger
Create effect
Set duration
Run trigger
etc...

Just to clarify, all this system does is allow you to destroy an effect after a set delay.
 
Last edited:
Status
Not open for further replies.
Top