# File: player_timed.txt

# Used in conjunction with list-player-timed.h
# Timed player properties

# Descriptions, messages and message types can be edited without bad effects.
# Changing fail may have unpredictable results.
# Changing the name or adding whole new entries will severely disrupt the game.
# It should only be done when list-player-timed.h (and other code) is also being
# changed, and the game recompiled.
# Changing a resist line will have to match to one of the hard-coded elements
# from list-elements.h; currently, those resist lines are used to filter out
# unnecessary messages when timed effects lapse and to affect selection of
# randart activations.
# Changing a brand or slay line will have to match to an entry in brand.txt or
# slay.txt, respectively; besides the effect on combat, those lines also
# affect selection of randart activations.
# Changing a flag-synonym line will have to match to an entry, of type flag, in
# object_property.txt; those lines are currently used to filter out unnecessary
# messages when timed effects lapse and to affect selection of randart
# activations.

# Fields:
# name - the effect name; the name must match the first argument to one of the
#        TMD() macros in list-player-timed.h
# desc - the effect description
# grade - specify a grade for this effect; most effects only have two grades:
#         off (implicit for all effects, maximum of 0, no transition messages)
#         and on (the one grade specified for the effect in this file)
#         param one: color used on the status line for this effect when in this
#             grade; may be a one letter color code or the full color name
#             (case insensitive)
#         param two: is the maximum for this grade; to work properly must be
#             greater than zero, less than 32768, and greater than the maximum
#             for any previous grades specified for this effect
#         param three: is the name of the grade and will be shown in the status
#             line; use a one character long name for the grade to suppress
#             showing the timed effect in the status line when in that grade
#         param four: is the message to display when the effect enters this
#             grade from a lower grade; no message will be displayed if the
#             message is one character long
#         param five (optional): is the message to display when the effect
#             enters this grade from a higher grade; no message will be
#             displayed if this parameter is omitted
# on-end - the message on ending the effect
# on-increase - the message on the effect increasing
# on-decrease - the message on the effect decreasing
# msgt - the message type to use for the change of grade, on-increase, and
#        on-decrease messages for this effect; the type must either match
#        (case-insensitive) the first argument to one of the MSG() macros in
#        list-message.h or be an unsigned integer less than MSG_MAX which is
#        the index of the message type to use within list-message.h; on-end
#        messages always use the RECOVER message type; for the textui user
#        interface, the message type affects the message color (configured
#        globally by lib/customize/message.prf; also configurable by
#        preferences in the user's files) and the sound played when the
#        message is displayed (configured globally by lib/customize/sound.prf;
#        also configurable by preferences in the user's files)
# fail - determines what makes the effect fail; may be specified more than
#        once - the effect will fail if any of the conditions are met
#        param one:
#          1 - object flag
#          2 - resist
#          3 - vulnerability
#          4 - player flag
#          5 - presence of timed effect
#        param two:
#          the actual flag that causes the failure; for an object flag, the
#          flag must match the first argument to one of the OF() macros in
#          list-object-flags.h; for a player flag, the flag must match the
#          first argument to one of the PF() macros in list-player-flags.h; for
#          a resist or vulnerability, the flag must match the argument to one
#          of the ELEM() macros in list-elements.h; for a timed effect, the
#          flag must match the argument to TMD() macros list-player-timed.h
# on-begin-effect - (optional) specifies an effect to be invoked when the
#                   timed effect starts; can be used more than once - the
#                   additional effects will be executed in the order in which
#                   they appear
#                   param one: name of the effect (argument to one of the
#                       EFFECT() macros in list-effects.h)
#                   param two: name of the subtype of the effect; can be
#                       omitted
#                   param three: radius of the effect; can be omitted and
#                       must be omitted if the subtype is omitted
#                   param four: the "other" parameter for the effect; can be
#                       omitted and must be omitted if the subtype or radius is
#                       omitted
# on-end-effect - (optional) specifies an effect to be invoked when the timed
#                 effect lapses; can be used more than once - the additional
#                 effects will be executed in the order in which they appear
#                 param one: name of the effect (argument to one of the
#                     EFFECT() macros in list-effects.h)
#                 param two: name of the subtype of the effect; can be omitted
#                 param three: radius of the effect; can be omitted and must
#                     be omitted if the subtype is omitted
#                 param four: the "other" parameter for the effect; can be
#                     omitted and must be omitted if the subtype or radius is
#                     omitted
# effect-yx - (optional) specifies the y and x parameters of the most recently
#             set effect (i.e. from a prior on-begin-effect or on-end-effect
#             directive)
#             param one: is the value of the y parameter for the effect
#             param two: is the value of hte x parameter for the effect
# effect-dice - (optional) specifies the dice string for the most recently
#               set effect (i.e. from a prior on-begin-effect or on-end-effect
#               directive)
# effect-expr - (optional) defines an expression for the dice string of the
#               most recently set effect (i.e. from a prior on-begin-effect
#               or on-end-effect directive); requires that the dice string has
#               been set for the effect with a effect-dice directive
#               param one: is the name of the variable to substitute with the
#                   value of the expression; variable names must be all
#                   capital letters and a reference to a variable in a dice
#                   string starts with a $; if the dice string does not contain
#                   a reference to the given variable, parsing of the game's
#                   data files will stop with an error
#               param two: set the name of the base value to modify with the
#                   operations in the third parameter; the name can be one of
#                   those listed below; if it does not match any in the list,
#                   the base value will be zero
#                     PLAYER_LEVEL - the player's level
#                     DUNGEON_LEVEL - the dungeon's level
#                     MAX_SIGHT - the maximum sight range, in grids
#                     WEAPON_DAMAGE - a random roll for the base damage (only
#                         the weapon's dice and damage modifiers are included;
#                         no damage modifiers from the player or equipment
#                         other than the weapon are used) of the player's
#                         equipped weapon; if the player has no equipped
#                         weapon, the value of this is zero
#                    PLAYER_HP - the player's current number of hit points
#                    MONSTER_PERCENT_HP_GONE - ((maximum hit points for the
#                         player's target monster - current hit poinst for the
#                         player's target monster) * 100) / maximum hit points
#                         for the player's target monster or 0 if the player
#                         doesn't currently have a targeted monster
#               param three: sets the operations to perform on the base value to
#                   get the value substituted into the dice expression; for
#                   instance, "* 2 / 3" would multiply the base value by 2 then
#                   divide that result by three, discarding any remainder;
#                   operators that are allowed are '+' (addition),
#                   '-' (subtraction), '*' (multiplication), '/' (integer
#                   division; discards remainder), and 'n' or 'N' (either negate
#                   the result from before the operator); integer constants
#                   in the operations must be between -32768 and 32767;
#                   operators and integer constants in the operations should be
#                   separated by single spaces
# effect-msg - (optional) appends to the message associated with the most
#              recently set effect (i.e. from a prior on-begin-effect or
#              on-end-effect directive); how that  message is used depends on
#              the effect - typically it may be printed during the effect or
#              is used as a death message
# resist - (optional) when this timed property is active, the recipient gains
#          a temporary resistance to the named element
# brand - (optional) when this timed property is active, the recipient gains
#         the given brand (by its code in brand.txt) on equipped weapons; when
#         there's no brand line, the timed property does not induce a brand
# slay - (optional) when this timed property is active, the recipient gains
#        the given slay (by its code in slay.txt) on equipped weapons; when
#        there's no slay line, the timed property does not induce a slay
# flag-synonym - (optional) indicate that this timed property is (largely)
#                synonymous to the object property of type flag in
#                object_property.txt with the code given by the first parameter;
#                if the second parameter is not zero, this timed property is an
#                exact synonym, except for duration; if the second parameter is
#                zero, the timed property has other effects that are not
#                implied by the named object property
# lower-bound - (optional) overrides the default lower bound of zero for the
#               timed effect; the lower bound must be non-negative, less
#               than 32768, and less than or equal to the maximum for any of
#               the timed effect's grades; if the lower bound is greater than
#               zero, the timed effect is always active (so a message set by
#               on-end or an effect by on-begin-effect or on-end-effect will
#               not be used)
# flags - (optional) specifies one or more flags for the timed effect; can
#         appear more than once with all the flags specified accumulating;
#         more than one flag can be specified each time it is used - the names
#         of the flags must be separated by spaces or '|'; the flag names or
#         that are understood are:
#         NONSTACKING - any attempt to increase the timed effect while it is
#             already active will not increase the duration; this is a stronger
#             restriction than having the timed effect fail because of the
#             timed effect itself, primarily because NONSTACKING also affects
#             cases, like TIMED_INC_NO_RES effects, where the failure check is
#             bypassed; NONSTACKING is also handled differently than failing
#             for the timed effect itself in terms of lore checks (if a timed
#             effect is NONSTACKING, lore for a monster won't show that a
#             the monster's attack inflicting that status is resisted solely
#             because the character is already subject to the timed effect)

