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)

Reply
 
Thread Tools Display Modes
  #1  
Old 02-20-2008, 04:52 AM
loglos
Sarnak
 
Join Date: Feb 2008
Posts: 51
Default Definitions or Descriptions of Rules?

Hi.

Are the description of the rules (rule_values) written anywhere? As a matter of a fact, I think I am missing something. Are things like item_types and such documented anywhere? I've checked the wiki but really didn't find much. Could be that I am not using it correctly. So far most of my info has come from searching these forums.

Thanks.
Reply With Quote
  #2  
Old 02-20-2008, 02:50 PM
Knightly
Accomplished Programmer
 
Join Date: Nov 2006
Location: Honolulu, HI
Posts: 91
Default

I have a "notes" section in my rules table that I sometimes update. I can't tell you for sure that everything is correct, though. These descriptions came mostly from the comments in the code.

Code:
Aggro:MeleeRangeAggroMod					Percentage increase in aggro while in melee range
Aggro:SittingAggroMod						Percentage increase in aggro while sitting
Aggro:SmartAggroList						Enable rules for Smart Aggro - players over pets, sitting over standing, close over far, critically wounded over healthy, etc(True/False)
NPC:BuffFriends							NPCs cast buffs on each other, false means they will only heal (True/False)
Character:MaxLevel						The highest level characters can obtain
Character:DeathExpLossLevel					Level when characters start to lose exp on death
Character:CorpseDecayTimeMS					How long before a characters corpse rots in milliseconds
Character:LeaveCorpses						Characters leave behind corpses with items (True/False)
Character:LeaveNakedCorpses					Characters leave behind corpses, but respawn with all items on them and not the corpse (True/False)
Character:ExpMultiplier						Determines how fast characters level
Character:AutosaveIntervalS					How often characters are saved in seconds (0 for disabled)
Character:HPRegenMultiplier					How fast characters regen health
Character:ManaRegenMultiplier					How fast characters regen mana
Character:EnduranceRegenMultiplier				How fast characters regen endurance
Character:ConsumptionMultiplier					How fast characters consume food (50 = people eat 2x as fast, 200 = people eat 2x as slow)
Character:HealOnLevel						Fill characters health bar when a level is gained (True/False)
Character:FeignKillsPet						Feigning Death insta-kills pet (True/False)
Character:ItemManaRegenCap					Maximum amount of mana regen from items
Character:ItemHealthRegenCap					Maximum amount of heath regen from items
Guild:MaxMembers						Maximum number of characters in a guild
Skills:MaxTrainTradeskills					How high trainers will allow you to buy skill points in tradeskills
Pets:AttackCommandRange
GM:MinStatusToZoneAnywhere					Minimum status needed to use #zone
World:ZoneAutobootTimeoutMS
World:ClientKeepaliveTimeoutMS
Zone:NPCGlobalPositionUpdateInterval				Milliseconds between intervals of sending NPC position updates to the entire zone
Zone:ClientLinkdeadMS						How long a client shows up as LD before being booted in milliseconds
Zone:GraveyardTimeMS						How long before a corpse is moved ot the graveyard, if the zone has one, in milliseconds
Zone:EnableShadowrest						Use Shadowrest zone for player corpses that expire (True/False)
Map:FixPathingZWhenLoading					Calculate Z axis for NPCs when Loading Zones - increases zone load times (True/False)
Map:FixPathingZAtWaypoints					Calculate Z axis for NPCs at each waypoint instead of once at boot time (True/False)
Map:FixPathingZWhenMoving					Calculate Z axis while NPCs are moving, very CPU intensive (True/False)
Map:FixPathingZOnSendTo						Calculate Z axis when using the SendTo routine (True/False)
Map:FixPathingZMaxDeltaMoving					Max change in Z while moving
Map:FixPathingZMaxDeltaWaypoint					Max change in Z at each waypoint
Map:FixPathingZMaxDeltaSendTo					Max Change in Z when using SendTo
Map:FixPathingZMaxDeltaLoading					Max change in Z at zone load
Watermap:CheckWaypointsInWaterWhenLoading			Skip Z Fixes when loading if the waypoints are in the water (True/False)
Watermap:CheckForWaterAtWaypoints				Check if a mob has moved into/out of water when at waypoints and set flymode (True/False)
Watermap:CheckForWaterWhenMoving				Check if a mob has moved into/out of water when moving (True/False)
Watermap:CheckForWaterOnSendTo					Check if a mob has moved into/out of water on SendTo (True/False)
Watermap:CheckForWaterWhenFishing				Only lets a player fish near water if a water map exists for the zone (True/False)
Watermap:FishingRodLength					Horizontal Distance from water for fishing to work
Watermap:FishingLineLength					Vertical Distance from water for fishing to work
Character:DeathItemLossLevel					The level at which characters will begin to leave items on corpses
Spells:AutoResistDiff
Spells:ResistChance						Chance to resist given no resists and same level
Spells:ResistMod						Multipler, chance to resist = this * ResistAmount
Spells:PartialHitChance						Chance for resisted spell to be a partial hit
Combat:BaseCritChance						Base crit chance for non warriors (Also applies to NPCs)
Combat:WarBerBaseCritChance					Base crit chance for warriors and berserkers (Does not apply to NPCs)
Combat:BerserkBaseCritChance					Bonus crit chance while berserk
Combat:NPCBashKickLevel						Level that NPCs can kick and bash
Combat:ClientBaseCritChance					Base crit chance for all PCs (stacks with warrior/berserker crit chance)
Combat:UseIntervalAC
Combat:PetAttackMagicLevel					Level when pet attacks become magical
NPC:MinorNPCCorpseDecayTimeMS					How long for a corpse to rot (in milliseconds) when the mob was lower than level 55
NPC:MajorNPCCorpseDecayTimeMS					How long for a coprse to rot (in milliseconds) when the mob was 55 or higher
NPC:UseItemBonusesForNonPets
NPC:SayPauseTimeInSec
NPC:OOCRegen							How quickly NPCs regen when out of combat
Aggro:CurrentTargetAggroMod					Percentage increase in aggro while attacking a specific target
Aggro:CriticallyWoundedAggroMod					Percentage increase in aggro when someone is critically wounded
Aggro:SlowAggroMod						How much aggro slow generates
Aggro:IncapacitateAggroMod					How much aggro mez, blind, stun, charm, etc generates
Aggro:MovementImpairAggroMod					How much aggro snare generates
Aggro:SpellAggroMod						How much aggro spells generate
Aggro:SongAggroMod						How much aggro bard songs generate
Aggro:PetSpellAggroMod						How much aggro pet spells generate
Reply With Quote
  #3  
