EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Database/World Building (https://www.eqemulator.org/forums/forumdisplay.php?f=596)
-   -   Old Mob Workings (https://www.eqemulator.org/forums/showthread.php?t=27271)

jenco420 01-19-2009 07:07 AM

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

WillowyLady 01-19-2009 08:53 AM

Thanks, that a pretty interesting read!

cavedude 01-19-2009 02:51 PM

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.

nilbog 01-22-2009 08:18 PM

Dude.. thanks. I've wondered about those for a decade.

janusd 01-23-2009 12:23 AM

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.

janusd 01-23-2009 12:40 AM

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.

ChaosSlayer 01-23-2009 12:57 AM

you can control despawns with a perl script.
when mob spawns give it a timer - when timer expires mob depops

jenco420 01-23-2009 01:09 AM

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.

ChaosSlayer 01-23-2009 03:55 AM

yeah that is unfortunate side effect.
on other hand- what if zone is static? timer should work in static zone... at least logicly

janusd 01-23-2009 08:45 AM

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.


All times are GMT -4. The time now is 03:54 AM.

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