# projection.txt

# Descriptions, colors, message types, and obvious can be edited without
# bad effects.
# Changing the name will affect links with any brands in brand.txt that used
# the old name.
# Changing the maximum damage, relation of damage to the breather's HP,
# reductions due to resistance and whether the projection wakes will have
# implications for balance.
# Changing the codes or their ordering has to be done with care and in
# conjunction with recompiling the game.  The projections of type element
# have to appear first in the same order and with the same codes as the
# listing of elements in list-elements.h.  The projections of other types
# have to appear after those of type element and in the same order as they
# are listed in list-projections.h.

# === Understanding projection.txt ===

# Format:
# code: code
# name: name
# type: element / environs / monster
# desc: description
# player-desc: player description
# blind-desc: blind description
# lash-desc: lash description
# numerator: damage multiplier
# denominator: damage divisor
# divisor: HP divisor
# damage-cap: max damage
# msgt: message type
# obvious: 0/1
# wake: 0/1
# color: color

# 'code' is the computer code for this projection used by the game.  For
# projections of type element, the code must match the argument to one of the
# ELEM() macros in list-elements.h, and those projections must appear first
# and in the order they are listed in list-elements.h.  For projections of
# other types, the code must match the argument to one of the PROJ()
# macros in list-projections.h, and those projections must appear in the
# order they are listed in list-projections.h.

# 'name' is the human readable name for this projection.  A brand in brand.txt
# is linked to a projection through the name.

# 'type' can be 'element' for an elemental attack type, 'environs' for
# something that affects terrain or dungeon features, or 'monster' for
# direct effects on monsters.

# 'desc' is the descriptive name for the projection, usually used in object
# descriptions.

# 'player-desc' is similar to desc and is used primarily when describing
# ball, breath, arc, short beam, spot, or sphere effects.

# 'blind-desc' is how the projection is described to the player when they
# cannot see the monster using it.

# 'lash-desc' is the description for the "lash" effect used for spitting or
# whipping monsters.

# 'numerator' and 'denominator' define the fraction of damage allowed through
# player resistance to an element.  The numerator is a simple non-negative
# integer.  The denominator is a dice expression (i.e. "3" or "5+1d4") without
# a bonus.  If the denominator evaluates to zero, there will be no reduction
# of damage due to the player having a resistance.

# 'divisor' is used to divide the attacking creature's hitpoints by to determine
# breath damage.

# 'damage-cap' is the maximum breath damage, regardless of monster hitpoints,
# before resistance is applied.

# 'msgt' is the message type code used by the message system.  The type must
# either match (case-insensitve) 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.  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).

# 'obvious' indicates whether the nature of the projection effect is obvious
# to the player.  Use 1 if it is; any other non-negative integer value (best
# to use 0) indicates that it is not obvious.

# 'wake' indicates whether the projection will automatically wake affected
# monsters.  Use 1 if it will wake; any other non-negative integer value (best
# to use 0) indicates that the projection is not forced to wake an affected
# monster.

# 'color' is the colour of the projection.  You may use the one letter code
# for the color or the full color name (case insensitive).

code:ACID
name:acid
type:element
desc:acid
player-desc:acid
blind-desc:acid
lash-desc:acid
numerator:1  
denominator:3
divisor:3
damage-cap:1600
msgt:BR_ACID
obvious:1
wake:1
color:Slate

code:ELEC
name:lightning
type:element
desc:lightning
player-desc:lightning
blind-desc:lightning
lash-desc:lightning
numerator:1  
denominator:3
divisor:3
damage-cap:1600
msgt:BR_ELEC
obvious:1
wake:1
color:Blue

code:FIRE
name:fire
type:element
desc:fire
player-desc:fire
blind-desc:fire
lash-desc:fire
numerator:1  
denominator:3
divisor:3
damage-cap:1600
msgt:BR_FIRE
obvious:1
wake:1
color:Red

code:COLD
name:cold
type:element
desc:cold
player-desc:frost
blind-desc:cold
lash-desc:frost
numerator:1  
denominator:3
divisor:3
damage-cap:1600
msgt:BR_FROST
obvious:1
wake:1
color:White

code:POIS
name:poison
type:element
desc:poison
player-desc:poison gas
blind-desc:poison
lash-desc:venom
numerator:1  
denominator:3
divisor:3
damage-cap:800
msgt:BR_GAS
obvious:1
wake:1
color:Green

