22#ifndef MM1_DATA_ITEMS_H
23#define MM1_DATA_ITEMS_H
25#include "common/array.h"
26#include "common/stream.h"
27#include "mm/mm1/data/text_parser.h"
36 VELLUM_SCROLL_ID = 231,
37 RUBY_WHISTLE_ID = 232,
39 MERCHANTS_PASS_ID = 234,
46 CACTUS_NECTAR_ID = 241,
47 MAP_OF_DESERT_ID = 242,
48 LASER_BLASTER_ID = 243,
49 DRAGONS_TOOTH_ID = 244,
52 RING_OF_OKRIM_ID = 247,
53 B_QUEEN_IDOL_ID = 248,
54 W_QUEEN_IDOL_ID = 249,
55 PIRATES_MAP_A_ID = 250,
56 PIRATES_MAP_B_ID = 251,
59 EYE_OF_GOROS_ID = 254,
64 KNIGHT_BIT = 0x20, PALADIN_BIT = 0x10, ARCHER_BIT = 8,
65 CLERIC_BIT = 4, SORCERER_BIT = 2, ROBBER_BIT = 1,
66 GOOD_BIT = 0x80, EVIL_BIT = 0x40,
67 NEUTRAL_BIT = GOOD_BIT | EVIL_BIT
71 ITEMCAT_NONE, ITEMCAT_WEAPON, ITEMCAT_MISSILE,
72 ITEMCAT_TWO_HANDED, ITEMCAT_ARMOR, ITEMCAT_SHIELD
76 NO_EQUIP_BONUS = 0, IS_EQUIPPABLE = 1,
81 TK_GEMS = 1, TK_GOLD = 2, TK_FOOD = 3, TK_ITEM = 4
86 byte _disablements = 0;
87 byte _constBonus_id = 0;
88 byte _constBonus_value = 0;
89 byte _tempBonus_id = 0;
90 byte _tempBonus_value = 0;
121inline bool isWeapon(
byte id) {
122 return id >= 1 &&
id <= 60;
124inline bool isMissile(
byte id) {
125 return id >= 61 &&
id <= 85;
127inline bool isTwoHanded(
byte id) {
128 return id >= 86 &&
id <= 120;
130inline bool isArmor(
byte id) {
131 return id >= 121 &&
id <= 155;
133inline bool isShield(
byte id) {
134 return id >= 156 &&
id <= 170;
137extern ItemCategory getItemCategory(
byte itemId);
Definition: detection.h:27
Item * getItem(byte index) const
Definition: text_parser.h:33