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

Reincarnation Detection Loop Version 1.0

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
  • Like
Reactions: Almia
This is a simple GUI system that efficiently detects a reincarnation. This is the loop version will soon post an alternate version (also in GUI) using the GDD.

Give Credits when use this.

"Game - RD_Event Becomes Equal to 1.00" for when reincarnation begins.
"Game - RD_Event Becomes Equal to 2.00" for when it ends.
"(Load 0 of (Key (Picked unit)) from Hashtable) Equal to True" that the condition to see if the unit is reincarnating.
"(Load 0 of (Key (Picked unit)) from Hashtable) Equal to False" "this condition to check if the unit is not reincarnating.

Triggers:

  • Reincarnation Detection ADD Unit
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • ((Triggering unit) is in RD_Group) Equal to False
      • Or - Any (Conditions) are true
        • Conditions
          • (Learned Hero Skill) Equal to Reincarnation
    • Actions
      • Unit Group - Add (Triggering unit) to RD_Group
      • Unit Group - Pick every unit in RD_Group and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Triggering unit) Equal to (Picked unit)
            • Then - Actions
              • Hashtable - Save True as 0 of (Key (Picked unit)) in Hashtable
            • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Reincarnation Detection Check HP <gen> is on) Equal to False
        • Then - Actions
          • Trigger - Turn on Reincarnation Detection Check HP <gen>
          • Trigger - Turn on Reincarnation Detection Check Death <gen>
        • Else - Actions
  • Reincarnation Detection Check HP
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in RD_Group and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Life of (Picked unit)) Less than 1.00
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Load 0 of (Key (Picked unit)) from Hashtable) Equal to True
                  • (Load 1 of (Key (Picked unit)) from Hashtable) Not equal to True
                • Then - Actions
                  • Set RD_Unit = (Picked unit)
                  • Set RD_Event = 1.00
                  • Hashtable - Save True as 1 of (Key (Picked unit)) in Hashtable
                  • Set RD_Event = 0.00
                • Else - Actions
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Load 0 of (Key (Picked unit)) from Hashtable) Equal to False
                • Then - Actions
                  • Hashtable - Save True as 0 of (Key (Picked unit)) in Hashtable
                  • Hashtable - Save False as 1 of (Key (Picked unit)) in Hashtable
                • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Life of (Picked unit)) Greater than 1.00
              • (Load 0 of (Key (Picked unit)) from Hashtable) Equal to True
              • (Load 1 of (Key (Picked unit)) from Hashtable) Equal to True
            • Then - Actions
              • Hashtable - Save False as 1 of (Key (Picked unit)) in Hashtable
              • Set RD_Unit = (Picked unit)
              • Set RD_Event = 2.00
              • Set RD_Event = 0.00
            • Else - Actions
  • Reincarnation Detection Check Death
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Triggering unit) is in RD_Group) Equal to True
    • Actions
      • Unit Group - Pick every unit in RD_Group and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Triggering unit) Equal to (Picked unit)
            • Then - Actions
              • Hashtable - Save False as 0 of (Key (Picked unit)) in Hashtable
            • Else - Actions

Keywords:
reincarnation, reincarnation detection, reincarnation system, custom reincarnation.
Contents

Just another Warcraft III map (Map)

Reviews
12th Dec 2015 IcemanBo: Too long as NeedsFix. Rejected. There are some issues like *The hashtable should be created at 0.00 game time *Your loop is constantly running *Inefficient triggers Instead of using two memory slots (saving 0 and...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: Too long as NeedsFix. Rejected.

Reviewed by Maker, Reincarnation Detection Loop v1.0, 19th Dec 2012

There are some issues like
*The hashtable should be created at 0.00 game time
*Your loop is constantly running
*Inefficient triggers

Instead of using two memory slots (saving 0 and 1), you could
check true/false/value exists. Flush the child hashtable when unit is alive again

I must set this to await updating, but it might get rejected anyway.
Bribe's unit event system covers reincarnation and does it in a better way.
 
Top