Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 02-16-2005, 04:24 PM
fathernitwit
Developer
 
Join Date: Jul 2004
Posts: 773
Default Spawn Conditions Proposal

OK, so in my downtime recently, I have been dreaming up a spawn condition system which can be used to make eqemu's spawn system more dynamic. Here is the proposal, let me know what you guys think:

This system should facilitate several things which I have heard requests for in eqemu:
1. time of day spawns - the ability to change what spawns in a zone based on what the EQ time is.
2. LDoN spawns - change the spawn in a zone based on the ldon difficulty easily.
3. mutliple spawn tables - The ability to switch an entire zone's spawn tables easily.
4. quests - quests will be able to make permanent changes to spawn patterns even across zones.
5. timed spawns - cause a mob to only spawn for an hour, then depop.



New table to hold spawn conditions:
zone - the zone this spawn condition applies to
id - a numeric id of this spawn condition in this zone
value - the current value of this spawn condition
onchange - an action which says what to do for a spawn point which uses this spawn condition when that spawn point changes state between on and off. values: nothing, depop, repop, signal

New table to handle time-driven events:
zone, condition id - what condition does this apply to
enabled - is this event enabled?
time_base, period - values to specify when the event happens. It occurrs every period time units from time_base based on the EQ clock, assuming if we start before time_base, that we start our time base on the previous day and skip any events from that time base to now.
action - what to do when this event is triggered. values: set, add, subtract, multiply, divide
value - the number used by action

the spawn2 table gets two new fields:
1. a spawn condition ID - this associates this specific spawn point with a spawn condition. value 0 is a default 'always enabled' condition number.
2. a spawn condition value - This is a threshold value for the spawn condition. If the condition is below this, the spawn is disabled, above: enabled.

this new functionality will be complimented by some quest functions:
quest::spawn_condition(zone_short, condition_id, new_value) - set a spawn condition's value.
quest::get_spawn_condition(zone_short, condition_id) - returns the value of the spawn condition.
quest::toggle_spawn_event(event_id, bool enable, bool reset_base);

These quest events would be capible of affecting other currently active zones, to cause for example a mob to spawn in another zone, or entire spawn patterns to be altered from a different zone.
Reply With Quote
 


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:41 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3