Your IP : 216.73.216.182


Current Path : /home/cmowner/CoffeeMud/resources/examples/
Upload File :
Current File : //home/cmowner/CoffeeMud/resources/examples/deityreaction.ini

#
#  Copyright 2020-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=Favor with <NAME>

# 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=10000 -PLAYER -JAVACLASS +GenDeity -NAME "+<NAME>"; -5000 -PLAYER  -JAVACLASS +GenDeity +NAMES -"+<NAME>"; 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=10000 -PLAYER -JAVACLASS +GenDeity -NAME "+<NAME>"; -5000 -PLAYER  -JAVACLASS +GenDeity +NAMES -"+<NAME>"

# 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=-10000;-7501 ;Hated  ;<CODE>_ENEMY;
RANGE2=-5000 ;-2501 ;Infidel;<CODE>_INFIDEL;
RANGE3=-2500 ; 2500 ;Neutral;<CODE>_NEUTRAL;
RANGE4= 2501 ; 7500 ;Favored;<CODE>_FAVORED;
RANGE6= 7501 ; 10000;Beloved;<CODE>_AVATAR;

# 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=EXTREME

# 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=MSG_HOLYEVENT(OMSG=BLESSING TGT=ME SRC="<NAME>" MASK="-JAVACLASS +GenDeity");UP;5%;JUST100 OUTSIDER;+BASECLASS -Cleric -DEITY "+<NAME>"
CHANGE2=MSG_HOLYEVENT(OMSG=SERVICE TGT=ME SRC="<NAME>" MASK="-JAVACLASS +GenDeity");UP;10%;JUST100 OUTSIDER;+BASECLASS -Cleric -DEITY "+<NAME>"
CHANGE3=MSG_REBUKE(TGT="<NAME>" MASK="-BASECLASS +Cleric -DEITY \"+<NAME>\" ");DOWN;5000%;JUST100 OUTSIDER;-JAVACLASS +GenDeity -NAME "+<NAME>"
CHANGE4=MSG_HOLYEVENT(OMSG=REBUKE TGT=ME SRC="<NAME>" MASK="-JAVACLASS +GenDeity");DOWN;2500%;JUST100 OUTSIDER;-BASECLASS +Cleric -DEITY "+<NAME>"
CHANGE5=MSG_SERVE(TGT="<NAME>" MASK="-BASECLASS +Cleric");UP;500%;JUST100 OUTSIDER;-JAVACLASS +GenDeity -NAME "+<NAME>"
CHANGE6=MSG_HOLYEVENT(OMSG=BLESSING TGT=ME SRC="<NAME>" MASK="-JAVACLASS +GenDeity");UP;10%;JUST100 OUTSIDER;-BASECLASS +Cleric -DEITY "+<NAME>"
CHANGE7=MSG_HOLYEVENT(OMSG=SERVICE TGT=ME SRC="<NAME>" MASK="-JAVACLASS +GenDeity");UP;100%;JUST100 OUTSIDER;-BASECLASS +Cleric -DEITY "+<NAME>"
CHANGE8=MSG_HOLYEVENT(OMSG=CURSING TGT=ME SRC="<NAME>" MASK="-JAVACLASS +GenDeity");DOWN;250%;JUST100 OUTSIDER;-DEITY "+<NAME>"
CHANGE9=MSG_REBUKE(TGT="<NAME>" MASK="+BASECLASS -Cleric -DEITY \"+<NAME>\" ");DOWN;1000%;JUST100 OUTSIDER;-JAVACLASS +GenDeity -NAME "+<NAME>"
CHANGE10=MSG_HOLYEVENT(OMSG=REBUKE TGT=ME SRC="<NAME>" MASK="-JAVACLASS +GenDeity");DOWN;1000%;JUST100 OUTSIDER;+BASECLASS -Cleric -DEITY "+<NAME>"
CHANGE11=MSG_FOLLOW(SRC=ME MASK="-DEITY \"+<NAME>\" ");DOWN;100%;JUST100 OUTSIDER;-NPC -FACTION +<CODE>_INFIDEL +<CODE>_ENEMY
CHANGE12=MSG_SERVE(TGT="<NAME>" MASK="+BASECLASS -Cleric");UP;500%;JUST100 OUTSIDER;-JAVACLASS +GenDeity -NAME "+<NAME>"
CHANGE13=MSG_HOLYEVENT(OMSG=DISAPPOINTED TGT=ME SRC="<NAME>" MASK="-JAVACLASS +GenDeity");DOWN;50%;JUST100 OUTSIDER;-BASECLASS +Cleric -DEITY "+<NAME>"
CHANGE14=MSG_HOLYEVENT(OMSG=DISAPPOINTED TGT=ME SRC="<NAME>" MASK="-JAVACLASS +GenDeity");DOWN;50%;JUST100 OUTSIDER;+BASECLASS -Cleric -DEITY "+<NAME>"

# 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=true;