# === Understanding curse.txt === # name: effect name # type: valid object base # combat: to_hit : to_dam : to_ac # effect: random effect : parameter : parameter : parameter # dice: dice string # expr: dice expression # time: average frequency of random effect # flags: flag | flag | etc. # values: label[value] | label[value] | etc. # msg: text # desc: description # conflict: curse_name # conflict-flags: flag | flag | etc. # 'type' appends a kind of object (from object_base.txt) to the kinds which # can be afflicted with the curse. # 'combat' sets the adjustments to to-hit, to-damage, and AC for a cursed # object. If not supplied, the adjustments are all zero. # 'effect' sets the name of the effect that'll randomly trigger on the cursed # object. The fields are the name of the effect (from src/list-effects.h), # the subtype which is either an index or a name (look at effect_subtype() # in src/effects.c for more information), the radius, and the other parameter. # The effect name is required. The others are optional, and the trailing ones # that are unused can be omitted. # 'dice' provides a random value to be used by the effect (for damage, healing, # duration, ...). # 'expr' provides an expression for use in the dice value for the effect. # It consists of a code letter (eg B) for the expression, a base function to # use (for example PLAYER_LEVEL), and a sequence of operations to perform on # that base. # 'msg' sets the text to display when the curse effect triggers. If there are # multiple 'msg' lines for a curse, they'll be concatenated. # 'time' sets a random expression. Each time the curse effect happens, that # expression will be reevaluated to determine the number of turns until the # next time the curse effect will happen. # 'flags' is for the flags that the cursed object will have. Those flags can # either be object flags (as found in src/list-object-flags.h) or element # flags (IGNORE_ or HATES_ with an element name from src/list-elements.h # appended). As many 'flags' lines may be used as are needed to specify all # of the flags. More than one flag can be set per line: use '|' to separate # one flag from the next. # 'values' is for the object modifiers which take a value (stats, resistances, # and so on) that'll be present on the cursed item. Like 'flags', values # are separated by '|' and as many 'values' lines as needed can be used. # 'desc' is for the description of the curse. It will be included in the # description of the cursed object when the curse is known. As many 'desc' # lines may be used as are needed to describe the curse. # 'conflict' sets the name of a curse that conflicts with this curse. # Two curses that conflict will not both be present on an object. You may # use multiple 'conflict' lines to specify that this curse conflicts with # more than one other curse. # 'conflict-flags' lists the object flags (from src/list-object-flags.h) that # conflict with this curse: this curse will not appear on an object that has # one or more of those flags. More than one flag can be included on the line: # separate them with '|', and more than one 'conflicts-flags' lines may be # used to specify all of the conflicting flags. name:vulnerability combat:0:0:-50 type:cloak type:soft armour type:hard armour type:dragon armour type:shield flags:AGGRAVATE desc:attracts opponents and weakens the defences name:teleportation type:helm type:crown type:amulet type:ring effect:TELEPORT dice:40 time:1d100 msg:Space warps around you. desc:randomly makes you teleport conflict:anti-teleportation conflict-flags:NO_TELEPORT name:dullness type:helm type:crown values:INT[-5] | WIS[-5] desc:makes you mentally slow name:sickliness type:helm type:crown values:STR[-5] | DEX[-5] | CON[-5] desc:makes you frail name:enveloping combat:-5:-5:20 type:cloak desc:protects you at the expense of free movement name:irritation combat:-15:-15:0 type:cloak flags:AGGRAVATE desc:annoys monsters and makes it hard for you to hit them name:weakness type:gloves values:STR[-10] desc:weakens your grasp name:clumsiness type:gloves values:DEX[-10] desc:gives you butterfingers name:slowness type:boots values:SPEED[-5] desc:drags at your feet name:annoyance type:boots values:SPEED[-10] | STEALTH[-10] flags:AGGRAVATE desc:wakes up and annoys nearby monsters, and delays your escape name:poison type:horn type:bow type:digger type:hafted type:polearm type:sword type:mage staff type:boots type:gloves type:helm type:crown type:shield type:cloak type:soft armour type:hard armour type:dragon armour type:light type:amulet type:ring effect:TIMED_INC:POISONED dice:10+d10 time:1d500 desc:poisons you from time to time name:siren type:horn type:bow type:digger type:hafted type:polearm type:sword type:mage staff type:boots type:gloves type:helm type:crown type:shield type:cloak type:soft armour type:hard armour type:dragon armour type:light type:amulet type:ring effect:WAKE time:100+1d50 msg:A horn blares out! desc:occasionally makes a loud noise name:hallucination type:horn type:bow type:digger type:hafted type:polearm type:sword type:mage staff type:boots type:gloves type:helm type:crown type:shield type:cloak type:soft armour type:hard armour type:dragon armour type:light type:amulet type:ring effect:TIMED_INC:IMAGE dice:10+d10 time:1d500 desc:makes you hallucinate sometimes name:paralysis type:horn type:bow type:digger type:hafted type:polearm type:sword type:mage staff type:boots type:gloves type:helm type:crown type:shield type:cloak type:soft armour type:hard armour type:dragon armour type:light type:amulet type:ring effect:TIMED_INC:PARALYZED dice:5+1d5 time:1d1000 msg:Your equipment grabs you! desc:paralyses you every now and then name:dragon summon type:dragon armour effect:SUMMON:DRAGON:0:-2 dice:1 time:1d500 msg:Your armour lets out a cry... desc:sometimes summons a dragon name:demon summon type:hafted type:polearm type:sword type:mage staff effect:SUMMON:DEMON:0:-2 dice:1 time:1d500 msg:Your weapon gives out a demonic shriek! desc:occasionally summons a demon name:undead summon type:hafted type:polearm type:sword type:mage staff effect:SUMMON:UNDEAD:0:-2 dice:1 time:1d500 msg:Your weapon calls beyond the grave! desc:occasionally summons an undead name:impair mana recovery type:helm type:crown flags:IMPAIR_MANA desc:makes you slow to recover mana conflict-flags:IMPAIR_MANA name:impair hitpoint recovery type:boots type:gloves type:shield type:cloak type:soft armour type:hard armour type:dragon armour flags:IMPAIR_HP desc:makes you slow to recover hitpoints conflict-flags:IMPAIR_HP name:cowardice type:amulet type:ring flags:AFRAID desc:makes you too scared to fight conflict-flags:AFRAID | PROT_FEAR name:stone type:amulet type:ring effect:TIMED_INC:STONESKIN dice:20+1d20 time:1d1000 desc:periodically turns your skin to stone name:anti-teleportation type:boots type:cloak type:soft armour type:hard armour type:dragon armour type:amulet type:ring flags:NO_TELEPORT desc:prevents you from teleporting conflict:teleportation conflict-flags:NO_TELEPORT name:treacherous weapon type:hafted type:polearm type:sword type:mage staff effect:DAMAGE dice:$B expr:B:WEAPON_DAMAGE:+ 0 time:1d200 msg:Your weapon turns on you! desc:makes your weapon attack you name:burning up type:boots type:gloves type:helm type:crown type:shield type:cloak type:soft armour type:hard armour type:dragon armour values:RES_FIRE[-1] | RES_COLD[1] desc:makes you vulnerable to fire attacks, but resistant to cold conflict:chilled to the bone name:chilled to the bone type:boots type:gloves type:helm type:crown type:shield type:cloak type:soft armour type:hard armour type:dragon armour values:RES_FIRE[1] | RES_COLD[-1] desc:makes you vulnerable to cold attacks, but resistant to fire conflict:burning up name:steelskin type:hafted type:polearm type:sword type:mage staff type:helm type:crown type:shield type:hard armour type:dragon armour type:light type:amulet type:ring combat:0:0:20 values:RES_ELEC[-1] | RES_SHARD[1] desc:makes your skin harder to damage, but conduct electricity name:air swing combat:-20:0:0 type:hafted type:polearm type:sword desc:makes it hard to hit anything name:deformity type:helm type:crown values:CHR[-5] desc:distorts your features