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
  #7  
Old 08-03-2007, 04:29 AM
Teppen
Banned
 
Join Date: Jan 2002
Posts: 80
Default

my human monk completed this quest on live and did all the way up past shackle of tynn and did the whistling fist quest which is given by cazic thule in fear... dunno why you couldnt start quest on live, maybe your faction wasnt high enough with swift tails. my human monk was agnostic. I was able to walk freely in cabilis and the evil town (shipyard) in overthere. anyways human monks could complete it, you just had to do alot of faction quests and faction grinding.
Reply With Quote
  #8  
Old 08-03-2007, 04:44 AM
sfisque
Hill Giant
 
Join Date: Oct 2006
Posts: 248
Default

one thing to note wrt to the VS faction. different zones had different hit levels.

case in point:

on live, many years ago:

my troll shaman hunted in kaesora several times, going from amiable to dubious. after some work in OT, got this repaired back to amiable. only some of the ghosts gave hits, but all the spiders gave negative VS hits. i cant remember if zalgoz gave a negative VS hit.

hunting in karnors was a non-issue. i leveled from 51 through 55 in karnors and went from amiable back to dubious, requiring more OT faction work. not every drolvarg gave a faction hit (depended on the type i think), only certain ghosts gave hits, and i cant recall if the hands did or did not.

hunting in charasis (howling stone) gave VERY HUGE faction hits. after about 20 kills, i was KOS and forever barred from banking/vendoring in OT (unfortunate since i would use the gate-hammer for convenience porting).

thus it seems the level of impact on faction was highest in HS, followed by kaesora, followed by karnors (not including the huge faction impact of killing venril sathir himself).

AFAIK, the only way to fix KoS VS faction was by killing Ring of Scale dragons, and that was pretty much a pipe dream because of the 5-7 day respawn on most of them.

not sure if the various DB's reflect these differing levels of faction impact, but something to be aware of when tuning your servers.

== sfisque
Reply With Quote
  #9  
Old 08-03-2007, 12:35 PM
Teppen
Banned
 
Join Date: Jan 2002
Posts: 80
Default

Yeah, well with my human monk, never went anwhere that damaged VS faction once I had high enough faction to walk freely there. I took other characters into such area's.. why? dunno, I just liked seeing my human monk banking beside evil characters in an evil town. Agnostic characters started out able do the rotgrime quest which was to handing sarnak warbraids which was great considering others had to get wolfform. Only think that got you kos'ed was if you struck up a conversation with the gargoyle guards or conversations with the gm trainers (think it was gm trainers), anyhow, I did rotgrimes quest over and over countless times and was finally able to hail guards and gms without pulling any aggro. Which came in handy when I had to get a gem from one of the guards for part of an iksar monk shackle quest, and that quest was a daisy because human monks couldnt forage so I had to run my druid everywhere waiting and foraging then handing them to my monk, because they never seemed to be sold in bazaar heh. Anyways, back to the overthere town, it eventually became worthless once the PoP books were implemented since one is right outside the evil town it was just easier going to PoK, but I thought it was cool for awhile hehe.
Reply With Quote
  #10  
Old 08-03-2007, 09:19 PM
BWStripes
Sarnak
 
Join Date: Jun 2007
Location: Finland
Posts: 65
Exclamation

I know faction was a lot harsher on live, and the current datbase contains a lot of...lets just say "forgiveness". Sadly, I know from experience that the majority of people on live didn't give a monkeys about faction.

Personally, I loved taking the time to bank in Cabilis

I know I mentioned it as a "warning", but an overhaul of faction needs a thread starting if its not being looked at already.
Reply With Quote
  #11  
Old 08-04-2007, 02:58 AM
sfisque
Hill Giant
 
Join Date: Oct 2006
Posts: 248
Default

even after PoP came out, the OT quests were worth it, just for the hammer. i cant tell you how many times i hunted in PITA locations like sebilis and used the hammer to go home because i was bound outside for convenience (lets face it, a sebilis CR when you're soloing or duoing without a rezzer is annoying at worst)

== sfisque
Reply With Quote
  #12  
Old 08-04-2007, 05:47 AM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Added the quest to PEQ, thank you!

Yeah, faction does need a major overhaul I have been planing on doing it for some time but it is a huge undertaking. Getting the data alone would take days.
Reply With Quote
  #13  
Old 08-06-2007, 08:06 AM
sfisque
Hill Giant
 
Join Date: Oct 2006
Posts: 248
Default

one request i'd like to make:

streamline the faction entries. currently the faction data is set up as one faction entry per npc_type entity, which is highly inefficient. there doesnt need to be one entry for EVERY freeport guard, froglok, cyclops, etc. we could probably get by with one entry for "all generic freeport guards", "all unamed wurms in skyfire", etc. that way the table gets alot smaller.

for example:

select * from npc_faction where primaryfaction = 105; -- freeport militia

yields a bunch of entries. since most of these guards are not special quest npcs, wouldnt it be more efficient to use a single npc_faction entry and have point to it. the same should be done for all the npc_faction entries. the npc_faction_entries table would have to be updated accordingly to point to the streamlined entries.

i know some of this stuff is cached in memory because i found that they are stored in an array keyed by id, and just arbitrarily removing entries (creating holes) causes the server to hiccough and fail to launch. thus it would require some work and not just arbitrarily removing the redundancies and updating the backpointers (foreign keys).

thus, reducing the clutter "should" make the server leaner memory-wise and run a tad more optimally.

i've started working on this in my personal DB, and i plan on sharing it once i get it all cleaned up and finished. if anyone is interested.

== sfisque
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 01:45 AM.


 

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