Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Completed

Quests::Completed This is where Completed quests are.

Reply
 
Thread Tools Display Modes
  #1  
Old 07-29-2007, 11:14 AM
BWStripes
Sarnak
 
Join Date: Jun 2007
Location: Finland
Posts: 65
Default Shaman Cannibalize II

Promised someone I'd write this up for them. The SQL entries against CVS download I got 6 hours ago.

Good version below. Evil side to follow tomorrow when I've finished having fun with the Great Oowomp's dancing skeleton

Mods: 3x quest files (two posted one to follow), ground spawn entry required, a tradeskill recipe required and also one npc loot needs adjusting.

The easy quest bit:

firiona/Marlyn_McMerin.pl
Code:
#############
#Quest Name: McMerin's Feast - "Good" Races, or any with FV faction
#Author: BWStripes
#NPC's Involved: 1
#Items involved: 4
#############
###NPC 1
#Name: Marlyn McMerin
#Race 1 (Barbarian), Texture of 1, Size 7, gender of 1
#Location XYZ: 1669.0, -3813.0, -102.379997 in Firiona vie
#Level: 40
#Type: Merchant
#Reward:
# 12941: Spell: Cannibalize II
#############
###Item 1
#Name: Clay of Ghiosk. - Comes from Army Behemoths in the City of Mist - Called Strange Ochre Clay, and identifies as "Clay of Ghiosk".
#ID: 12942
###Item 2
#Name: Crushed Diamonds (LORE: Crushed Dread Diamond)
# You can find Crushed Diamonds as a ground spawn in the Timorous Deep on the Golra island at -8850, -6040.
# Or, get a dufrenite, and head tothe Dreadlands, in the area with all the wizard spires, there is a MOB called "gem cutter skeleton". He is inside one of the pyramids (there's an entrance on the ground), and is KOS to everyone. An Enchanter, Necro, or Bard is required to charm him so that you can hail him, and he talks about sparklies. Ask him "what dread diamond," and he offers to trade a dufrenite for one. Give him a dufrenite (while he's charmed) and he gives you a "Dread Diamond" [No Drop](not crushed), and says how they are very valuable but more so in the crushed form, and that you would require high skill and a spectral pestle to crush it.
# The spectral pestles are found on spectral guardians in Kaesora and Trakanon's Teeth, and combining the dread diamond + spectral pestle to make Crushed Diamonds, which identifies as "Crushed Dread Diamonds" (trivializes at around 70 Alchemy skill, so make sure your skill is high enough - you lose the pestle, but get the diamond back).
#ID: 12945
###Item 3
#Name: Yun Shaman Powder - from Froglok Yun Shamans in Trakanon's Teeth. Black, NO TRADE.
#ID: 12944
###Item 4
#Name: Greyish Bone Chips - from Skeleton Warlords in Karnor's Castle
#ID: 12943
###

# Quest for Spell: Cannibalize II - good version - most of the text is improvised as unavailable.
#

sub EVENT_SAY {
  if($text =~ /hail/i) {
    quest::say("Greetings hearty adventurer. Searching for the components necessary for fine shaman spells are we? I have come to Kunark in search of [rare alchemy components], but I have found the dangers of Kunark are far too great for me.");
  }
  if($text=~/rare alchemy components/i){
    quest::say("Grand!! I have heard word of [four rare components]. Collect them for me and I will share with you a rare scroll of [McMerin's Feast].");
  }
  if($text=~/McMerins Feast/i){
    quest::say("Clan McMerin are wise shamans from the North. The secret of McMerin's Feast won't be understandable unless you're a shaman, but you can always pass it on to one.");
  }
  if($text=~/McMerin's Feast/i){
    quest::say("Clan McMerin are wise shamans from the North. The secret of McMerin's Feast won't be understandable unless you're a shaman, but you can always pass it on to one.");
  }
  if($text=~/four rare components/i){
    quest::say("From the lands of Kunark we require some clay of Ghiosk, crushed dread diamond and some powder of a Yun shaman. The rarest component is the bones of one who touched the Bath of Obulus. Find these things, return them to me and the secret of [McMerin's Feast] is yours.");
  }
}

sub EVENT_ITEM {
  if (plugin::check_handin(\%itemcount, 12942=>1, 12945 => 1, 12944 => 1, 12943 =>1)){
    quest::say("What's this? This is amazing - you collected them all! To think, the power that these items hold if properly used. Never mind that now, here, take the scroll. You've certainly earned it.");
    quest::exp(45000);
    quest::summonitem(12941);
  }
  else {
    plugin::return_items(\%itemcount);
    quest::say("Whats this? I don't want this, have it back.");
  }
}

#END of FILE Zone:firiona - Marylyn_McMarin
Note: the gem cutter skeleton in PEQ is non-KOS. In EQ, it was KOS and needed to be charmed. Don't blame me if this gets changed :p
dreadlands/gem_cutter_skeleton.pl
Code:
#############
#Quest Name: A dufrenite for a boon
#Author: BWStripes
#NPC's Involved: 1
#Items involved: 1
#############
###NPC 1
#Name: Gem_Cutter_Skeleton
#Race 367 (Human Skeleton), Texture of 0, Size 6, gender of 2
#Location X,Y,Z: 9368.0, 580.0, 1068.2 in Dreadlands
#Level: 23,25,27 depending on pop, has PHs
#Type: Mob/Quest NPC
#Reward:
#12946: Dread Diamond
#############
###Item 1
#Name: Dufrenite
#ID: 10073
###

#This mob, usually KoS had to be charmed by an enchanter/bard before he would talk.
#Since this wasn't the case in PEQ at time of writing, should work normally. Text is completely improvised. Yes, I know its actually the drumming anim, but its close.

#Quest for Guard Elron in North Qeynos
sub EVENT_SAY {
  if($text=~/Hail/i){
    quest::doanim(39);
    quest::emote("appears to be busy cutting a green gem; upon your greeting, it jumps, fleshless hands slipping carelessly and breaking the gem into powder.");
    quest::settimer("distracted",2);
  }
  if($text=~/green gem/i){
    quest::say("The greenest of gems I seek! Jade too brittle, emerald too hard, but [dufrenite]! Ahh, now there is a gem amongst gems.");
  }
  if($text=~/dufrenite/i){
    quest::say("Yes, dufrenite! Find me a dufrenite to replace the one you made me break. Now go!");
  }
}

sub EVENT_ITEM {
  if (plugin::check_handin(\%itemcount,10073=>1)) {
    quest::emote("eyes sparkle as you hand it the gem.");
    quest::say("Yes! Yes! This is the greenest of gems!");
    quest::summonitem("12946");
    quest::say("Worth more to you crushed, that is! Find a spectral pestle, and crush it to dust!");
    quest::exp("3000");
    quest::settimer("cutting",4);
  }
  else {
    plugin::return_items(\%itemcount);
    quest::say("Ha! Worthless to me, this is! I return it!");
  }
}

sub EVENT_TIMER {
  if ($timer eq "distracted") {
    quest::doanim(20);
    quest::say("Blast it! Distracted me you have! Now I need a new [green gem]!");
    quest::stoptimer("distracted");
  }
  if ($timer eq "cutting") {
    quest::emote("carries on cutting gems, oblivious to your presence.");
    quest::doanim(39);
    quest::stoptimer("cutting");
  }
}

#END of FILE Zone: dreadlands -- gem_cutter_skeleton
SQL update follows.....

Last edited by BWStripes; 07-29-2007 at 07:17 PM.. Reason: removed random anim snippet as frivilous
Reply With Quote
  #2  
Old 07-29-2007, 11:20 AM
BWStripes
Sarnak
 
Join Date: Jun 2007
Location: Finland
Posts: 65
Default

Onwards and SQLwards...

The ground spawn for the Crushed Diamonds. Timer is approx from what I remember people complaining about - i.e pretty long.
Code:
insert into ground_spawns (zoneid,max_x,max_y,max_z,min_x,min_y,heading,name,item,max_allowed,comment,respawn_timer) values ('96','-6040.000','-8850.000','26.300','-6040.000','-8850.000','0','Crushed Diamonds','12945','1','Crushed Diamond spawn for Spell: Cannibalize II quest','4200');
This updates the alchemy tradeskill recipes for people doing the diamond the "hard way":
Code:
insert into tradeskill_recipe (name,tradeskill,skillneeded,trivial,nofail,replace_container) values ('Crushed Dread Diamond','59','0','70','0','0','Cannibalize II quest recipe');
Get the recipe ID of the above entry, and replace 9181 below:
Code:
insert into tradeskill_recipe_entries (recipe_id,item_id,successcount,failcount,componentcount,iscontainer) values('9181','12945','1','0','0','0');
insert into tradeskill_recipe_entries (recipe_id,item_id,successcount,failcount,componentcount,iscontainer) values('9181','12947','0','0','1','0');
insert into tradeskill_recipe_entries (recipe_id,item_id,successcount,failcount,componentcount,iscontainer) values('9181','12946','0','1','1','0');
insert into tradeskill_recipe_entries (recipe_id,item_id,successcount,failcount,componentcount,iscontainer) values('9181', '17901','0','0','0','1');
insert into tradeskill_recipe_entries (recipe_id,item_id,successcount,failcount,componentcount,iscontainer) values('9181', '17770','0','0','0','1');

Update Yun shaman drop table for Powder of Yun:
Code:
insert into lootdrop (name) values('1881_Froglok_Yun_Shaman_Quest');
Get the id if the lootdrop row you just inserted, and use it below, replacing 87376 with your own ID
Code:
insert into loottable_entries (loottable_id,lootdrop_id,multiplier, probability) values ('1881','87376','1','100');
insert into lootdrop_entries (lootdrop_id,item_id,item_charges,equip_item,chance) values('87376','12944','1','0','100');
Note:
No posts indicated anything other than 100% drop rate, as the mob was KoS to the rest of the zone mobs and therefore difficult to get. PEQ has non-kos wanderers. Adjust probabilities at your whim.
Also, posts are confused as to whether the powder was black, or white. The truth is that it is both, because the icon gets swapped depending on the zone you're in :p

I'll post up Oowomp's quest Section tomorrow. Plus a dancing skeleton. Happy CannIIing.

Last edited by BWStripes; 07-29-2007 at 07:21 PM.. Reason: one too many 0's
Reply With Quote
  #3  
Old 07-29-2007, 11:48 AM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

you forgot "notes" after "replace_container" other than that it all worked, haven't tested pls yet
thanks

Code:
insert into tradeskill_recipe (name,tradeskill,skillneeded,trivial,nofail,replace_container,notes) values ('Crushed Dread Diamond','59','0','70','0','0','Cannibalize II quest recipe');

Last edited by Angelox; 07-29-2007 at 08:14 PM..
Reply With Quote
  #4  
Old 07-29-2007, 07:37 PM
BWStripes
Sarnak
 
Join Date: Jun 2007
Location: Finland
Posts: 65
Red face

Sorry, posed a snippet from my notepad rather than the SQL command - it was 2am
Working on Oowomp with a more functional brain now.
Reply With Quote
  #5  
Old 07-30-2007, 01:00 AM
BWStripes
Sarnak
 
Join Date: Jun 2007
Location: Finland
Posts: 65
Post

I had found a potential problem with Karnors for evil races that I forgot to flag.

The entire castle is on VS faction. On live, the drolvargs in the outer tower nearest the entrance (large drolvarg sentries, guardians, bodyguard, and the captain) were VS.
In the moat and beyond the second bridge, skeletons, spirits and the smaller-sized drolvarg sentries were plain KoS, up until you get near VS himself. So by killing there as an evil race, you'll end up blackballed by VS.

Anyway, as promised, one Great Oowomp, and his magical dancing skeleton :p

First, add the skeleton into the npc_types as he isn't there. I haven't bothered with any real stats on this mob, adjust accordingly if you want.
Code:
insert into npc_types (name,level,race,class,bodytype,hp,gender,texture,size,loottable_id,merchant_id,npc_faction_id,npcspecialattks,aggroradius) values('a_dancing_skeleton','29','161','1','3','200','2','0','6','0','0','0','f','0');
Get the mob ID from the database, and substitute the npcID on lines 53,68 of the Oowomp's quest file (replace 2700006):

