Always good to swap SPAWN to AGGRO when it comes to combat timers/triggers.
First issue, you have + and - in the spawn locations for some of the spawns (ex: $y + - 20). $userid works for the spell casts also.
Code:
sub EVENT_AGGRO {
quest::setnexthpevent(90);
}
sub EVENT_HP {
if ($hpevent == 90) {
quest::spawn2(999245,0,0,$x + 10,$y,$z,$h); #a dream defiler
quest::spawn2(999245,0,0,$x + 20,$y,$z,$h); #a dream defiler
quest::spawn2(999245,0,0,$x - 10,$y,$z,$h); #a dream defiler
quest::spawn2(999245,0,0,$x - 20,$y,$z,$h); #a dream defiler
quest::spawn2(999245,0,0,$x,$y + 10,$z,$h); #a dream defiler
quest::spawn2(999245,0,0,$x,$y + 20,$z,$h); #a dream defiler
quest::spawn2(999245,0,0,$x,$y - 10,$z,$h); #a dream defiler
quest::spawn2(999245,0,0,$x,$y - 20,$z,$h); #a dream defiler
$npc->CastSpell(16950,$userid);
quest::setnexthpevent(60);
}
if ($hpevent == 60) {
quest::spawn2(999246,0,0,$x + 70,$y + 80,$z,$h); #a dream defiler
quest::spawn2(999246,0,0,$x + 70,$y + 70,$z,$h); #a dream defiler
quest::spawn2(999246,0,0,$x + 70,$y + 60,$z,$h); #a dream defiler
quest::spawn2(999246,0,0,$x + 70,$y + 40,$z,$h); #a dream defiler
quest::spawn2(999246,0,0,$x + 70,$y + 20,$z,$h); #a dream defiler
quest::spawn2(999246,0,0,$x + 70,$y - 80,$z,$h); #a dream defiler
quest::spawn2(999246,0,0,$x + 70,$y - 70,$z,$h); #a dream defiler
quest::spawn2(999246,0,0,$x + 70,$y - 60,$z,$h); #a dream defiler
quest::spawn2(999246,0,0,$x + 70,$y - 40,$z,$h); #a dream defiler
quest::spawn2(999246,0,0,$x + 70,$y - 20,$z,$h); #a dream defiler
quest::spawn2(999246,0,0,$x + 70,$y,$z,$h); #a dream defiler
$npc->CastSpell(3150, $userid);
quest::setnexthpevent(36);
}
if ($hpevent == 36) {
quest::spawn2(999245,0,0,$x + 10,$y,$z,$h); #a dream defiler
quest::spawn2(999245,0,0,$x + 20,$y,$z,$h); #a dream defiler
quest::spawn2(999245,0,0,$x - 10,$y,$z,$h); #a dream defiler
quest::spawn2(999245,0,0,$x - 20,$y,$z,$h); #a dream defiler
quest::spawn2(999245,0,0,$x,$y + 10,$z,$h); #a dream defiler
quest::spawn2(999245,0,0,$x,$y + 20,$z,$h); #a dream defiler
quest::spawn2(999245,0,0,$x,$y - 10,$z,$h); #a dream defiler
quest::spawn2(999245,0,0,$x,$y - 20,$z,$h); #a dream defiler
$npc->CastSpell(16950, $userid);
}
}
sub EVENT_DEATH {
quest::we(15, " $name has defeated Touch, The Merciless");
quest::stoptimer(1);
}
I would also add Combat checks and depops for adds for when players fail the fight. Example below.
Code:
sub EVENT_COMBAT {
#Spawn the door guards to prevent running outside the cave
if($combat_state == 1) {
quest::spawn2(1247,0,0,2577,-2068,4,125);
quest::spawn2(1247,0,0,2559,-2070,4,124);
}
#DeSpawn door guards and adds if raid wipes
if($combat_state == 0) {
quest::signalwith(1247, 1, 0);
quest::signalwith(1248, 1, 0);
}
}
Put this on adds
Code:
sub EVENT_SIGNAL {
if ($signal == 1) {
quest::depop();
}
}
|