Was wondering if this would work, dont want to waste my time doing it if it wont.
Three quest scripts, one for a main boss mob, one for the untargetable version of the main boss, one a smaller mob.
Main Boss Script has a timer that loops around every 1 second. Each time the timer loops, it quest::signal the smaller mob script.
Smaller mob script when signaled checks if the x, y, and z coords of the mob are greater than or equal to a value, if true, it quest::signal both the Boss mob script AND the untargetable mob script.
Main boss script when signaled will despawn the main boss, and respawn with an untargetable version of itself.
Untargetable boss mob script when spawned will start two timers. One that will loop every 1 second, that will signal the Smaller Mob script, and one that will loop say every...60 seconds.
Since the untargetable mob script is now spawned, IF it is signaled by the smaller mob script, it will despawn itself and then respawn the exact same untargetable mob, resetting the 60second timer.
If the 60 second timer finishes without being reset, the untargetable mob will despawn, and spawn the original targetable boss mob.
In case I lost you anywhere in there here's a basic overview. NOT full quest scripts, just ideas.
MAIN BOSS MOB
Code:
sub EVENT_SPAWN
{
quest::settimer(1,1);
}
sub EVENT_TIMER
{
quest::signal(SmallerMob);
}
sub EVENT_SIGNAL
{
quest::stoptimer(1);
quest::spawn(UntargetableMob,0,0,$x,$y,$z);
quest::depop();
}
SMALLER MOB
Code:
sub EVENT_SIGNAL
{
if($x >= 50 && y <= 50 && z == 100)
{
quest::signal(BossMob);
}
}
UNTARGETABLE MOB
Code:
sub EVENT_SPAWN
{
quest::settimer(1,1);
quest::settimer(2,60);
}
sub EVENT_TIMER
{
quest::signal(SmallerMob);
}
{
quest::stoptimer(1);
quest::stoptimer(2);
quest::spawn(BossMob,0,0,$x,$y,$z);
quest::depop();
}
sub EVENT_SIGNAL
{
quest::stoptimer(1);
quest::stoptimer(2);
quest::spawn(UntargetableMob,0,0,$x,$y,$z);
}
I just thought this up tonight, dunno if it will work. Plz post feedback.