name:FAST
desc:haste
grade:G:10000:Haste:You feel yourself moving faster!
on-end:You feel yourself slow down.
msgt:SPEED

name:SLOW
desc:slowness
grade:U:10000:Slow:You feel yourself moving slower!
on-end:You feel yourself speed up.
msgt:SLOW
fail:1:FREE_ACT

name:BLIND
desc:blindness
grade:o:10000:Blind:You are blind.
on-end:You blink and your eyes clear.
msgt:BLIND
fail:1:PROT_BLIND

name:PARALYZED
desc:paralysis
grade:r:10000:Paralyzed!:You are paralysed!
on-end:You can move again.
msgt:PARALYZED
fail:1:FREE_ACT
flags:NONSTACKING

name:CONFUSED
desc:confusion
grade:o:10000:Confused:You are confused!
on-end:You are no longer confused.
on-increase:You are more confused!
on-decrease:You feel a little less confused.
msgt:CONFUSED
fail:1:PROT_CONF

name:AFRAID
desc:fear
grade:o:10000:Afraid:You are terrified!
on-end:You feel bolder now.
on-increase:You are more scared!
msgt:AFRAID
fail:1:PROT_FEAR

name:IMAGE
desc:hallucination
grade:o:10000:Halluc:You feel drugged!
on-end:You can see clearly again.
on-increase:You feel more drugged!
msgt:DRUGGED
fail:2:CHAOS