code:LIGHT
name:light
type:element
desc:light
player-desc:light
blind-desc:something
lash-desc:brightness
numerator:6
denominator:8+1d4
divisor:6
damage-cap:500
msgt:BR_LIGHT
obvious:1
wake:1
color:Orange

code:DARK
name:dark
type:element
desc:dark
player-desc:dark
blind-desc:something
lash-desc:blackness
numerator:6
denominator:8+1d4
divisor:6
damage-cap:500
msgt:BR_DARK
obvious:1
wake:1
color:Light Dark

code:SOUND
name:sound
type:element
desc:sound
player-desc:sound
blind-desc:noise
lash-desc:sound
numerator:6
denominator:8+1d4
divisor:6
damage-cap:500
msgt:BR_SOUND
obvious:1
wake:1
color:Yellow

code:SHARD
name:shards
type:element
desc:shards
player-desc:shards
blind-desc:something sharp
lash-desc:razors
numerator:6
denominator:8+1d4
divisor:6
damage-cap:500
msgt:BR_SHARDS
obvious:1
wake:1
color:Umber

code:NEXUS
name:nexus
type:element
desc:nexus
player-desc:nexus
blind-desc:something strange
lash-desc:dislocation
numerator:6
denominator:8+1d4
divisor:6
damage-cap:400
msgt:BR_NEXUS
obvious:1
wake:1
color:Light Red

code:NETHER
name:nether
type:element
desc:nether
player-desc:nether
blind-desc:something cold
lash-desc:withering
numerator:6
denominator:8+1d4
divisor:6
damage-cap:600
msgt:BR_NETHER
obvious:1
wake:1
color:Light Green

code:CHAOS
name:chaos
type:element
desc:chaos
player-desc:chaos
blind-desc:something strange
lash-desc:confusion
numerator:6
denominator:8+1d4
divisor:6
damage-cap:600
msgt:BR_CHAOS
obvious:1
wake:1
color:Violet

code:DISEN
name:disenchantment
type:element
desc:disenchantment
player-desc:disenchantment
blind-desc:something strange
lash-desc:unmagic
numerator:6
denominator:8+1d4
divisor:6
damage-cap:500
msgt:BR_DISEN
obvious:1
wake:1
color:Violet

code:WATER
name:water
type:element
desc:water
player-desc:water
blind-desc:water
lash-desc:water
divisor:6
damage-cap:0
msgt:GENERIC
obvious:1
wake:1
color:Slate

code:ICE
name:ice
type:element
desc:ice
player-desc:ice
blind-desc:something sharp
lash-desc:icicles
numerator:1
denominator:3
divisor:6
damage-cap:0
msgt:GENERIC
obvious:1
wake:1
color:White

code:GRAVITY
name:gravity
type:element
desc:gravity
player-desc:gravity
blind-desc:something strange
lash-desc:gravity
divisor:3
damage-cap:200
msgt:BR_GRAVITY
obvious:1
wake:1
color:Light Slate

code:INERTIA
name:inertia
type:element
desc:inertia
player-desc:inertia
blind-desc:something strange
lash-desc:lassitude
divisor:6
damage-cap:200
msgt:BR_INERTIA
obvious:1
wake:1
color:Light Slate

code:FORCE
name:force
type:element
desc:force
player-desc:force
blind-desc:something hard
lash-desc:impact
divisor:6
damage-cap:200
msgt:BR_FORCE
obvious:1
wake:1
color:Umber

code:TIME
name:time
type:element
desc:time
player-desc:time
blind-desc:something strange
lash-desc:ruination
divisor:3
damage-cap:150
msgt:BR_TIME
obvious:1
wake:1
color:Light Blue

code:PLASMA
name:plasma
type:element
desc:plasma
player-desc:plasma
blind-desc:something
lash-desc:living fire
divisor:6
damage-cap:150
msgt:BR_PLASMA
obvious:1
wake:1
color:Red

code:METEOR
name:meteors
type:element
desc:a meteor
player-desc:meteor
blind-desc:something
lash-desc:meteoric iron
divisor:6
damage-cap:0
msgt:GENERIC
obvious:1
wake:1
color:Red

code:MISSILE
name:magic missiles
type:element
desc:a missile
player-desc:magical energy
blind-desc:something
divisor:6
damage-cap:0
msgt:GENERIC
obvious:1
wake:1
color:Violet

