| Current Path : /home/cmowner/CoffeeMud/resources/examples/ |
| Current File : //home/cmowner/CoffeeMud/resources/examples/reputation.ini |
# # Copyright 2000-2025 Bo Zimmerman # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # The INI file specifies all settings for the faction # Name is what the player will see in their faction listings. # It is also used for easy editing of which mobs a faction belongs to. # Example: NAME=My Name NAME=reputation # MINIMUM / MAXIMUM are the low / high values one can achieve # While traditionally the scale was a 1000 point system, going # to a larger system can allow for a more gradual approach. # Negatives, positives, zeros are all OK here. # Example: MINIMUM= -10000 # Example: MAXIMUM= -10000 MINIMUM=0 MAXIMUM=200000 # Whether this faction is always displayed in the player SCORE # The SCORE should be set to TRUE to show this faction in the # score command. # Example: SCOREDISPLAY= FALSE SCOREDISPLAY=TRUE # Whether this faction is displayed in the list of factions # when the FACTIONS command is used. The value should be set # to TRUE to show this faction in the factions command. # Example: SHOWINFACTIONSCMD=FALSE SHOWINFACTIONSCMD=FALSE # Whether this faction gets averaged and shown in area reports # Only one faction will be selected for this honor. The # SPECIALREPORTED should be set to TRUE to turn this feature on for # this faction. # Example: SPECIALREPORTED= FALSE SPECIALREPORTED=FALSE # Whether this faction gets a shortcut to it shown in the editors # Example: EDITALONE= FALSE EDITALONE=TRUE # DEFAULT is a semi-colon delimited set of Zappers and values # These values are applied whenever a faction is added manually, # or as the result of an event. This tag should always have at # least one value, and should never be empty. Default is 0. # Example: DEFAULT=-10000 -RACE +DWARF; 10000 -RACE +ELF; 10 DEFAULT=0 # AUTODEFAULTS is a semi-colon delimited set of Zappers and values # These values are applied when a mob or player is created. This # faction, with the value listed, will be applied ONLY if the zapper # mask is met by the player or mob at creation time, and only if # a value has not been previously saved. An empty value will prevent # this faction from ever being added to mobs or players automatically. # Example: AUTODEFAULTS=-1000 -RACE +DWARF; 1000 -RACE +ELF AUTODEFAULTS=0 # AUTOCHOICES is a semi-colon delimited set of zappers and values # which may be chosen from during player creation. # The names of the choices will be drawn from the Ranges settings below. # To not have any values from this faction selectable at player creation, # just make this value blank. # Example: AUTOCHOICES=-10000 ; 10000 ; 10 AUTOCHOICES= # CHOICEINTRO is the name of the resource file containing information # for players who will be given a choice at player create time to select a default # value for this faction. This file will only be shown if the player has one or # more choices from the CHOICES setting above. # Example: CHOICEINTRO= text/myfactionintro.txt CHOICEINTRO= # RATEMODIFIER - Multiplier to accelerate or slow the rate of change. # Default is 1.0 (use the default rate of change). # Example: RATEMODIFIER=1.0 RATEMODIFIER=1.0 # Faction Ranges # This is used when the user is listing what standing they have # with a given faction. # [Code Name] is the term is used by zappers. It should be a simple # code word used to represent that range. A code name must be unique. # [Align Flag] is in case the faction is being used as an alignment # replacement. # Syntax: RANGEX = [low] ; [high]; [long name] ; [code name] ; [align flag] # Example: RANGE1 = 0 ; 500; Long Range name ; LONGRCODENM ; RANGE1 = 0 ; 9999 ; unknown ; REPUNKNOWN ; RANGE2 = 10000 ; 19999 ; known ; REPKNOWN ; RANGE3 = 20000 ; 29999 ; reputed ; REPUTED ; RANGE4 = 30000 ; 39999 ; noteworthy ; REPNOTED ; RANGE5 = 40000 ; 49999 ; famous ; REPFAMOUS ; RANGE6 = 50000 ; 74999 ; local hero ; REPLOCHERO ; RANGE6 = 75000 ; 99999 ; regional hero ; REPREGHERO ; RANGE6 = 100000 ;139999 ; world hero ; REPWLDHERO ; RANGE7 = 150000 ;200000 ; legend ; REPLEGEND ; # Experience factor # Does being the same/opposite end of the faction have impact on experience gained? # Values include: # NONE - this faction has no impact on experience gained # EXTREME - experience is proportional to the faction differences. # HIGHER - experience bonus goes up as my factions value goes toward maximum # LOWER - experience bonus goes up as my factions value goes toward minimum # FOLLOWHIGHER - experience bonus goes up as my enemies faction approaches maximum # FOLLOWLOWER - experience bonus goes up as my enemies value approaches minimum # Example: EXPERIENCE=EXTREME EXPERIENCE=FOLLOWHIGHER # Zapper Factoring # Certain groups can optionally gain/lose faction more easily # Syntax: FACTORX = [gain] ; [loss] ; [zapper] # Example: FACTOR1=0.5;1.5;-RACE +DWARF # Relationships with other factions # Any faction change affecting this faction will affect all the # ones listed here. The % sets how much so, positively or negatively. # Syntax: RELATIONX = [Faction] [x.xx%]/[-x.xx%] # Example: RELATION1 = ALIGNMENT.INI 5.35% # Change Triggers - these decide how a faction value changes, when, by how much, # and under what circumstances. The first value in the list of changes is the # trigger type. Types include the following: # MURDER - when someone with this faction is killed who matches the ZAPPER part # of the change trigger definition. # KILL - when someone with this faction kills another who matches the ZAPPER part # of the change trigger definition. # TIME - a change in value that occurs every 10 ticks (around 40 seconds) to those # with standing in this faction, and who meet the ZAPPER mask requirements. The # time can be modified with a ROUNDS= parameter. # BRIBE - when someone with this faction gives money to another. Parameters include # PCT to require an amount = to a percent of the receivers money, or AMOUNT. # SOCIAL - when someone with this faction does a social to another. Parameters include # ID = the Social ID or ALL, and CHANCE= a percent chance of triggering # TALK - when someone with this faction speaks to another. Parameters include # REGEX as a regular expression of whats said, WAIT=[TICKS] to prevent spamming. # MUDCHAT - when someone with this faction converses with a mudchat mob. This # refers to the MudChat behavior. # ARRESTED - when someone with this faction is arrested by a legal mob. # AREAKILL - triggered when % of area mobs killed. PCT parameter required. Group kills. # AREAASS - triggered when % of highest lvl mobs killed by grp - PCT parameter required. # AREAEXPLORE - triggered when % of area expired, PCT parameter required # DYING - triggered when death occurs from any cause. # Ability ID - the ID of a skill, spell, or similar Ability. Ability IDs can be # seen by entering from the command line: list skills, list spells, etc.. # Ability type description - the name of a type of an ability (SPELL, PRAYER, SKILLS, # SONG, CHANT, COMMON SKILL, THIEF SKILL, etc..) # Ability domain description - the name of a spell domain (ILLUSION, TRANSMUTATION, # INVOCATION/EVOCATION, DIVINATION, etc...) # Ability flag description - the name of one of the ability flags defined in the # coffeemud source code in interfaces/Ability.java. HEALING, for instance, # if you want ANY healing abilities to initiate this change. # Social code - the social keyword AND either the optional argument (<T-NAME> or SELF) # or an asterisk to catch any of the many usages. Use WAIT= to prevent spamming. # Message type - the CMMsg type word (prefix MSG_) with optional arguments: # SRC, TGT, OTH, SMSG, TMSG, OMSG. Use "me" to denote faction Holder. # ADDOUTSIDER - this trigger occurs every 10 ticks, and allows a player who # does not have standing in the faction, so long as they meet the target trigger # requirements, to have the faction added using the ADD flag in the next # (Direction) section of this trigger definition. # * Any of the above triggers can be modified with parameters whose names are # unique to each trigger. The format for this VAR=NUMBER or VAR="VALUE". # * All triggers support a MASK parameter to filter on event sources. # * All triggers support a CHANCE=x to give a percent chance of triggering x%. # * All triggers support a WITHIN=x to trigger only with x ticks of timer reset # # 1) The Directions: # a. UP � Faction increases by the standard amount (plus any adjustments) # b. DOWN � Faction decreases by the standard amount (plus any adjustments) # c. TOWARDS - Faction increases or decreases towards the faction of the target. # If there is no target, then there is no change. # d. AWAY - Faction increases or decreases away from the faction of the target. # If there is no target, then there is no change. # c. OPPOSITE � Faction decreases away from and proportional to the faction # of the target. If there is no target, then there is no change. # d. MINIMUM � the player instantly gets the lowest possible faction # e. MAXIMUM � the player instantly gets the highest possible faction # f. REMOVE - the player has the faction removed from their list. # g. ADD - the player has the faction added to their list using above DEFAULTs. # Only useful with the ADDOUTSIDER trigger. # # 2) Change factor � a multiplier for the change. This can be used for major/minor # infractions. Since normal values are between 0 and 150 points, this can be used # to raise or lower this amount. # # 3) FLAGS - this section may contain one or more of the following, space delimited: # # OUTSIDER Flag � Normally, when a target is present, the change only applies if the # target also has standing in this faction. Including this flag will allow the # change to apply even if the target does not. # # SELFOK flag. Normally a change event will NOT trigger if the source and target are # the same person. This flag will allow a change event to trigger on an action that # is targeting the source. This is not recommended because someone can just spam # their faction in one direction or another. # # JUST100 flag. Normally the base unadjusted amount of a movement is based partially # on a comparison between the levels of the source and target, making sure they are # within the range contemplated by the "EXPRATE" entry in the coffeemud.ini file. # Including this flag overrides this adjustment, leaving the base rate of 100 points. # # XP=x key/value. To grant bonus xp to the source of the trigger event, subject to # all the normal level and other xp adjustments for a source and target. # # RPXP=x key/value. To grant bonus roleplay xp to the source of the trigger event. # Will only work if RolePlay XP is enabled in the coffeemud.ini file. # # RESTIME=x key/value. x = name of another change trigger id. Resets WITHIN timers. # # ANNOUNCE=A message to say whenever this event is triggered # # 4) Zapper string. You can specify a target mob filter for change events. So, in # �#CHANGE3=Prayer_Bless;UP;100%;OUTSIDER;-RACE +RODENT�, anytime a player with the # Alignment faction blesses a mob with the Rodent race, their faction will go up. # This change will not trigger if cast on a human. # # Change string format: # Syntax: CHANGEX = [TYPE](PARMS);[DIRECTION];[FACTOR %];[FLAGS];[ZAPPER] # Example: CHANGE1 = MURDER;OPPOSITE;100%;JUST100;-RACE +Elf # Example: CHANGE1=TIME(ROUNDS=40);UP;20%;OUTSIDER JUST100;+MOOD -MEAN -chance 99 CHANGE1=MURDER;UP;100%;OUTSIDER;; CHANGE2=TIME;DOWN;1%;; # Ability Usage Controls # Controlling whether, by default, an ability of the type, or with the given flag, # is flagged as being appropriate for the given range of faction. This has a big # impact on some character classes, and especially on MOB skill usage. # The first parameter is either a skill ID, type, spell domain, or flag name. Flag # names can be prefixed with a "!" to denote the requirement that this flag NOT be found. # All first parm values must match a given skill before the faction range check # is made to evaluate eligibility. # Syntax: ABILITYX = [SKILL NAME/TYPE/DOMAIN/FLAGS];[MIN RANGE];[MAX RANGE] # Example: ABILITY1=PRAYER HOLY !UNHOLY;4501;10000 # Affects/Behaviors # Adds affects and behaviors to mobs who have this faction (not players). # [Ability/Behavior ID] # [Parameters] the official parameters for the affect or behavior # [MOB mask] a mask to determine if any given mob with this faction gets the # affect or behavior # Syntax: AFFBEHAVX = [Ability/Behavior ID] ; [Parameters] ; [MOB mask] # Example: AFFBEHAV1 = Aggressive ;Message="Die!" -FACTION +RANGE3; -RACE +ELF # Reaction Affects/Behaviors/Commands # Adds very temporary affects and behaviors to mobs who match the reaction zapper # mask, and who are in the same room as someone with standing in this faction. # [RangeName] the code name of the range that triggers this # [MOB mask] a mask to determine if any given mob in the presence of a faction # bearer will receive # [Ability/Command/Behavior ID] # [Parameters] the official parameters for the affect or behavior or command, # You may use <TARGET> to substitute the faction bearers name. # Syntax: REACTIONX = [RANGENAME]; [MOB mask]; [Ability/Behavior/Command ID]; [Parameters] # Example: REACTION1 = EVIL; -EVIL -NEUTRAL; Aggressive;Message="Die Evil Scum!" -FACTION +EVIL # Use Light Reactions relates to the reaction list above. # Set to false to use the normal reaction system, or true to use the 'light' reaction system. # The normal system uses more resources, but players with different faction values will conflict # when in the same room, making mob reactions go to the winner. However, all properties and # behaviors will work as expected. # The light system uses less resources, and allows players with different faction values to get # some functionality when in the same room with each other. However, some properties and # behaviors may not work as expected. USELIGHTREACTIONS=false;