name:POISONED
desc:poisoning
grade:o:10000:Poisoned:You are poisoned!
on-end:You are no longer poisoned.
on-increase:You are more poisoned!
on-decrease:You are less poisoned.
msgt:POISONED
fail:2:POIS
fail:5:OPP_POIS

name:CUT
desc:wounds
grade:y:10:Graze:You have been given a graze.
grade:y:25:Light Cut:You have been given a light cut.
grade:o:50:Bad Cut:You have been given a bad cut.
grade:o:100:Nasty Cut:You have been given a nasty cut.
grade:r:200:Severe Cut:You have been given a severe cut.
grade:r:1000:Deep Gash:You have been given a deep gash.
grade:R:10000:Mortal Wound:You have been given a mortal wound.
on-end:You are no longer bleeding.
msgt:CUT
fail:4:ROCK

name:STUN
desc:stunning
grade:o:50:Stun:You have been stunned.
grade:o:150:Heavy Stun:You have been heavily stunned.
grade:r:10000:Knocked Out:You have been knocked out.
on-end:You are no longer stunned.
msgt:STUN
fail:1:PROT_STUN

# Note food grades are in percantages here, and are translated on parsing
name:FOOD
desc:nourishment
grade:R:1:Starving: :You are starving!!
grade:r:4:Faint:You are still faint.:You are getting faint from hunger!
grade:o:8:Weak:You are still weak.:You are getting weak from hunger!
grade:y:15:Hungry:You are still hungry.:You are getting hungry.
grade:G:90:Fed:You are no longer hungry.:You are no longer full.
grade:g:100:Full:You are full!:
msgt:HUNGRY
lower-bound:1

name:PROTEVIL
desc:protection from evil
grade:G:10000:ProtEvil:You feel safe from evil!
on-end:You no longer feel safe from evil.
on-increase:You feel even safer from evil!
msgt:PROT_EVIL

name:INVULN
desc:invulnerability
grade:G:10000:Invuln:You feel invulnerable!
on-end:You feel vulnerable once more.
msgt:INVULN

name:HERO
desc:heroism
grade:G:10000:Hero:You feel like a hero!
on-end:You no longer feel heroic.
on-increase:You feel more like a hero!
msgt:HERO
flag-synonym:PROT_FEAR:0