code:MANA
name:mana
type:element
desc:mana
player-desc:the elements
blind-desc:something
lash-desc:raw magic
divisor:3
damage-cap:1600
msgt:BR_ELEMENTS
obvious:1
wake:1
color:Light dark

code:HOLY_ORB
name:holy power
type:element
desc:a holy orb
player-desc:holy power
blind-desc:something
lash-desc:holy power
divisor:6
damage-cap:0
msgt:GENERIC
obvious:1
wake:1
color:Light Dark

code:ARROW
name:arrows
type:element
desc:an arrow
player-desc:arrows
blind-desc:something sharp
divisor:6
damage-cap:0
msgt:GENERIC
obvious:1
wake:1
color:White

code:LIGHT_WEAK
type:environs
desc:light
player-desc:weak light
blind-desc:something
obvious:1
color:ORANGE

code:DARK_WEAK
type:environs
desc:darkness
player-desc:darkness
blind-desc:something
obvious:0
color:L_DARK

code:KILL_WALL
type:environs
desc:rock remover
blind-desc:something
obvious:1
color:WHITE

code:KILL_DOOR
type:environs
desc:destroys doors
blind-desc:something
obvious:0
color:WHITE

code:KILL_TRAP
type:environs
desc:disables traps
blind-desc:something
obvious:0
color:WHITE

code:MAKE_DOOR
type:environs
desc:creates doors
blind-desc:something
obvious:0
color:WHITE

code:MAKE_TRAP
type:environs
desc:creates traps
blind-desc:something
obvious:0
color:WHITE

code:AWAY_UNDEAD
type:monster
desc:teleports undead away
blind-desc:something
obvious:0
color:White

code:AWAY_EVIL
type:monster
desc:teleports evil monsters away
blind-desc:something
obvious:0
color:White

code:AWAY_SPIRIT
type:monster
desc:teleports monsters with a spirit away
blind-desc:something
obvious:0
color:White

code:AWAY_ALL
type:monster
desc:teleports monsters away
blind-desc:something
obvious:1
wake:1
color:White

code:TURN_UNDEAD
type:monster
desc:turns undead
blind-desc:something
obvious:0
color:White

code:TURN_EVIL
type:monster
desc:frightens evil monsters
blind-desc:something
obvious:0
color:White

code:TURN_LIVING
type:monster
desc:scares living monsters
blind-desc:something
obvious:0
color:White

code:TURN_ALL
type:monster
desc:causes monsters to flee
blind-desc:something
obvious:0
wake:1
color:White

code:DISP_UNDEAD
type:monster
desc:damages undead
blind-desc:something
obvious:0
color:White

code:DISP_EVIL
type:monster
desc:damages evil monsters
blind-desc:something
obvious:0
color:White

code:DISP_ALL
type:monster
desc:damages all monsters
blind-desc:something
obvious:1
wake:1
color:White

code:SLEEP_UNDEAD
type:monster
desc:attempts to put undead to sleep
blind-desc:something
obvious:0
color:White

code:SLEEP_EVIL
type:monster
desc:attempts to put evil monsters to sleep
blind-desc:something
obvious:0
color:White

code:SLEEP_ALL
type:monster
desc:attempts to put all monsters to sleep
blind-desc:something
obvious:0
color:White

code:MON_CLONE
type:monster
desc:hastes, heals and magically duplicates monsters
blind-desc:something
obvious:1
color:White

code:MON_POLY
type:monster
desc:polymorphs monsters into other kinds of creatures
blind-desc:something
obvious:0
color:White

code:MON_HEAL
type:monster
desc:heals monsters
blind-desc:something
obvious:1
wake:1
color:White

code:MON_SPEED
type:monster
desc:hastes monsters
blind-desc:something
obvious:1
wake:1
color:White

code:MON_SLOW
type:monster
desc:attempts to slow monsters
blind-desc:something
obvious:1
wake:1
color:White

code:MON_CONF
type:monster
desc:attempts to confuse monsters
blind-desc:something
obvious:0
color:White

code:MON_HOLD
type:monster
desc:attempts to hold monsters still
blind-desc:something
obvious:0
color:White

code:MON_STUN
type:monster
desc:attempts to stun monsters
blind-desc:something
obvious:0
color:White

code:MON_DRAIN
type:monster
desc:damages living monsters
blind-desc:something
obvious:1
wake:1
color:White

code:MON_CRUSH
type:monster
desc:kills monsters below a hitpoint threshold
blind-desc:something
obvious:1
color:White

