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

[Trigger] Passive Sion ability (LOL)

Status
Not open for further replies.
Level 5
Joined
Aug 20, 2015
Messages
133
Hekko everyone
I tryed to recreate passive Sion ability (for League of Legends), and here is it
It works perfect for me, but i want to get some suggestions for improvements, or maybe another way to do it
  • set hero for skill
    • Events
      • Time - Elapsed game time is 0.02 seconds
    • Conditions
    • Actions
      • Set darkrebirthhero = Lord Garithos 0102 <gen>
  • garitos dies
    • Events
      • Unit - Lord Garithos 0102 <gen> Dies
    • Conditions
    • Actions
      • Set TempPoint = (Position of darkrebirthhero)
      • Hero - Instantly revive darkrebirthhero at TempPoint, Hide revival graphics
      • Unit - Pause darkrebirthhero
      • Animation - Play darkrebirthhero's death animation
      • Unit - Make darkrebirthhero Invulnerable
      • Countdown Timer - Start TIMER123 as a One-shot timer that will expire in 5.00 seconds
      • Trigger - Turn off (This trigger)
      • Set Hp_counter = 1.00
      • Custom script: call RemoveLocation(udg_TempPoint)

  • garitos rebirth
    • Events
      • Time - TIMER123 expires
    • Conditions
    • Actions
      • Animation - Play darkrebirthhero's stand animation
      • Unit - Make darkrebirthhero Vulnerable
      • Unit - Unpause darkrebirthhero
      • Unit - Add !@Bash (Neutral Hostile 1) to darkrebirthhero
      • Unit - Add !Item Attack Speed Bonus 99999 to darkrebirthhero
      • Trigger - Turn on garitos hp dmg and effs <gen>
      • Trigger - Turn on garitos dies after <gen>
  • garitos hp dmg and effs
    • Events
      • Time - Every 0.50 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Life of darkrebirthhero) Greater than 1.00
        • Then - Actions
          • Set Hp_counter = (Hp_counter + 1.00)
          • Unit - Set life of darkrebirthhero to ((Life of darkrebirthhero) - ((((Max life of darkrebirthhero) x 0.01) + (Hp_counter + 0.50)) x 0.55))
          • Special Effect - Create a special effect attached to the overhead of darkrebirthhero using Abilities\Spells\Undead\CarrionSwarm\CarrionSwarmDamage.mdl
          • Special Effect - Destroy (Last created special effect)
        • Else - Actions
          • Set Hp_counter = 1.00
  • garitos dies after
    • Events
      • Unit - Lord Garithos 0102 <gen> Dies
    • Conditions
    • Actions
      • Trigger - Turn off garitos hp dmg and effs <gen>
      • Unit - Remove !@Bash (Neutral Hostile 1) from darkrebirthhero
      • Unit - Remove !Item Attack Speed Bonus 99999 from darkrebirthhero
      • Trigger - Turn off (This trigger)
      • Trigger - Turn off garitos hp dmg and effs <gen>
      • Trigger - Turn on garitos dies <gen>
 
Last edited:
How to make this MUI (Multi Unit Instantiable, aka. usable for more than one unit):

  • Instead of having a unit variable named darkrebirthhero, create a group named darkrebirthheroes.
  • When a unit dies, check if it has the sion spell. If so, add it to the group.
  • Save the "hp_counter" value in a hashtable with the added unit as key. Perhaps save a flag value to say that the unit has died once.
  • Every 0.5 seconds, pick all units in darkrebirthheroes, and apply actions for picked unit (you can retrieve the hp_counter value from the hashtable).
  • For the timer stuff... this would be an easy problem in JASS, but in GUI, it would probably be easiest to have a separate time counter for each unit which is incremented in some timer loop (like, each 0.1 seconds, for each unit in blabla, increment counter (from hashtable) by 0.1).
 
Level 5
Joined
Aug 20, 2015
Messages
133
How to make this MUI (Multi Unit Instantiable, aka. usable for more than one unit):
  • Save the "hp_counter" value in a hashtable with the added unit as key. Perhaps save a flag value to say that the unit has died once.
  • Every 0.5 seconds, pick all units in darkrebirthheroes, and apply actions for picked unit (you can retrieve the hp_counter value from the hashtable).
  • For the timer stuff... this would be an easy problem in JASS, but in GUI, it would probably be easiest to have a separate time counter for each unit which is incremented in some timer loop (like, each 0.1 seconds, for each unit in blabla, increment counter (from hashtable) by 0.1).

yeah, i got your point
but i am not familiar with hashables, so i m afraid, i cant do it for a some time (until i have time to learn it)
BUT - i am heavily using Bribe's Unit Indexer, and was succeded to make some good spells with that tool
and good idea for separate stacks for the timers, was thinking same way
 
Status
Not open for further replies.
Top