# === 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. #/// Note: if you don't specify any 'type' for a curse, #/// it won't appear on randarts or any other items (good for truearts/nazgul rings) ### DO NOT CHANGE ORDER OF CURSES. ### cause we use 'nazgul' curse id in the code - 28 (counting from 0) ### time: - should be 1 per curse! affect whole curse, not effect 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 # for nazgul rings (and other rings too) # ~ combined rate of any effect happening at a given point in time is approximately # 0.5% per turn. 1 in 200 turns will trigger something # id #28 name:nazgul type:ring effect:TIMED_INC:INVIS dice:10+d10 time:1d200 msg:The ring whispers something and turn you invisible! desc:bends your will name:misfortune type:boots combat:0:0:-5 #effect:MAKE_TRAP:3:1 TODO... #time:1d300 msg:You hear the sound of mechanisms clicking into place... desc:occasionally creates traps around you name:slippery grip #type:hafted #type:polearm #type:sword #type:mage staff combat:-15:0:0 #effect:DISARM TODO... # time:1d300 msg:Your weapon suddenly slips from your grasp! desc:occasionally causes you to drop your weapon in combat name:provocation #type:hafted #type:polearm #type:sword #type:mage staff combat:-5:5:-15 flags:AGGRAVATE | IMPAIR_HP values:SPEED[5] effect:SUMMON:MONSTER:0:-2 dice:1+1d2 time:1d500 msg:Your equipment compels you to fight! desc:improves your combat abilities but weakens your defenses and desc: regularly summons enemies to fight # TODO: rework.. (as only 1 time: works, so all effects triggered at once) name:chaos attunement #type:helm #type:crown #type:amulet #type:ring #type:mage staff # this confustion cureable with potion effect:TIMED_INC_NO_RES:CONFUSED dice:2+1d12 time:1d400 effect:TIMED_INC_NO_RES:IMAGE_REAL dice:5+1d12 time:1d400 effect:SUMMON:DEMON:0:-2 dice:1 time:1d1500 values:RES_CHAOS[1] | RES_DISEN[1] msg:Chaos swirls through your mind! desc:warps your mind with chaotic energy - clouds your thoughts, desc: distorts reality, and sometimes summons demons to hunt you name:ethereal weight #type:cloak #type:amulet #type:ring combat:5:-5:0 values:STR[-3] | CON[-5] values:STEALTH[3] | SPEED[-5] flags:FEATHER effect:TIMED_INC:WRAITHFORM dice:5+1d5 time:1d500 msg:You lose substance and slip through the world. desc:makes you partially ethereal, improving stealth but reducing desc: physical impact and occasionally turning you intangible name:bloodthirst #type:hafted #type:polearm #type:sword #type:helm #type:crown combat:-5:-5:-50 values:STR[5] | CON[-5] | INFRA[3] effect:TIMED_INC:BLOODLUST dice:10+d10 time:1d2000 msg:A savage rage fills you! desc:fills you with combat fury but drains your constitution and desc: occasionally sends you into uncontrolled rage # TODO: rename name:shadow_binding #type:cloak combat:-5:0:15 values:STEALTH[1] | LIGHT[-2] | SEARCH[-10] flags:AFRAID effect:TIMED_INC:INVIS dice:10+d10 time:1d1000 msg:Shadows envelop you. desc:binds shadows to you for protection and occasional invisibility desc: but instills fear and reduces vision # TODO: rework.. (as only 1 time: works, so all effects triggered at once) name:mental intruder #type:helm #type:crown values:INT[-1] | WIS[-1] | CON[-1] | CHR[-1] flags:ESP_ALL effect:TIMED_INC_NO_RES:CONFUSED dice:3+1d6 time:100+1d2000 effect:TIMED_INC_NO_RES:IMAGE_REAL dice:2+d8 time:100+1d2000 effect:TIMED_INC_NO_RES:BLIND dice:1+d8 time:100+1d2000 effect:SPEND_MANA dice:$B expr:B:PLAYER_LEVEL:* 2 time:1d2000 msg:Your mind extends beyond your body! desc:grants telepathy and intelligence at the cost of wisdom and coordination conflict-flags:IMPAIR_MANA # idea is to cast it randomly (on contrast with One Ring activation) # TODO: rework.. (as only 1 time: works, so all effects triggered at once) name:eldritch #type:amulet #type:ring #type:mage staff #type:light effect:TIMED_INC_NO_RES:IMAGE_REAL dice:2+d8 time:100+1d1000 effect:BIZARRE dice:1 time:1d10000 msg:Reality warps unpredictably around you! desc:warps reality around you, causing powerful but unpredictable magical effects # TODO: rework.. (as only 1 time: works, so all effects triggered at once) name:whispers # curable #effect:TIMED_INC_NO_RES:CONFUSED #dice:5+1d5 #time:1d1000 effect:TIMED_INC:POISONED dice:5+1d10 effect:SUMMON:MONSTER:0:-1 dice:1 time:100+1d300 msg:A hissing voice whispers: 'Mine... it's mine!' desc:clouds your thoughts and draws hostile creatures near name:treachery effect:DAMAGE dice:$B expr:B:WEAPON_DAMAGE:+ 1 effect:TIMED_INC:POISONED dice:5+1d10 time:1d1000 msg:It whispers: 'Strike when they trust you most...' desc:poisons your strikes and urges betrayal at the worst moment name:strangling type:gloves type:helm type:crown type:cloak type:soft armour type:hard armour type:dragon armour type:amulet effect:DAMAGE dice:$B expr:B:WEAPON_DAMAGE:+ 1 time:1d200 msg:Your equipment tries to strangle you! desc:your gear occasionally tries to strangle you