timorous/The_Great_Oowomp.pl - REPLACES PEQ FILE
Code:
#############
#Quest Name: McMerrin's Feast - "Evil" Races, or any with VS faction
#Author: BWStripes
#NPC's Involved: 1
#Items involved: 4
#############
###NPC 1
#Name: The_Great_Oowomp
#Race 1 (Ogre), Texture of 1, Size 7, gender of 1
#Location XYZ: 3119.0, 5724.0, 8.1 in Timorous Deep
#Level: 40
#Type: Mob/Quest NPC
#Reward: 12941: Spell: Cannibalize II
#############
###Item 1
#Name: Clay of Ghiosk. - Comes from Army Behemoths in the City of Mist - Called Strange Ochre Clay, and identifies as "Clay of Ghiosk".
#ID: 12942
###Item 2
#Name: Crushed Diamonds (LORE: Crushed Dread Diamond)
# You can find Crushed Diamonds as a ground spawn in the Timorous Deep on the Golra island at -8850, -6040.
# Or, get a dufrenite, and head tothe Dreadlands, in the area with all the wizard spires, there is a MOB called "gem cutter skeleton". He is inside one of the pyramids (there's an entrance on the ground), and is KOS to everyone. An Enchanter, Necro, or Bard is required to charm him so that you can hail him, and he talks about sparklies. Ask him "what dread diamond," and he offers to trade a dufrenite for one. Give him a dufrenite (while he's charmed) and he gives you a "Dread Diamond" [No Drop](not crushed), and says how they are very valuable but more so in the crushed form, and that you would require high skill and a spectral pestle to crush it.
# The spectral pestles are found on spectral guardians in Kaesora and Trakanon's Teeth, and combining the dread diamond + spectral pestle to make Crushed Diamonds, which identifies as "Crushed Dread Diamonds" (trivializes at around 70 Alchemy skill, so make sure your skill is high enough - you lose the pestle, but get the diamond back).
#ID: 12945
###Item 3
#Name: Yun Shaman Powder - from Froglok Yun Shamans in Trakanon's Teeth. Black, NO TRADE.
#ID: 12944
###Item 4
#Name: Greyish Bone Chips - from Skeleton Warlords in Karnor's Castle
#ID: 12943
####


sub EVENT_SAY {
  if($text =~ /hail/i) {
    quest::emote("gestures as if casting a powerful spell...");
    quest::say("Come forward, adventurer! Come and [see the dancing skeleton]. I shall cast a powerfull spell and bring forth this operatic, clattering jumble of bones and he shall do a fine dance for you. From the nether regions and planes beyond, I call forth this bardic, magical, rhyming, tap-dancing hunk of undead!! I am Oowomp the Great!!");
  }
  if($text=~/see the dancing skeleton/i){
    quest::say("Oh!!  You wish to see the great Oowomp perform his magic!! I have studied with the grand mages and wise [McMerin clan] of Norrath. as my speech implies. I can call forth the skeleton with but a twinkling of my power and five of your gold.");
  }
  if($text=~/McMerin clan/i){
    quest::say("Clan McMerin were wise shamans from the North. They allowed me to study with them. I learned many spells while I communed with them.  From them, I sto.., I mean, I learned the secret of McMerin's Feast. If you want to know the secret, you could [help gather components] for future rituals.");
  }
  if($text=~/help gather components/i){
    quest::say("Actually... Not so much help as do - ALL - of the gathering. In the lands of Kunark are clay of Ghiosk, crushed dread diamond and powder of Yun. A rare find would be the bones of one who touched the Bath of Obulus. Find and return these to me and the shaman secret of McMerin's Feast is yours.");
  }
}

sub EVENT_ITEM {
  if($gold == 5) {
    quest::emote("flings the coins into the air and they all fall neatly into his oversized coin pouch. <Tink, tink, tink, tink, TINK!!>");
    quest::say("Gaze upon my awsome powers of the arcane!! You, a simple $race, shall see my power. Allakabam!!");
    quest::spawn2("2700006","0","0","3122.8","5725.2","7.9","13.0");
    quest::settimer(1,3);
  }
  elsif (plugin::check_handin(\%itemcount, 12942=>1, 12945 => 1, 12944 => 1, 12943 =>1)){
    quest::say("Ahh, you've gathered all the ritual components. Very good, as promised, a cop...I mean, priceless scroll of McMerin's Feast for you!");
    quest::summonitem(12941);
    quest::exp(45000);
  } else {
    plugin::return_items(\%itemcount);
    quest::say("Whats this? I don't want this, have it back.");
  }
}

