| Current Path : /home/cmowner/CoffeeMud/resources/examples/ |
| Current File : //home/cmowner/CoffeeMud/resources/examples/racereaction.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 with <NAME>s # 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=-10000 MAXIMUM=10000 # 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=FALSE # 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=TRUE # 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=FALSE # Whether this faction is inherited by children # Example: INHERITED= TRUE INHERITED=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=500 -MOB -RACE "+<CLASSID>"; 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=500 -MOB -RACE "+<CLASSID>"; 0 -MOB; ; 7500 -PLAYER -RACE "+<CLASSID>" # 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=-8000;-1500;Hated;<CODE>_HATED; RANGE2=-10000;-8000;Villain;<CODE>_VILLAIN; RANGE3=-500;500;Neutral;<CODE>_NEUTRAL; RANGE4=500;1500;Liked;<CODE>_LIKED; RANGE5=-1500;-500;Disliked;<CODE>_DISLIKED; RANGE6=8000;10000;Hero;<CODE>_HERO; RANGE7=1500;8000;Loved;<CODE>_LOVED; # 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=NONE # 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, ID=ALL, and/or WAIT=[TICKS] to prevent spamming. # 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=KILL;DOWN;10%;OUTSIDER JUST100;-RACE "+<CLASSID>" CHANGE2=BRIBE(PCT=100%);UP;20%;OUTSIDER JUST100;-RACE "+<CLASSID>" CHANGE3=MUDCHAT(MASK="+MOOD -ANGRY -RUDE -MEAN -GRUMPY");UP;5%;OUTSIDER JUST100;-RACE "+<CLASSID>" CHANGE4=TALK(WAIT=10 REGEX=".*<NAME>.*" MASK="+MOOD -ANGRY -RUDE -MEAN -GRUMPY");UP;5%;OUTSIDER JUST100;-RACE "+<CLASSID>" CHANGE5=TALK(WAIT=3 MASK="+MOOD -ANGRY -RUDE -MEAN -GRUMPY");UP;1%;OUTSIDER JUST100;-RACE "+<CLASSID>" CHANGE6=ADDOUTSIDER;ADD;0;OUTSIDER SELFOK;-MOB # 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 REACTION1=<CODE>_HATED;-RACE "+<CLASSID>";Mood;mean REACTION2=<CODE>_HATED;-RACE "+<CLASSID>" -CHANCE 95;Aggressive;CHECKLEVEL -NAMES "+<TARGET>" REACTION3=<CODE>_VILLAIN;-RACE "+<CLASSID>";Mood;mean REACTION4=<CODE>_VILLAIN;-RACE "+<CLASSID>" -CHANCE 75;VeryAggressive;CHECKLEVEL -NAMES "+<TARGET>" REACTION5=<CODE>_DISLIKED;-RACE "+<CLASSID>" -CHANCE 85;Mood;grumpy REACTION6=<CODE>_DISLIKED;-RACE "+<CLASSID>" -CHANCE 90 +DISPOSITION -ISHIDDEN -ISINVISIBLE;Emote;gives you a dirty look. REACTION7=<CODE>_LIKED;-RACE "+<CLASSID>" -CHANCE 85;Mood;happy REACTION8=<CODE>_LIKED;-RACE "+<CLASSID>" -CHANCE 85;Emote;smiles. REACTION9=<CODE>_LOVED;-RACE "+<CLASSID>" -CHANCE 80;Say;Hello <TARGET>. REACTION10=<CODE>_LOVED;-RACE "+<CLASSID>";MudChat; REACTION11=<CODE>_LOVED;-RACE "+<CLASSID>";Mood;happy REACTION12=<CODE>_HERO;-RACE "+<CLASSID>" -CHANCE 75;Spell_AweOther;<TARGET> REACTION12=<CODE>_HERO;-RACE "+<CLASSID>";MudChat; REACTION13=<CODE>_HERO;-RACE "+<CLASSID>";Mood;happy REACTION14=<CODE>_HERO;-RACE "+<CLASSID>" -CHANCE 80;Say;Hail <TARGET>, hero of all <NAME>s! REACTION15=<CODE>_HERO;-RACE "+<CLASSID>";Spell_AweOther;<TARGET> REACTION16=<CODE>_LOVED;-RACE "+<CLASSID>" -CHANCE 80;NiceAbilities; REACTION17=<CODE>_HERO;-RACE "+<CLASSID>";NiceAbilities; REACTION18=<CODE>_HATED;-RACE "+<CLASSID>" -CHANCE 80;NastyAbilities; REACTION19=<CODE>_VILLAIN;-RACE "+<CLASSID>";NastyAbilities; REACTION20=<CODE>_HERO;-RACE "+<CLASSID>";Guard;<TARGET> REACTION21=<CODE>_LIKED;-RACE "+<CLASSID>" -JAVACLASS +StdShopkeeper +GenShopkeeper;Skill_Befriend;<TARGET>=3 REACTION22=<CODE>_LOVED;-RACE "+<CLASSID>" -JAVACLASS +StdShopkeeper +GenShopkeeper;Skill_Befriend;<TARGET>=8 REACTION23=<CODE>_HERO;-RACE "+<CLASSID>" -JAVACLASS +StdShopkeeper +GenShopkeeper;Skill_Befriend;<TARGET>=13 REACTION24=<CODE>_DISLIKED;-RACE "+<CLASSID>" -JAVACLASS +StdShopkeeper +GenShopkeeper;Skill_Befriend;<TARGET>=-3 REACTION25=<CODE>_HATED;-RACE "+<CLASSID>" -JAVACLASS +StdShopkeeper +GenShopkeeper;Skill_Befriend;<TARGET>=-8 REACTION26=<CODE>_VILLAIN;-RACE "+<CLASSID>" -JAVACLASS +StdShopkeeper +GenShopkeeper;Skill_Befriend;<TARGET>=-13 # 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=true;