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

Lifebloom like ability, heal over time

Status
Not open for further replies.
Level 2
Joined
Dec 6, 2005
Messages
23
Okay, I'm making this ability that's akin to Lifebloom from World of Warcraft (if anyone knows what that is), basically it's a HoT which heals for an amount over time but when the duration of the spell ends it does a burst heal.
An advanced feature I'd like to add (if possible) as well is for the burst heal to be applied either when the spell ends or is dispelled.

So far I based the spell off of Rejuvination (obviously) and I'm trying to trigger the final burst heal effect.

Here's what I have so far (it looks a bit retarded, I know lol):

  • Events
  • Unit - A unit Starts the effect of an ability
  • Actions
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • (Ability being cast) Equal to Flourish
    • Then
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Flourish for (Triggering Unit)) Equal to 1
        • Then - Actions
          • Wait 9.00 Seconds
          • Unit - Set life of (Target unit of ability being cast) to ((Life of (Target unit of ability being cast)) + 100.00)
          • Special Effect - Create a special effect attached to the overhead of (Target unit of ability being cast) using Abilities\Spells\Items\ResourceItems\ResourceEffectTarget.mdl
          • Wait 0.01 Seconds
          • Set SpecialFX = (Last created Special Effect)
          • Trigger - Run SFXDestroy <gen> (ignoring conditions)
        • Else - Actions
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • (Ability being cast) Equal to Flourish
    • Then
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Flourish for (Triggering Unit)) Equal to 2
        • Then - Actions
          • Wait 9.00 Seconds
          • Unit - Set life of (Target unit of ability being cast) to ((Life of (Target unit of ability being cast)) + 125.00)
          • Special Effect - Create a special effect attached to the overhead of (Target unit of ability being cast) using Abilities\Spells\Items\ResourceItems\ResourceEffectTarget.mdl
          • Wait 0.01 Seconds
          • Set SpecialFX = (Last created Special Effect)
          • Trigger - Run SFXDestroy <gen> (ignoring conditions)
        • Else - Actions
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • (Ability being cast) Equal to Flourish
    • Then
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Flourish for (Triggering Unit)) Equal to 3
        • Then - Actions
          • Wait 9.00 Seconds
          • Unit - Set life of (Target unit of ability being cast) to ((Life of (Target unit of ability being cast)) + 130.00)
          • Special Effect - Create a special effect attached to the overhead of (Target unit of ability being cast) using Abilities\Spells\Items\ResourceItems\ResourceEffectTarget.mdl
          • Wait 0.01 Seconds
          • Set SpecialFX = (Last created Special Effect)
          • Trigger - Run SFXDestroy <gen> (ignoring conditions)
        • Else - Actions
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • (Ability being cast) Equal to Flourish
    • Then
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Flourish for (Triggering Unit)) Equal to 4
        • Then - Actions
          • Wait 9.00 Seconds
          • Unit - Set life of (Target unit of ability being cast) to ((Life of (Target unit of ability being cast)) + 145.00)
          • Special Effect - Create a special effect attached to the overhead of (Target unit of ability being cast) using Abilities\Spells\Items\ResourceItems\ResourceEffectTarget.mdl
          • Wait 0.01 Seconds
          • Set SpecialFX = (Last created Special Effect)
          • Trigger - Run SFXDestroy <gen> (ignoring conditions)
        • Else - Actions
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • (Ability being cast) Equal to Flourish
    • Then
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Flourish for (Triggering Unit)) Equal to 5
        • Then - Actions
          • Wait 9.00 Seconds
          • Unit - Set life of (Target unit of ability being cast) to ((Life of (Target unit of ability being cast)) + 150.00)
          • Special Effect - Create a special effect attached to the overhead of (Target unit of ability being cast) using Abilities\Spells\Items\ResourceItems\ResourceEffectTarget.mdl
          • Wait 0.01 Seconds
          • Set SpecialFX = (Last created Special Effect)
          • Trigger - Run SFXDestroy <gen> (ignoring conditions)
        • Else - Actions
        • Do Nothing
  • Else - Actions
  • Do Nothing
EDIT: Oops I just realised I put this in the wrong forum, sorry :/

SFXDestroy <gen> :

  • Actions
    • Wait 2.00 game-time seconds
    • Special Effect - Destroy SpecialFX
 
Last edited:
Level 15
Joined
Jan 16, 2008
Messages
1,244
Okay, that's not good... Way too complicated for a matter that simple. Does the spell have to be mui or no? Anyway, if it's not mui, then you need a global variable for storing the caster and a periodic trigger to check if the buff is still there. In the periodic trigger, when no buff is detected, you add the effect, heal and end the repeating. If it's not mui, you need a jass function. If it has to be mui, pm me and i'll make it for you.
 
Level 2
Joined
Dec 6, 2005
Messages
23
Okay, that's not good... Way too complicated for a matter that simple. Does the spell have to be mui or no? Anyway, if it's not mui, then you need a global variable for storing the caster and a periodic trigger to check if the buff is still there. In the periodic trigger, when no buff is detected, you add the effect, heal and end the repeating. If it's not mui, you need a jass function. If it has to be mui, pm me and i'll make it for you.

It doesn't have to be Mui as it's single player.
Thanks I'll try that!
 
Level 2
Joined
Dec 6, 2005
Messages
23
Okay er... I kinda went off on a tangent and have now come up with three triggers, lmao!

  • //FlourishStart
  • Events
    • Unit - A unit starts the effect of an ability
  • Conditions
    • (Ability being cast) equal to Flourish
  • Actions
    • Set TargetofFlourish = (Target unit of ability being cast)
  • //Flourish
  • Events
    • Time - Every 1.00 seconds of game time
  • Conditions
  • Actions
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (TargetofFlourish has buff Flourish) Equal to True
      • Then - Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Level of Flourish for Troll Priest 0001 <gen>) Less than or equal to 1
          • Then - Actions
            • Trigger - Run FlourishEffect <gen> (ignoring conditions)
            • Wait 0.01 seconds
            • Trigger - Turn off (this trigger)
            • Else - Actions
  • Elst - Actions
  • //FlourishEffect
  • Events
  • Conditions
  • Actions
    • Wait 8.50 seconds
    • Unit - Set life of TargetofFlourish to ((Life of TargetofFlourish) + 100.00)
    • Special Effect - (Create a special effect attached to the chest of TargetofFlourish using Abilities\Spells\Items\ResourceItems\ResourceEffectTarget.mdl
    • Set SpecialFX = (Last created special effect)
    • Wait 0.50 seconds
    • Trigger - Run SFXDestroy <gen> (ignoring conditions)
    • Trigger - Turn on Flourish <gen>
  • //SFXDestroy
  • Events
  • Conditions
  • Actions
    • Wait 2.00 game-time seconds
    • Special Effect - Destroy SpecialFX
It's not finished but I cast it once and the effect worked... It healed the unit over time and then burst healed it with the effect.
I can't get my head around how to do this trigger without making it really long, maybe I'm just not understanding what you suggested? <_<

Gah this is hilarious, it's more complicated than before but now at least it works :D
 
Status
Not open for further replies.
Top