EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Database/World Building (https://www.eqemulator.org/forums/forumdisplay.php?f=596)
-   -   Spawn Data Variety (https://www.eqemulator.org/forums/showthread.php?t=37674)

haggzor 12-30-2013 02:32 AM

Spawn Data Variety
 
Hi guys,

I set up a new server this week and I was just curious about a couple of NPC spawn related items. I noticed recently while playing in Innothule that I never see any skeletons or frogloks with equipped weapons. I dug in a little bit and this is what I found:

Code:

select  ld.*, lde.*, i.name
from    npc_types nt left join
        loottable lt on nt.loottable_id = lt.id left outer join
        loottable_entries lte on lt.id = lte.loottable_id left outer join
        lootdrop ld on lte.lootdrop_id = ld.id left outer join
        lootdrop_entries lde on ld.id = lde.lootdrop_id left outer join
        items i on lde.item_id = i.id
where  nt.name = 'a_decaying_skeleton'
order by ld.name asc

When I ran this relatively simple query, I discovered that there are 1212 different loot permutations set up for the various decaying skeletons throughout the game (obviously these aren't all used).

I took a little time and figured out how the data structure works for NPC spawn points. Just for fun I took the distinct NPCID's of our above resultset and compared it to the spawn points in Innothule:

Code:

select  *
from    spawnentry se left outer join
        spawngroup sg on se.spawngroupID = sg.id left outer join
        spawn2 s2 on sg.id = s2.spawngroupID
where  se.npcID in (
50002
,50018
,415108
,383015
,383031
,392014
,392006
,392005
,413061
,414016
,414002
,457139
,709066
,2000
,2104
,47074
,47088
,155034
,155317
,56060
,56078
,38009
,38013
,54013
,54026
,78012
,25322
,4010
,9003
,9006
,10003
,10004
,22003
,30000
,30012
,34002
,33106
,85109
,75001
,75004
,46008)
and s2.zone = 'innothule'

It would seem that in innothule, we are only ever spawning skeletons who are NPCID 46008.

When I went back and looked at my first query only restricted to that specific NPCID, I found out why I only ever get skeletons carrying bone chips in Innothule.

I found the frogloks similar, except they are only NPCID 46015, which has a loottableID of 0 (drops nothing).

So, that said, here is my real question:

Is this indicative of the data for most zones (somewhat vanilla) and the developers are assuming that server administrators wish to customize their own loot tables, or is this, perhaps, just an oversight in some select zones? Is anyone else experiencing complaints on their servers of this nature?

If the answer to the above question is "yes, it's pretty vanilla across the board", then is there an effort going on right now to update the spawn data in order to more closely mirror the 'production' game's spawn and loot data? I know that the loot from certain mobs (especially low level) is pretty crucial to a new player's game experience. If you can't get gear from drops, the cash grind gets to be pretty nasty.

Also...

In the event that I wanted to contribute data scripts diversifying some of this (based on Allakhazam's mob drop lists, ie http://everquest.allakhazam.com/db/npc.html?id=28990), would the submissions run through the same channels as code commits or is there a separate oversight for data?

Thanks!

Haggzor

sorvani 12-30-2013 12:32 PM

The PEQ database is (now) populated from Magelo which used an application to monitor the items looted. ZAM is all user submission and generally quite useless for making detailed loot tables.
This NPC should be usng the data on this page for loot: http://eq.magelo.com/npc/178635

i just attempted to update the NPC on PEQ and it did not do it, so I will drop this on Cavedude to look at the script.

sorvani 12-30-2013 01:46 PM

ok the reason the mobs in innothule are not updated is because the zone no longer exists on live and magelo only reflects innothuleb (zone 413).

If you look in your database for the loot in innothuleb the mobs you are specifying do have their loot tables. You can simply apply the loot tables from innothuleb to the same mobs in innothule to achieve what you want.

If you want to feed back to the community, you can create a SQL script to update the NPC's in innothule and post it here and we'll update the PEQ DB.

haggzor 12-30-2013 03:57 PM

Excellent!
 
Thank you very much. It is much appreciated. I'll just copy the spawn data for innothuleb into innothule for all existing mobs. Also, I'd be happy to post the script back here once I get it written.

Thanks again!

Nick

haggzor 01-02-2014 01:59 AM

This isn't a perfect fix, but I'm too lazy to write all new loot tables. This query will update *most* of the NPCs in Innothule (Classic, pre-revamp) to spawn with the loot tables (MAGELO-GEN) from their equivalents in InnothuleB (revamped Innothule). From there you can pick and choose individual items from the tables, but this covers most of it.

Code:

/* UPDATE LOOT TABLE FOR SKELETONS (was 87917) */

update  npc_types
set    loottable_id = 93161
where  id = 46008;

/* UPDATE LOOT TABLE FOR FROGLOKS (was 0) */

update  npc_types
set    loottable_id = 93162
where  id = 46015;

/* UPDATE LOOT TABLE FOR FROGLOK FISHERMAN (was 120) */

update  npc_types
set    loottable_id = 93163
where  id = 46012;

/* UPDATE LOOT TABLE FOR FROGLOK FORAGER (was 128) */

update  npc_types
set    loottable_id = 93164
where  id = 46013;

/* UPDATE LOOT TABLE FOR FROGLOK GUARD (was 116) */

update  npc_types
set    loottable_id = 93165
where  id = 65031;

/* UPDATE LOOT TABLE FOR FROGLOK TAD (was 108) */

update  npc_types
set    loottable_id = 93166
where  id = 46014;

/* UPDATE LOOT TABLE FOR FUNGUS MAN TRACKER (was 87909) */

update  npc_types
set    loottable_id = 93182
where  id = 46016;

/* UPDATE LOOT TABLE FOR FUNGUS SPORE (was 4880) */

update  npc_types
set    loottable_id = 93167
where  id = 46017;

/* UPDATE LOOT TABLE FOR KOBOLD HUNTER (was 5556) */

update  npc_types
set    loottable_id = 93169
where  id = 46024;

/* UPDATE LOOT TABLE FOR LESSER KOBOLD (was 5555) */

update  npc_types
set    loottable_id = 93171
where  id = 46026;

/* UPDATE LOOT TABLE FOR SWAMP ALLIGATOR (was 5635) */

update  npc_types
set    loottable_id = 93173
where  id = 46037;

/* UPDATE LOOT TABLE FOR WATER MOCASSIN (was 3624) */

update  npc_types
set    loottable_id = 93175
where  id = 46041;

/* UPDATE LOOT TABLE FOR DARK DEATHSINGER (was 0) */

update  npc_types
set    loottable_id = 93181
where  id = 46007;

/* UPDATE LOOT TABLE FOR GIANT WATER MOCASSIN (was 0) */

update  npc_types
set    loottable_id = 93183
where  id = 46019;


sorvani 01-02-2014 11:27 AM

if cavedude does not pop in and do this before i have time today or tomorrow, then I will get it done by then. thanks for the submission.

sorvani 01-03-2014 01:14 PM

this is now in on PEQ thank you. I did change one thing. it will be in tomorrow's daily dump, thank you.

Code:

/* UPDATE LOOT TABLE FOR FROGLOK GUARD (was 116) */

update  npc_types
set    loottable_id = 93165
where  id = 65031;

That NPC is from guktop. So I copied him to 46107, updated the spawn group to use 46107, and assigned the loot to 46107.
Thus the guard in guktop still uses loot table 116


All times are GMT -4. The time now is 03:23 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.