DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T t

⟦ccf1a6b12⟧ TextFile

    Length: 28070 (0x6da6)
    Types: TextFile
    Names: »treasure2.c.orig«

Derivation

└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
    └─⟦this⟧ »EUUGD18/General/Umoria/treasure2.c.orig« 

TextFile

#include "constants.h"
#include "config.h"
#include "types.h"

/* Identified objects flags					*/
int object_ident[MAX_OBJECTS] = {
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
  FALSE, FALSE, FALSE, FALSE
};

int t_level[MAX_OBJ_LEVEL+1];

/* Gold list (All types of gold and gems are defined here)	*/
treasure_type gold_list[MAX_GOLD] = {
{"copper"                                          , 100, '$',0x00000000,
    0,      3,   1,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"copper"                                          , 100, '$',0x00000000,
    0,      4,   2,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"copper"                                          , 100, '$',0x00000000,
    0,      5,   3,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"silver"                                          , 100, '$',0x00000000,
    0,      6,   4,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"silver"                                          , 100, '$',0x00000000,
    0,      7,   5,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"silver"                                          , 100, '$',0x00000000,
    0,      8,   6,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"garnets"                                         , 100, '*',0x00000000,
    0,      9,   7,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"garnets"                                         , 100, '*',0x00000000,
    0,     10,   8,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"gold"                                            , 100, '$',0x00000000,
    0,     12,   9,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"gold"                                            , 100, '$',0x00000000,
    0,     14,  10,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"gold"                                            , 100, '$',0x00000000,
    0,     16,  11,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"opals"                                           , 100, '*',0x00000000,
    0,     18,  12,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"sapphires"                                       , 100, '*',0x00000000,
    0,     20,  13,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"gold"                                            , 100, '$',0x00000000,
    0,     24,  14,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"rubies"                                          , 100, '*',0x00000000,
    0,     28,  15,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"diamonds"                                        , 100, '*',0x00000000,
    0,     32,  16,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"emeralds"                                        , 100, '*',0x00000000,
    0,     40,  17,   0,   1,   0,   0,   0,   0, "0d0"    ,  1},
{"mithril"                                         , 100, '$',0x00000000,
    0,     80,  18,   0,   1,   0,   0,   0,   0, "0d0"    ,  1}
};

treasure_type t_list[MAX_TALLOC];
treasure_type inventory[INVEN_ARRAY_SIZE];

/* Items which are sold in the stores are different from dungeon */
/* items so that identify works properly.  Note that the players */
/* receive their initial items from this list, so position is    */
/* very important...                                             */
treasure_type inventory_init[INVEN_INIT_MAX] = {
{"& Ration~ of Food"                               ,  80, ',',0x00000000,
 5000,      3, 307,  10,   5,   0,   0,   0,   0, "0d0"  ,  0}, /*  1*/
{"& Hard Biscuit~"                                 ,  80, ',',0x00000000,
  500,      1, 309,   2,   5,   0,   0,   0,   0, "0d0"  ,  0}, /*  2*/
{"& Strip~ of Beef Jerky"                          ,  80, ',',0x00000000,
 1750,      2, 310,   2,   5,   0,   0,   0,   0, "0d0"  ,  0}, /*  3*/
{"& Pint of Fine Ale"                              ,  80, ',',0x00000000,
  500,      1, 311,  10,   3,   0,   0,   0,   0, "0d0"  ,  0}, /*  4*/
{"& Pint of Fine Wine"                             ,  80, ',',0x00000000,
  400,      2, 312,  10,   1,   0,   0,   0,   0, "0d0"  ,  0}, /*  5*/
{"& Dagger (Misericorde) (%P2,%P3)"                ,  23, '|',0x00000000,
    0,     10,   2,  15,   1,   0,   0,   0,   0, "1d4"  ,  0}, /*  6*/
{"& Dagger (Stiletto) (%P2,%P3)"                   ,  23, '|',0x00000000,
    0,     10,   3,  12,   1,   0,   0,   0,   0, "1d4"  ,  0}, /*  7*/
{"& Bastard Sword (%P2,%P3)"                       ,  23, '|',0x00000000,
    0,    350,   7, 140,   1,   0,   0,   0,   0, "3d4"  ,  0}, /*  8*/
{"& Broadsword (%P2,%P3)"                          ,  23, '|',0x00000000,
    0,    255,  10, 150,   1,   0,   0,   0,   0, "2d5"  ,  0}, /*  9*/
{"& Longsword (%P2,%P3)"                           ,  23, '|',0x00000000,
    0,    300,  18, 130,   1,   0,   0,   0,   0, "1d10" ,  0}, /* 10*/
{"& Small Sword (%P2,%P3)"                         ,  23, '|',0x00000000,
    0,     48,  22,  75,   1,   0,   0,   0,   0, "1d6"  ,  0}, /* 11*/
{"& Broad Axe (%P2,%P3)"                          ,  21, '\\',0x00000000,
    0,    304,   4, 160,   1,   0,   0,   0,   0, "2d5"  ,  0}, /* 12*/
{"& Morningstar (%P2,%P3)"                        ,  21, '\\',0x00000000,
    0,    396,   9, 150,   1,   0,   0,   0,   0, "2d6"  ,  0}, /* 13*/
{"& Mace (%P2,%P3)"                               ,  21, '\\',0x00000000,
    0,    130,  10, 120,   1,   0,   0,   0,   0, "2d4"  ,  0}, /* 14*/
{"& War Hammer (%P2,%P3)"                         ,  21, '\\',0x00000000,
    0,    225,  11, 120,   1,   0,   0,   0,   0, "3d3"  ,  0}, /* 15*/
{"& Halberd (%P2,%P3)"                             ,  22, '/',0x00000000,
    0,    430,   5, 190,   1,   0,   0,   0,   0, "3d4"  ,  0}, /* 16*/
{"& Pike (%P2,%P3)"                                ,  22, '/',0x00000000,
    0,    358,   7, 160,   1,   0,   0,   0,   0, "2d5"  ,  0}, /* 17*/
{"& Spear (%P2,%P3)"                               ,  22, '/',0x00000000,
    0,     36,   8,  50,   1,   0,   0,   0,   0, "1d6"  ,  0}, /* 18*/
{"& Short Bow (%P2)"                               ,  20, '}',0x00000000,
    2,     50,   1,  30,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 19*/
{"& Long Bow (%P2)"                                ,  20, '}',0x00000000,
    3,    120,   2,  40,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 20*/
{"& Light Crossbow (%P2)"                          ,  20, '}',0x00000000,
    5,    160,  10, 110,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 21*/
{"& Sling (%P2)"                                   ,  20, '}',0x00000000,
    1,      5,  20,   5,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 22*/
{"& Arrow~ (%P2,%P3)"                              ,  12, '{',0x00000000,
    0,      1,   1,   2,   1,   0,   0,   0,   0, "1d4"  ,  0}, /* 23*/
{"& Bolt~ (%P2,%P3)"                               ,  11, '{',0x00000000,
    0,      2,   1,   3,   1,   0,   0,   0,   0, "1d5"  ,  0}, /* 24*/
{"& Iron Shot~ (%P2,%P3)"                          ,  10, '{',0x00000000,
    0,      2,   1,   5,   1,   0,   0,   0,   0, "1d3"  ,  0}, /* 25*/
{"& Pick (%P1) (%P2,%P3)"                         ,  25, '\\',0x20000000,
    1,     50,   1, 150,   1,   0,   0,   0,   0, "1d3"  ,  0}, /* 26*/
{"& Shovel (%P1) (%P2,%P3)"                       ,  25, '\\',0x20000000,
    0,     15,   2,  60,   1,   0,   0,   0,   0, "1d2"  ,  0}, /* 27*/
{"& Pair of Soft Leather Boots [%P6,%P4]"          ,  30, ']',0x00000000,
    0,      7,   2,  30,   1,   0,   0,   2,   0, "1d1"  ,  0}, /* 28*/
{"& Pair of Hard Leather Boots [%P6,%P4]"          ,  30, ']',0x00000000,
    0,     12,   3,  40,   1,   0,   0,   3,   0, "1d1"  ,  0}, /* 29*/
{"& Hard Leather Cap [%P6,%P4]"                    ,  33, ']',0x00000000,
    0,     12,   2,  15,   1,   0,   0,   2,   0, "0d0"  ,  0}, /* 30*/
{"& Metal Cap [%P6,%P4]"                           ,  33, ']',0x00000000,
    0,     30,   3,  20,   1,   0,   0,   3,   0, "1d1"  ,  0}, /* 31*/
{"& Iron Helm [%P6,%P4]"                           ,  33, ']',0x00000000,
    0,     75,   4,  75,   1,   0,   0,   5,   0, "1d3"  ,  0}, /* 32*/
{"Soft Leather Armor [%P6,%P4]"                    ,  36, '(',0x00000000,
    0,     18,   2,  80,   1,   0,   0,   4,   0, "0d0"  ,  0}, /* 33*/
{"Soft Studded Leather [%P6,%P4]"                  ,  36, '(',0x00000000,
    0,     35,   3,  90,   1,   0,   0,   5,   0, "1d1"  ,  0}, /* 34*/
{"Hard Leather Armor [%P6,%P4]"                    ,  36, '(',0x00000000,
    0,     55,   4, 100,   1,  -1,   0,   6,   0, "1d1"  ,  0}, /* 35*/
{"Hard Studded Leather [%P6,%P4]"                  ,  36, '(',0x00000000,
    0,    100,   5, 110,   1,  -1,   0,   7,   0, "1d2"  ,  0}, /* 36*/
{"Leather Scale Mail [%P6,%P4]"                    ,  36, '(',0x00000000,
    0,    330,   9, 140,   1,  -1,   0,  11,   0, "1d1"  ,  0}, /* 37*/
{"Metal Scale Mail [%P6,%P4]"                      ,  35, '[',0x00000000,
    0,    430,   1, 250,   1,  -2,   0,  13,   0, "1d4"  ,  0}, /* 38*/
{"Chain Mail [%P6,%P4]"                            ,  35, '[',0x00000000,
    0,    530,   2, 220,   1,  -2,   0,  14,   0, "1d4"  ,  0}, /* 39*/
{"Partial Plate Armor [%P6,%P4]"                   ,  35, '[',0x00000000,
    0,    900,   9, 260,   1,  -3,   0,  22,   0, "1d6"  ,  0}, /* 40*/
{"Full Plate Armor [%P6,%P4]"                      ,  35, '[',0x00000000,
    0,   1050,  11, 380,   1,  -3,   0,  25,   0, "2d4"  ,  0}, /* 41*/
{"& Cloak [%P6,%P4]"                               ,  32, '(',0x00000000,
    0,      3,   1,  10,   1,   0,   0,   1,   0, "0d0"  ,  0}, /* 42*/
{"& Set of Leather Gloves [%P6,%P4]"               ,  31, ']',0x00000000,
    0,      3,   1,   5,   1,   0,   0,   1,   0, "0d0"  ,  0}, /* 43*/
{"& Set of Gauntlets [%P6,%P4]"                    ,  31, ']',0x00000000,
    0,     35,   2,  25,   1,   0,   0,   2,   0, "1d1"  ,  0}, /* 44*/
{"& Small Leather Shield [%P6,%P4]"                ,  34, ')',0x00000000,
    0,     30,   1,  50,   1,   0,   0,   2,   0, "1d1"  ,  0}, /* 45*/
{"& Medium Leather Shield [%P6,%P4]"               ,  34, ')',0x00000000,
    0,     60,   2,  75,   1,   0,   0,   3,   0, "1d2"  ,  0}, /* 46*/
{"& Small Metal Shield [%P6,%P4]"                  ,  34, ')',0x00000000,
    0,     50,   4,  65,   1,   0,   0,   3,   0, "1d3"  ,  0}, /* 47*/
{"& Ring of Resist Fire"                           ,  45, '=',0x00080000,
    0,    250,  11,   2,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 48*/
{"& Ring of Resist Cold"                           ,  45, '=',0x00200000,
    0,    250,  12,   2,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 49*/
{"& Ring of Feather Falling"                       ,  45, '=',0x04000000,
    0,    250,  13,   2,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 50*/
{"& Ring of Protection [%P4]"                      ,  45, '=',0x00000000,
    0,    100,  24,   2,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 51*/
{"& Amulet of Charisma (%P1)"                      ,  40, '"',0x00000020,
    0,    250,   6,   3,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 52*/
{"& Amulet of Slow Digestion"                      ,  40, '"',0x00000080,
    0,    200,   9,   3,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 53*/
{"& Amulet of Resist Acid"                         ,  40, '"',0x00100000,
    0,    300,  10,   3,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 54*/
{"& Scroll~ of Enchant Weapon To-Hit"              ,  70, '?',0x00000001,
    0,    125, 300,   5,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 55*/
{"& Scroll~ of Enchant Weapon To-Dam"              ,  70, '?',0x00000002,
    0,    125, 301,   5,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 56*/
{"& Scroll~ of Enchant Armor"                      ,  70, '?',0x00000004,
    0,    125, 302,   5,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 57*/
{"& Scroll~ of Identify"                           ,  70, '?',0x00000008,
    0,     50, 303,   5,   2,   0,   0,   0,   0, "0d0"  ,  0}, /* 58*/
{"& Scroll~ of Remove Curse"                       ,  70, '?',0x00000010,
    0,    100, 304,   5,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 59*/
{"& Scroll~ of Light"                              ,  70, '?',0x00000020,
    0,     15, 305,   5,   3,   0,   0,   0,   0, "0d0"  ,  0}, /* 60*/
{"& Scroll~ of Phase Door"                         ,  70, '?',0x00000080,
    0,     15, 306,   5,   2,   0,   0,   0,   0, "0d0"  ,  0}, /* 61*/
{"& Scroll~ of Magic Mapping"                      ,  70, '?',0x00000800,
    0,     40, 307,   5,   2,   0,   0,   0,   0, "0d0"  ,  0}, /* 62*/
{"& Scroll~ of Treasure Detection"                 ,  70, '?',0x00004000,
    0,     15, 308,   5,   2,   0,   0,   0,   0, "0d0"  ,  0}, /* 63*/
{"& Scroll~ of Object Detection"                   ,  70, '?',0x00008000,
    0,     15, 309,   5,   2,   0,   0,   0,   0, "0d0"  ,  0}, /* 64*/
{"& Scroll~ of Detect Invisible"                   ,  70, '?',0x00080000,
    0,     15, 310,   5,   2,   0,   0,   0,   0, "0d0"  ,  0}, /* 65*/
{"& Scroll~ of Recharging"                         ,  70, '?',0x01000000,
    0,    200, 311,   5,   1,   0,   0,   0,   0, "0d0"  ,  0}, /* 66*/
{"& Book of Magic Spells [Beginners-Magik]"        ,  90, '?',0x0000007F,
    0,     25, 257,  30,   1,-100,   0,   0,   0, "1d1"  ,  0}, /* 67*/
{"& Book of Magic Spells [Magik I]"                ,  90, '?',0x0000FF80,
    0,    100, 258,  30,   1,-100,   0,   0,   0, "1d1"  ,  0}, /* 68*/
{"& Book of Magic Spells [Magik II]"               ,  90, '?',0x00FF0000,
    0,    400, 259,  30,   1,-100,   0,   0,   0, "1d1"  ,  0}, /* 69*/
{"& Book of Magic Spells [The Mage's Guide to Power]",  90, '?',0x7F000000,
    0,    800, 261,  30,   1,-100,   0,   0,   0, "1d1"  ,  0}, /* 70*/
{"& Holy Book of Prayers [Beginners Handbook]"     ,  91, '?',0x000000FF,
    0,     25, 258,  30,   1,-100,   0,   0,   0, "1d1"  ,  0}, /* 71*/
{"& Holy Book of Prayers [Words of Wisdom]"        ,  91, '?',0x0000FF00,
    0,    100, 259,  30,   1,-100,   0,   0,   0, "1d1"  ,  0}, /* 72*/
{"& Holy Book of Prayers [Chants and Blessings]"   ,  91, '?',0x01FF0000,
    0,    300, 260,  30,   1,-100,   0,   0,   0, "1d1"  ,  0}, /* 73*/
{"& Holy Book of Prayers [Exorcism and Dispelling]",  91, '?',0x7E000000,
    0,    900, 261,  30,   1,-100,   0,   0,   0, "1d1"  ,  0}, /* 74*/
{"& Potion~ of Restore Strength"                   ,  75, '!',0x00000004,
    0,    300, 310,   4,   1,   0,   0,   0,   0, "1d1"  ,  0}, /* 75*/
{"& Potion~ of Restore Intelligence"               ,  75, '!',0x00000020,
    0,    300, 311,   4,   1,   0,   0,   0,   0, "1d1"  ,  0}, /* 76*/
{"& Potion~ of Restore Wisdom"                     ,  75, '!',0x00000100,
    0,    300, 312,   4,   1,   0,   0,   0,   0, "1d1"  ,  0}, /* 77*/
{"& Potion~ of Restore Charisma"                   ,  75, '!',0x00000800,
    0,    300, 313,   4,   1,   0,   0,   0,   0, "1d1"  ,  0}, /* 78*/
{"& Potion~ of Cure Light Wounds"                  ,  75, '!',0x10001000,
   50,     15, 314,   4,   2,   0,   0,   0,   0, "1d1"  ,  0}, /* 79*/
{"& Potion~ of Cure Serious Wounds"                ,  75, '!',0x30002000,
  100,     40, 315,   4,   1,   0,   0,   0,   0, "1d1"  ,  0}, /* 80*/
{"& Potion~ of Cure Critical Wounds"               ,  75, '!',0x70004000,
  100,    100, 316,   4,   1,   0,   0,   0,   0, "1d1"  ,  0}, /* 81*/
{"& Potion~ of Restore Dexterity"                  ,  75, '!',0x04000000,
    0,    300, 317,   4,   1,   0,   0,   0,   0, "1d1"  ,  0}, /* 82*/
{"& Potion~ of Restore Constitution"               ,  75, '!',0x68000000,
    0,    300, 318,   4,   1,   0,   0,   0,   0, "1d1"  ,  0}, /* 83*/
{"& Potion~ of Heroism"                            ,  76, '!',0x00000010,
    0,     35, 319,   4,   2,   0,   0,   0,   0, "1d1"  ,  0}, /* 84*/
{"& Potion~ of Boldness"                           ,  76, '!',0x00000040,
    0,     10, 320,   4,   2,   0,   0,   0,   0, "1d1"  ,  0}, /* 85*/
{"& Wand of Light (%P1 charges)"                   ,  65, '-',0x00000001,
    0,    200,   1,  10,   1,   0,   0,   0,   0, "1d1"  ,  2}, /* 86*/
{"& Wand of Lightning Bolts (%P1 charges)"         ,  65, '-',0x00000002,
    0,    600,   2,  10,   1,   0,   0,   0,   0, "1d1"  ,  6}, /* 87*/
{"& Wand of Magic Missile (%P1 charges)"           ,  65, '-',0x00002000,
    0,    200,  14,  10,   1,   0,   0,   0,   0, "1d1"  ,  2}, /* 88*/
{"& Wand of Disarming (%P1 charges)"               ,  65, '-',0x00020000,
    0,    700,  18,  10,   1,   0,   0,   0,   0, "1d1"  , 12}, /* 89*/
{"& Wand of Lightning Balls (%P1 charges)"         ,  65, '-',0x00040000,
    0,   1200,  19,  10,   1,   0,   0,   0,   0, "1d1"  , 20}, /* 90*/
{"& Wand of Wonder (%P1 charges)"                  ,  65, '-',0x00800000,
    0,    250,  24,  10,   1,   0,   0,   0,   0, "1d1"  , 10}, /* 91*/
{"& Staff of Light (%P1 charges)"                  ,  55, '_',0x00000001,
    0,    250,   1,  50,   1,   0,   0,   0,   0, "1d2"  ,  3}, /* 92*/
{"& Staff of Door/Stair Location (%P1 charges)"    ,  55, '_',0x00000002,
    0,    350,   2,  50,   1,   0,   0,   0,   0, "1d2"  ,  7}, /* 93*/
{"& Staff of Trap Location (%P1 charges)"          ,  55, '_',0x00000004,
    0,    350,   3,  50,   1,   0,   0,   0,   0, "1d2"  ,  7}, /* 94*/
{"& Staff of Detect Invisible (%P1 charges)"       ,  55, '_',0x00008000,
    0,    200,  16,  50,   1,   0,   0,   0,   0, "1d2"  ,  3}, /* 95*/
{"& Potion~ of Restore Life Levels"                ,  76, '!',0x00000080,
    0,    400, 321,   4,   1,   0,   0,   0,   0, "1d1"  ,  0}, /* 96*/
{"& Scroll~ of Blessing"                           ,  71, '?',0x00000020,
    0,     15, 312,   5,   2,   0,   0,   0,   0, "0d0"  ,  0}, /* 97*/
{"& Scroll~ of Word-of-Recall"                     ,  71, '?',0x00000100,
    0,    150, 313,   5,   3,   0,   0,   0,   0, "0d0"  ,  0}, /* 98*/
{"& Potion~ of Slow Poison"                        ,  76, '!',0x00000800,
    0,     25, 322,   4,   2,   0,   0,   0,   0, "1d1"  ,  0}, /* 99*/
{"& Potion~ of Neutralize Poison"                  ,  76, '!',0x00001000,
    0,     75, 323,   4,   1,   0,   0,   0,   0, "1d1"  ,  0}, /*100*/
{"& Wand of Stinking Cloud (%P1 charges)"          ,  65, '-',0x00200000,
    0,    400,  22,  10,   1,   0,   0,   0,   0, "1d1"  ,  5}, /*101*/
{"& Iron Spike~"                                   ,  13, '~',0x00000000,
    0,      1,   1,  10,   1,   0,   0,   0,   0, "1d1"  ,  1}, /*102*/
{"& Brass Lantern~ with %P5 turns of light"        ,  15, '~',0x00000000,
 7500,     35,   2,  50,   1,   0,   0,   0,   0, "1d1"  ,  1}, /*103*/
{"& Wooden Torch~ with %P5 turns of light"         ,  15, '~',0x00000000,
 4000,      2, 270,  30,   5,   0,   0,   0,   0, "1d1"  ,  1}, /*104*/
{"& Flask~ of oil"                                 ,  77, '!',0x00040000,
 7500,      3, 257,  10,   5,   0,   0,   0,   0, "2d6"  ,  1}  /*105*/
};

treasure_type blank_treasure = {"nothing", 0, ' ', 0, 0, 0, 0, 0, 0, 0, 0, 0,
  0, "0d0", 0};

/* Treasure related values					*/
int inven_ctr = 0;	        /* Total different obj's	*/
int inven_weight = 0;   	/* Cur carried weight	*/
int equip_ctr = 0;  	        /* Cur equipment ctr	*/
int tcptr;              	/* Cur treasure heap ptr	*/

/* Following are feature objects defined for dungeon		*/

/* Traps are just Nasty treasures...				*/
treasure_type trap_lista[MAX_TRAPA] = {
{"an open pit"                                     , 102, ' ',0x00000000,
    0,      0,   1,   0,   1,   0,   0,   0,   0, "2d6"  ,-50},
{"an arrow trap"                                   , 101, '.',0x00000000,
    0,      0,   2,   0,   1,   0,   0,   0,   0, "1d8"  ,  0},
{"a covered pit"                                   , 101, '.',0x00000000,
    0,      0,   3,   0,   1,   0,   0,   0,   0, "2d6"  ,  0},
{"a trap door"                                     , 101, '.',0x00000000,
    0,      0,   4,   0,   1,   0,   0,   0,   0, "2d8"  ,  0},
{"a gas trap"                                      , 101, '.',0x00000000,
    0,      0,   5,   0,   1,   0,   0,   0,   0, "1d4"  ,  0},
{"a loose rock"                                    , 101, '.',0x00000000,
    0,      0,   6,   0,   1,   0,   0,   0,   0, "0d0"  ,  0},
{"a dart trap"                                     , 101, '.',0x00000000,
    0,      0,   7,   0,   1,   0,   0,   0,   0, "1d4"  ,  0},
{"a strange rune"                                  , 101, '.',0x00000000,
    0,      0,   8,   0,   1,   0,   0,   0,   0, "0d0"  ,  0},
{"some loose rock"                                 , 101, '.',0x00000000,
    0,      0,   9,   0,   1,   0,   0,   0,   0, "2d6"  ,  0},
{"a gas trap"                                      , 101, '.',0x00000000,
    0,      0,  10,   0,   1,   0,   0,   0,   0, "1d4"  ,  0},
{"a strange rune"                                  , 101, '.',0x00000000,
    0,      0,  11,   0,   1,   0,   0,   0,   0, "0d0"  ,  0},
{"a blackened spot"                                , 101, '.',0x00000000,
    0,      0,  12,   0,   1,   0,   0,   0,   0, "4d6"  ,  0},
{"some corroded rock"                              , 101, '.',0x00000000,
    0,      0,  13,   0,   1,   0,   0,   0,   0, "4d6"  ,  0},
{"a gas trap"                                      , 101, '.',0x00000000,
    0,      0,  14,   0,   1,   0,   0,   0,   0, "2d6"  ,  0},
{"a gas trap"                                      , 101, '.',0x00000000,
    5,      0,  15,   0,   1,   0,   0,   0,   0, "1d4"  , 10},
{"a gas trap"                                      , 101, '.',0x00000000,
    5,      0,  16,   0,   1,   0,   0,   0,   0, "1d8"  ,  5},
{"a dart trap"                                     , 101, '.',0x00000000,
    5,      0,  17,   0,   1,   0,   0,   0,   0, "1d8"  , 10},
{"a dart trap"                                     , 101, '.',0x00000000,
    5,      0,  18,   0,   1,   0,   0,   0,   0, "1d8"  , 10}
};

/* Traps: Level represents the difficulty of disarming;	*/
/* and P1 represents the experienced gained when disarmed*/
treasure_type trap_listb[MAX_TRAPB] = {
{"an open pit"                                     , 102, ' ',0x00000000,
    1,      0,   1,   0,   1,   0,   0,   0,   0, "2d6"  ,-50},
{"an arrow trap"                                   , 102, '^',0x00000000,
    3,      0,   2,   0,   1,   0,   0,   0,   0, "1d8"  ,-10},
{"a covered pit"                                   , 102, '^',0x00000000,
    2,      0,   3,   0,   1,   0,   0,   0,   0, "2d6"  ,-40},
{"a trap door"                                     , 102, '^',0x00000000,
    5,      0,   4,   0,   1,   0,   0,   0,   0, "2d8"  ,-25},
{"a gas trap"                                      , 102, '^',0x00000000,
    3,      0,   5,   0,   1,   0,   0,   0,   0, "1d4"  ,  5},
{"a loose rock"                                    , 102, ';',0x00000000,
    0,      0,   6,   0,   1,   0,   0,   0,   0, "0d0"  ,-90},
{"a dart trap"                                     , 102, '^',0x00000000,
    5,      0,   7,   0,   1,   0,   0,   0,   0, "1d4"  , 10},
{"a strange rune"                                  , 102, '^',0x00000000,
    5,      0,   8,   0,   1,   0,   0,   0,   0, "0d0"  ,-10},
{"some loose rock"                                 , 102, '^',0x00000000,
    5,      0,   9,   0,   1,   0,   0,   0,   0, "2d6"  ,-10},
{"a gas trap"                                      , 102, '^',0x00000000,
   10,      0,  10,   0,   1,   0,   0,   0,   0, "1d4"  ,  5},
{"a strange rune"                                  , 102, '^',0x00000000,
    5,      0,  11,   0,   1,   0,   0,   0,   0, "0d0"  ,-10},
{"a blackened spot"                                , 102, '^',0x00000000,
   10,      0,  12,   0,   1,   0,   0,   0,   0, "4d6"  , 10},
{"some corroded rock"                              , 102, '^',0x00000000,
   10,      0,  13,   0,   1,   0,   0,   0,   0, "4d6"  , 10},
{"a gas trap"                                      , 102, '^',0x00000000,
    5,      0,  14,   0,   1,   0,   0,   0,   0, "2d6"  ,  5},
{"a gas trap"                                      , 102, '^',0x00000000,
    5,      0,  15,   0,   1,   0,   0,   0,   0, "1d4"  , 10},
{"a gas trap"                                      , 102, '^',0x00000000,
    5,      0,  16,   0,   1,   0,   0,   0,   0, "1d8"  ,  5},
{"a dart trap"                                     , 102, '^',0x00000000,
    5,      0,  17,   0,   1,   0,   0,   0,   0, "1d8"  , 10},
{"a dart trap"                                     , 102, '^',0x00000000,
    5,      0,  18,   0,   1,   0,   0,   0,   0, "1d8"  , 10},
	/* Special case, see DOOR_LIST below (subvals must agree)        */
{"a closed door"                                   , 105, '+',0x00000000,
    0,      0,  19,   0,   1,   0,   0,   0,   0, "1d1"  ,  0}
};

/* Special trap	*/
treasure_type scare_monster =
{"a strange rune"                                  , 102, '^',0x00000000,
    0,      0,  99,   0,   1,   0,   0,   0,   0, "0d0"  ,-90};

treasure_type rubble =
{"some rubble"                                     , 103, ':',0x00000000,
    0,      0,   1,   0,   1,   0,   0,   0,   0, "0d0"  ,  0};

/* Secret door must have same subval as closed door in	*/
/* TRAP_LISTB.  See CHANGE_TRAP                          */
treasure_type door_list[3] = {
{"an open door"                                    , 104,'\'',0x00000000,
    0,      0,   1,   0,   1,   0,   0,   0,   0, "1d1"  ,  0},
{"a closed door"                                   , 105, '+',0x00000000,
    0,      0,  19,   0,   1,   0,   0,   0,   0, "1d1"  ,  0},
{"a secret door"                                   , 109, '#',0x00000000,
    0,      0,  19,   0,   1,   0,   0,   0,   0, "1d1"  ,  0}
};

treasure_type up_stair =
{"an up staircase "                                , 107, '<',0x00000000,
    0,      0,   1,   0,   1,   0,   0,   0,   0, "1d1"  ,  0};

treasure_type down_stair =
{"a down staircase"                                , 108, '>',0x00000000,
    0,      0,   1,   0,   1,   0,   0,   0,   0, "1d1"  ,  0};