# CVS: Last edit by $Author: rr9 $ on $Date: 2005/06/04 12:53:28 $ # File: k_info.txt # This file is used to initialize the "lib/raw/k_info.raw" file, which is # used to initialize the "object kind" information for the Angband game. # Do not modify this file unless you know exactly what you are doing, # unless you wish to risk possible system crashes and broken savefiles. # After modifying this file, delete the "lib/raw/k_info.raw" file. # Available slots (?): # 29, 29, 90, 177, 178, 179, 182, 183, 195, 196, 205, # 268, 270, 293, 299, 350, 351, 399, 413, 414, 423-479 # XXX XXX Add some "IGNORE_XXX" flags to Rings, Amulets, etc. # The old "MULTI_HUED" objects are now "violet", and no other object # is violet, so all six violet objects can be made "multi-hued", though # this would be a heinous hack. XXX XXX # Note that object zero is used for the "stack" picture (unused). # === Understanding k_info.txt === # N: serial number : & object name~ # G: symbol : color # I: tval : sval : pval # W: depth : rarity : weight : cost # P: base armor class : base damage : plus to-hit : plus to-dam : plus to-ac # A: depth/rarity : depth/rarity : etc # F: flag | flag | etc # 'N' indicates the beginning of an entry. The serial number must # increase for each new item. The '&' and '~' symbols are use to # include articles and pluralization as necessary to ensure # grammatical correctness in object descriptions. # 'G' is for graphics - symbol and color. There are 16 colors, as # follows: # D - Dark Gray w - White s - Gray o - Orange # r - Red g - Green b - Blue u - Brown # d - Black W - Light Gray v - Violet y - Yellow # R - Light Red G - Light Green B - Light Blue U - Light Brown # 'I' is for basic information. The tval is for the type of item, the # sval identifies the subtype and the pval indicates the amount of # effect the item has, if applicable. # 'W' is for extra information. Depth is the depth the object is # normally found at, rarity determines how common the object is, # weight is in tenth-pounds and cost is the items value. # 'P' is for power information. The items base armor class, its base # damage and pluses to-hit, to-dam and to-ac. # 'A' is for allocation - depth and rarity, in pairs. This allows an # item to have multiple natural depths and rarities. It is used to # ensure that certain vital items such as food and identify scrolls # are found throughout the dungeon. # 'F' is for flags. These are fairly self-explanatory. As many F: # lines may be used as are needed to specify all the flags and flags # are separated by the '|' symbol. # 'L' is for lua scripts: # USE - self-explanatory. returns used,ident # SMASH - potion smash effect. returns angry,ident # Version stamp (required) V:2.7.5 ##### Something special ##### N:0:something G:&:w ##### Mushrooms ##### N:1:Blindness G:,:d I:80:1:500 W:9:0:1:0 A:9/2 F:EASY_KNOW L:USE: ident = not player_res(TR1_RES_BLIND) and inc_blind(rand_range(200, 400)) D:This mushroom causes temporary blindness when eaten. N:2:Paranoia G:,:d I:80:2:500 W:9:0:1:0 A:9/2 F:EASY_KNOW L:USE: ident = not player_res(TR1_RES_FEAR) and inc_afraid(rand_range(10, 20)) D:This mushroom causes temporary fear when eaten. N:3:Confusion G:,:d I:80:3:500 W:9:0:1:0 A:9/2 F:EASY_KNOW L:USE: ident = not player_res(TR1_RES_CONF) and inc_confused(rand_range(10, 20)) D:This mushroom causes temporary confusion when eaten. N:4:Hallucination G:,:d I:80:4:500 W:17:0:1:0 A:17/2 F:EASY_KNOW L:USE: ident = not player_res(TR1_RES_CHAOS) and inc_image(rand_range(250, 500)) D:This mushroom causes temporary hallucination when eaten. Groovy, man! N:5:Cure Poison G:,:d I:80:12:500 W:9:0:1:60 A:9/1 F:EASY_KNOW L:USE: ident = clear_poisoned() D:This mushroom completely cures all poisons when eaten. N:6:Cure Blindness G:,:d I:80:13:500 W:9:0:1:50 A:9/1 F:EASY_KNOW L:USE: ident = clear_blind() D:This mushroom completely cures blindness when eaten. N:7:Cure Paranoia G:,:d I:80:14:500 W:9:0:1:25 A:9/1 F:EASY_KNOW L:USE: ident = clear_afraid() D:This mushroom completely cures fear when eaten. N:8:Cure Confusion G:,:d I:80:15:500 W:9:0:1:50 A:9/1 F:EASY_KNOW L:USE: ident = clear_confused() D:This mushroom completely cures confusion when eaten. N:9:Weakness G:,:d I:80:6:500 W:9:0:1:0 A:9/2 P:0:5d5:0:0:0 F:EASY_KNOW L:USE: take_hit(damroll(6, 6), "poisonous food"); do_dec_stat(A_STR) L:USE: ident = TRUE D:This mushroom deals damage and drains strength when eaten. N:10:Unhealth G:,:d I:80:10:500 W:26:0:1:100 A:26/1 P:0:10d10:0:0:0 F:EASY_KNOW L:USE: take_hit(damroll(10, 10), "poisonous food"); do_dec_stat(A_CON) L:USE: ident = TRUE D:This mushroom deals damage and drains constitution when eaten. N:11:Restore Constitution G:,:d I:80:18:500 W:25:0:1:350 A:25/1 F:EASY_KNOW L:USE: ident = do_res_stat(A_CON) D:This mushroom cures constitution drain when eaten. N:12:Restoring G:,:d I:80:19:500 W:50:0:1:1000 A:35/28:52/14:65/4 F:EASY_KNOW L:USE: if do_res_stat(A_STR) then ident = TRUE end L:USE: if do_res_stat(A_INT) then ident = TRUE end L:USE: if do_res_stat(A_WIS) then ident = TRUE end L:USE: if do_res_stat(A_DEX) then ident = TRUE end L:USE: if do_res_stat(A_CON) then ident = TRUE end L:USE: if do_res_stat(A_CHR) then ident = TRUE end D:This mushroom cures all stat drains when eaten. N:13:Stupidity G:,:d I:80:8:500 W:26:0:1:0 A:26/3 F:EASY_KNOW L:USE: take_hit(damroll(8, 8), "poisonous food"); do_dec_stat(A_INT) L:USE: ident = TRUE D:This mushroom causes damage and drains intelligence when eaten. N:14:Naivety G:,:d I:80:9:500 W:26:0:1:0 A:26/3 F:EASY_KNOW L:USE: take_hit(damroll(8, 8), "poisonous food"); do_dec_stat(A_WIS) L:USE: ident = TRUE D:This mushroom causes damage and drains wisdom when eaten. N:15:Poison G:,:d I:80:0:500 W:9:0:1:0 A:9/2 P:0:4d4:0:0:0 F:EASY_KNOW L:USE: ident = res_pois_lvl() ~= 0 and inc_poisoned(rand_range(10, 20)) D:This mushroom is poisonous. N:16:Sickness G:,:d I:80:7:500 W:17:0:1:0 A:17/2 P:0:4d4:0:0:0 F:EASY_KNOW L:USE: take_hit(damroll(6, 6), "poisonous food"); do_dec_stat(A_CON) L:USE: ident = TRUE D:This mushroom causes damage and drains constitution when eaten. N:17:Paralysis G:,:d I:80:5:500 W:35:0:1:0 A:35/2 F:EASY_KNOW L:USE: ident = not player_res(TR1_FREE_ACT) and inc_paralyzed(rand_range(10, 20)) D:This mushroom causes temporary paralysis when eaten. N:18:Restore Strength G:,:d I:80:17:500 W:25:0:1:350 A:25/1 F:EASY_KNOW L:USE: ident = do_res_stat(A_STR) D:This mushroom restores strength drain when eaten. N:19:Disease G:,:d I:80:11:500 W:35:0:1:300 A:35/2 P:0:15d15:0:0:0 F:EASY_KNOW L:USE: take_hit(damroll(10, 10), "poisonous food"); do_dec_stat(A_STR) L:USE: ident = TRUE D:This mushroom causes damage and drains strength when eaten. N:20:Cure Serious Wounds G:,:d I:80:16:500 W:16:0:1:75 A:16/1 F:EASY_KNOW L:USE: ident = hp_player(damroll(4, 8)) D:This mushroom cures 4d8 hitpoints when eaten. ##### Normal Food ##### N:21:& Ration~ of Food G:,:U I:80:35:5000 W:0:0:10:3 A:1/1:9/1:17/1 F:EASY_KNOW L:USE: msgf("That tastes good.") D:Hard bread, dried fruit, and other high-density food. N:22:& Hard Biscuit~ G:,:U I:80:32:500 W:0:0:2:1 A:1/1 F:EASY_KNOW L:USE: msgf("That tastes good.") D:A biscuit, cooked hard to last. N:23:& Strip~ of Venison G:,:u I:80:33:1500 W:0:0:2:2 A:1/1 F:EASY_KNOW L:USE: msgf("That tastes good.") D:A piece of dried meat, from the haunch of a deer. N:24:& Slime Mold~ G:,:g I:80:36:3000 W:1:0:5:2 A:1/1 F:EASY_KNOW L:USE: msgf("That tastes good.") D:A green, slimy... something. N:25:& Piece~ of Elvish Waybread G:,:B I:80:37:7500 W:10:0:3:10 A:10/1:20/1:30/1:40/1 F:EASY_KNOW L:USE: msgf("That tastes good."); clear_poisoned(); hp_player(damroll(4, 8)) D:Made by elves, this extremely nutritious trail bread also D:cures poison and restores 4d8 hp when eaten. N:26:& Pint~ of Fine Ale G:,:y I:80:38:500 W:0:0:5:1 A:1/3 F:EASY_KNOW L:USE: msgf("That tastes good.") D:A jug of thick ale, to keep your hunger away. N:27:& Pint~ of Fine Wine G:,:r I:80:39:1000 W:0:0:10:2 A:1/3 F:EASY_KNOW L:USE: msgf("That tastes good.") D:A rich, fruity wine to slake your hunger and thirst. ##### Extra digger ##### N:28:& Mattock~ G:\:D I:20:7:2 W:30:0:250:700 A:30/12:50/1 P:0:1d8:0:0:0 F:SHOW_MODS | TUNNEL D:The digger that is wieldy enough to double as a weapon. ##### Edged Weapons ##### N:29:& No-dachi~ G:|:W I:23:27:0 W:61:0:190:1000 A:61/3:80/1 P:0:5d4:0:0:0 F:SHOW_MODS D:A large sword used by samurai, designed to be carried across the back. N:30:& Broken Dagger~ G:|:D I:23:1:0 W:0:0:5:1 A:1/1 P:0:1d1:-2:-4:0 F:SHOW_MODS D:This may have once been a servicable dagger, but now it's little more D:than a broken stub. N:31:& Bastard Sword~ G:|:W I:23:21:0 W:26:0:140:350 A:26/1 P:0:3d4:0:0:0 F:SHOW_MODS D:A large sword designed to be equally useful in a one-handed or D:two-handed grip. N:32:& Scimitar~ G:|:W I:23:18:0 W:17:0:130:250 A:17/1 P:0:2d5:0:0:0 F:SHOW_MODS D:A large saber with a curved blade, originating in the East. N:33:& Tulwar~ G:|:W I:23:15:0 W:9:0:100:200 A:9/1 P:0:2d4:0:0:0 F:SHOW_MODS N:34:& Broad Sword~ G:|:W I:23:16:0 W:17:0:150:255 A:17/1:26/1 P:0:2d5:0:0:0 F:SHOW_MODS N:35:& Short Sword~ G:|:W I:23:10:0 W:9:0:80:90 A:9/1 P:0:1d7:0:0:0 F:SHOW_MODS N:36:& Blade~ of Chaos G:|:v I:23:30:0 W:95:0:180:4000 A:95/4 P:0:6d5:0:0:0 F:RES_CHAOS | SHOW_MODS D:The air seems to twist around this violet blade... N:37:& Two-Handed Sword~ G:|:W I:23:25:0 W:53:0:200:775 A:53/1:65/1:80/1 P:0:3d6:0:0:0 F:SHOW_MODS N:38:& Main Gauche~ G:|:W I:23:5:0 W:5:0:30:25 A:5/2 P:0:1d5:0:0:0 F:SHOW_MODS N:39:& Cutlass~ G:|:W I:23:12:0 W:9:0:110:85 A:9/1 P:0:1d7:0:0:0 F:SHOW_MODS D:A short curving sword often used by sailors. N:40:& Executioner's Sword~ G:|:r I:23:28:0 W:65:0:260:850 A:65/1:85/1 P:0:4d5:0:0:0 F:SHOW_MODS N:41:& Katana~ G:|:W I:23:20:0 W:35:0:120:400 A:35/1 P:0:3d4:0:0:0 F:SHOW_MODS N:42:& Long Sword~ G:|:W I:23:17:0 W:17:0:130:300 A:17/1:35/1 P:0:2d5:0:0:0 F:SHOW_MODS N:43:& Dagger~ G:|:W I:23:4:0 W:0:0:12:10 A:1/1:9/2 P:0:1d4:0:0:0 F:THROW | SHOW_MODS N:44:& Rapier~ G:|:W I:23:7:0 W:9:0:40:42 A:9/1 P:0:1d6:0:0:0 F:SHOW_MODS D:A long, slender two-edged sword with a cuplike hilt. N:45:& Sabre~ G:|:W I:23:11:0 W:9:0:50:50 A:9/1 P:0:1d7:0:0:0 F:SHOW_MODS D:A light dueling sword with a tapered, flexible blade. N:46:& Small Sword~ G:|:W I:23:8:0 W:9:0:75:48 A:9/1 P:0:1d6:0:0:0 F:SHOW_MODS N:47:& Broken Sword~ G:|:D I:23:2:0 W:0:0:30:2 A:0/1 P:0:1d2:-2:-4:0 F:SHOW_MODS D:This was once the blade of a valiant warrior, but now it's D:ruined beyond repair. ##### Hafted Weapons ##### N:48:& Ball-and-Chain~ G:\:D I:21:6:0 W:35:0:150:200 A:35/2 P:0:2d4:0:0:0 F:SHOW_MODS N:49:& Whip~ G:\:D I:21:2:0 W:5:0:30:30 A:5/1 P:0:1d3:0:0:0 F:SHOW_MODS N:50:& Flail~ G:\:D I:21:13:0 W:17:0:150:350 A:17/1:25/1 P:0:2d6:0:0:0 F:SHOW_MODS N:51:& Two-Handed Flail~ G:\:y I:21:18:0 W:60:0:280:590 A:60/1:80/1 P:0:3d6:0:0:0 F:SHOW_MODS N:52:& Morning Star~ G:\:D I:21:12:0 W:17:0:150:400 A:17/1 P:0:2d6:0:0:0 F:SHOW_MODS N:53:& Mace~ G:\:D I:21:5:0 W:9:0:120:130 A:9/1 P:0:2d4:0:0:0 F:SHOW_MODS N:54:& Quarterstaff~ G:\:U I:21:3:0 W:30:0:150:200 A:30/12:50/1 P:0:1d18:0:0:0 F:SHOW_MODS N:55:& War Hammer~ G:\:D I:21:8:0 W:9:0:120:225 A:9/1 P:0:3d3:0:0:0 F:SHOW_MODS N:56:& Lead-Filled Mace~ G:\:D I:21:15:0 W:26:0:180:500 A:26/1 P:0:3d4:0:0:0 F:SHOW_MODS N:57:& Mace~ of Disruption G:\:v I:21:20:0 W:100:0:400:4300 A:100/2 P:0:5d8:0:0:0 F:SLAY_UNDEAD | SHOW_MODS D:Dust and dry spatters decorate the head of this mighty weapon. N:58:& Lucerne Hammer~ G:/:B I:22:12:0 W:17:0:120:375 A:17/1 P:0:2d5:0:0:0 F:SHOW_MODS ##### Polearms ##### N:59:& Beaked Axe~ G:/:s I:22:10:0 W:26:0:180:400 A:26/1 P:0:2d6:0:0:0 F:SHOW_MODS N:60:& Glaive~ G:/:s I:22:13:0 W:35:0:190:380 A:35/1 P:0:2d6:0:0:0 F:SHOW_MODS N:61:& Halberd~ G:/:s I:22:15:0 W:43:0:190:430 A:43/1 P:0:3d5:0:0:0 F:SHOW_MODS N:62:& Awl-Pike~ G:/:s I:22:4:0 W:30:0:160:340 A:30/1 P:0:1d15:0:0:0 F:SHOW_MODS N:63:& Pike~ G:/:s I:22:8:0 W:26:0:160:360 A:26/1 P:0:2d5:0:0:0 F:SHOW_MODS N:64:& Spear~ G:/:s I:22:2:0 W:5:0:50:40 A:5/5:9/1 P:0:1d6:0:0:0 F:SHOW_MODS N:65:& Trident~ G:/:y I:22:5:0 W:15:0:70:120 A:15/1 P:0:1d12:0:0:0 F:SHOW_MODS N:66:& Lance~ G:/:s I:22:20:0 W:30:0:300:300 A:30/5:40/1 P:0:1d17:0:0:0 F:SHOW_MODS N:67:& Great Axe~ G:/:s I:22:25:0 W:65:0:230:500 A:65/1:95/1 P:0:4d4:0:0:0 F:SHOW_MODS N:68:& Battle Axe~ G:/:s I:22:22:0 W:26:0:170:340 A:26/1 P:0:2d8:0:0:0 F:SHOW_MODS N:69:& Lochaber Axe~ G:/:D I:22:28:0 W:70:0:250:750 A:70/1:90/1 P:0:3d8:0:0:0 F:SHOW_MODS N:70:& Broad Axe~ G:/:s I:22:11:0 W:26:0:160:310 A:26/1 P:0:2d6:0:0:0 F:SHOW_MODS N:71:& Scythe~ G:/:s I:22:17:0 W:70:0:250:800 A:70/1:92/1 P:0:5d3:0:0:0 F:SHOW_MODS N:72:& Scythe~ of Slicing G:/:r I:22:30:0 W:93:0:250:3500 A:93/1:105/1 P:0:8d4:0:0:0 F:SHOW_MODS D:This blade seems to cut down foes as normal scythes do wheat. ##### Bows, Crossbows, Slings ##### N:73:& Short Bow~ G:}:U I:19:12:0 W:5:0:30:50 A:5/1:60/1 F:SHOW_MODS D:Just anout anyone can shoot an arrow with a bow. N:74:& Long Bow~ G:}:U I:19:13:0 W:17:0:40:120 A:17/1:70/1 F:SHOW_MODS D:The arrows leave the long bow for the most damage. N:75:& Light Crossbow~ G:}:s I:19:23:0 W:26:0:60:140 A:26/1:80/1 F:SHOW_MODS D:Slower but deadlier than bows. N:76:& Heavy Crossbow~ G:}:s I:19:24:0 W:52:0:100:300 A:52/1:90/1 F:SHOW_MODS D:One shot can take care of small fry. N:77:& Sling~ G:}:u I:19:2:0 W:1:0:5:5 A:1/1:50/1 F:SHOW_MODS D:Small enough for kids to handle. ##### Missiles ##### N:78:& Arrow~ G:{:U I:17:1:0 W:10:0:2:5 A:10/20:17/2:43/2 P:0:1d12:0:0:0 F:SHOW_MODS D:Standard issue. N:79:& Seeker Arrow~ G:{:G I:17:2:0 W:50:0:2:50 A:50/20:80/2:90/1:105/1 P:0:1d20:0:0:0 F:SHOW_MODS D:This arrow has a superior flight. N:80:& Bolt~ G:{:s I:18:0:0 W:5:0:3:5 A:5/1:43/2:70/2 P:0:1d10:0:0:0 F:SHOW_MODS D:Standard issue. N:81:& Seeker Bolt~ G:{:B I:18:2:0 W:60:0:3:75 A:60/40:90/4:100/4 P:0:1d20:0:0:0 F:SHOW_MODS D:This bolt is the best. N:82:& Rounded Pebble~ G:{:s I:16:0:0 W:0:0:6:1 A:0/1:5/1 P:0:2d2:0:0:0 F:SHOW_MODS D:Heavy and easy to break. You can find better. N:83:& Iron Shot~ G:{:s I:16:1:0 W:10:0:8:2 A:10/1:17/1 P:0:4d2:0:0:0 F:SHOW_MODS D:Standard issue. ##### Shovels and Picks ##### N:84:& Shovel~ G:\:s I:20:1:1 W:4:0:60:10 A:4/4 P:0:1d2:0:0:0 F:SHOW_MODS | TUNNEL D:A basic digging tool. N:85:& Gnomish Shovel~ G:\:G I:20:2:2 W:35:0:60:100 A:35/4 P:0:1d2:0:0:0 F:SHOW_MODS | TUNNEL D:A well-crafted digging tool, ready to burrow. N:86:& Dwarven Shovel~ G:\:B I:20:3:3 W:55:0:120:300 A:55/1 P:0:1d3:0:0:0 F:SHOW_MODS | TUNNEL D:An excellent digging tool, guaranteed to quickly shift rock. N:87:& Pick~ G:\:s I:20:4:1 W:17:0:150:50 A:17/16 P:0:1d3:0:0:0 F:SHOW_MODS | TUNNEL D:A basic digging tool. N:88:& Orcish Pick~ G:\:g I:20:5:2 W:52:0:150:300 A:52/4 P:0:1d3:0:0:0 F:SHOW_MODS | TUNNEL D:A crude but effective digging tool. N:89:& Dwarven Pick~ G:\:b I:20:6:3 W:75:0:200:600 A:75/1 P:0:1d4:0:0:0 F:SHOW_MODS | TUNNEL D:The greatest of digging tools that cuts through any rock with ease. ##### Armor ##### N:90:& Elven Cloak~ G:(:G I:35:2:0 W:52:0:5:3000 A:52/4:95/1 P:4:0d0:0:0:4 F:IGNORE_ACID | IGNORE_COLD | IGNORE_FIRE | IGNORE_ELEC F:STEALTH | SENSE D:This finely woven cloak seems to blend in with any background. N:91:& Pair~ of Soft Leather Boots G:]:U I:30:2:0 W:5:0:20:7 A:5/1 P:2:1d1:0:0:0 N:92:& Pair~ of Hard Leather Boots G:]:U I:30:3:0 W:9:0:40:12 A:9/1:43/1 P:3:1d1:0:0:0 N:93:& Pair~ of Metal Shod Boots G:]:s I:30:6:0 W:20:0:80:50 A:20/5:35/1:80/1 P:6:1d1:0:0:0 N:94:& Hard Leather Cap~ G:]:u I:32:2:0 W:5:0:15:12 A:5/1 P:2:0d0:0:0:0 N:95:& Metal Cap~ G:]:s I:32:3:0 W:17:0:20:30 A:17/1 P:3:1d1:0:0:0 N:96:& Iron Helm~ G:]:s I:32:5:0 W:35:0:75:75 A:35/1 P:5:1d3:0:0:0 N:97:& Steel Helm~ G:]:W I:32:6:0 W:45:0:60:220 A:45/1 P:6:1d3:0:0:0 N:98:& Iron Crown~ G:]:s I:33:10:0 W:60:0:20:200 A:60/1 P:0:1d1:0:0:0 N:99:& Golden Crown~ G:]:y I:33:11:0 W:75:0:30:500 A:75/1 P:0:1d1:0:0:0 F:IGNORE_ACID N:100:& Jewel Encrusted Crown~ G:]:v I:33:12:0 W:80:0:40:1000 A:80/1 P:0:1d1:0:0:0 F:IGNORE_ACID N:101:& Robe~ G:(:b I:36:2:0 W:1:0:20:4 A:1/1:80/1 P:2:0d0:0:0:0 N:102:& Filthy Rag~ G:(:D I:36:1:0 W:0:0:20:1 A:0/1 P:1:0d0:0:0:-1 D:This looks like it was once a fine robe, but now it's ripped and tattered. N:103:& Soft Leather Armour~ G:(:U I:36:4:0 W:5:0:80:18 A:5/1 P:4:0d0:0:0:0 N:104:& Soft Studded Leather~ G:(:U I:36:5:0 W:5:0:90:35 A:5/1 P:5:1d1:0:0:0 N:105:& Hard Leather Armour~ G:(:U I:36:6:0 W:9:0:100:150 A:9/1 P:6:1d1:-1:0:0 N:106:& Hard Studded Leather~ G:(:U I:36:7:0 W:17:0:110:250 A:17/1 P:7:1d2:-1:0:0 N:107:& Leather Scale Mail~ G:(:U I:36:11:0 W:26:0:140:500 A:26/1 P:11:1d1:-1:0:0 N:108:& Metal Scale Mail~ G:[:s I:37:3:0 W:43:0:250:600 A:43/1 P:13:1d4:-2:0:0 N:109:& Chain Mail~ G:[:s I:37:4:0 W:43:0:220:800 A:43/1 P:14:1d4:-2:0:0 N:110:& Rusty Chain Mail~ G:[:r I:37:1:0 W:25:0:200:550 A:43/1 P:14:1d4:-5:0:-8 D:This rusted heap still offers small protection, but hinders movement. N:111:& Augmented Chain Mail~ G:[:s I:37:6:0 W:52:0:270:1200 A:52/1 P:16:1d4:-2:0:0 N:112:& Bar Chain Mail~ G:[:s I:37:8:0 W:61:0:280:1500 A:61/1 P:18:1d4:-2:0:0 N:113:& Metal Brigandine Armour~ G:[:s I:37:9:0 W:61:0:290:1750 A:61/1 P:19:1d4:-3:0:0 N:114:& Partial Plate Armour~ G:[:W I:37:12:0 W:70:0:260:2000 A:70/1 P:22:1d6:-3:0:0 N:115:& Metal Lamellar Armour~ G:[:W I:37:13:0 W:70:0:340:2500 A:70/1 P:23:1d6:-3:0:0 N:116:& Full Plate Armour~ G:[:W I:37:15:0 W:75:0:380:5000 A:75/1 P:25:2d4:-3:0:0 N:117:& Ribbed Plate Armour~ G:[:W I:37:18:0 W:80:0:380:6000 A:80/1 P:28:2d4:-3:0:0 N:118:& Adamantite Plate Mail~ G:[:G I:37:30:0 W:95:0:420:20000 A:95/2 P:40:2d4:-4:0:0 F:IGNORE_ACID N:119:& Mithril Plate Mail~ G:[:B I:37:25:0 W:90:0:300:15000 A:90/1 P:35:2d4:-3:0:0 F:IGNORE_ACID N:120:& Mithril Chain Mail~ G:[:B I:37:20:0 W:85:0:150:10000 A:85/1 P:28:1d4:-1:0:0 F:IGNORE_ACID N:121:& Double Chain Mail~ G:[:s I:37:7:0 W:52:0:250:1500 A:52/1 P:16:1d4:-2:0:0 # This shield does not belong here N:122:& Shield~ of Deflection G:[:B I:34:10:0 W:95:0:100:5000 A:95/2 P:14:1d4:0:0:10 F:IGNORE_ACID ### The Cloaks ### N:123:& Cloak~ G:(:g I:35:1:0 W:1:0:10:3 A:1/1:35/1 P:1:0d0:0:0:0 N:124:& Shadow Cloak~ G:(:D I:35:6:0 W:100:0:5:7500 A:100/1 P:6:0d0:0:0:4 F:RES_DARK | RES_LITE D:A cloak that appears to be woven out of strands of pure darkness. ### The Gloves ### N:125:& Set~ of Leather Gloves G:]:U I:31:1:0 W:1:0:5:3 A:1/1 P:1:0d0:0:0:0 N:126:& Set~ of Gauntlets G:]:U I:31:2:0 W:17:0:25:35 A:17/1:40/1 P:2:1d1:0:0:0 N:127:& Set~ of Cesti G:]:W I:31:5:0 W:45:0:40:100 A:45/1 P:5:1d1:0:0:0 ### The shields ### N:128:& Small Leather Shield~ G:):U I:34:2:0 W:5:0:50:30 A:5/1 P:3:1d2:0:0:0 N:129:& Large Leather Shield~ G:):U I:34:4:0 W:26:0:100:120 A:26/1:60/1 P:6:1d4:0:0:0 N:130:& Small Metal Shield~ G:):s I:34:3:0 W:17:0:65:50 A:17/1:40/1 P:5:1d3:0:0:0 N:131:& Large Metal Shield~ G:):s I:34:5:0 W:52:0:120:400 A:52/1:70/1 P:8:1d5:0:0:0 ##### Rings ##### # Note that most rings with a pval-dependent value # cost the same as a +1 bonus (higher bonuses # increase the cost automatically), and most rings # which give a single flag are costed at half the # price of the flag. N:132:Strength G:=:d I:45:24:5 W:52:0:2:500 A:52/1 F:STR | HIDE_TYPE L:MAKE: object.pval = 1 + m_bonus(object.pval, level) L:MAKE: allow_curse = TRUE D:Just looking at this ring makes you strong. N:133:Dexterity G:=:d I:45:26:5 W:52:0:2:500 A:52/1 F:DEX | HIDE_TYPE L:MAKE: object.pval = 1 + m_bonus(object.pval, level) L:MAKE: allow_curse = TRUE D:Just looking at this ring makes you feel limber. N:134:Constitution G:=:d I:45:27:5 W:52:0:2:500 A:52/1 F:CON | HIDE_TYPE L:MAKE: object.pval = 1 + m_bonus(object.pval, level) L:MAKE: allow_curse = TRUE D:Just looking at this ring makes you feel healthy. N:135:Intelligence G:=:d I:45:25:5 W:52:0:2:500 A:52/1 F:INT | HIDE_TYPE L:MAKE: object.pval = 1 + m_bonus(object.pval, level) L:MAKE: allow_curse = TRUE D:Just looking at this ring makes you feel smart. # Ring of speed costs 5000 + value of bonus N:136:Speed G:=:d I:45:31:10 W:100:0:2:5500 A:100/1 F:SPEED | HIDE_TYPE D:This ring almost vibrates with power. L:MAKE: object.pval = randint1(object.pval / 2) + m_bonus(object.pval, level) L:MAKE: while (one_in_(2) ~= 0) do object.pval = object.pval + 1 end L:MAKE: allow_curse = TRUE L:MAKE: rating_boost = 25 N:137:Sensing G:=:d I:45:23:5 W:9:0:2:50 A:9/2 F:SENSE | HIDE_TYPE L:MAKE: object.pval = 1 + m_bonus(object.pval, level) L:MAKE: allow_curse = TRUE D:Just looking at this ring makes you feel aware. N:138:Teleportation G:=:d I:45:4:0 W:9:0:2:125 A:9/2 F:CURSED | TELEPORT | EASY_KNOW D:Just looking at this ring makes you want to jump. N:139:Slow Digestion G:=:d I:45:6:0 W:9:0:2:125 A:9/2 F:SLOW_DIGEST | EASY_KNOW D:Just looking at this ring makes you feel full. N:140:Resist Fire G:=:d I:45:8:0 W:17:0:2:250 A:17/2 F:RES_FIRE | IGNORE_FIRE | EASY_KNOW D:Just looking at this ring makes you feel warm. N:141:Resist Cold G:=:d I:45:9:0 W:17:0:2:250 A:17/2 F:RES_COLD | IGNORE_COLD | EASY_KNOW D:Just looking at this ring makes you feel cold. N:142:Levitation G:=:d I:45:7:0 W:9:0:2:125 A:9/2 F:FEATHER | EASY_KNOW D:Just looking at this ring makes you feel up in the air. N:143:Poison Immunity G:=:d I:45:20:0 W:60:0:2:5000 A:50/8:85/2 F:IM_POIS | EASY_KNOW D:Just looking at this ring makes you feel poisonous. N:144:Free Action G:=:d I:45:21:0 W:25:0:2:500 A:25/2 F:FREE_ACT | EASY_KNOW D:Just looking at this ring makes you feel unhindered. N:145:Weakness G:=:d I:45:2:-5 W:9:0:2:0 A:9/2 F:CURSED | STR | HIDE_TYPE L:MAKE: object.pval = -(1 + m_bonus(-(object.pval), level)) D:Just looking at this ring makes you feel like a weakling. N:146:Flames G:=:d I:45:18:0 W:75:0:2:1500 A:75/1 P:0:0d0:0:0:15 F:RES_FIRE | IGNORE_FIRE | ACTIVATE L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: fire_ball(GF_FIRE, dir, 100, 2) L:USE: inc_oppose_fire(rand_range(20, 40)) L:USE: object.timeout = rand_range(25, 50) L:DESC: return "ball of fire (100) and resist fire (20+ turns)" L:MAKE: object.to_a = rand_range(5, 10) + m_bonus(10, level) D:This ring feels warm to the touch. N:147:Acid G:=:d I:45:17:0 W:75:0:2:1500 A:75/1 P:0:0d0:0:0:15 F:RES_ACID | IGNORE_ACID | ACTIVATE L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: fire_ball(GF_ACID, dir, 100, 2) L:USE: inc_oppose_acid(rand_range(20, 40)) L:USE: object.timeout = rand_range(25, 50) L:DESC: return "ball of acid (100) and resist acid (20+ turns)" L:MAKE: object.to_a = rand_range(5, 10) + m_bonus(10, level) D:This ring is covered with a strange sheen. N:148:Ice G:=:d I:45:19:0 W:75:0:2:1500 A:75/1 P:0:0d0:0:0:15 F:RES_COLD | IGNORE_COLD | ACTIVATE L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: fire_ball(GF_COLD, dir, 100, 2) L:USE: inc_oppose_cold(rand_range(20, 40)) L:USE: object.timeout = rand_range(25, 50) L:DESC: return "ball of cold (100) and resist cold (20+ turns)" L:MAKE: object.to_a = rand_range(5, 10) + m_bonus(10, level) D:This ring feels cool to the touch. N:149:Woe G:=:d I:45:0:-5 W:75:0:2:0 A:75/2 F:CURSED | TELEPORT | WIS | CHR | HIDE_TYPE L:MAKE: object.pval = -(1 + m_bonus(-(object.pval), level)) L:MAKE: object.to_a = -(5 + m_bonus(10, level)) D:Just looking at this ring makes you feel in trouble. N:150:Stupidity G:=:d I:45:3:-5 W:9:0:2:0 A:9/2 F:CURSED | INT | HIDE_TYPE L:MAKE: object.pval = -(1 + m_bonus(-(object.pval), level)) D:Just looking at this ring makes you feel like a dummy. # The value of a ring of combat is in the bonuses N:151:Combat G:=:d I:45:29:0 W:35:0:2:100 A:35/1 L:MAKE: object.to_d = rand_range(5, 13) + m_bonus(10, level) L:MAKE: allow_curse = TRUE D:Just looking at this ring makes you feel damaging. # The value of a ring of skill is in the bonuses N:152:Skill G:=:d I:45:28:0 W:35:0:2:100 A:35/1 L:MAKE: object.to_h = rand_range(5, 13) + m_bonus(10, level) L:MAKE: allow_curse = TRUE D:Just looking at this ring makes you spoil for a fight. # The value of a ring of protection is in the bonuses N:153:Protection G:=:d I:45:16:0 W:17:0:2:100 A:17/2 L:MAKE: object.to_a = rand_range(5, 13) + m_bonus(10, level) L:MAKE: allow_curse = TRUE D:Just looking at this ring makes you feel protected. N:154:Aggravate Monster G:=:d I:45:1:0 W:9:0:2:0 A:9/3 F:CURSED | AGGRAVATE | EASY_KNOW D:Just looking at this ring makes you feel like waking up the neighbourhood. N:155:See Invisible G:=:d I:45:22:0 W:30:0:2:250 A:30/3:52/1 F:SEE_INVIS | EASY_KNOW D:You can only just see this ring. N:156:Sustain Strength G:=:d I:45:10:0 W:20:0:2:100 A:20/8:52/8 F:SUST_STR | EASY_KNOW D:With this ring old age will not wear out your strength. N:157:Sustain Intelligence G:=:d I:45:11:0 W:20:0:2:100 A:20/8:52/8 F:SUST_INT | EASY_KNOW D:With this ring old age will not wear out your intelligence. N:158:Sustain Wisdom G:=:d I:45:12:0 W:20:0:2:100 A:20/8:52/8 F:SUST_WIS | EASY_KNOW D:With this ring old age will not wear out your wisdom. N:159:Sustain Constitution G:=:d I:45:13:0 W:20:0:2:100 A:20/8:52/8 F:SUST_CON | EASY_KNOW D:With this ring old age will not wear out your health. N:160:Sustain Dexterity G:=:d I:45:14:0 W:20:0:2:100 A:20/8:52/8 F:SUST_DEX | EASY_KNOW D:With this ring old age will not wear out your dextrousness. N:161:Sustain Charisma G:=:d I:45:15:0 W:20:0:2:100 A:20/16:52/16 F:SUST_CHR | EASY_KNOW D:With this ring old age will not wear out your good looks. # The value of a ring of slaying is in the bonuses N:162:Slaying G:=:d I:45:30:0 W:65:0:2:200 A:65/1 F:SHOW_MODS L:MAKE: object.to_d = randint1(7) + m_bonus(10, level) L:MAKE: object.to_h = randint1(7) + m_bonus(10, level) L:MAKE: allow_curse = TRUE D:With this ring you wil be an allround fighter. ##### Amulets ##### N:163:Brilliance G:":d I:40:6:4 W:35:0:3:1000 A:35/2:85/1 F:INT | WIS | HIDE_TYPE L:MAKE: object.pval = 1 + m_bonus(object.pval, level) L:MAKE: allow_curse = TRUE D:With this amulet you feel o so smart. N:164:Charisma G:":d I:40:7:4 W:20:0:3:250 A:20/2 F:CHR | HIDE_TYPE L:MAKE: object.pval = 1 + m_bonus(object.pval, level) L:MAKE: allow_curse = TRUE D:With this amulet you feel o so cute. N:165:Sensing G:":d I:40:5:5 W:12:0:3:50 A:12/2 F:SENSE | HIDE_TYPE L:MAKE: object.pval = randint1(5) + m_bonus(object.pval, level) L:MAKE: allow_curse = TRUE D:With this amulet you feel aware of traps. N:166:Teleportation G:":d I:40:1:0 W:26:0:3:125 A:26/2 F:CURSED | TELEPORT | EASY_KNOW D:With this amulet you can go anywhere. N:167:Slow Digestion G:":d I:40:3:0 W:26:0:3:125 A:26/2 F:SLOW_DIGEST | EASY_KNOW D:With this amulet you will not feel hungry too often. N:168:Resist Acid G:":d I:40:4:0 W:35:0:3:250 A:35/2 F:RES_ACID | IGNORE_ACID | EASY_KNOW D:With this amulet you feel uncorrosive. N:169:Berserk Strength G:":d I:40:2:0 W:33:0:3:10 A:33/3 F:AGGRAVATE L:MAKE: object.to_d = randint1(7) + m_bonus(10, level) L:MAKE: object.to_h = randint1(7) + m_bonus(10, level) L:MAKE: object.to_a = -(rand_range(5, 10)) D:This amulet seems to growl silently as you touch it. ##### Extra armor ##### N:170:& Double Ring Mail~ G:[:s I:37:5:0 W:43:0:230:1000 A:43/1 P:15:1d4:-2:0:0 ##### Additional amulets ##### # Amulet of the magi is worth an extra 2000 au for no reason N:171:the Magi G:":d I:40:8:5 W:75:0:3:3750 A:75/4:100/3 P:0:0d0:0:0:3 F:FREE_ACT | SEE_INVIS | SENSE | F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:MAKE: object.pval = randint1(5) + m_bonus(object.pval, level) L:MAKE: object.to_a = randint1(5) + m_bonus(5, level) L:MAKE: if (one_in_(3) ~= 0) then set_obj_flag(object, 2, TR2_SLOW_DIGEST) end L:MAKE: rating_boost = 25 D:With this amulet you will not be tricked often. N:172:Destruction G:":d I:40:0:-5 W:80:0:3:0 A:80/2 P:0:7d7:-5:-5:5 F:CURSED | HEAVY_CURSE | STR | INT | WIS | DEX | CON | CHR | F:TY_CURSE | NO_TELE | NO_MAGIC | REGEN | HIDE_TYPE L:MAKE: object.pval = -(randint1(5) + m_bonus(-(object.pval), level)) L:MAKE: object.to_a = -(randint1(5) + m_bonus(5, level)) D:With this amulet you feel like a disaster. ##### Scrolls ##### N:173:Enchant Weapon Skill G:?:d I:70:17:0 W:26:0:5:250 A:26/1 F:EASY_KNOW L:USE: if not enchant_spell(1, 0, 0) then result = FALSE end L:USE: ident = TRUE D:This scroll makes a single weapon easier to hit with. D:It might not work on a weapon that's already enchanted. N:174:Enchant Weapon Deadliness G:?:d I:70:18:0 W:26:0:5:250 A:26/1 F:EASY_KNOW L:USE: if not enchant_spell(0, 1, 0) then result = FALSE end L:USE: ident = TRUE D:This scroll makes a single weapon more damaging. D:It might not work on a weapon that's already enchanted. N:175:Enchant Armor G:?:d I:70:16:0 W:26:0:5:250 A:26/1 F:EASY_KNOW L:USE: if not enchant_spell(0, 0, 1) then result = FALSE end L:USE: ident = TRUE D:This scroll makes a single piece of armor more effective protection. D:It might not work on armor that's already enchanted. N:176:Identify G:?:d I:70:12:0 W:5:0:5:50 A:1/1:9/1:17/1:52/1 F:EASY_KNOW L:USE: if not ident_scroll(object.k_idx) then result = FALSE end L:USE: ident = TRUE D:This scroll identifies one item. N:177:*Identify* G:?:d I:70:13:0 W:30:0:5:500 A:30/1:60/1:90/1 F:EASY_KNOW L:USE: if not identify_fully() then result = FALSE end L:USE: ident = TRUE D:This scroll identifies one item and reveals all of its powers. N:178:Rumour G:?:d I:70:51:0 W:1:0:5:10 A:1/1 F:EASY_KNOW L:USE: msgf("There is a message on the scroll. It says:"); message_flush() L:USE: msgf(get_rumor()); message_flush() L:USE: msgf("The scroll disappears in a puff of smoke!") L:USE: ident = TRUE D:Someone has written something on this scroll. N:179:Logrus G:?:d I:70:50:0 W:80:0:5:1000 A:80/1 F:IGNORE_FIRE | IGNORE_ACID | IGNORE_COLD | IGNORE_ELEC F:EASY_KNOW L:USE: fire_ball(GF_CHAOS, 0, 400, 4) L:USE: if not player_res(TR1_RES_CHAOS) then take_hit(rand_range(150, 300), L:USE: "a Scroll of Logrus") end L:USE: ident = TRUE D:The chaotic runes on this scroll look very dangerous. D:It creates a chaos burst (400) centered on you, but will hurt you as well. N:180:Remove Curse G:?:d I:70:14:0 W:17:0:5:100 A:17/1:35/2:65/2 F:EASY_KNOW L:USE: if remove_curse() then L:USE: msgf("You feel as if someone is watching over you.") L:USE: ident = TRUE end D:This scroll will remove curses that prevent you from removing equipment. D:It isn't powerful enough to affect some curses. N:181:Light G:?:d I:70:24:0 W:0:0:5:15 A:0/1:5/1 F:EASY_KNOW L:USE: ident = lite_area(damroll(2, 8), 2) D:This scroll lights the room you are in. It also deals a small amount D:of damage to nearby creatures that are vulnerable to light. N:182:Fire G:?:d I:70:48:0 W:75:0:5:500 A:75/1 F:IGNORE_FIRE | EASY_KNOW L:USE: fire_ball(GF_FIRE, 0, 350, 4) L:USE: if res_fire_lvl() > 3 then take_hit(rand_range(100, 200), L:USE: "a Scroll of Fire") end L:USE: ident = TRUE D:This scroll creates a fire burst (350) centered on you, but D:will hurt you as well. N:183:Ice G:?:d I:70:49:0 W:75:0:5:600 A:75/1 F:IGNORE_COLD | EASY_KNOW L:USE: fire_ball(GF_COLD, 0, 300, 4) L:USE: if res_fire_lvl() > 3 then take_hit(rand_range(50, 100), L:USE: "a Scroll of Ice") end L:USE: ident = TRUE D:This scroll creates a cold burst (300) centered on you, but D:will hurt you as well. N:184:Summon Monster G:?:d I:70:4:0 W:1:0:5:0 A:1/1 F:EASY_KNOW L:USE: ident = summon_monsters(randint1(3), 0) D:This scroll summons monsters from elsewhere... and they won't D:be happy about it! N:185:Phase Door G:?:d I:70:8:0 W:1:0:5:15 A:1/1 F:EASY_KNOW L:USE: teleport_player(10) L:USE: ident = TRUE D:This scroll teleports you to a random location with a range of 100'. N:186:Teleportation G:?:d I:70:9:0 W:17:0:5:40 A:17/1 F:EASY_KNOW L:USE: teleport_player(100) L:USE: ident = TRUE D:This scroll teleports you to a random location with a range of 1000' N:187:Teleport Level G:?:d I:70:10:0 W:30:0:5:150 A:30/1 F:EASY_KNOW L:USE: teleport_player_level() L:USE: ident = TRUE D:This scroll teleports you up or down one level at random. N:188:Monster Confusion G:?:d I:70:36:0 W:9:0:5:30 A:9/2 F:EASY_KNOW L:USE: if player.state.confusing == 0 then L:USE: msgf("Your hands begin to glow.") L:USE: player.state.confusing = TRUE L:USE: player.redraw = bOr(player.redraw, PR_STATUS) L:USE: ident = TRUE L:USE: end D:This scroll creates a magical field that will confuse the next D:monster you hit. N:189:Magic Mapping G:?:d I:70:25:0 W:9:0:5:100 A:9/2 F:EASY_KNOW L:USE: map_area() L:USE: ident = TRUE D:This scroll magically reveals the dungeon around you. N:190:Rune of Protection G:?:d I:70:38:0 W:75:0:5:1000 A:75/2:100/4 F:EASY_KNOW L:USE: if not warding_glyph() then result = FALSE end L:USE: ident = TRUE D:This scroll creates a magical glyph that will keep monsters D:from crossing it. N:191:*Remove Curse* G:?:d I:70:15:0 W:75:0:5:8000 A:75/1:100/1 F:EASY_KNOW L:USE: if remove_all_curse() then L:USE: msgf("You feel as if someone is watching over you.") L:USE: ident = TRUE L:USE: end D:This scroll removes all but the most powerful curses from your D:equipment, allowing you to remove cursed items. N:192:Treasure Detection G:?:d I:70:26:0 W:0:0:5:5 A:0/1 F:EASY_KNOW L:USE: ident = detect_treasure() L:USE: if detect_objects_gold() then ident = TRUE end D:This scroll magically reveals the location of gems and D:precious metals nearby. N:193:Object Detection G:?:d I:70:27:0 W:0:0:5:5 A:0/1 F:EASY_KNOW L:USE: ident = detect_objects_normal() D:This scroll magically reveals the location of objects nearby. N:194:Trap Detection G:?:d I:70:28:0 W:9:0:5:5 A:9/1 F:EASY_KNOW L:USE: ident = detect_traps(ident) D:This scroll magically reveals the location of traps nearby. ##### Extra ammunition ##### N:195:& Sheaf Arrow~ G:{:o I:17:2:0 W:35:0:4:20 A:35/5:52/3:75/1 P:0:1d16:0:0:0 F:SHOW_MODS D:An arrow with detailed work on it. N:196:& Mithril Shot~ G:{:B I:16:2:0 W:43:0:8:15 A:43/3:75/2 P:0:6d2:0:0:0 F:SHOW_MODS D:Nice and shiny, these deliver the goods. ##### Additional scrolls ##### N:197:Door/Stair Location G:?:d I:70:29:0 W:9:0:5:35 A:9/2 F:EASY_KNOW L:USE: ident = detect_doors() L:USE: if detect_stairs() then ident = TRUE end D:This scroll magically reveals the location of doors and stairs nearby. N:198:Acquirement G:?:d I:70:46:0 W:50:0:5:100000 A:35/8 F:EASY_KNOW L:USE: acquirement(player.px, player.py, 1, TRUE, FALSE) L:USE: ident = TRUE D:This scroll transports a powerful item to your location. D:You will get better items on deeper dungeon levels. N:199:*Acquirement* G:?:d I:70:47:0 W:90:0:5:200000 A:90/16 F:EASY_KNOW L:USE: acquirement(player.px, player.py, rand_range(2, 3), TRUE, FALSE) L:USE: ident = TRUE D:This scroll transports several powerful items to your location. D:You will get better items on deeper dungeon levels. N:200:Mass Genocide G:?:d I:70:45:0 W:75:0:5:5000 A:75/4:85/4 F:EASY_KNOW L:USE: mass_genocide(TRUE) L:USE: ident = TRUE D:The evil runes on this scroll make you tremble. D:It destroys all nearby monsters totally. You won't get any experience D:or treasure from them. N:201:Detect Invisible G:?:d I:70:30:0 W:1:0:5:15 A:1/2 F:EASY_KNOW L:USE: ident = detect_monsters_invis() D:This scroll magically detects nearby invisible monsters. N:202:Aggravate Monster G:?:d I:70:1:0 W:9:0:5:0 A:9/2 F:EASY_KNOW L:USE: msgf("There is a high pitched humming noise.") L:USE: aggravate_monsters(0) L:USE: ident = TRUE D:This scroll attracts monsters, and enrages those already nearby. N:203:Trap Creation G:?:d I:70:7:0 W:5:0:5:0 A:5/20:17/2 F:EASY_KNOW L:USE: ident = trap_creation() D:This scroll creates traps around you. N:204:Trap/Door Destruction G:?:d I:70:39:0 W:10:0:5:50 A:10/8:17/2 F:EASY_KNOW L:USE: ident = destroy_doors_touch() D:This scroll will destroy traps and doors within 10' of you. N:205:Artifact Creation G:?:d I:70:52:0 W:100:0:5:300000 A:100/16 F:EASY_KNOW L:USE: if not artifact_scroll() then result = FALSE end L:USE: ident = TRUE D:This powerful scroll will turn a normal item into a unique D:artifact. Be careful, sometimes artifacts have drawbacks as D:well as benefits. It can't affect an item that already D:has special powers. N:206:Recharging G:?:d I:70:22:0 W:40:0:5:200 A:40/1 F:EASY_KNOW L:USE: if not recharge(130) then result = FALSE end L:USE: ident = TRUE D:This scroll will recharge a wand, staff or rod. There's a small D:chance it will fail and blow up the item you're trying to recharge. N:207:Genocide G:?:d I:70:44:0 W:65:0:5:1000 A:65/1 F:EASY_KNOW L:USE: genocide(TRUE) L:USE: ident = TRUE D:The evil runes on this scroll make you shiver. D:It will totally destroy all monsters on the current level of D:a single letter you select. You won't get any experience or treasure D:from these monsters. N:208:Darkness G:?:d I:70:0:0 W:1:0:5:0 A:1/2 F:EASY_KNOW L:USE: if not player_res(TR1_RES_BLIND) and not player_res(TR1_RES_DARK) then L:USE: inc_blind(rand_range(3, 8)) L:USE: end L:USE: ident = unlite_area(10, 3) D:This scroll creates a sphere of magical darkness centered on you. D:It also causes temporary blindness. N:209:Protection from Evil G:?:d I:70:37:0 W:52:0:5:200 A:52/1 F:EASY_KNOW L:USE: ident = inc_protevil(3 * player.lev + randint1(25)) D:This scroll provides temporary protection from evil monsters. N:210:Satisfy Hunger G:?:d I:70:32:0 W:5:0:5:10 A:5/1:20/1:45/1:75/1 F:EASY_KNOW L:USE: ident = set_food(PY_FOOD_MAX - 1) D:This scroll makes you instantly full. N:211:Dispel Undead G:?:d I:70:42:0 W:65:0:5:300 A:65/1 F:EASY_KNOW L:USE: ident = dispel_undead(60) D:This scroll dispels nearby undead (60). N:212:*Enchant Weapon* G:?:d I:70:21:0 W:50:0:5:500 A:50/5:75/1 F:EASY_KNOW L:USE: if not enchant_spell(randint1(5), randint1(5), 0) then result = FALSE end L:USE: ident = TRUE D:This scroll magically enchants one weapon. D:It might not work on a weapon that's already enchanted. N:213:Curse Weapon G:?:d I:70:3:0 W:75:0:5:0 A:75/1 F:EASY_KNOW L:USE: ident = curse_weapon() D:This scroll curses your current weapon, making it worse than useless. N:214:*Enchant Armor* G:?:d I:70:20:0 W:50:0:5:500 A:50/5:75/1:92/1 F:EASY_KNOW L:USE: if not enchant_spell(0, 0, rand_range(2, 7)) then result = FALSE end L:USE: ident = TRUE D:This scroll magically enchants one piece of armor. D:It might not work on armor that's already enchanted. N:215:Curse Armor G:?:d I:70:2:0 W:75:0:5:0 A:75/1 F:EASY_KNOW L:USE: ident = curse_armor() D:This scroll curses the armor you are wearing, making it worse than useless. N:216:Summon Undead G:?:d I:70:5:0 W:15:0:5:0 A:26/1 F:EASY_KNOW L:USE: ident = summon_monsters(randint1(3), SUMMON_UNDEAD) D:This scroll summons several undead monsters to your location. D:They won't be happy about being summoned. N:217:Blessing G:?:d I:70:33:0 W:1:0:5:15 A:1/2 F:EASY_KNOW L:USE: ident = inc_blessed(rand_range(6, 18)) D:This scroll gives you a temporary blessing (6-18 turns), improving D:your armor class and weapon skill. N:218:Holy Chant G:?:d I:70:34:0 W:15:0:5:50 A:15/2 F:EASY_KNOW L:USE: ident = inc_blessed(rand_range(12, 36)) D:This scroll gives you a temporary blessing (12-36 turns), improving D:your armor class and weapon skill. N:219:Holy Prayer G:?:d I:70:35:0 W:30:0:5:120 A:30/2 F:EASY_KNOW L:USE: ident = inc_blessed(rand_range(24, 72)) D:This scroll gives you a temporary blessing (24-72 turns), improving D:your armor class and weapon skill. N:220:Word of Recall G:?:d I:70:11:0 W:5:0:5:70 A:1/3:7/1 F:EASY_KNOW L:USE: word_of_recall() L:USE: ident = TRUE D:This scroll has two uses. If read within a dungeon, it returns you D:to the surface. If read near the entrance of a dungeon, it takes you to D:the last level of that dungeon you recalled out from. N:221:*Destruction* G:?:d I:70:41:0 W:65:0:5:500 A:65/1 F:EASY_KNOW L:USE: if not destroy_area(player.px, player.py, 15) then L:USE: msgf("The dungeon trembles...") end L:USE: ident = TRUE D:This powerful scroll destroys the nearby dungeon, turning it into a D:jumble of smashed rock. ##### Potions ##### N:222:Slime Mold Juice G:!:d I:75:2:400 W:0:0:4:2 A:0/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: msgf("You feel less thirsty.") L:USE: ident = TRUE L:SMASH:result = TRUE D:A green liquid that tries to climb out of the bottle. N:223:Apple Juice G:!:d I:75:1:250 W:0:0:4:1 A:0/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: msgf("You feel less thirsty.") L:USE: ident = TRUE L:SMASH:result = TRUE D:A cloudy brown liquid that smells of apple. N:224:Water G:!:d I:75:0:200 W:0:0:4:1 A:0/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: msgf("You feel less thirsty.") L:USE: ident = TRUE L:SMASH:result = TRUE D:This water has been boiled and is safe to drink. N:225:Strength G:!:d I:75:48:0 W:40:0:4:10000 A:33/6:39/6:43/3:53/3 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_inc_stat(A_STR) D:This potion permanently increases your strength. N:226:Weakness G:!:d I:75:16:0 W:5:0:4:0 A:5/2 P:0:3d12:0:0:0 F:EASY_KNOW L:USE: ident = do_dec_stat(A_STR) L:SMASH:result = TRUE D:This potion drains your strength. N:227:Restore Strength G:!:d I:75:42:0 W:15:0:4:300 A:15/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_res_stat(A_STR) D:This potion cures strength drain. N:228:Intelligence G:!:d I:75:49:0 W:40:0:4:10000 A:33/6:39/6:43/3:53/3 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_inc_stat(A_INT) D:This potion permanently increases your intelligence. N:229:Stupidity G:!:d I:75:17:0 W:35:0:4:0 A:35/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_dec_stat(A_INT) L:SMASH:result = TRUE D:This potion drains your intelligence. N:230:Restore Intelligence G:!:d I:75:43:0 W:15:0:4:300 A:15/1 P:0:1d1:0:0:0 L:USE: ident = do_res_stat(A_INT) F:EASY_KNOW D:This potion cures intelligence drain. N:231:Wisdom G:!:d I:75:50:0 W:40:0:4:10000 A:33/6:39/6:43/3:53/3 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_inc_stat(A_WIS) D:This potion permanently increases your wisdom. N:232:Naivety G:!:d I:75:18:0 W:35:0:4:0 A:35/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_dec_stat(A_WIS) L:SMASH:result = TRUE D:This potion drains your wisdom. N:233:Restore Wisdom G:!:d I:75:44:0 W:15:0:4:300 A:15/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_res_stat(A_WIS) D:This potion cures wisdom drain. N:234:Charisma G:!:d I:75:53:0 W:35:0:4:5000 A:29/6:35/6:39/3:49/3 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_inc_stat(A_CHR) D:This potion permanently increases your charisma. N:235:Ugliness G:!:d I:75:21:0 W:35:0:4:0 A:35/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_dec_stat(A_CHR) L:SMASH:result = TRUE D:This potion drains your charisma. N:236:Restore Charisma G:!:d I:75:47:0 W:15:0:4:300 A:15/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_res_stat(A_CHR) D:This potion cures charisma drain. N:237:Curing G:!:d I:75:61:100 W:18:0:4:500 A:18/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = cure_potion(150, TRUE, TRUE, TRUE) L:USE: if clear_image() then ident = TRUE end L:SMASH:project(who, 2, x, y, damroll(6, 3), GF_OLD_HEAL, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return FALSE,TRUE D:This potion cures blindness, confusion, poison, cuts, and hallucination, D:and cures 150 hit points. # Note! Invulnerability decreases your food... N:238:Invulnerability G:!:d I:75:62:-2500 W:105:0:4:100000 A:105/9 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: inc_invuln(rand_range(7, 14)) L:USE: ident = TRUE D:This potion makes you temporarily invulnerable to damage (7-14 turns). N:239:New Life G:!:d I:75:63:100 W:100:0:4:50000 A:75/20:100/10:115/5 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: do_cmd_rerate(); cure_all_mutations() L:USE: ident = TRUE D:This potion removes all mutations and rerolls your hitpoints. D:Be careful, your new hitpoints might be worse than your old ones. N:240:Cure Serious Wounds G:!:d I:75:35:100 W:5:0:4:75 A:5/1:15/1:25/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = cure_potion(75, TRUE, TRUE, FALSE) L:SMASH:project(who, 2, x, y, damroll(4, 3), GF_OLD_HEAL, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return FALSE,TRUE D:This potion cures blindness and confusion and restores 75 hit points. N:241:Cure Critical Wounds G:!:d I:75:36:100 W:20:0:4:300 A:20/1:30/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = cure_potion(150, TRUE, TRUE, TRUE) L:SMASH:project(who, 2, x, y, damroll(6, 3), GF_OLD_HEAL, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return FALSE,TRUE D:This potion cures blindness, confusion, poison and cuts, and D:restores 150 hit points. N:242:Healing G:!:d I:75:37:200 W:26:0:4:700 A:26/1:52/1:85/1:100/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = cure_potion(300, TRUE, TRUE, TRUE) L:SMASH:project(who, 2, x, y, damroll(10, 10), GF_OLD_HEAL, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return FALSE,TRUE D:This potion cures blindness, confusion, poison and cuts, and D:restores 300 hit points. N:243:Constitution G:!:d I:75:52:0 W:40:0:4:10000 A:33/6:39/6:43/3:53/3 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_inc_stat(A_CON) D:This potion permanently increases your constitution. N:244:Experience G:!:d I:75:59:0 W:75:0:4:50000 A:75/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: if player.exp < PY_MAX_EXP then L:USE: local ee = (player.exp / 2) + 10 L:USE: if ee > 100000 then ee = 100000 end L:USE: msgf("You feel more experienced.") L:USE: gain_exp(ee) L:USE: end L:USE: ident = TRUE D:This potion increases your experience by 50%, with a maximum D:gain of 100,000 experience points. N:245:Sleep G:!:d I:75:11:100 W:0:0:4:0 A:0/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: msgf("You fall asleep."); do_dream(); inc_paralyzed(rand_range(4, 8)) L:USE: ident = TRUE L:SMASH:project(who, 2, x, y, 0, GF_OLD_SLEEP, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return TRUE,TRUE D:This potion puts you to sleep. If it is thrown and D:shatters, it puts monsters in the splash area to sleep. N:246:Blindness G:!:d I:75:7:0 W:0:0:4:0 A:0/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = not player_res(TR1_RES_BLIND) and inc_blind(rand_range(100, 200)) L:SMASH:project(who, 2, x, y, 0, GF_DARK, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return TRUE,TRUE D:This potion causes temporary blindness. N:247:Booze G:!:d I:75:9:50 W:0:0:4:1 A:0/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = not player_res(TR1_RES_CONF) and inc_confused(rand_range(15, 35)) L:USE: if not player_res(TR1_RES_CHAOS) and (one_in_(2) ~= 0) and L:USE: inc_image(rand_range(150, 300)) then ident = TRUE end L:USE: if not player_res(TR1_RES_CHAOS) and (one_in_(13) ~= 0) then L:USE: ident = TRUE L:USE: if player.depth > 0 then L:USE: if (one_in_(3) ~= 0) then lose_all_info() else wiz_dark() end L:USE: teleport_player(100) L:USE: wiz_dark() L:USE: else L:USE: teleport_player(250) L:USE: end L:USE: msgf("You wake up somewhere with a sore head...") L:USE: msgf("You can't remember a thing, or how you got here!") L:USE: end L:SMASH:project(who, 2, x, y, 0, GF_OLD_CONF, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return TRUE,TRUE D:A drunken alchemist accidentally poured ale into a potion mix. D:It causes temporary confusion, and might also have other effects. N:248:Poison G:!:d I:75:6:0 W:5:0:4:5 A:5/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = res_pois_lvl() ~= 0 and inc_poisoned(rand_range(10, 25)) L:SMASH:project(who, 2, x, y, damroll(3, 6), GF_POIS, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return TRUE,TRUE D:This potion poisons you if you drink it. If it is thrown and shatters, D:it deals 3d6 damage to monsters caught in the splash area. N:249:Speed G:!:d I:75:29:0 W:2:0:4:100 A:2/16:65/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = inc_fast(rand_range(15, 40)) L:SMASH:project(who, 2, x, y, 0, GF_OLD_SPEED, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return FALSE,TRUE D:This potion increases your speed for 15-40 turns. N:250:Slowness G:!:d I:75:4:50 W:1:0:4:0 A:1/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = inc_slow(rand_range(15, 40)) L:SMASH:project(who, 2, x, y, 5, GF_OLD_SLOW, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return TRUE,TRUE D:This potion temporarily decreases your speed. N:251:Dexterity G:!:d I:75:51:0 W:40:0:4:10000 A:33/6:39/6:43/3:53/3 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_inc_stat(A_DEX) D:This potion permanently increases your dexterity. N:252:Restore Dexterity G:!:d I:75:45:0 W:15:0:4:300 A:15/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_res_stat(A_DEX) D:This potion cures dexterity drain. N:253:Restore Constitution G:!:d I:75:46:0 W:15:0:4:300 A:15/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_res_stat(A_CON) D:This potion cures constitution drain. N:254:Lose Memories G:!:d I:75:13:0 W:17:0:4:0 A:17/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: if not player_res(TR1_HOLD_LIFE) and player.exp > 0 then L:USE: msgf("You feel your memories fade.") L:USE: lose_exp(player.exp / 4) L:USE: ident = TRUE L:USE: end L:SMASH:angry = TRUE D:This potion drains your experience. N:255:Salt Water G:!:d I:75:5:0 W:0:0:4:1 A:1/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: msgf("The potion makes you vomit!") L:USE: if player.food > PY_FOOD_STARVE - 1 then set_food(PY_FOOD_STARVE - 1) end L:USE: clear_poisoned() L:USE: inc_paralyzed(4) L:USE: ident = TRUE L:SMASH:return TRUE,FALSE D:This alchemical concoction is used to treat poisoning victims by D:making them vomit. N:256:Enlightenment G:!:d I:75:56:0 W:43:0:4:800 A:43/1:75/1:105/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: msgf("An image of your surroundings forms in your mind...") L:USE: wiz_lite() L:USE: ident = TRUE D:This potion grants magical knowledge of the current dungeon level. N:257:Heroism G:!:d I:75:32:0 W:1:0:4:25 A:1/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = clear_afraid() L:USE: if inc_hero(rand_range(25, 50)) then ident = TRUE end L:USE: if hp_player(10) then ident = TRUE end D:This potion makes you more heroic for 25-50 turns, increasing your D:weapon skill. N:258:Berserk Strength G:!:d I:75:33:0 W:5:0:4:100 A:5/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = clear_afraid() L:USE: if inc_shero(rand_range(25, 50)) then ident = TRUE end L:USE: if hp_player(30) then ident = TRUE end D:This potion makes you go berserk for 25-50 turns, increasing your D:weapon skill but making you easier to hit. It also restores D:30 hit points. N:259:Boldness G:!:d I:75:28:0 W:1:0:4:10 A:1/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = clear_afraid() D:This potion cures temporary fear. N:260:Restore Life Levels G:!:d I:75:41:0 W:45:0:4:1500 A:45/1:60/1:80/1:100/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = restore_level() D:This potion cures experience drain. N:261:Resist Heat G:!:d I:75:30:0 W:4:0:4:30 A:4/5:15/1:30/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = inc_oppose_fire(rand_range(10, 20)) D:This potion grants temporary resistance to fire (10-20 turns). D:This resistance stacks with that given by items. N:262:Resist Cold G:!:d I:75:31:0 W:4:0:4:30 A:4/5:15/1:30/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = inc_oppose_cold(rand_range(10, 20)) D:This potion grants temporary resistance to cold (10-20 turns). D:This resistance stacks with that given by items. N:263:Detect Invisible G:!:d I:75:25:0 W:3:0:4:50 A:5/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = inc_tim_invis(rand_range(12, 24)) D:This potion allows you to see invisible monsters for 12-24 turns. N:264:Slow Poison G:!:d I:75:26:0 W:1:0:4:20 A:1/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = inc_poisoned(-player.tim.poisoned / 2) D:This potion reduces the effect of poison. N:265:Neutralize Poison G:!:d I:75:27:0 W:5:0:4:75 A:9/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = clear_poisoned() D:This potion cures poison. N:266:Restore Mana G:!:d I:75:40:0 W:43:0:4:350 A:43/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = restore_mana() L:SMASH:project(who, 1, x, y, damroll(10, 10), GF_MANA, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return TRUE,TRUE D:The liquid in this bottle sparks with flashes of energy. D:It restores you to full mana when drunk. N:267:Infra-vision G:!:d I:75:24:0 W:5:0:4:20 A:5/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = inc_tim_infra(rand_range(100, 200)) D:This potion grants infravision of 30' for 100-200 turns. N:268:Resistance G:!:d I:75:60:100 W:35:0:4:250 A:35/1:55/1:85/1 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD F:EASY_KNOW L:USE: inc_oppose_acid(rand_range(20, 40)) L:USE: inc_oppose_elec(rand_range(20, 40)) L:USE: inc_oppose_fire(rand_range(20, 40)) L:USE: inc_oppose_cold(rand_range(20, 40)) L:USE: inc_oppose_pois(rand_range(20, 40)) L:USE: ident = TRUE D:This potion grants resistance to acid, lightning, fire, cold, D:and poison for 20-40 turns. This resistance stacks with that D:granted by items. ##### Wands ##### N:269:Light G:-:d I:65:7:17 W:3:0:10:200 A:5/1 P:0:1d1:0:0:0 L:USE: msgf("A line of blue shimmering light appears.") L:USE: lite_line(dir, damroll(6, 8)) L:USE: ident = TRUE D:This wand creates a line of light that deals 6d8 damage to D:susceptible monsters. N:270:Tame Monster G:-:d I:65:17:9 W:52:0:10:1000 A:52/2 P:0:1d1:0:0:0 L:USE: ident = charm_monster(dir, 45) D:This wand charms a monster, making it a pet. N:271:Frost Bolts G:-:d I:65:19:12 W:35:0:10:400 A:23/2:35/1:50/1 P:0:1d1:0:0:0 L:USE: ident = fire_bolt_or_beam(20, GF_COLD, dir, damroll(6, 8)) D:This wand fires a frost bolt (6d8). N:272:Fire Bolts G:-:d I:65:18:15 W:50:0:10:500 A:26/2:52/1:67/1 P:0:1d1:0:0:0 L:USE: ident = fire_bolt_or_beam(20, GF_FIRE, dir, damroll(10, 8)) D:This wand fires a fire bolt (10d8). # More common now... N:273:Stone to Mud G:-:d I:65:6:12 W:10:0:10:300 A:17/1:65/1 P:0:1d1:0:0:0 L:USE: ident = wall_to_mud(dir) D:This wand turns rock into mud, destroying it. N:274:Polymorph G:-:d I:65:13:15 W:35:0:10:300 A:35/2 P:0:1d1:0:0:0 L:USE: ident = poly_monster(dir) D:This wand polymorphs a monster into a new random monster. D:It won't affect unique monsters. N:275:Heal Monster G:-:d I:65:0:29 W:2:0:10:50 A:4/2 P:0:1d1:0:0:0 L:USE: ident = heal_monster(dir) D:This wand heals 4d6 hitpoints to a monster. N:276:Haste Monster G:-:d I:65:1:29 W:2:0:10:50 A:4/2 P:0:1d1:0:0:0 L:USE: ident = speed_monster(dir) D:This wand permanently increases a monster's speed. D:It won't work on a monster that's already hasted. N:277:Slow Monster G:-:d I:65:9:17 W:4:0:10:200 A:4/2 P:0:1d1:0:0:0 L:USE: ident = slow_monster(dir) D:This wand permanently decreases a monster's speed. N:278:Confuse Monster G:-:d I:65:10:19 W:5:0:10:250 A:5/2 P:0:1d1:0:0:0 L:USE: ident = confuse_monster(dir, 20) D:This wand confuses a monster. N:279:Sleep Monster G:-:d I:65:8:24 W:5:0:10:250 A:9/2 P:0:1d1:0:0:0 L:USE: ident = sleep_monster(dir) D:This wand puts a monster to sleep. N:280:Drain Life G:-:d I:65:12:7 W:75:0:10:1200 A:60/1 P:0:1d1:0:0:0 L:USE: ident = drain_life(dir, 150) D:This wand drains life from a monster, dealing 150 damage. N:281:Trap/Door Destruction G:-:d I:65:5:15 W:17:0:10:100 A:17/2 P:0:1d1:0:0:0 L:USE: ident = destroy_door(dir) D:This wand destroys traps and doors in a straight line. N:282:Magic Missile G:-:d I:65:15:17 W:2:0:10:100 A:4/1 P:0:1d1:0:0:0 L:USE: ident = fire_bolt_or_beam(20, GF_MISSILE, dir, damroll(2, 6)) D:This wand deals 2d6 unresistable damage. N:283:Clone Monster G:-:d I:65:2:9 W:15:0:10:0 A:26/1:75/2 P:0:1d1:0:0:0 L:USE: ident = clone_monster(dir) D:This wand creates a duplicate of a monster. N:284:Scare Monster G:-:d I:65:11:9 W:17:0:10:300 A:17/4 P:0:1d1:0:0:0 L:USE: ident = fear_monster(dir, 20) D:This wand frightens a monster. N:285:Teleport Other G:-:d I:65:3:12 W:35:0:10:350 A:35/1 P:0:1d1:0:0:0 L:USE: ident = teleport_monster(dir) D:This wand teleports away all monsters caught in the beam. D:Teleported monsters reappear elsewhere on the same level. N:286:Disarming G:-:d I:65:4:10 W:35:0:10:300 A:35/1 P:0:1d1:0:0:0 L:USE: ident = disarm_trap(dir) D:This wand disarms traps in a straight line. N:287:Lightning Balls G:-:d I:65:21:13 W:41:0:10:1200 A:41/1:61/1 P:0:1d1:0:0:0 F:IGNORE_ELEC L:USE: ident = fire_ball(GF_ELEC, dir, 75, 2) D:This wand fires a lightning ball (75). N:288:Cold Balls G:-:d I:65:23:9 W:45:0:10:1500 A:45/1:65/1 P:0:1d1:0:0:0 F:IGNORE_COLD L:USE: ident = fire_ball(GF_COLD, dir, 100, 2) D:This wand fires a cold ball (100). N:289:Fire Balls G:-:d I:65:22:7 W:55:0:10:1800 A:55/1:75/1 P:0:1d1:0:0:0 F:IGNORE_FIRE L:USE: ident = fire_ball(GF_FIRE, dir, 150, 2) D:This wand fires a fire ball (150). N:290:Stinking Cloud G:-:d I:65:14:15 W:5:0:10:200 A:9/1 P:0:1d1:0:0:0 L:USE: ident = fire_ball(GF_POIS, dir, 15, 2) D:This wand fires a poison ball (15). N:291:Acid Balls G:-:d I:65:20:8 W:55:0:10:1650 A:55/1:75/1 P:0:1d1:0:0:0 F:IGNORE_ACID L:USE: ident = fire_ball(GF_ACID, dir, 125, 2) D:This wand fires an acid ball (125). N:292:Wonder G:-:d I:65:24:24 W:3:0:10:150 A:5/1 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: wand_of_wonder(dir) L:USE: ident = TRUE D:This wand has a random effect, which may be helpful or harmful. ##### Extra ammunition ##### N:293:& Flight Arrow~ G:{:y I:17:0:0 W:5:0:1:1 A:5/2:10/2 P:0:1d8:0:0:0 F:SHOW_MODS D:Yes, it is an arrow. Surely you can do better than this twig. ##### Additional wands ##### N:294:Acid Bolts G:-:d I:65:16:15 W:40:0:10:950 A:35/2:52/1:62/1 P:0:1d1:0:0:0 L:USE: ident = fire_bolt_or_beam(20, GF_ACID, dir, damroll(6, 8)) D:This wand fires an acid bolt (6d8). N:295:Dragon's Flame G:-:d I:65:26:5 W:75:0:10:5000 A:75/4:100/1 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: ident = fire_ball(GF_FIRE, dir, 250, 3) D:This wand fires a large fire ball (250). N:296:Dragon's Frost G:-:d I:65:27:5 W:75:0:10:5000 A:75/4:100/1 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: ident = fire_ball(GF_COLD, dir, 200, 3) D:This wand fires a large cold ball (200). N:297:Dragon's Breath G:-:d I:65:28:5 W:75:0:10:6000 A:75/4:100/1 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: local choice = randint1(5) L:USE: if choice == 1 then ident = fire_ball(GF_ACID, dir, 250, 3) L:USE: elseif choice == 2 then ident = fire_ball(GF_ELEC, dir, 150, 3) L:USE: elseif choice == 3 then ident = fire_ball(GF_FIRE, dir, 200, 3) L:USE: elseif choice == 4 then ident = fire_ball(GF_COLD, dir, 200, 3) L:USE: else ident = fire_ball(GF_POIS, dir, 200, 3) L:USE: end D:This wand fires a large ball of a random element (150 to 250). N:298:Annihilation G:-:d I:65:25:4 W:85:0:10:8000 A:85/4 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: ident = fire_ball(GF_DISINTEGRATE, dir, rand_range(125, 225), 2) D:This wand fires a disintegration ball (125-225). N:299:Rockets G:-:d I:65:29:4 W:95:0:10:20000 A:95/4 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: msgf("You launch a rocket!"); fire_ball(GF_ROCKET, dir, 250, 2) L:USE: ident = TRUE D:This wand fires a rocket (250). ##### Staffs ##### N:300:Trap Location G:_:d I:55:12:12 W:5:0:50:50 A:5/1 P:0:1d2:0:0:0 L:USE: ident = detect_traps(ident) D:This staff magically detects nearby traps. N:301:Treasure Location G:_:d I:55:10:29 W:5:0:50:50 A:9/1 P:0:1d2:0:0:0 L:USE: ident = detect_treasure() L:USE: if detect_objects_gold() then ident = TRUE end D:This staff magically detects nearby gems and precious metals. N:302:Object Location G:_:d I:55:11:22 W:5:0:50:100 A:9/2 P:0:1d2:0:0:0 L:USE: ident = detect_objects_normal() D:This staff magically detects nearby objects. N:303:Teleportation G:_:d I:55:4:10 W:35:0:50:2000 A:35/1 P:0:1d2:0:0:0 L:USE: teleport_player(100) L:USE: ident = TRUE D:This staff teleports you up to 1000'. N:304:Earthquakes G:_:d I:55:28:9 W:65:0:50:350 A:65/1 P:0:1d2:0:0:0 L:USE: if not earthquake(player.px, player.py, 10) then L:USE: msgf("The dungeon trembles...") end L:USE: ident = TRUE D:This staff creates an earthquake which collapses part of the dungeon. N:305:Summoning G:_:d I:55:3:5 W:10:0:50:0 A:17/4:55/1 P:0:1d2:0:0:0 L:USE: ident = summon_monsters(randint1(4), 0) D:This staff summons several monsters to your location. D:The monsters summoned will not be pleased. N:306:Light G:_:d I:55:8:29 W:5:0:50:250 A:7/1 P:0:1d2:0:0:0 L:USE: ident = lite_area(damroll(2, 8), 2) D:This staff lights the room you are in and deals some damage to nearby D:monsters that are vulnerable to light. N:307:*Destruction* G:_:d I:55:29:5 W:80:0:50:5000 A:80/1:100/1 P:0:1d2:0:0:0 L:USE: ident = destroy_area(player.px, player.py, 15) D:This staff destroys the nearby dungeon, turning it into a jumble D:of blasted rock. N:308:Starlight G:_:d I:55:7:12 W:15:0:50:500 A:15/2 P:0:1d2:0:0:0 L:USE: if player.tim.blind == 0 then L:USE: msgf("The end of the staff glows brightly...") L:USE: end L:USE: starlite() L:USE: ident = TRUE D:This staff shoots several rays of light in random directions. D:Each ray deals 6d8 damage to vulnerable monsters caught in the beam. N:309:Haste Monsters G:_:d I:55:2:17 W:10:0:50:0 A:17/2 P:0:1d2:0:0:0 L:USE: ident = speed_monsters() D:This staff permanently increases the speed of all nearby monsters. D:Monsters that are already hasted aren't affected. N:310:Slow Monsters G:_:d I:55:21:12 W:17:0:50:400 A:17/2 P:0:1d2:0:0:0 L:USE: ident = slow_monsters() D:This staff permanently decreases the speed of all nearby monsters. D:Monsters that are already slowed aren't affected. N:311:Sleep Monsters G:_:d I:55:20:12 W:15:0:50:400 A:15/2 P:0:1d2:0:0:0 L:USE: ident = sleep_monsters() D:This staff puts all nearby monsters to sleep. N:312:Cure Light Wounds G:_:d I:55:16:12 W:5:0:50:400 A:9/2 P:0:1d2:0:0:0 L:USE: ident = hp_player(50) D:This staff restores 50 hit points. N:313:Detect Invisible G:_:d I:55:14:24 W:5:0:50:200 A:9/2 P:0:1d2:0:0:0 L:USE: ident = detect_monsters_invis() D:This staff magically detects nearby invisible monsters. N:314:Speed G:_:d I:55:22:8 W:50:0:50:5000 A:50/1 P:0:1d2:0:0:0 L:USE: ident = inc_fast(rand_range(15, 45)) D:This staff increases your speed for 15-45 turns. N:315:Slowness G:_:d I:55:1:17 W:30:0:50:0 A:50/4 P:0:1d2:0:0:0 L:USE: ident = inc_slow(rand_range(15, 45)) D:This staff temporarily decreases your speed. N:316:Door/Stair Location G:_:d I:55:13:15 W:9:0:50:150 A:9/2 P:0:1d2:0:0:0 L:USE: ident = detect_doors() L:USE: if detect_stairs() then ident = TRUE end D:This staff magically detects nearby doors and stairs. N:317:Remove Curse G:_:d I:55:6:8 W:55:0:50:200 A:55/4 P:0:1d2:0:0:0 L:USE: ident = remove_curse() L:USE: if ident and player.tim.blind == 0 then L:USE: msgf("The staff glows blue for a moment...") L:USE: end D:This staff removes curses from equipment, allowing you to take D:it off. It might not affect powerful curses. N:318:Detect Evil G:_:d I:55:15:24 W:15:0:50:150 A:15/4 P:0:1d2:0:0:0 L:USE: ident = detect_monsters_evil() D:This staff magically detects nearby evil monsters. N:319:Curing G:_:d I:55:17:8 W:33:0:50:500 A:33/4 P:0:1d2:0:0:0 L:USE: ident = cure_potion(150, TRUE, TRUE, TRUE) L:USE: if clear_image() then ident = TRUE end D:This staff cures blindness, confusion, poison, cuts, and D:hallucination, and restores 150 hit points. N:320:Dispel Evil G:_:d I:55:24:8 W:75:0:50:2000 A:75/1 P:0:1d2:0:0:0 L:USE: ident = dispel_evil(60) D:This staff deals 60 damage to all evil monsters nearby. N:321:Probing G:_:d I:55:23:9 W:20:0:50:100 A:20/4 P:0:1d2:0:0:0 L:USE: ident = probing() D:This staff reveals information about nearby monsters. N:322:Darkness G:_:d I:55:0:17 W:5:0:50:50 A:9/1 P:0:1d2:0:0:0 L:USE: ident = not player_res(TR1_RES_BLIND) and not player_res(TR1_RES_DARK) L:USE: and inc_blind(rand_range(4, 8)) L:USE: if unlite_area(10, 3) then ident = TRUE end D:This staff creates a sphere of magical darkness. It also causes D:temporary blindness. N:323:Genocide G:_:d I:55:27:4 W:95:0:50:8000 A:95/4 P:0:1d2:0:0:0 L:USE: genocide(TRUE) L:USE: ident = TRUE D:This staff completely destroys all monsters on the current dungeon level D:of a single letter you select. You don't get experience or treasure D:from those monsters. N:324:Power G:_:d I:55:25:5 W:95:0:50:10000 A:95/2 P:0:1d2:0:0:0 L:USE: dispel_monsters(300) L:USE: ident = TRUE D:This staff deals 300 damage to all nearby monsters. N:325:the Magi G:_:d I:55:19:5 W:100:0:50:15000 A:100/2 P:0:1d2:0:0:0 L:USE: ident = do_res_stat(A_INT) L:USE: if restore_mana() then ident = TRUE end D:This staff restores you to full mana. It also cures intelligence drain. N:326:Perception G:_:d I:55:5:21 W:17:0:50:400 A:17/1:35/1:60/1 P:0:1d2:0:0:0 L:USE: result = ident_spell() L:USE: ident = TRUE D:This staff identifies an item. N:327:Holiness G:_:d I:55:26:5 W:100:0:50:10000 A:100/2 P:0:1d2:0:0:0 L:USE: if dispel_evil(300) then ident = TRUE end L:USE: if inc_protevil(randint1(25) + 3 * player.lev) then ident = TRUE end L:USE: if clear_poisoned() then ident = TRUE end L:USE: if clear_afraid() then ident = TRUE end L:USE: if hp_player(50) then ident = TRUE end L:USE: if clear_stun() then ident = TRUE end L:USE: if clear_cut() then ident = TRUE end D:This staff has many beneficial effects. It deals 300 damage to nearby D:evil monsters; grants temporary protection from evil; cures poison, fear, D:stunning, and cuts; and restores 50 hit points. N:328:Enlightenment G:_:d I:55:9:11 W:22:0:50:750 A:22/1 P:0:1d2:0:0:0 L:USE: map_area() L:USE: ident = TRUE D:This staff magically reveals the nearby dungeon. N:329:Healing G:_:d I:55:18:4 W:65:0:50:5000 A:65/2 P:0:1d2:0:0:0 L:USE: ident = hp_player(300) L:USE: if clear_stun() then ident = TRUE end L:USE: if clear_cut() then ident = TRUE end D:This staff cures stunning and cuts and restores 300 hit points. ##### Basic Books ##### N:330:[Book of Common Prayer] G:?:W I:90:0:0 W:17:0:30:100 A:17/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A small, light-gray book, containing the simplest of good prayers D:to lighten the way. N:331:[High Mass] G:?:W I:90:1:0 W:20:0:30:1000 A:35/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A white book with invocations of healing, protection and D:fighting evil. N:332:[Book of the Unicorn] G:?:w I:90:2:0 W:65:0:30:25000 A:65/1 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD F:EASY_KNOW D:A white grimoire with great spells of banishing evil. N:333:[Blessings of the Grail] G:?:w I:90:3:0 W:95:0:30:100000 A:95/3 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD F:EASY_KNOW D:A blindingly white tome, shining with the awesome power of Life. N:334:[Beginner's Handbook] G:?:B I:91:0:0 W:17:0:30:100 A:17/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A small light-blue book with simple sorcerous spells of detection, D:teleportation and clouding the minds of your foes. N:335:[Master Sorcerer's Handbook] G:?:B I:91:1:0 W:20:0:30:1000 A:35/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A blue book containing sorcerous spells of knowledge, speed, D:and hindering your enemies. N:336:[Pattern Sorcery] G:?:b I:91:2:0 W:65:0:30:25000 A:65/1 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD F:EASY_KNOW D:A deep-blue tome, containing great magics of mind over matter. N:337:[Grimoire of Power] G:?:b I:91:3:0 W:95:0:30:100000 A:95/3 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD F:EASY_KNOW D:A mighty grimoire glowing with eldritch blue from the magics D:it contains. ##### Chests ##### N:338:& Small wooden chest~ G:&:o I:7:1:0 W:9:0:250:20 A:9/1 P:0:2d3:0:0:0 D:It just may contain some gold and items. Open it and find out. N:339:& Large wooden chest~ G:&:U I:7:5:0 W:26:0:500:200 A:26/1 P:0:2d5:0:0:0 D:Maybe there still is something in it. Open it and find out. N:340:& Small iron chest~ G:&:D I:7:2:0 W:43:0:300:200 A:43/1 P:0:2d4:0:0:0 D:It just may contain some gold and items. Open it and find out. N:341:& Large iron chest~ G:&:s I:7:6:0 W:61:0:1000:500 A:61/1 P:0:2d6:0:0:0 D:Maybe there still is something in it. Open it and find out. N:342:& Small steel chest~ G:&:s I:7:3:0 W:70:0:500:500 A:70/1 P:0:2d4:0:0:0 D:It just may contain some gold and items. Open it and find out. N:343:& Large steel chest~ G:&:W I:7:7:0 W:80:0:1000:1000 A:80/1 P:0:2d6:0:0:0 D:Maybe there still is something in it. Open it and find out. N:344:& Ruined chest~ G:&:u I:7:0:0 W:30:0:250:0 A:30/10:90/1 D:A small chest of rotted wood. Whatever it once held has already been taken. ##### Various Stuff ##### N:345:& Iron Spike~ G:~:W I:5:0:0 W:1:0:2:1 A:1/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A small metal spike, useful for jamming doors. N:346:& Wooden Torch~ G:~:u I:39:0:4000 W:1:0:30:2 A:1/1:10/1 P:0:1d1:0:0:0 F:EASY_KNOW D:With its light you can ward off the dark. N:347:& Brass Lantern~ G:~:U I:39:1:7500 W:5:0:50:150 A:5/1:15/1:25/1 P:0:1d1:0:0:0 F:EASY_KNOW | IGNORE_FIRE D:If it has oil in it a lantern burns more brightly than a torch. N:348:& Flask~ of oil G:!:y I:77:0:7500 W:1:0:10:3 A:1/1:7/1:15/1 P:0:2d6:0:0:0 F:EASY_KNOW D:Empty this flask in a lantern to keep it fueled. D:Or throw it at a monster which doesn't like fire. N:349:& Empty Bottle~ G:!:w I:2:1:0 W:0:0:2:1 A:0/1 P:0:1d1:0:0:0 F:EASY_KNOW D:It is empty, very empty indeed. ##### Here are the Rods ##### N:350:Havoc G:-:d I:66:28:250 W:95:0:15:30000 A:75/8:100/16 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: call_chaos(); ident = TRUE D:This rod calls forth a random attack. N:351:Door/Stair Location G:-:d I:66:1:70 W:12:0:15:250 A:12/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: if detect_doors() then ident = TRUE end L:USE: if detect_stairs() then ident = TRUE end D:This rod magically detects nearby doors and stairs. N:352:Trap Location G:-:d I:66:0:15 W:10:0:15:100 A:10/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = detect_traps(ident) D:This rod magically detects nearby traps. N:353:Probing G:-:d I:66:7:50 W:25:0:15:200 A:25/8 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = probing() D:This rod reveals information about nearby monsters. N:354:Recall G:-:d I:66:3:60 W:40:0:15:4000 A:26/8:52/4 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: word_of_recall(); ident = TRUE D:This rod has two effects. If used in the dungeon, it takes you to D:the surface. If used near a dungeon entrance, it takes you to the depth D:you last recalled out from. N:355:Illumination G:-:d I:66:4:16 W:15:0:15:250 A:15/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = lite_area(damroll(4, 8), 2) D:This rod lights the room you are in and deals damage to nearby monsters D:that are vulnerable to light. N:356:Light G:-:d I:66:15:9 W:13:0:15:600 A:9/2:17/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: msgf("A line of blue shimmering light appears.") L:USE: lite_line(dir, damroll(6, 8)); ident = TRUE D:This rod creates a line of light that deals 6d8 damage to vulnerable D:monsters. N:357:Lightning Bolts G:-:d I:66:21:11 W:35:0:15:2000 A:30/2:35/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = fire_bolt_or_beam(10, GF_ELEC, dir, damroll(5, 8)) D:This rod fires a lightning bolt (5d8). N:358:Frost Bolts G:-:d I:66:23:13 W:43:0:15:3000 A:33/2:43/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = fire_bolt_or_beam(10, GF_COLD, dir, damroll(6, 8)) D:This rod fires a frost bolt (6d8). N:359:Fire Bolts G:-:d I:66:22:15 W:52:0:15:3500 A:36/2:52/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = fire_bolt_or_beam(10, GF_FIRE, dir, damroll(10, 8)) D:This rod fires a fire bolt (10d8). N:360:Polymorph G:-:d I:66:19:25 W:32:0:15:600 A:28/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: if poly_monster(dir) then ident = TRUE end D:This rod transforms a monster into another random monster. D:It doesn't work on uniques. N:361:Slow Monster G:-:d I:66:17:20 W:26:0:15:1000 A:26/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: if slow_monster(dir) then ident = TRUE end D:This rod permanently reduces a monster's speed. It doesn't work D:on a monster that's already slowed. N:362:Sleep Monster G:-:d I:66:16:18 W:26:0:15:1500 A:26/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: if sleep_monster(dir) then ident = TRUE end D:This rod puts a monster to sleep. N:363:Drain Life G:-:d I:66:18:23 W:67:0:15:10000 A:67/8:95/4 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: if drain_life(dir, 150) then ident = TRUE end D:This rod drains life from a monster, dealing 150 damage. N:364:Teleport Other G:-:d I:66:13:3 W:40:0:15:2000 A:40/4:70/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: if teleport_monster(dir) then ident = TRUE end D:This rod teleports monsters away in a straight line. Teleported D:monsters appear elsewhere on the same level. N:365:Disarming G:-:d I:66:14:22 W:32:0:15:500 A:32/2:61/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: if disarm_trap(dir) then ident = TRUE end D:This rod disarms traps in a straight line. N:366:Lightning Balls G:-:d I:66:25:23 W:49:0:15:5000 A:49/2:80/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = fire_ball(GF_ELEC, dir, 75, 2) D:This rod fires a lightning ball (75). N:367:Cold Balls G:-:d I:66:27:25 W:85:0:15:6000 A:52/2:85/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = fire_ball(GF_COLD, dir, 100, 2) D:This rod fires a cold ball (100). N:368:Fire Balls G:-:d I:66:26:30 W:95:0:15:7000 A:67/2:95/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = fire_ball(GF_FIRE, dir, 150, 2) D:This rod fires a fire ball (150). N:369:Acid Balls G:-:d I:66:24:27 W:95:0:15:6000 A:61/2:95/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = fire_ball(GF_ACID, dir, 125, 2) D:This rod fires an acid ball (125). N:370:Acid Bolts G:-:d I:66:20:12 W:75:0:15:3000 A:45/2:65/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = fire_bolt_or_beam(10, GF_ACID, dir, damroll(6, 8)) D:This rod fires an acid bolt (6d8). N:371:Enlightenment G:-:d I:66:5:99 W:70:0:15:8000 A:40/8:80/4 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: map_area(); ident = TRUE D:This rod magically reveals the nearby dungeon. N:372:Perception G:-:d I:66:2:10 W:75:0:15:13000 A:43/16:75/8 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: if not ident_spell() then use_charge = FALSE end; ident = TRUE D:This rod identifies one object. N:373:Curing G:-:d I:66:8:999 W:80:0:15:4000 A:58/8:90/4 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_curing() D:This rod cures blindness, confusion, poison, cuts, and hallucination, D:and restores 200 hit points. N:374:Healing G:-:d I:66:9:999 W:100:0:15:20000 A:65/16:100/8 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: if hp_player(500) then ident = TRUE end L:USE: if clear_stun() then ident = TRUE end L:USE: if clear_cut() then ident = TRUE end D:This rod cures stunning and cuts and restores 500 hit points. N:375:Detection G:-:d I:66:6:99 W:52:0:15:5000 A:26/16:52/8 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: if detect_all() then ident = TRUE end D:This rod magically detects nearby doors, traps, stairs, items, and D:monsters. N:376:Restoration G:-:d I:66:10:999 W:100:0:15:25000 A:65/32:100/16 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: if restore_level() then ident = TRUE end L:USE: if restore_all_stats() then ident = TRUE end D:This rod cures all stat and experience drains. N:377:Speed G:-:d I:66:11:99 W:105:0:15:50000 A:78/32:105/16 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: if inc_fast(rand_range(15, 45)) then ident = TRUE end D:This rod increases your speed for 15-45 turns. N:378:Pesticide G:-:d I:66:12:3 W:23:0:15:500 A:23/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = fire_ball(GF_POIS, dir, 8, 3) D:This rod fires a poison ball (8). ##### Special Books (note resistances) ##### N:379:[Call of the Wild] G:?:G I:92:0:0 W:17:0:30:100 A:17/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A small, light-green book with nature rites of detection, curing, D:and other aid. N:380:[Nature Mastery] G:?:G I:92:1:0 W:20:0:30:1000 A:35/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A green book with rites showing both the power and enlightenment D:of nature's magics. N:381:[Nature's Gifts] G:?:g I:92:2:0 W:75:0:30:25000 A:75/1 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD F:EASY_KNOW D:A sheaf of papers in deep-green leather bindings, filled with D:powerful spells of nature's protection. N:382:[Nature's Wrath] G:?:g I:92:3:0 W:100:0:30:100000 A:100/2 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD F:EASY_KNOW D:A mottled-green grimoire, vibrating with the power of nature's D:destructive magics. N:383:[Sign of Chaos] G:?:R I:93:0:0 W:17:0:30:100 A:17/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A light-red book, containing minor chaotic offensive magics. N:384:[Chaos Mastery] G:?:R I:93:1:0 W:20:0:30:1000 A:35/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A red book with many spells of causing destruction and chaos. N:385:[Chaos Channels] G:?:r I:93:2:0 W:75:0:30:25000 A:75/1 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD F:EASY_KNOW D:A deep-red codex, filled with ways of manifesting chaos upon this D:reality or even twisting life and reality itself. N:386:[Armageddon Tome] G:?:r I:93:3:0 W:105:0:30:100000 A:105/3 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD F:EASY_KNOW D:A fiery-red tome that sizzles with power, barely holding in check D:the most destructive magics imaginable. N:387:[Black Prayers] G:?:D I:94:0:0 W:17:0:30:100 A:17/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A small dark-gray book, containing minor curses and ways of hurting. N:388:[Black Mass] G:?:D I:94:1:0 W:20:0:30:1000 A:35/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A black book with many evil incantations and spells of pain, terror, D:and death. ##### Junk ##### N:389:& Shard~ of Pottery G:~:r I:3:3:0 W:0:0:5:0 A:0/1 P:0:1d1:0:0:0 F:EASY_KNOW D:Not enough to assemble a pot. N:390:& Broken Stick~ G:~:r I:3:6:0 W:0:0:3:0 A:0/1 P:0:1d1:0:0:0 F:EASY_KNOW D:Not even big enough for a dog to fetch. ##### Skeletons ##### N:391:& Broken Skull~ G:~:w I:1:1:0 W:0:0:1:0 A:0/1 P:0:1d1:0:0:0 F:EASY_KNOW D:Something tampled onthis skull. N:392:& Broken Bone~ G:~:w I:1:2:0 W:0:0:2:0 A:0/1 P:0:1d1:0:0:0 F:EASY_KNOW D:Something sucked out the marrow. N:393:& Canine Skeleton~ G:~:w I:1:4:0 W:1:0:10:0 A:1/1 P:0:1d1:0:0:0 F:EASY_KNOW D:No more sun for this doggie. N:394:& Rodent Skeleton~ G:~:w I:1:3:0 W:1:0:10:0 A:1/1 P:0:1d1:0:0:0 F:EASY_KNOW D:You can find plenty of these. N:395:& Human Skeleton~ G:~:w I:1:8:0 W:9:0:60:0 A:9/1 P:0:1d2:0:0:0 F:EASY_KNOW D:The remains of an earlier adventurer, perhaps? N:396:& Dwarf Skeleton~ G:~:w I:1:7:0 W:9:0:50:0 A:9/1 P:0:1d2:0:0:0 F:EASY_KNOW D:The remains of an earlier adventurer, perhaps? N:397:& Elf Skeleton~ G:~:w I:1:6:0 W:9:0:40:0 A:9/1 P:0:1d2:0:0:0 F:EASY_KNOW D:The remains of an earlier adventurer, perhaps? N:398:& Gnome Skeleton~ G:~:w I:1:5:0 W:9:0:30:0 A:9/1 P:0:1d2:0:0:0 F:EASY_KNOW D:The remains of an earlier adventurer, perhaps? ##### Additional weapon ##### N:399:& Great Hammer~ G:\:D I:21:19:0 W:70:0:300:1350 A:70/1:105/1 P:0:4d6:0:0:0 F:SHOW_MODS ##### Dragon Scale Mail ##### N:400:& Black Dragon Scale Mail~ G:[:s I:38:1:0 W:60:0:200:17500 A:60/8 P:30:2d4:-2:0:10 F:RES_ACID | F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: msgf("You breathe acid.") L:USE: fire_ball(GF_ACID, dir, 430, 2) L:USE: object.timeout = rand_range(50, 100) L:DESC: return "breathe acid (430) every 50-100 turns" N:401:& Blue Dragon Scale Mail~ G:[:b I:38:2:0 W:40:0:200:15000 A:40/8 P:30:2d4:-2:0:10 F:RES_ELEC | F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: msgf("You breathe lightning.") L:USE: fire_ball(GF_ELEC, dir, 330, 2) L:USE: object.timeout = rand_range(50, 100) L:DESC: return "breathe lightning (330) every 50-100 turns" N:402:& White Dragon Scale Mail~ G:[:w I:38:3:0 W:50:0:200:20000 A:50/8 P:30:2d4:-2:0:10 F:RES_COLD | F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: msgf("You breathe frost.") L:USE: fire_ball(GF_COLD, dir, 370, 2) L:USE: object.timeout = rand_range(50, 100) L:DESC: return "breathe frost (370) every 50-100 turns" N:403:& Red Dragon Scale Mail~ G:[:r I:38:4:0 W:80:0:200:50000 A:80/8 P:30:2d4:-2:0:10 F:RES_FIRE | F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: msgf("You breathe fire.") L:USE: fire_ball(GF_FIRE, dir, 670, 2) L:USE: object.timeout = rand_range(50, 100) L:DESC: return "breathe fire (670) every 50-100 turns" N:404:& Green Dragon Scale Mail~ G:[:g I:38:5:0 W:70:0:200:40000 A:70/8 P:30:2d4:-2:0:10 F:RES_POIS | F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: msgf("You breathe poison gas.") L:USE: fire_ball(GF_POIS, dir, 500, 2) L:USE: object.timeout = rand_range(50, 100) L:DESC: return "breathe poison gas (500) every 50-100 turns" N:405:& Multi-Hued Dragon Scale Mail~ G:[:v I:38:6:0 W:100:0:200:75000 A:100/16 P:30:2d4:-2:0:10 F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD | RES_POIS F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: local chance = randint1(5) L:USE: local damtype; local damname L:USE: if chance == 1 then damtype = GF_ELEC; damname = "lightning" L:USE: elseif chance == 2 then damtype = GF_COLD; damname = "frost" L:USE: elseif chance == 3 then damtype = GF_ACID; damname = "acid" L:USE: elseif chance == 4 then damtype = GF_FIRE; damname = "fire" L:USE: else damtype = GF_POIS; damname = "poison gas" L:USE: end L:USE: msgf("You breathe "..damname..".") L:USE: fire_ball(damtype, dir, 840, 2) L:USE: object.timeout = rand_range(25, 50) L:DESC: return "breathe multi-hued (840) every 25-50 turns" N:406:& Pseudo Dragon Scale Mail~ G:[:v I:38:10:0 W:65:0:200:30000 A:65/16 P:30:2d4:-2:0:10 F:RES_LITE | RES_DARK | F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: local chance = randint1(2) L:USE: local damtype; local damname L:USE: if chance == 1 then damtype = GF_LITE; damname = "light" L:USE: else damtype = GF_DARK; damname = "darkness" L:USE: end L:USE: fire_ball(damtype, dir, 670, 2) L:USE: object.timeout = rand_range(30, 60) L:DESC: return "breathe light/darkness (670) every 30-60 turns" N:407:& Law Dragon Scale Mail~ G:[:B I:38:12:0 W:80:0:200:40000 A:80/16 P:30:2d4:-2:0:10 F:RES_SOUND | RES_SHARDS | F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: local chance = randint1(2) L:USE: local damtype; local damname L:USE: if chance == 1 then damtype = GF_SOUND; damname = "sound" L:USE: else damtype = GF_SHARDS; damname = "shards" L:USE: end L:USE: fire_ball(damtype, dir, 750, 2) L:USE: object.timeout = rand_range(30, 60) L:DESC: return "breathe sound/shards (750) every 30-60 turns" N:408:& Bronze Dragon Scale Mail~ G:[:U I:38:14:0 W:55:0:200:17500 A:55/8 P:30:2d4:-2:0:10 F:RES_CONF | F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: msgf("You breathe confusion.") L:USE: fire_ball(GF_CONFUSION, dir, 400, 2) L:USE: object.timeout = rand_range(50, 100) L:DESC: return "breathe confusion (400) every 50-100 turns" N:409:& Gold Dragon Scale Mail~ G:[:y I:38:16:0 W:65:0:200:20000 A:65/8 P:30:2d4:-2:0:10 F:RES_SOUND | F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: msgf("You breathe sound.") L:USE: fire_ball(GF_SOUND, dir, 430, 2) L:USE: object.timeout = rand_range(50, 100) L:DESC: return "breathe sound (430) every 50-100 turns" N:410:& Chaos Dragon Scale Mail~ G:[:v I:38:18:0 W:75:0:200:35000 A:75/16 P:30:2d4:-2:0:10 F:RES_CHAOS | RES_DISEN | F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: local chance = randint1(2) L:USE: local damtype; local damname L:USE: if chance == 1 then damtype = GF_CHAOS; damname = "chaos" L:USE: else damtype = GF_DISENCHANT; damname = "disenchantment" L:USE: end L:USE: fire_ball(damtype, dir, 740, 2) L:USE: object.timeout = rand_range(30, 60) L:DESC: return "breathe chaos/disenchant (740) every 30-60 turns" N:411:& Balance Dragon Scale Mail~ G:[:v I:38:20:0 W:90:0:200:50000 A:90/16 P:30:2d4:-2:0:10 F:RES_CHAOS | RES_DISEN | RES_SOUND | RES_SHARDS | F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: local chance = randint1(4) L:USE: local damtype; local damname L:USE: if chance == 1 then damtype = GF_SOUND; damname = "sound" L:USE: elseif chance == 2 then damtype = GF_SHARDS; damname = "shards" L:USE: elseif chance == 3 then damtype = GF_CHAOS; damname = "chaos" L:USE: else damtype = GF_DISENCHANT; damname = "disenchantment" L:USE: end L:USE: msgf("You breathe "..damname..".") L:USE: fire_ball(damtype, dir, 840, 2) L:USE: object.timeout = rand_range(30, 60) L:DESC: return "breathe balance (840) every 30-60 turns" N:412:& Power Dragon Scale Mail~ G:[:v I:38:30:0 W:110:0:250:175000 A:110/64 P:40:2d4:-3:0:15 F:RES_ACID | RES_FIRE | RES_COLD | RES_ELEC | RES_POIS | F:RES_NETHER | RES_NEXUS | RES_CHAOS | RES_LITE | RES_DARK | F:RES_SHARDS | RES_SOUND | RES_DISEN | RES_CONF | F:ACTIVATE | IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:USE: local success; local dir; success, dir = get_aim_dir() L:USE: if not success then return end L:USE: msgf("You breathe the elements.") L:USE: fire_ball(GF_MISSILE, dir, 1000, 2) L:USE: object.timeout = rand_range(30, 60) L:DESC: return "breathe the elements (1000) every 30-60 turns" ## PDSM has been restored to (almost) its former glory in Zangband N:413:& Dragon Helm~ G:]:G I:32:7:0 W:80:0:50:10000 A:80/20:105/20 P:8:1d3:0:0:10 F:IGNORE_ACID | IGNORE_FIRE | IGNORE_ELEC | IGNORE_COLD D:Made from dragon bones it retains some magical properities. N:414:& Dragon Shield~ G:[:G I:34:6:0 W:80:0:100:10000 A:80/20:105/20 P:11:1d7:0:0:10 F:IGNORE_ACID | IGNORE_FIRE | IGNORE_ELEC | IGNORE_COLD D:Made from dragon bones it retains some magical properities. ##### Extra potions ##### N:415:Death G:!:d I:75:23:0 W:85:0:4:0 A:85/4 P:0:20d20:0:0:0 F:EASY_KNOW L:USE: msgf("A feeling of Death flows through your body.") L:USE: take_hit(5000, "a potion of Death") L:USE: ident = TRUE L:SMASH:project(who, 1, x, y, damroll(25, 25), GF_DEATH_RAY, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return TRUE,TRUE D:This potion deals 5000 damage. If it is thrown and shatters, it D:deals 25d25 damage to each monster caught in the splash area. N:416:Ruination G:!:d I:75:15:0 W:70:0:4:0 A:70/8 P:0:20d20:0:0:0 F:EASY_KNOW L:USE: msgf("Your nerves and muscles feel weak and lifeless!") L:USE: take_hit(damroll(10, 10), "a potion of Ruination) L:USE: dec_stat(A_DEX, 25, TRUE) L:USE: dec_stat(A_WIS, 25, TRUE) L:USE: dec_stat(A_CON, 25, TRUE) L:USE: dec_stat(A_STR, 25, TRUE) L:USE: dec_stat(A_CHR, 25, TRUE) L:USE: dec_stat(A_INT, 25, TRUE) L:USE: ident = TRUE L:SMASH:project(who, 1, x, y, damroll(25, 25), GF_SHARDS, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return TRUE,TRUE D:This potion deals damage and permanently drains all your stats. D:If it is thrown and shatters, it deals 25d25 damage to each monster D:caught in the splash area. N:417:Detonations G:!:d I:75:22:0 W:90:0:4:10000 A:90/8 P:0:25d25:0:0:0 F:EASY_KNOW L:USE: msgf("Massive explosions rupture your body!") L:USE: take_hit(damroll(50, 20), "a potion of Detonations") L:USE: inc_stun(75) L:USE: inc_cut(5000) L:USE: ident = TRUE L:SMASH:project(who, 1, x, y, damroll(25, 25), GF_SHARDS, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return TRUE,TRUE D:The bottle this potion is in looks very fragile. D:It deals massive damage if drunk. If it is thrown and shatters, it D:deals 25d25 damage to each monster caught in the splash area. N:418:Augmentation G:!:d I:75:55:0 W:50:0:4:20000 A:45/8 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = FALSE L:USE: if do_inc_stat(A_STR) then ident = TRUE end L:USE: if do_inc_stat(A_INT) then ident = TRUE end L:USE: if do_inc_stat(A_WIS) then ident = TRUE end L:USE: if do_inc_stat(A_DEX) then ident = TRUE end L:USE: if do_inc_stat(A_CON) then ident = TRUE end L:USE: if do_inc_stat(A_CHR) then ident = TRUE end D:This potion permanently increases all your stats. N:419:*Healing* G:!:d I:75:38:0 W:65:0:4:1500 A:65/4:75/2:85/1:95/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = cure_potion(1200, TRUE, TRUE, TRUE) L:SMASH:project(who, 2, x, y, damroll(50, 50), GF_OLD_HEAL, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return FALSE,TRUE D:This potion cures blindness, confusion, poison, and cuts, and D:restores 1200 hit points. N:420:Life G:!:d I:75:39:0 W:85:0:4:5000 A:85/4:100/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: do_life_potion() L:SMASH:project(who, 2, x, y, damroll(50, 50), GF_OLD_HEAL, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return FALSE,TRUE D:This potion cures poison, blindness, confusion, hallucination, stunning, D:cuts, and all stat and experience drains, and restores 5000 hit points. N:421:Self Knowledge G:!:d I:75:58:0 W:45:0:4:1000 A:45/20:65/3 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: msgf("You begin to know yourself a little better...") L:USE: message_flush() L:USE: self_knowledge() L:USE: ident = TRUE D:This potion reveals all magical effects on you. N:422:*Enlightenment* G:!:d I:75:57:0 W:95:0:4:20000 A:95/4 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: msgf("You begin to feel more enlightened...") L:USE: message_flush() L:USE: wiz_lite() L:USE: do_inc_stat(A_INT) L:USE: do_inc_stat(A_WIS) L:USE: detect_traps(TRUE); detect_doors(); detect_stairs() L:USE: detect_treasure(); detect_objects_gold(); detect_objects_normal() L:USE: identify_pack() L:USE: self_knowledge() L:USE: ident = TRUE D:This potion grants a surge of enlightnment. You detect everyhing on D:the current dungeon level, all objects you are carrying are identified, D:magical effects on you are revealed, and your intelligence and wisdom D:are permanently increased. N:423:[Black Channels] G:?:v I:94:2:0 W:75:0:30:25000 A:75/1 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD F:EASY_KNOW D:This tome of blackest midnight holds spells to bind evil to oneself D:and bringing darkness and death upon others. N:424:[Necronomicon] G:?:v I:94:3:0 W:95:0:30:100000 A:95/3 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD F:EASY_KNOW D:This mighty grimoire of death seems to suck all life and light from D:around it. Death in all it's forms is controlled by the rituals within. # Additional rings # This is cheaper than it should be N:425:Fear Resistance G:=:d I:45:38:0 W:17:0:2:250 A:17/2 F:RES_FEAR | EASY_KNOW D:With this ring no foe is scary. N:426:Light and Darkness Resistance G:=:d I:45:39:0 W:52:0:2:1500 A:52/2 F:RES_LITE | RES_DARK | EASY_KNOW D:Is the colour of this ring light or dark? You can not make up your mind. N:427:Nether Resistance G:=:d I:45:40:0 W:60:0:2:3500 A:60/2 F:RES_NETHER | HOLD_LIFE | EASY_KNOW D:With this ring the netherworld has no hold on you. N:428:Nexus Resistance G:=:d I:45:41:0 W:42:0:2:750 A:42/2 F:RES_NEXUS | EASY_KNOW D:With this ring you will not be warped about. N:429:Sound Resistance G:=:d I:45:42:0 W:45:0:2:750 A:45/2 F:RES_SOUND | EASY_KNOW D:With this ring you can listen to loud music. N:430:Confusion Resistance G:=:d I:45:43:0 W:39:0:2:750 A:39/2 F:RES_CONF | EASY_KNOW D:With this ring your mind will not be tricked. N:431:Shard Resistance G:=:d I:45:44:0 W:43:0:2:750 A:43/2 F:RES_SHARDS | EASY_KNOW D:With this ring your skin becomes like a hide. N:432:Disenchantment Resistance G:=:d I:45:45:0 W:100:0:2:750 A:100/10 F:RES_DISEN | EASY_KNOW D:With this ring your equipment remains polished. N:433:Chaos Resistance G:=:d I:45:46:0 W:75:0:2:750 A:75/2 F:RES_CHAOS | RES_CONF | EASY_KNOW D:With this ring you have a grip. N:434:Blindness Resistance G:=:d I:45:47:0 W:20:0:2:750 A:20/4 F:RES_BLIND | EASY_KNOW D:This ring keeps your eyes open. N:435:Lordly Protection G:=:d I:45:48:0 W:105:0:2:6000 A:100/5 F:RES_DISEN | RES_POIS | HOLD_LIFE | FREE_ACT L:MAKE: add_ego_power(EGO_XTRA_HI_RESIST, object) L:MAKE: while (one_in_(4) ~= 0) do add_ego_power(EGO_XTRA_HI_RESIST, object) end L:MAKE: object.to_a = rand_range(10, 15) + m_bonus(10, level) L:MAKE: rating_boost = 5 D:A ring that clearly was meant for some powerful lord. # This is worth 2500 + the value of the plusses N:436:Extra Attacks G:=:d I:45:49:1 W:75:0:2:5000 A:75/8:100/2 F:BLOWS L:MAKE: if (one_in_(7) ~= 0) then object.pval = 2 end L:MAKE: allow_curse = TRUE D:This ring swings about. N:437:Cure Light Wounds G:!:d I:75:34:50 W:0:0:4:35 A:0/1:3/1 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = cure_potion(38, TRUE, FALSE, FALSE) L:SMASH:project(who, 2, x, y, damroll(2, 3), GF_OLD_HEAL, L:SMASH: (PROJECT_JUMP + PROJECT_ITEM + PROJECT_KILL)); return FALSE,TRUE D:This potion cures blindness and restores 38 hit points. N:438:Clumsiness G:!:d I:75:19:0 W:9:0:4:0 A:9/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_dec_stat(A_DEX) L:SMASH:return TRUE,FALSE D:This potion drains your dexterity. N:439:Sickliness G:!:d I:75:20:0 W:17:0:4:0 A:17/2 P:0:1d1:0:0:0 F:EASY_KNOW L:USE: ident = do_dec_stat(A_CON) L:SMASH:return TRUE,FALSE D:This potion drains your constitution. ##### Items 440 to 444 reserved (old "fake" objects) ##### ##### Items 445 to 479 reserved (old "terrain" objects) ##### ##### And here starts the gold/gems ##### N:480:copper G:$:u I:100:1:0 W:1:0:0:3 N:481:copper G:$:u I:100:2:0 W:1:0:0:4 N:482:copper G:$:u I:100:3:0 W:1:0:0:5 N:483:silver G:$:s I:100:4:0 W:1:0:0:6 N:484:silver G:$:s I:100:5:0 W:1:0:0:7 N:485:silver G:$:s I:100:6:0 W:1:0:0:8 N:486:garnets G:$:r I:100:7:0 W:1:0:0:9 N:487:garnets G:$:r I:100:8:0 W:1:0:0:10 N:488:gold G:$:y I:100:9:0 W:1:0:0:12 N:489:gold G:$:y I:100:10:0 W:1:0:0:14 N:490:gold G:$:y I:100:11:0 W:1:0:0:16 N:491:opals G:$:W I:100:12:0 W:1:0:0:18 N:492:sapphires G:$:b I:100:13:0 W:1:0:0:20 N:493:rubies G:$:r I:100:14:0 W:1:0:0:24 N:494:diamonds G:$:w I:100:15:0 W:1:0:0:28 N:495:emeralds G:$:g I:100:16:0 W:1:0:0:32 N:496:mithril G:$:B I:100:17:0 W:1:0:0:40 N:497:adamantite G:$:G I:100:18:0 W:1:0:0:80 ##### Objects 498 and 499 are the "Morgoth Artifacts" ##### # These objects, like objects 500 to 511, are never created # without being turned into artifacts. N:498:& Mighty Hammer~ G:\:D I:21:50:0 W:15:0:200:1000 P:0:3d9:0:0:0 F:SHOW_MODS F:INSTA_ART N:499:& Massive Iron Crown~ G:]:D I:33:50:0 W:44:0:20:1000 P:0:1d1:0:0:0 F:INSTA_ART ##### Objects 500 to 511 are the "Special Artifacts" ##### # These objects do not specify "full names" because the artifact name # is added in "obj-desc.c" via the saved 'quark' of the name, generated # on creation of the artifact, by copying it from a_info.txt # # These objects do specify a "base name", which is used when the object # is "aware" (always true for lites) # # The Lites (and the One Ring) specify "physical colors", which # over-ride the "flavor" colors, if any. Note that the "One Ring" # also has a specific check for "unknown" in which it changes its # name to "a plain gold ring". See "obj-desc.c" (Hack XXX) # # Note that ALL artifacts are given "IGNORE_ACID/ELEC/FIRE/COLD", # so we do not need to specify that here. # # The only reason for having six different "ring" templates and three # different "amulet" templates is to allow each "special artifact" to # have a different "color" and "flavor", and also to allow the use of # special "base names" (such as "Necklace"). # # It is also nice to simplify the artifact creation code. (Otherwise # these would be special cases.) Also, this allows us to have a the # debug command that creates objects able to create these artifacts. # The Phial of Galadriel -- see artifact list N:500:& Phial~ G:!:y I:39:4:0 W:5:20:10:10000 P:0:1d1:0:0:0 F:INSTA_ART | LITE # The Star of Elendil -- see artifact list N:501:& Star~ G:*:y I:39:5:0 W:20:30:5:25000 P:0:1d1:0:0:0 F:INSTA_ART | LITE # The Arkenstone of Thrain -- replaced with Jewel of Judgement N:502:& Jewel~ G:*:R I:39:6:0 W:50:50:5:60000 P:0:1d1:0:0:0 F:INSTA_ART | LITE # The Amulet of Carlammas -- see artifact list N:503:& Amulet~ G:":d I:40:10:0 W:10:30:3:60000 F:INSTA_ART # The Amulet of Ingwe -- see artifact list N:504:& Amulet~ G:":d I:40:11:0 W:30:30:3:90000 F:INSTA_ART # The Necklace of the Dwarves -- see artifact list N:505:& Necklace~ G:":d I:40:12:0 W:50:20:3:75000 F:INSTA_ART # The Ring of Barahir -- see artifact list N:506:& Ring~ G:=:d I:45:32:0 W:10:30:2:65000 F:INSTA_ART # The Ring of Tulkas -- see artifact list N:507:& Ring~ G:=:d I:45:33:0 W:30:30:2:150000 F:INSTA_ART # The Ring of Power (Narya) -- see artifact list N:508:& Ring~ G:=:d I:45:34:0 W:50:30:2:100000 F:INSTA_ART # The Ring of Power (Nenya) -- see artifact list N:509:& Ring~ G:=:d I:45:35:0 W:70:30:2:200000 F:INSTA_ART # The Ring of Power (Vilya) -- see artifact list N:510:& Ring~ G:=:d I:45:36:0 W:90:30:2:300000 F:INSTA_ART # The Ring of Power (The One Ring) -- see artifact list N:511:& Ring~ G:=:y I:45:37:0 W:110:0:2:5000000 F:INSTA_ART ### Room for new objects added after 511 (Zangband 2.1.0): 512-575 # Trump Spellbooks N:512:[Conjurings & Tricks] G:?:U I:95:0:0 W:17:0:30:100 A:17/1 P:0:1d1:0:0:0 F:EASY_KNOW D:This light-brown deck of cards contains small magics of teleportation. N:513:[Deck of Many Things] G:?:U I:95:1:0 W:20:0:30:1000 A:35/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A amber deck of cards, containing magics of summoning and movement. N:514:[Trumps of Doom] G:?:o I:95:2:0 W:65:0:30:25000 A:65/1 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD F:EASY_KNOW D:A exquisite deck of cards, containing great summoning magics. N:515:[Five Aces] G:?:o I:95:3:0 W:95:0:30:100000 A:95/3 P:0:1d1:0:0:0 F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD F:EASY_KNOW D:The most powerful of all trump decks, these mystical cards contain D:great magics of summoning and knowledge. # Arcane Spellbooks N:516:[Cantrips for Beginners] G:?:s I:96:0:0 W:10:0:30:100 A:10/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A small drab gray spellbook, containing the simplest of common D:utility spells. N:517:[Minor Arcana] G:?:s I:96:1:0 W:15:0:30:250 A:15/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A gray spellbook with spells of detection and protection. N:518:[Major Arcana] G:?:s I:96:2:0 W:20:0:30:1000 A:20/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A gray spellbook with a mixture of common medium-level spells. N:519:[Manual of Mastery] G:?:s I:96:3:0 W:30:0:30:2500 A:35/1 P:0:1d1:0:0:0 F:EASY_KNOW D:A gray spellbook containing high-level utility spells. N:520:Reflection G:":d I:40:9:0 W:85:0:3:2700 A:85/4 F:REFLECT | EASY_KNOW F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD D:Wearing this amulet you feel you can evade any bolt. #521 and 522 cannot have EASY_KNOW because they may be cursed N:521:Anti-Magic G:":d I:40:13:0 W:85:0:3:2700 A:85/4 F:NO_MAGIC F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:MAKE: allow_curse = TRUE D:With this amulet magic is not your worry. N:522:Anti-Teleportation G:":d I:40:14:0 W:52:0:3:2700 A:52/4 F:NO_TELE F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:MAKE: allow_curse = TRUE D:With this amulet you stay firmly rooted. #523 cannot have EASY_KNOW because it can get random resistances N:523:Resistance G:":d I:40:15:0 W:75:0:3:2200 A:75/4 F:RES_ACID | RES_ELEC | RES_FIRE | RES_COLD F:IGNORE_ACID | IGNORE_ELEC | IGNORE_FIRE | IGNORE_COLD L:MAKE: if (one_in_(3) ~= 0) then add_ego_power(EGO_XTRA_HI_RESIST, object) end L:MAKE: if (one_in_(5) ~= 0) then set_obj_flag(object, 1, TR1_RES_POIS) end D:With this amulet you confront the elements confidently. ##### New arms ##### N:524:& Zweihander~ G:|:w I:23:29:0 W:65:0:280:580 A:65/3:85/3 P:0:4d6:0:0:0 F:SHOW_MODS N:525:& Tanto~ G:|:W I:23:6:0 W:5:0:20:30 A:5/2 P:0:1d5:0:0:0 F:SHOW_MODS N:526:& Splint Mail~ G:[:D I:37:10:0 W:61:0:250:950 A:61/1 P:19:1d4:-2:0:0 N:527:& Do-maru~ G:[:s I:37:11:0 W:70:0:290:1020 A:70/2 P:20:1d4:-2:0:0 N:528:& Trifurcate Spear~ G:/:o I:22:26:0 W:61:0:140:400 A:61/3 P:0:2d9:0:0:0 F:SHOW_MODS N:529:& Three Piece Rod~ G:\:u I:21:11:0 W:35:0:120:350 A:35/3 P:0:3d3:0:0:0 F:SHOW_MODS N:530:& O-yoroi~ G:[:D I:37:16:0 W:75:0:320:1150 A:75/2 P:24:1d4:-2:0:0 N:531:& Fur Cloak~ G:(:W I:35:3:0 W:35:0:30:200 A:35/2:52/2 P:3:0d0:0:0:0 N:532:& Lajatang~ G:/:s I:22:14:0 W:43:0:175:330 A:43/2 P:0:2d7:0:0:0 F:SHOW_MODS N:533:& Hatchet~ G:/:s I:22:1:0 W:17:0:60:120 A:17/8 P:0:1d5:0:0:0 F:SHOW_MODS ##### New armor ##### N:535:& Rhino Hide Armour~ G:(:s I:36:8:0 W:26:0:110:400 A:26/1 P:8:1d1:-1:0:0 N:536:& Leather Jacket~ G:(:U I:36:12:0 W:35:0:130:700 A:35/3 P:12:1d2:-1:0:0 ##### New weapons ##### N:537:& Sickle~ G:/:s I:22:3:0 W:17:0:70:110 A:17/3 P:0:2d3:0:0:0 F:SHOW_MODS N:538:& Tetsubo~ G:\:u I:21:16:0 W:43:0:190:570 A:43/2 P:0:2d7:0:0:0 F:SHOW_MODS N:539:& Nunchaku~ G:\:u I:21:4:0 W:20:0:60:120 A:20/2 P:0:2d3:0:0:0 F:SHOW_MODS N:540:& Bo Staff~ G:\:U I:21:14:0 W:60:0:160:310 A:60/1 P:0:1d20:0:0:0 F:SHOW_MODS N:541:& Jo Staff~ G:\:U I:21:7:0 W:19:0:70:200 A:19/2 P:0:1d10:0:0:0 F:SHOW_MODS N:542:& Club~ G:\:u I:21:1:0 W:0:0:100:3 A:0/1 P:0:2d2:0:0:0 F:SHOW_MODS N:543:& Broad Spear~ G:/:w I:22:7:0 W:60:0:100:450 A:60/2 P:0:1d20:0:0:0 F:SHOW_MODS N:544:& Khopesh~ G:|:W I:23:14:0 W:17:0:130:190 A:17/2 P:0:2d4:0:0:0 F:SHOW_MODS N:545:& Flamberge~ G:|:W I:23:26:0 W:65:0:230:600 A:65/2:87/2 P:0:3d7:0:0:0 F:SHOW_MODS N:546:& Claymore~ G:|:W I:23:23:0 W:65:0:200:600 A:65/2 P:0:2d8:0:0:0 F:SHOW_MODS N:547:& Espadon~ G:|:W I:23:24:0 W:65:0:200:600 A:65/3 P:0:2d9:0:0:0 F:SHOW_MODS N:548:& Great Scimitar~ G:|:W I:23:22:0 W:85:0:240:1050 A:85/3:98/3 P:0:4d5:0:0:0 F:SHOW_MODS N:549:& Wakizashi~ G:|:W I:23:13:0 W:26:0:90:210 A:26/3 P:0:2d4:0:0:0 F:SHOW_MODS N:550:& Naginata~ G:/:s I:22:9:0 W:43:0:150:410 A:43/2 P:0:2d6:0:0:0 F:SHOW_MODS N:551:& Fauchard~ G:/:s I:22:6:0 W:82:0:155:700 A:82/1 P:0:1d25:0:0:0 F:SHOW_MODS N:552:& Guisarme~ G:/:s I:22:16:0 W:37:0:165:320 A:37/1 P:0:2d5:0:0:0 F:SHOW_MODS N:553:& Heavy Lance~ G:/:s I:22:29:0 W:88:0:400:700 A:88/2:98/1 P:0:1d35:0:0:0 F:SHOW_MODS N:554:& Basillard~ G:|:w I:23:9:0 W:42:0:80:550 A:42/1 P:0:1d15:0:0:0 F:SHOW_MODS N:555:& Ninjato~ G:|:s I:23:19:0 W:52:0:100:600 A:52/1 P:0:1d18:0:0:0 F:SHOW_MODS N:556:& Ring Mail~ G:[:s I:37:2:0 W:35:0:200:550 A:35/1 P:12:1d4:-2:0:0 N:557:& Cord Armour~ G:(:y I:36:9:0 W:9:0:80:200 A:9/2 P:6:1d1:0:0:0 N:558:& Paper Armour~ G:(:w I:36:3:0 W:9:0:30:50 A:9/3 P:4:1d1:0:0:0 D:This unusual armor is made from many layers of paper glued together. N:559:& Padded Armour~ G:(:y I:36:10:0 W:4:0:60:30 A:4/1 P:4:1d1:0:0:0 N:560:& Kabuto~ G:]:D I:32:8:0 W:75:0:80:300 A:75/3 P:7:1d2:0:0:0 N:561:& Stone and Hide Armour~ G:(:U I:36:15:0 W:61:0:200:1300 A:61/4 P:15:1d1:-1:0:0 N:562:& Jingasa~ G:]:s I:32:4:0 W:28:0:30:60 A:28/2 P:4:1d2:0:0:0 N:563:& Haramakido~ G:[:D I:37:14:0 W:56:0:280:1320 A:56/2 P:17:1d4:-2:0:0 N:564:& Incandescent Globe~ G:!:y I:39:3:0 W:30:50:5:20000 P:0:1d1:0:0:0 F:INSTA_ART | LITE N:565:& Diamond Edge~ G:|:w I:23:31:0 W:120:0:150:20000 A:100/16 P:0:7d5:0:0:0 F:SHOW_MODS | VORPAL D:You don't dare testing this blade on your fingernail, it is so sharp. N:566:Mundanity G:?:d I:70:23:0 W:23:0:5:0 A:23/10:63/10 F:EASY_KNOW L:USE: result = mundane_spell() L:USE: ident = TRUE D:Your objects seem very ordinary all of a sudden. N:567:& Magical Figurine~ of # G:`:g I:8:0:0 W:50:0:50:100 A:26/6:52/3:90/1 P:0:1d1:0:0:0 F:EASY_KNOW D:This small statuette seems to move. N:568:& Wooden Statue~ of # G:`:u I:9:0:0 W:5:0:200:75 A:9/3 P:0:1d2:0:0:0 F:EASY_KNOW D:An unpolished statue made of wood. N:569:& Clay Statue~ of # G:`:U I:9:1:0 W:5:0:500:50 A:17/3 P:0:1d3:0:0:0 F:EASY_KNOW D:A hardbaked status made of clay. N:570:& Stone Statue~ of # G:`:s I:9:2:0 W:5:0:500:100 A:26/3 P:0:2d3:0:0:0 F:EASY_KNOW D:This status has been cut out of a rock. N:571:& Iron Statue~ of # G:`:D I:9:3:0 W:5:0:500:200 A:35/3 P:0:2d4:0:0:0 F:EASY_KNOW D:This statue was poured from molten iron. N:572:& Copper Statue~ of # G:`:o I:9:4:0 W:20:0:500:500 A:43/3 P:0:2d4:0:0:0 F:EASY_KNOW D:This copper statue needs polishing. N:573:& Silver Statue~ of # G:`:W I:9:5:0 W:32:0:500:1000 A:52/3 P:0:2d4:0:0:0 F:EASY_KNOW D:This silver statue needs varnishing. N:574:& Golden Statue~ of # G:`:y I:9:6:0 W:50:0:500:2500 A:63/3 P:0:2d4:0:0:0 F:EASY_KNOW D:This golden statue needs polishing. N:575:& Ivory Statue~ of # G:`:w I:9:7:0 W:40:0:500:2000 A:70/3 P:0:1d4:0:0:0 F:EASY_KNOW D:This ivory statue needs cleaning. N:576:& Mithril Statue~ of # G:`:B I:9:8:0 W:70:0:500:10000 A:95/3 P:0:2d5:0:0:0 F:EASY_KNOW D:This mithril statue needs polishing. N:577:& Ornate Statue~ of # G:`:v I:9:9:0 W:60:0:500:5000 A:80/3 P:0:2d4:0:0:0 F:EASY_KNOW D:This ornate statue needs dusting. #N:578:& Skeleton~ #G:~:w #I:10:0:0 #W:32:0:500:0 #A:1/2 #P:0:1d1:0:0:0 #N:579:& corpse~ #G:~:v #I:10:1:0 #W:32:0:1000:0 #A:1/2 #P:0:1d1:0:0:0 N:580:& T-shirt~ G:~:w I:36:0:0 W:1:0:10:0 P:1:1d1:0:0:0 ##### New Bolt ##### N:581:& Steel Bolt~ G:{:W I:18:1:0 W:43:0:3:25 A:43/2:70/2 P:0:1d15:0:0:0 F:SHOW_MODS D:This bolt will not fall apart upon hitting the target. ##### New artifact ring ##### # The Ring of Power (Vilya) -- see artifact list N:582:& Ring~ G:=:d I:45:50:0 W:100:20:2:300000 F:INSTA_ART ##### New rings ##### N:583:Resist Fire and Cold G:=:d I:45:51:0 W:21:0:2:850 A:21/4 F:RES_FIRE | RES_COLD | IGNORE_FIRE | IGNORE_COLD | EASY_KNOW D:Your finger alternates between hot and cold. N:584:the Cat G:=:d I:45:52:4 W:13:0:2:80 A:13/2 F:STEALTH | INFRA L:MAKE: object.pval = 1 + m_bonus(object.pval, level) L:MAKE: if (one_in_(3) ~= 0) then set_obj_flag(object, 1, TR1_SUST_DEX) end L:MAKE: allow_curse = TRUE D:A ring for the inobtrusive. # This is cheaper than it should be N:585:Fate G:=:d I:45:53:0 W:15:0:2:500 A:15/5:30/5 F:STRANGE_LUCK | EASY_KNOW D:Odd things happen to the wearer of this ring. N:586:Wizardry G:=:d I:45:54:2 W:60:0:2:2500 A:75/2 F:SP L:MAKE: object.pval = 1 + m_bonus(object.pval, level) L:MAKE: allow_curse = TRUE D:Wearing this ring seems to clarify your mind. ##### New amulets ##### N:587:Protection from Evil G:":d I:40:16:0 W:35:0:3:750 A:35/2 F:SLAY_EVIL | EASY_KNOW D:This amulet boosts your skills against the powers of evil. N:588:Protection from Undead G:":d I:40:17:4 W:35:0:3:750 A:35/2 F:SLAY_UNDEAD | WIS L:MAKE: object.pval = 1 + m_bonus(object.pval, level) D:This amulet boosts your skills against the powers of the undead. N:589:Luck G:":d I:40:18:0 W:50:0:3:1500 A:50/1 F:LUCK_10 L:MAKE: add_ego_power(EGO_XTRA_POWER, object) D:This lucky amulet boosts your confidence. ##### New weapon types ##### N:590:& Elfblade~ G:|:w I:23:32:0 W:90:0:140:15000 A:70/20:90/20 P:0:4d4:0:0:0 D:You can tell by the Elvish runes that this blade is favored by Elves. N:591:& Whip~ of Entanglement G:\:D I:21:21:0 W:20:0:30:350 A:20/5 P:0:1d6:0:0:0 F:SLAY_ANIMAL | SHOW_MODS D:A whip to handle animals with. N:592:& Psiblade~ G:|:B I:23:33:0 W:50:0:120:1400 A:50/4 P:0:3d4:0:0:0 F:PSI_CRIT | LITE | SHOW_MODS D:The blade of this sword is made of pure magic. N:593:& Hammer~ of Returning G:\:D I:21:22:0 W:9:0:85:675 A:31/4 P:0:3d4:0:0:0 F:THROW | RETURN | SHOW_MODS D:An ornate metal hammer with runes inscribed on the haft and head. # Hagaromo (feathered robe) - worn by tenyo (celestial maidens) # in japanese mythology N:594:& Hagaromo~ G:(:v I:36:16:0 W:40:0:20:750 A:40/2 P:2:0d0:0:0:0 F:FEATHER | F:SUST_STR | SUST_INT | SUST_WIS | F:SUST_DEX | SUST_CON | SUST_CHR D:A heavenly robe covered with soft feathers. L:MAKE: object.to_a = object.to_a + randint1(10) + m_bonus(10, level) # Amulet of Sustenance N:595:Sustenance G:":d I:40:19:0 W:12:0:3:300 A:12/5 F:EASY_KNOW D:With this amulet you will never be hungry again.. L:TIMED: if player.food < PY_FOOD_FULL + 500 then set_food(player.food + 10) end