126 lines
3.1 KiB
C++
126 lines
3.1 KiB
C++
/*
|
|
* consts.h
|
|
* BoE
|
|
*
|
|
* Created by Celtic Minstrel on 13/04/09.
|
|
*
|
|
*/
|
|
|
|
#ifndef BOE_GAME_CONSTS_H
|
|
#define BOE_GAME_CONSTS_H
|
|
|
|
#include <set>
|
|
|
|
/* overall mode; some seem to be missing */
|
|
enum eGameMode {
|
|
MODE_OUTDOORS = 0,
|
|
MODE_TOWN = 1,
|
|
MODE_TALK_TOWN = 2, // looking for someone to talk
|
|
MODE_TOWN_TARGET = 3, // spell target, that is
|
|
MODE_USE_TOWN = 4,
|
|
MODE_DROP_TOWN = 5,
|
|
MODE_BASH_TOWN = 6, // unused
|
|
MODE_COMBAT = 10,
|
|
MODE_SPELL_TARGET = 11,
|
|
MODE_FIRING = 12, // firing from bow or crossbow
|
|
MODE_THROWING = 13, // throwing missile
|
|
MODE_FANCY_TARGET = 14, // spell target, that is; I think it's for multitarget spells
|
|
MODE_DROP_COMBAT = 15,
|
|
MODE_TALKING = 20,
|
|
MODE_SHOPPING = 21,
|
|
MODE_LOOK_OUTDOORS = 35, // looking at something
|
|
MODE_LOOK_TOWN = 36,
|
|
MODE_LOOK_COMBAT = 37,
|
|
MODE_STARTUP = 45,
|
|
MODE_RESTING = 50,
|
|
MODE_CUTSCENE = 51, // for future use
|
|
};
|
|
|
|
static const std::set<eGameMode> scrollableModes = {
|
|
MODE_SPELL_TARGET,
|
|
MODE_FIRING,
|
|
MODE_THROWING,
|
|
MODE_FANCY_TARGET,
|
|
MODE_LOOK_COMBAT,
|
|
MODE_LOOK_TOWN
|
|
};
|
|
|
|
enum eStatMode {
|
|
MODE_INVEN = 0,
|
|
MODE_SHOP = 1,
|
|
MODE_IDENTIFY = 2,
|
|
MODE_SELL_WEAP = 3,
|
|
MODE_SELL_ARMOR = 4,
|
|
MODE_SELL_ANY = 5,
|
|
MODE_ENCHANT = 6,
|
|
};
|
|
|
|
static const signed char dir_x_dif[9] = {0,1,1,1,0,-1,-1,-1,0};
|
|
static const signed char dir_y_dif[9] = {-1,-1,0,1,1,1,0,-1,0};
|
|
|
|
/* trap type */
|
|
/* used in run_trap(...) */
|
|
enum eTrapType {
|
|
TRAP_RANDOM = 0,
|
|
TRAP_BLADE = 1,
|
|
TRAP_DART = 2,
|
|
TRAP_GAS = 3, // poisons all
|
|
TRAP_EXPLOSION = 4, // damages all => uses c_town.difficulty rather than trap_level to calculates damages (and even c_town.difficulty /13).
|
|
TRAP_SLEEP_RAY = 5, // TODO: Rename "Paralysis ray"
|
|
TRAP_FALSE_ALARM = 6,
|
|
TRAP_DRAIN_XP = 7,
|
|
TRAP_ALERT = 8, // makes town hostile
|
|
TRAP_FLAMES = 9, // damages all => uses trap_level (*5) to calculates damages.
|
|
TRAP_DUMBFOUND = 10, //dumbfound all
|
|
TRAP_DISEASE = 11,
|
|
TRAP_DISEASE_ALL = 12,
|
|
TRAP_CUSTOM = 13,
|
|
};
|
|
|
|
// Startup button rects
|
|
const int STARTBTN_LOAD = 0;
|
|
const int STARTBTN_NEW = 1;
|
|
const int STARTBTN_ORDER = 2;
|
|
const int STARTBTN_JOIN = 3;
|
|
const int STARTBTN_CUSTOM = 4;
|
|
|
|
// Shop rects
|
|
const int SHOPRECT_WHOLE_AREA = 0;
|
|
const int SHOPRECT_ACTIVE_AREA = 1;
|
|
const int SHOPRECT_GRAPHIC = 2;
|
|
const int SHOPRECT_ITEM_NAME = 3;
|
|
const int SHOPRECT_ITEM_COST = 4;
|
|
const int SHOPRECT_ITEM_EXTRA = 5;
|
|
const int SHOPRECT_ITEM_HELP = 6;
|
|
|
|
// Item button rects
|
|
const int ITEMBTN_NAME = 0;
|
|
const int ITEMBTN_USE = 1;
|
|
const int ITEMBTN_GIVE = 2;
|
|
const int ITEMBTN_DROP = 3;
|
|
const int ITEMBTN_INFO = 4;
|
|
const int ITEMBTN_SPEC = 5; // Sell, Identify, or Enchant
|
|
const int ITEMBTN_ALL = 10; // use, give, drop, info
|
|
const int ITEMBTN_NORM = 11; // give, drop, info
|
|
|
|
// PC button rects
|
|
const int PCBTN_NAME = 0;
|
|
const int PCBTN_HP = 1;
|
|
const int PCBTN_SP = 2;
|
|
const int PCBTN_INFO = 3;
|
|
const int PCBTN_TRADE = 4;
|
|
|
|
// Item window modes (non-PC)
|
|
const int ITEM_WIN_SPECIAL = 6;
|
|
const int ITEM_WIN_QUESTS = 7;
|
|
|
|
// Gobal window rects
|
|
const int WINRECT_TERVIEW = 0;
|
|
const int WINRECT_ACTBTNS = 1;
|
|
const int WINRECT_PCSTATS = 2;
|
|
const int WINRECT_INVEN = 3;
|
|
const int WINRECT_STATUS = 4;
|
|
const int WINRECT_TRANSCRIPT = 5;
|
|
|
|
#endif
|