Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sub EVENT_SPAWN {
- quest::modifynpcstat("min_hit",1595);
- quest::modifynpcstat("max_hit",2000);
- $counter = 0;
- $counter1 = 0;
- $counter2 = 0;
- $counter3 = 0;
- $counter4 = 0;
- $counter5 = 0;
- }
- sub EVENT_COMBAT {
- if ($combat_state == 1) {
- quest::settimer("adds",75);
- quest::shout("Aggro");
- quest::setnexthpevent(50);
- }
- if ($combat_state == 0) {
- quest::npcsize(15);
- quest::stoptimer("adds");
- quest::stoptimer("adds2");
- quest::stoptimer("poison");
- quest::stoptimer("disease");
- quest::stoptimer("deathtouch");
- quest::stoptimer("armorbreak");
- quest::shout("De Aggro");
- $counter = 0;
- $counter1 = 0;
- $counter2 = 0;
- $counter3 = 0;
- $counter4 = 0;
- $counter5 = 0;
- quest::depop(402145);
- quest::depop(402146);
- quest::depop(402147);
- quest::depop(402148);
- quest::depopall(402149);
- }
- }
- sub EVENT_TIMER {
- if ($timer eq "adds") {
- quest::shout("Come my servants! Do away with these interlopers!");
- quest::spawn2(402145,540947,0,-1,1499.1,-228.6,129.0);
- quest::spawn2(402146,540948,0,-97.4,1400.0,-228.6,62.8);
- quest::spawn2(402147,540945,0,-0.3,1273.1,-228.6,0.1);
- quest::spawn2(402148,540946,0,94.8,1400.0,-228.6,192.3);
- }
- if ($timer eq "adds2") {
- quest::shout("You will not win!");
- quest::spawn2(402145,0,0,-1,1499.1,-228.6,129.0);
- quest::spawn2(402146,0,0,-97.4,1400.0,-228.6,62.8);
- quest::spawn2(402147,0,0,-0.3,1273.1,-228.6,0.1);
- quest::spawn2(402148,0,0,94.8,1400.0,-228.6,192.3);
- }
- if ($timer eq "disease") {
- my @ClientList = $entity_list->GetClientList();
- foreach $i(@ClientList) {
- if ($i) {
- $npc->SpellFinished(5188, $i);
- }
- }
- }
- if ($timer eq "armorbreak") {
- my @ClientList = $entity_list->GetClientList();
- foreach $i(@ClientList) {
- if ($i) {
- $i->SpellFinished(5190, $i);
- }
- }
- }
- if ($timer eq "poison") {
- my @ClientList = $entity_list->GetClientList();
- foreach $i(@ClientList) {
- if ($i) {
- $npc->SpellFinished(5189, $i);
- }
- }
- }
- if ($timer eq "deathtouch") {
- my @ClientList = $entity_list->GetClientList();
- my $target = $ClientList[rand @ClientList];
- if ($target) {
- $npc->SpellFinished(7477,$target); #Cazic Touch 2
- }
- }
- }
- sub EVENT_HP {
- if ($hpevent <= 50 && $hpevent >= 49) {
- quest::shout("Come my Children!");
- quest::spawn2(402145,0,0,-1,1499.1,-228.6,129.0);
- quest::spawn2(402146,0,0,-97.4,1400.0,-228.6,62.8);
- quest::spawn2(402147,0,0,-0.3,1273.1,-228.6,0.1);
- quest::spawn2(402148,0,0,94.8,1400.0,-228.6,192.3);
- quest::stoptimer("adds");
- quest::settimer("adds2",45);
- }
- }
- sub EVENT_SIGNAL {
- my $npcname = $npc->GetCleanName();
- if ($signal == 1) {
- $minhit += 1595; #update with balanced minhit, bases, should scale +100 on each end
- $maxhit += 2000; #update with balanced maxhit, bases, should scale +100 on each end
- $counter += 1;
- quest::ze(14,"$npcname Grows in Size");
- $size = $counter;
- quest::npcsize(15 + $size);
- quest::modifynpcstat("min_hit",$minhit + 100); #balance
- quest::modifynpcstat("max_hit",$maxhit + 200); #Balance5
- $npc->SetHP($npc->GetHP() + 122500); #set for proper %s. 5% per mob will be #
- }
- if ($signal == 2) { #Southern Mobs
- $counter2 += 1;
- if ($counter2 == 2) {
- quest::settimer("disease", 50);
- }
- }
- if ($signal == 3) { #Northern Mobs
- $counter3 += 1;
- if ($counter3 == 2) {
- quest::settimer("armorbreak", 40);
- }
- }
- if ($signal == 4) { #Eastern Mobs
- $counter4 += 1;
- if ($counter4 == 2) {
- quest::settimer("poison", 45);
- }
- }
- if ($signal == 5) { #Western Mobs
- $counter5 += 1;
- if ($counter5 == 2) {
- quest::settimer("deathtouch", 60); #Random Client DT
- quest::shout("DT");
- }
- }
- }
- sub EVENT_SLAY { #Raises another Servant, this one is aggro and fights tho.
- if ($npc && $entity_list) {
- quest::shout("Rise! Serve your new master!");
- my $entida = quest::spawn2(402149,0,0,$x,$y,$z,$h); #need to get NPCid for this shit.
- if ($entida) {
- $entida->CastToNPC()->AddToHateList($npc->GetHateTop(),1);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment