This is a bit of a whopper, but it works. I have posted all the PL files here also, for download;
http://www.nahunta.org/~angelox/ Note: you can use these pls as - is, but will have to make the NPC's and replace the NPC id numbers.
Dagnor's Cauldron (PEQ version) still needs a lot of work done - for starters, all the rats, snakes, skeltons are roamers - so are a lot of the goblins. A lot of the mobs roam from the island in the center, to the borders of the lake. The four NPC's at the npc camp you pass as you head for for the zone of unrest, call themselves the "Fabulous Four" one of them will heal you on request (Nyrien Lyrdarniel), and another Sigan Ilbirkun will "escort" you out whan properly asked. All four of them hate rats, snakes, gobbies, etc., and will gang up on them and kill if they cross their camp. A lot of mobs path through the Fab Four camp and get killed, this serves as a "safe zone" for players and helps "throw" the tracker-class pc types.
At one time, Bilge Farfathom and his "Pearl Kedge Totem" were very sought out - in the days when 1k pp meant something, the Totem had a big price tag on it for around 20K. I had a few friends who went on a "get rich fast" quest and thought they were going to drop Bilge quick. Most never even saw him. You could sit there for days, and never see him - usually, when he did show up, it was because people were playing in the zone, and not someone camping him. I camped him like crazy too for days, never saw him - but once passing through, I got him and another time got him just during normal play, when the zone had a lot of players. I think to this day, no one has never really figured out the Bilge Farfathom spawn pattern - they have a good idea where he spawns, but don't know what mob triggers the Bilge spawn.
Anyways, I figure the trigger must be in the water somewhere, as no one ever plays in the water because there's nothing to do there. heres what I did: made a loop of four spawns in the water;
MobA is outside the loop in the gobbie camp by unrest zone he's the loop starter.
(all are Event_Death)
MobA spawns normal off the eqemu / database.
mobA dies and spawns MobB , then flags himself not to spawn anymore npc's in
the loop when he respawns;
Code:
#Bilge Farfathom spawn
#npc - #aqua_goblin_mariner - randomly spawns 1 of 4 Bilge triggers around the zone)
#zone - Dagnors Cauldron
sub EVENT_DEATH{
my $a=70060; #npc - an_aqua_goblin_mariner starts the loop
if ($mdied==1){ #mariner died once
#quest::say("I already died once!");
}else{
#quest::say("Starting cycle");
quest::spawn2($a,5,0,-296.37,-122.31,-349.32,122);
$mdied=1; #mark mariner died once
}
}
rest are in the water ad different locations,
MobB is killed and spawns MobC 90%, and 10% Bilge Farfathom.
MobC is killed and spawns MobD 90%, and 10% Bilge Farfathom.
MobD is killed and spawns MobE 90%, and 10% Bilge Farfathom.
MobE is killed and spawns MobB 90%, and 10% Bilge Farfathom; MobE will start
at the top again.
Code:
#Bilge Farfathom spawn
#npc - #a_caulderon_rat (trigger for #Bilge_Farfathom 70059)
#zone - Dagnors Cauldron
sub EVENT_DEATH{
my $random_result = int(rand(100));
my $a=70059; #Bilge
my $b=70062; #npc - #an_undertow_skeleton
if($random_result<90){
quest::spawn2($b,6,0,-974.5,436.4,-343.8,29);
#quest::say("spawn skele");
}else{
#quest::say("Spawning Bilge Farfathom");
quest::spawn2($a,4,0,-1123.30,-1194.57,-98.32,122);
};
};
Code:
#Bilge Farfathom spawn
#npc - #an_undertow_skeleton (trigger for Bilge)
#zone - Dagnors Cauldron
sub EVENT_DEATH{
my $random_result = int(rand(100));
my $a=70059; #Bilge
my $b=70060; #npc - an_aqua_goblin_mariner
if($random_result<90){
quest::spawn2($b,6,0,-974.5,436.4,-343.8,29);
#quest::say("spawn mariner");
}else{
#quest::say("Spawning Bilge Farfathom");
quest::spawn2($a,4,0,-1123.30,-1194.57,-98.32,122);
};
};
Code:
#Bilge Farfathom spawn
#npc - an_aqua_goblin_mariner (trigger for #Bilge_Farfathom 70059)
#zone - Dagnors Cauldron
sub EVENT_DEATH{
my $random_result = int(rand(100));
my $a=70059; #Bilge
my $b=70061; #npc - #aqua_goblin_shaman
if($random_result<90){
quest::spawn2($b,6,0,-974.5,436.4,-343.8,29);
#quest::say("spawn shaman");
}else{
#quest::say("Spawning Bilge Farfathom");
quest::spawn2($a,4,0,-1123.30,-1194.57,-98.32,122);
};
};
Code:
#Bilge Farfathom spawn
#npc - #aqua_goblin_shaman (trigger for #Bilge_Farfathom 70059)
#zone - Dagnors Cauldron
sub EVENT_DEATH{
my $random_result = int(rand(100));
my $a=70059; #Bilge
my $b=70063; #npc - #a_cauldron_rat
if($random_result<90){
quest::spawn2($b,6,0,-974.5,436.4,-343.8,29);
#quest::say("spawn rat");
}else{
#quest::say("Spawning Bilge Farfathom");
quest::spawn2($a,4,0,-1123.30,-1194.57,-98.32,122);
};
};
If Bilge Farfathom happens to spawn, The loop will go on hold tell he dies -
when he dies, he restarts the loop with a 25% chance to any one of the four
above to spawn;
Code:
#Bilge Farfathom spawn
#npc - #Bilge_Farfathom - randomly spawns 1 of 4 Bilge triggers around the zone)
#zone - Dagnors Cauldron
#Angelox
sub EVENT_DEATH{
my $random_result = int(rand(100));
my $a=70060; #npc - an_aqua_goblin_mariner
my $b=70062; #npc - #an_undertow_skeleton
my $c=70061; #npc - #aqua_goblin_shaman
my $d=70063; #npc - #a_cauldron_rat
if($random_result<25){
#quest::say("Spawning mariner trigger1");
quest::spawn2($a,5,0,-296.37,-122.31,-349.32,122);
}elsif(($random_result>=25) && ($random_result<50)){
#quest::say("Spawning skeleton trigger2");
quest::spawn2($b,6,0,-974.5,436.4,-343.8,29);
}elsif(($random_result>=50) && ($random_result<75)){
#quest::say("Spawning shaman trigger3");
quest::spawn2($c,7,0,-848.3,-184.8,216.3,37.3);
}else{
#quest::say("Spawning rat trigger4");
quest::spawn2($d,8,0,612.6,625.2,209.0,175.6);
};
};
Also, you need to make the "Fab Four" group work, so they kill roamers and help keep the cycle covered, If you do, I could use the PLs you make too.
You'll notice that all these spawns eventually end up at the NPC camp, and should get killed.