sub EVENT_TIMER {
  if ($timer == 1) {
    quest::signalwith(2700006,5,0);
    quest::stoptimer(1);
  }
}

#END of FILE Zone:timorous  ID:2030 -- The_Great_Oowomp
The dancing skeleton is part of the shackle of rock quest for newbie Iksar monks (<rant>and human monks that worked damn hard to get into cabilis to find they couldn't even start the quest as I once did</rant>). He also dances

timorous/a_dancing_skeleton.pl - REPLACES PEQ FILE
Code:
#############
#Quest Name: Talon Southpaw's fate
#Author: BWStripes
#NPC's Involved: 1
#Items involved: 1
#############
###NPC 1
#Name: a_dancing_skeleton
#Race 161 (Iksar skeleton), Texture of 0, Size 6, gender of 2
#Location XYZ: 3122.8, 5725.5, 7.9 in Timorous Deep (spawned)
#Level: 29
#Type: Mob/Quest NPC
#Reward: 17037: hand with one only a thumb (container)
# monk shackle of rock - started in East Cabilis
#############
###Item 1
#Name: hand with one only a thumb (container)
#ID: 17037
###
# Updated by BWStripes
# The text and dialog was in the original file, credit to original author. I've never tried collecting the fingers. -Stripes
#
### NPC: a dancing skeleton
#Original submission:
#Submitted by: Senzo aka Fatty Beerbelly
#

sub EVENT_SAY {
  if($text=~/gomoz/i) {
    quest::emote("stops in suprise.");
    quest::say("Gomoz!! Why, that is me! I was heading off to be with the elements when I was captured by this smelly ogre. Actually, he is not as smelly as most.");
    quest::stoptimer(10);
    quest::stoptimer(11);
    quest::stoptimer(12);
    quest::stoptimer(100);
    quest::settimer(100,40); # Get the conversation out the way in 40s, or depop
  }
  if($text=~/talon southpaw/i) {
    quest::say("Master Talon Southpaw!! He was my master. Dead, he became. Off to the elements. I keep his special hand with me. Perhaps I should have it returned. Maybe I shall find a young adventurer to [return the hand to Cabilis].");
    quest::stoptimer(100);
    quest::settimer(100,30); # Get the conversation out the way in 30s, or depop
  }
  if($text=~/return the hand to cabilis/i) {
    quest::say("Yes!! Return the hand. Here it is. Missing four it is. Within the tower of past pain and torture is where the four lie. Taken by bones similar to myself.");
    quest::summonitem(17037); # hand with one only a thumb
    quest::settimer(100,4);
  }
}

sub EVENT_SIGNAL {
  if ($signal == 5) {
  quest::settimer(10,2); #start dancing in 2s
  quest::emote("shambles to its feet and begins to jig somewhat grudingly.");
  }
}

sub EVENT_TIMER {
  if($timer eq 10) {
    #If I'd wanted a career in dancing, I'd have better hips
    quest::stoptimer(10);
    quest::settimer(11,2);
    quest::doanim(58);
  }
  if($timer eq 11) {
    #do the monkey with me
    quest::stoptimer(11);
    quest::settimer(12,2);
    quest::doanim(45);
  }
  if($timer eq 12) {
    #shake it, baby
    quest::stoptimer(12);
    quest::settimer(13,2);
    quest::doanim(58);
  }
  if($timer eq 13) {
    #falldowndead
    quest::stoptimer(13);
    quest::settimer(100,2);
    quest::doanim(16);
  }
  if($timer eq 100) {
    #danceover
    quest::stoptimer(100);
    quest::depop();
  }
}

#END of FILE Zone:timorous  - a_dancing_skeleton
Reply With Quote
  #6  
Old 07-30-2007, 09:10 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

All checks out to be working fine - will be moving the threads to "completed".
Thanks!
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 10:24 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3