name:SHERO
desc:berserk rage
grade:G:10000:Berserk:You feel like a killing machine!
on-end:You no longer feel berserk.
on-increase:You feel even more berserk!
msgt:BERSERK
flag-synonym:PROT_FEAR:0

name:SHIELD
desc:mystic shield
grade:G:10000:Shield:A mystic shield forms around your body!
on-end:Your mystic shield crumbles away.
on-increase:The mystic shield strengthens.
msgt:SHIELD

name:BLESSED
desc:your AC and to-hit bonus
grade:G:10000:Blssd:You feel righteous!
on-end:The prayer has expired.
on-increase:You feel more righteous!
msgt:BLESSED

name:SINVIS
desc:see invisible
grade:G:10000:SInvis:Your eyes feel very sensitive!
on-end:Your eyes no longer feel so sensitive.
on-increase:Your eyes feel more sensitive!
msgt:SEE_INVIS
flag-synonym:SEE_INVIS:1

name:SINFRA
desc:enhanced infravision
grade:G:10000:Infra:Your eyes begin to tingle!
on-end:Your eyes stop tingling.
on-increase:The tingling in your eyes intensifies.
msgt:INFRARED

name:OPP_ACID
desc:acid resistance
grade:s:10000:RAcid:You feel resistant to acid!
on-end:You are no longer resistant to acid.
on-increase:You feel more resistant to acid!
msgt:RES_ACID
fail:3:ACID
resist:ACID

name:OPP_ELEC
desc:electricity resistance
grade:b:10000:RElec:You feel resistant to electricity!
on-end:You are no longer resistant to electricity.
on-increase:You feel more resistant to electricity!
msgt:RES_ELEC
fail:3:ELEC
resist:ELEC

name:OPP_FIRE
desc:fire resistance
grade:r:10000:RFire:You feel resistant to fire!
on-end:You are no longer resistant to fire.
on-increase:You feel more resistant to fire!
msgt:RES_FIRE
fail:3:FIRE
resist:FIRE

name:OPP_COLD
desc:cold resistance
grade:w:10000:RCold:You feel resistant to cold!
on-end:You are no longer resistant to cold.
on-increase:You feel more resistant to cold!
msgt:RES_COLD
fail:3:COLD
resist:COLD

name:OPP_POIS
desc:poison resistance
grade:g:10000:RPois:You feel resistant to poison!
on-end:You are no longer resistant to poison.
on-increase:You feel more resistant to poison!
msgt:RES_POIS
fail:3:POIS
resist:POIS

name:OPP_CONF
desc:confusion resistance
grade:v:10000:RConf:You feel resistant to confusion!
on-end:You are no longer resistant to confusion.
on-increase:You feel more resistant to confusion!
flag-synonym:PROT_CONF:1

name:AMNESIA
desc:amnesia
grade:o:10000:Amnesiac:You feel your memories fade.
on-end:Your memories come flooding back.
msgt:GENERIC

name:TELEPATHY
desc:telepathy
grade:B:10000:ESP:Your mind expands.
on-end:Your horizons are once more limited.
on-increase:Your mind expands further.
msgt:GENERIC
flag-synonym:TELEPATHY:1

name:STONESKIN
desc:stone skin
grade:G:10000:Stone:Your skin turns to stone.
on-end:A fleshy shade returns to your skin.
msgt:GENERIC

name:TERROR
desc:terror
grade:r:10000:Terror:You feel the need to run away and fast!
on-end:The urge to run dissipates.
msgt:AFRAID

name:SPRINT
desc:sprinting
grade:G:10000:Sprint:You start sprinting.
on-end:You suddenly stop sprinting.
msgt:SPEED
on-end-effect:TIMED_INC_NO_RES:SLOW
effect-dice:100

name:BOLD
desc:fearlessness
grade:G:10000:Bold:You feel bold.
on-end:You no longer feel bold.
on-increase:You feel even bolder!
msgt:BOLD
flag-synonym:PROT_FEAR:1

name:SCRAMBLE
desc:scrambled
grade:v:10000:Scrambled:Your body starts to scramble...
on-end:Your body reasserts its true nature.
on-increase:You are more scrambled!
msgt:SCRAMBLE
fail:2:NEXUS
on-begin-effect:SCRAMBLE_STATS
on-end-effect:UNSCRAMBLE_STATS

name:TRAPSAFE
desc:safety from traps
grade:G:10000:TrapSafe:You feel safe from traps.
on-end:You feel vulnerable to traps again.
on-increase:You feel even safer from traps!
flag-synonym:TRAP_IMMUNE:1

name:FASTCAST
desc:mana channelling
grade:i:10000:FastCast:You feel your mind accelerate.
on-end:You feel your mind slow again.

name:ATT_ACID
desc:temporary acid brand
grade:s:10000:AttAcid:Your {kind} start{s} to drip with acid!
on-end:The acid disappears from your {kind}.
brand:ACID_3

name:ATT_ELEC
desc:temporary lightning brand
grade:b:10000:AttElec:Sparks gather around your {kind}!
on-end:The sparks fade from your {kind}.
brand:ELEC_3

name:ATT_FIRE
desc:temporary fire brand
grade:r:10000:AttFire:Flames surround your {kind}!
on-end:The flames on your {kind} subside.
brand:FIRE_3

name:ATT_COLD
desc:temporary cold brand
grade:w:10000:AttCold:Your {kind} {is} covered in frost!
on-end:The frost evaporates from your {kind}.
brand:COLD_3

name:ATT_POIS
desc:temporary poison brand
grade:g:10000:AttPois:Your {kind} drip{s} with poison!
on-end:The poison disappears from your {kind}.
brand:POIS_3

name:ATT_CONF
desc:temporary monster confusion
grade:U:10000:AttConf:Your hands begin to glow!
on-end:The glow fades from your hands.

name:ATT_EVIL
desc:temporary slay evil
grade:w:10000:AttEvil:Your {kind} {is} imbued with holy force!
on-end:Holy force fades from your {kind}.
slay:EVIL_2

name:ATT_DEMON
desc:temporary slay demon
grade:R:10000:AttDemon:Your {kind} become{s} a bane of demons!
on-end:Your {kind} return{s} to normal.
slay:DEMON_5

name:ATT_VAMP
desc:temporary hitpoint siphoning
grade:p:10000:AttVamp:Your can drain life from your victims!
on-end:Your life-draining power passes.

name:HEAL
desc:turn-by-turn healing through increased metabolism
grade:G:10000:Heal:Your metabolism speeds up!
on-end:Your metabolism return to normal.

name:COMMAND
desc:commanding a monster
grade:P:10000:Cmd:You focus on your target.
on-end:Your resume control of your own body.

name:ATT_RUN
desc:escape on attack
grade:m:10000:HitRun:You tense up ready to escape!
on-end:You relax again.

name:COVERTRACKS
desc:leave no scent trail, reduce visibility
grade:T:10000:NoTrack:You begin covering your tracks.
on-end:You stop covering your tracks.

name:POWERSHOT
desc:piercing shot
grade:i:10000:PShot:You prepare to shoot powerfully!
on-end:Your shooting power returns to normal.

name:TAUNT
desc:taunting
grade:i:10000:Taunt:You start aggravating your enemies!
on-end:You stop aggravating your enemies.

name:BLOODLUST
desc:desire to kill
grade:y:10:Bloodlust:A red mist descends over your eyes!
grade:I:18:Bloodlust:Your thirst for blood increases!
grade:o:26:Bloodlust:Your thirst for blood increases!
grade:r:34:Bloodlust:Your thirst for blood increases!
grade:R:45:Bloodlust:Your thirst for blood increases!
grade:P:50:Bloodlust:Your thirst for blood is insatiable!
on-end:The mist clears.

name:BLACKBREATH
desc:black breath
grade:D:10:BlkBrth:You are overcome by the Black Breath.
on-end:The Black Shadow lifts.

name:STEALTH
desc:stealth
grade:D:10000:Stealth:You feel silent!
on-end:You feel less stealthy.

name:FREE_ACT
desc:free action
grade:G:10000:FrAct:Your limbs fill with energy!
on-end:Your limbs return to normal.
on-increase:Your limbs feel more energetic!
flag-synonym:FREE_ACT:1