Old 02-20-2008, 05:33 PM
loglos
Sarnak
 
Join Date: Feb 2008
Posts: 51
Default

Awesome! That's exactly what I was looking for.

thanks.
Reply With Quote
  #4  
Old 04-08-2008, 05:56 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Might want to sticky this post. I use it all of the time and it was starting to get down in the post list I am sure others will find it very helpful as well.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #5  
Old 04-08-2008, 06:19 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

This data is better off in the wiki.
Reply With Quote
  #6  
Old 04-09-2008, 05:12 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Well, here is some info directly from the rulestypes.h source that has some extra definitions. Figured I would post it here if someone is making a wiki for it. I don't use the wiki very often, cause it seems to be a bit hard to navigate and find things. Maybe I am just using it wrong. It would be nice if there was just 1 page with all wiki sections on it that you could click a section and it would open up a list of what wiki's are available for that section. So, you could get to all of them from one spot. So far, to me it seems like you have to either search text to find what you want or try to navigate through wiki pages until you find it. There are alot of pages that I don't even know how to get to unless I do a search. Maybe there needs to be a wiki to how to use the wiki properly lol.


Code:
RULE_CATEGORY( Character )
RULE_INT ( Character, MaxLevel, 65 )
RULE_INT ( Character, DeathExpLossLevel, 10 )
RULE_INT ( Character, DeathItemLossLevel, 10 )
RULE_INT ( Character, CorpseDecayTimeMS, 10800000 )
RULE_BOOL( Character, LeaveCorpses, false )
RULE_BOOL( Character, LeaveNakedCorpses, false )
RULE_REAL( Character, ExpMultiplier, 1.0 )
RULE_INT ( Character, AutosaveIntervalS, 300 )	//0=disabled
RULE_INT ( Character, HPRegenMultiplier, 100)
RULE_INT ( Character, ManaRegenMultiplier, 100)
RULE_INT ( Character, EnduranceRegenMultiplier, 100)
RULE_INT ( Character, ConsumptionMultiplier, 100) //item's hunger restored = this value * item's food level, 100 = normal, 50 = people eat 2x as fast, 200 = people eat 2x as slow
RULE_BOOL( Character, HealOnLevel, false)
RULE_BOOL( Character, FeignKillsPet, false)
RULE_INT ( Character, ItemManaRegenCap, 15)
RULE_INT ( Character, ItemHealthRegenCap, 35)
RULE_CATEGORY_END()

