Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Database/World Building

Development::Database/World Building World Building forum, dedicated to the EQEmu MySQL Database. Post partial/complete databases for spawns, items, etc.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-19-2009, 07:07 AM
jenco420
Banned
 
Join Date: Jan 2006
Location: /dev/null
Posts: 99
Default Old Mob Workings

Pretty cool thread going on about how old spawns worked in EQ. With dev answers from Prathun! Figured you DB nuts would be interested.

http://forums.station.sony.com/eq/po...opic_id=143508
Reply With Quote
  #2  
Old 01-19-2009, 08:53 AM
WillowyLady
Sarnak
 
Join Date: Aug 2003
Location: Recycle Bin
Posts: 90
Default

Thanks, that a pretty interesting read!
__________________
I'll be back!

Reply With Quote
  #3  
Old 01-19-2009, 02:51 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Quote:
ENCOUNTER_DESCRIPTION SROHusamAncientNightfall
MONSTER_1_NAME a_desert_madman
MONSTER_1_NIGHT_NAME an_ancient_cyclops
MONSTER_1_PERCENT 10
MONSTER_2_NAME a_sand_giant
MONSTER_2_NIGHT_NAME a_mummy
MONSTER_2_PERCENT 20
MONSTER_3_NAME a_sand_giant
MONSTER_3_PERCENT 10
MONSTER_4_NAME a_dervish_cutthroat
MONSTER_4_PERCENT 30
MONSTER_5_NAME a_desert_madman
MONSTER_5_PERCENT 30
Pretty much exactly what we are doing Though, the thing that interests me is the night spawns are built right into the spawn table. I wonder if we could do away with the spawn_conditions system for that purpose and do something similar.

Something like, each NPC in the spawngroup can be paired with a night time NPC. When that group is spawned, the server checks the time, and if the NPC is paired, spawns the appropriate NPC. Obviously non-paired NPCs would spawn all the time. Of course, this system would require NPCs to despawn and spawn by themselves without being killed, and as much as I would love that functionality, I would assume it would drain system resources like crazy.

Last edited by cavedude; 01-19-2009 at 10:54 PM..
Reply With Quote
  #4  
Old 01-22-2009, 08:18 PM
nilbog
Hill Giant
 
Join Date: Nov 2007
Posts: 197
Default

Dude.. thanks. I've wondered about those for a decade.
Reply With Quote
  #5  
Old 01-23-2009, 12:23 AM
janusd
Sarnak
 
Join Date: Jan 2008
Posts: 47
Default

Reading that thread explains so freaking much about how the game works... and then there's the section about how Vaniki was originally coded... think we might be able to add some functionality to our mobs and the way that they function so we can specify a spawnrotation similar to that mob? Mob's up for a time, depops, and that time later repops. Could create some rather interesting encounters on the custom servers and would likely come in handy on PEQ as well.
Reply With Quote
  #6  
Old 01-23-2009, 12:40 AM
janusd
Sarnak
 
Join Date: Jan 2008
Posts: 47
Default

And that gets me thinking further... those spawns that were 7 days +/- 2 days... what if it worked just slightly differently... what if it was a base 5 days plus a random 4 days... seeing how they coded now... makes me wonder.

Mob's base spawn timer 462000
+ random 345900
equals what looks like 7 days +/- 2 days...

And seems when Derision was getting Tasks working, he came up with a system for our DB that's almost identical to SoE's!

The single most rewarding thing from that thread, though, is know that even current devs and people working there have no clue what's going on with some of the older and more broken content. Gives me faith that we're not idiots and just couldn't figure it out. Helps me realize that humans did code this game and they did screw up.

But truthfully, for proof of that, all I have to do is look to his post about "bugs" that are spinning pieces of the landscape.
Reply With Quote
  #7  
Old 01-23-2009, 12:57 AM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

you can control despawns with a perl script.
when mob spawns give it a timer - when timer expires mob depops
Reply With Quote
  #8  
Old 01-23-2009, 01:09 AM
jenco420
Banned
 
Join Date: Jan 2006
Location: /dev/null
Posts: 99
Default

Perl only works if there is a player in zone though right? I think this issue came up when angelox was messing with boat pathing.
Reply With Quote
  #9  
Old 01-23-2009, 03:55 AM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

yeah that is unfortunate side effect.
on other hand- what if zone is static? timer should work in static zone... at least logicly
Reply With Quote
  #10  
Old 01-23-2009, 08:45 AM
janusd
Sarnak
 
Join Date: Jan 2008
Posts: 47
Default

Yeah. Timer would work in a static zone, though I was thinking overnight...

How hard or problemmatic would it be to add another 2 columns to the spawn tables as well as functionality to support that? Say a spawnvariance table and variance to define what that is? Would work something like this...

variance = integer in secods
spawnvariance = 0-2
0 = off
1 = repop mobs on this table in x time that = variance
2 = depop mobs on this table in x time that = variance and then respawn mobs on this table in x time that = variance

As CD mentioned before, if we added timers to everything in addition to what's already there, it'd devour resources, but if we could enable it only for specific mobs, that'd be a lot easier.

As to the spawn night/day, we could potentially add functionality to the server's timer that tracks in-game time and update it to send signals to the spawnlist. Could add a fourth variable to the above table that would tell the spawntable to swap paired NPCs at a specific game time specified in variance (military time could be used for ease). An in-game hour is what... 10 minutes real time? So we're talking minimal extra load placed on the server to accomplish the night/day swap.
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 02:38 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