Revive Ability Trigger Glitch

Dameon

"All the power in the world resides in the eyes"
Reaction score
127
Hi guys, I got a weird problim here, I created a reincarnation spell for my mage hero and for some reason it glitches my revive trigger, so this is what happens, it creates the timer, the timer counts down and hit's 0 then the window is removed, but thats it, the hero is never revived. Now if I use another hero then the revive trigger works, just not with the mage.

The reincarnation is based off reincarnation, it has a 0 sec cast time and a 2 sec revival wait with a 30 sec cooldown.

Here is the trigger.
Code:
Hero Revive
    Events
        Unit - A unit Dies
    Conditions
        ((Triggering unit) is A Hero) Equal to True
    Actions
        -------- Revival Timer --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
            Then - Actions
                Game - Display to (All players) the text: ((Name of (Owner of (Triggering unit))) + 's Hero Has Fallen!)
                Countdown Timer - Start Main_Timer[(Player number of (Owner of (Triggering unit)))] as a One-shot timer that will expire in Real_Timers[(Player number of (Owner of (Triggering unit)))] seconds
                Countdown Timer - Create a timer window for Main_Timer[(Player number of (Owner of (Triggering unit)))] with title ((Name of (Owner of (Triggering unit))) + 's Hero Revival In )
                Set Main_TW[(Player number of (Owner of (Triggering unit)))] = (Last created timer window)
            Else - Actions
        Wait Real_Timers[(Player number of (Owner of (Triggering unit)))] seconds
        -------- Hero Revival --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
            Then - Actions
                Countdown Timer - Destroy Main_TW[(Player number of (Owner of (Triggering unit)))]
                For each (Integer Main_Interger[3]) from 1 to 2, do (Actions)
                    Loop - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                ((Owner of (Triggering unit)) is in Team[Main_Interger[3]]) Equal to True
                            Then - Actions
                                Hero - Instantly revive (Triggering unit) at Point_Field[Main_Interger[3]], Hide revival graphics
                                Camera - Pan camera for (Owner of (Triggering unit)) to Point_Field[Main_Interger[3]] over 3.00 seconds
                                Game - Display to (All players) the text: ((Name of (Owner of (Triggering unit))) + 's Hero Has Been Revived!)
                            Else - Actions
            Else - Actions
 

DrEvil

FCRI Associate!
Reaction score
111
Theres no condition for the first if/then/else ?

EDIT : Why not create a new trigger and do - Timer[Int A] expires through a loop on map init ( well the timer expires on the revive trigger ) .
- Then do loop 1-max_players ( On the revive trigger actions )
- if timer = Timer[Int A] then
-- revive Hero[Int A]


Or something like that.
 

Dameon

"All the power in the world resides in the eyes"
Reaction score
127
I just use the if then else's to tidy up the triggers a bit and hide long codes, I haven't noticed any side effects to it and it makes it way easyer to navigate thru the triggers.

Ps have already tryed the timer's revive version of revival triggers and they never worked right, I am trying to limit it to a single trigger. Plus as far as I know there is no way to compare a timer to a timer, only a timers real value can be compared as far as I know. Real value = amount timer left on timer, amount timer passed, initial time.

Pss. also as already said the trigger works fine with all my hero's except for the mage, so I think it is the ability causing the problim.
 

DrEvil

FCRI Associate!
Reaction score
111
I dont see why every uses wait's for gui reincarnation's.

All you do is start the timer
Add events to a trigger ( A timer expires or indexed timers )
And then do a check to see which timer expired
Then revive the unit[index] of the expired timer ( Which should be player number )

Its not realy much of a struggle ( IMO )

EDIT : Ok ... I might try and come up with something . ( I just read your edited post )
 

cleeezzz

The Undead Ranger.
Reaction score
268
explain it better, so the ability doesn't work? the unit dies with reincarn but it doesnt revive? or it dies while reincarn is in cooldown and it doesnt work?

for timer comparison, you might need some jass

Code:
Integer A 1 through 12
    custom script: if GetExpiredTimer() == udg_Timer[bj_forLoopAIndex] then
    blah
    blah
    blah
    customscript: endif
 

vypur85

Hibernate
Reaction score
803
Err... Because when a unit with Reincarnation is killed, it not considered 'dead'. It's alive while 'reincarnating'. Which was why your trigger did not fire specifically for your mage.
 

cleeezzz

The Undead Ranger.
Reaction score
268
question, why would you want the timer to trigger anyway, reincarn is supposed to do that.

oh my hero died!, Timer Window appears and starts counting down, 2 s later, the hero is revived but the timer is still going, it wouldn't make sense.
 

Dameon

"All the power in the world resides in the eyes"
Reaction score
127
sorry for not explaining it right

Ok the unit dies once and then the ability revives the unit, then the unit dies again before the abilitys cooldown is finished and the revival trigger kicks in, by default the revival is 45 secouns for the trigger. When the trigger reaches 0 it removes the timer window but dosen't revive the hero. The ability is unique to the mage class of hero and the mage class is the only ones the trigger wont revive.

Edit: when a unit dies with reincarnation it wont trigger the unit dies event unless reincarnation is in cooldown.

Ps my trigger did fire, hence the timer window being created and destroyed, the revival ability and revival trigger have ntohing to do with each other, the revival trigger is what is used to revive all the dieing hero's in the map, the reincarnation ability is just an ability the mages have.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top