RULE_CATEGORY( Guild )
RULE_INT ( Guild, MaxMembers, 2048 )
RULE_CATEGORY_END()

RULE_CATEGORY( Skills )
RULE_INT ( Skills, MaxTrainTradeskills, 21 )
RULE_CATEGORY_END()

RULE_CATEGORY( Pets )
RULE_REAL( Pets, AttackCommandRange, 150 )
RULE_CATEGORY_END()

RULE_CATEGORY( GM )
RULE_INT ( GM, MinStatusToZoneAnywhere, 250 )
RULE_CATEGORY_END()

RULE_CATEGORY( World )
RULE_INT ( World, ZoneAutobootTimeoutMS, 60000 )
RULE_INT ( World, ClientKeepaliveTimeoutMS, 65000 )
RULE_CATEGORY_END()

RULE_CATEGORY( Zone )
RULE_INT ( Zone,  NPCGlobalPositionUpdateInterval, 60000 ) //ms between intervals of sending a position update to the entire zone.
RULE_INT ( Zone,  ClientLinkdeadMS, 180000) //the time a client remains link dead on the server after a sudden disconnection
RULE_INT ( Zone,  GraveyardTimeMS, 1200000) //ms time until a player corpse is moved to a zone's graveyard, if one is specified for the zone
RULE_BOOL ( Zone, EnableShadowrest, 0 ) // enables or disables the shadowrest zone feature for player corpses. Default is turned off.
RULE_CATEGORY_END()

RULE_CATEGORY( Map )
//enable these to help prevent mob hopping when they are pathing
RULE_BOOL ( Map, FixPathingZWhenLoading, true )		//increases zone boot times a bit to reduce hopping.
RULE_BOOL ( Map, FixPathingZAtWaypoints, false )	//alternative to `WhenLoading`, accomplishes the same thing but does it at each waypoint instead of once at boot time.
RULE_BOOL ( Map, FixPathingZWhenMoving, false )		//very CPU intensive, but helps hopping with widely spaced waypoints.
RULE_BOOL ( Map, FixPathingZOnSendTo, false )		//try to repair Z coords in the SendTo routine as well.
RULE_REAL ( Map, FixPathingZMaxDeltaMoving, 20 )	//at runtime while pathing: max change in Z to allow the BestZ code to apply.
RULE_REAL ( Map, FixPathingZMaxDeltaWaypoint, 20 )	//at runtime at each waypoint: max change in Z to allow the BestZ code to apply.
RULE_REAL ( Map, FixPathingZMaxDeltaSendTo, 20 )	//at runtime in SendTo: max change in Z to allow the BestZ code to apply.
RULE_REAL ( Map, FixPathingZMaxDeltaLoading, 45 )	//while loading each waypoint: max change in Z to allow the BestZ code to apply.
RULE_CATEGORY_END()

