EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   Definitions or Descriptions of Rules? (https://www.eqemulator.org/forums/showthread.php?t=24433)

loglos 02-20-2008 04:52 AM

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.

Knightly 02-20-2008 02:50 PM

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


loglos 02-20-2008 05:33 PM

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

thanks.

trevius 04-08-2008 05:56 PM

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.

cavedude 04-08-2008 06:19 PM

This data is better off in the wiki.

trevius 04-09-2008 05:12 PM

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()


jenco420 04-09-2008 09:09 PM

Nice lots of rules to play with ^^


All times are GMT -4. The time now is 01:05 PM.

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