RULE_CATEGORY( Watermap )
// enable these to use the water detection code. Requires Water Maps generated by awater utility
RULE_BOOL ( Watermap, CheckWaypointsInWaterWhenLoading, false ) // Does not apply BestZ as waypoints are loaded if they are in water
RULE_BOOL ( Watermap, CheckForWaterAtWaypoints, false) 		// Check if a mob has moved into/out of water when at waypoints and sets flymode
RULE_BOOL ( Watermap, CheckForWaterWhenMoving, false)		// Checks if a mob has moved into/out of water each time it's loc is recalculated
RULE_BOOL ( Watermap, CheckForWaterOnSendTo, false)		// Checks if a mob has moved into/out of water on SendTo
RULE_BOOL ( Watermap, CheckForWaterWhenFishing, false)		// Only lets a player fish near water (if a water map exists for the zone)
RULE_REAL ( Watermap, FishingRodLength, 30)			// How far in front of player water must be for fishing to work
RULE_REAL ( Watermap, FishingLineLength, 40)			// If water is more than this far below the player, it is considered too far to fish
RULE_CATEGORY_END()

RULE_CATEGORY( Spells )
RULE_INT (Spells, AutoResistDiff, 15)
RULE_REAL (Spells, ResistChance, 2.0) //chance to resist given no resists and same level
RULE_REAL (Spells, ResistMod, 0.40) //multiplier, chance to resist = this * ResistAmount
RULE_REAL (Spells, PartialHitChance, 0.7) //The chance when a spell is resisted that it will partial hit.
RULE_CATEGORY_END()

RULE_CATEGORY( Combat )
RULE_REAL ( Combat, BaseCritChance, 0.0 ) //The base crit chance for non warriors, NOTE: This will apply to NPCs as well
RULE_REAL ( Combat, WarBerBaseCritChance, 0.03 ) //The base crit chance for warriors and berserkers, only applies to clients
RULE_REAL ( Combat, BerserkBaseCritChance, 0.06 ) //The bonus base crit chance you get when you're berserk
RULE_INT ( Combat, NPCBashKickLevel, 6 ) //The level that npcs can KICK/BASH
RULE_REAL ( Combat, ClientBaseCritChance, 0.0 ) //The base crit chance for all clients, this will stack with warrior's/zerker's crit chance.
RULE_BOOL ( Combat, UseIntervalAC, false)
RULE_INT ( Combat, PetAttackMagicLevel, 30)
RULE_CATEGORY_END()

RULE_CATEGORY( NPC )
RULE_INT ( NPC, MinorNPCCorpseDecayTimeMS, 450000 ) //level<55
RULE_INT ( NPC, MajorNPCCorpseDecayTimeMS, 1500000 ) //level>=55
RULE_BOOL (NPC, UseItemBonusesForNonPets, true)
RULE_INT ( NPC, SayPauseTimeInSec, 5)
RULE_INT ( NPC, OOCRegen, 0)
RULE_BOOL ( NPC, BuffFriends, false )
RULE_CATEGORY_END()

RULE_CATEGORY ( Aggro )
RULE_BOOL ( Aggro, SmartAggroList, true )
RULE_INT ( Aggro, SittingAggroMod, 35 ) //35%
RULE_INT ( Aggro, MeleeRangeAggroMod, 10 ) //10%
RULE_INT ( Aggro, CurrentTargetAggroMod, 0 ) //0% --will prefer our current target to any other; makes it harder for our npcs to switch targets.
RULE_INT ( Aggro, CriticallyWoundedAggroMod, 100 ) //100%
RULE_INT ( Aggro, SlowAggroMod, 450 )
RULE_INT ( Aggro, IncapacitateAggroMod, 500 ) //mez, blind, stun, charm etc etc
RULE_INT ( Aggro, MovementImpairAggroMod, 175 )
RULE_INT ( Aggro, SpellAggroMod, 100 )
RULE_INT ( Aggro, SongAggroMod, 33 )
RULE_INT ( Aggro, PetSpellAggroMod, 10 )
RULE_CATEGORY_END()
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #7  
Old 04-09-2008, 09:09 PM
jenco420
Banned
 
Join Date: Jan 2006
Location: /dev/null
Posts: 99
Default

Nice lots of rules to play with ^^
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 05:30 PM.


 

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