- Replaced all instances of Boolean with bool, TRUE with true, FALSE with false. (Except for a few cases where this resulted in a compile error.) git-svn-id: http://openexile.googlecode.com/svn/trunk@38 4ebdad44-0ea0-11de-aab3-ff745001d230
510 lines
15 KiB
C
510 lines
15 KiB
C
/*
|
|
* consts.h
|
|
* BoE
|
|
*
|
|
* Created by Celtic Minstrel on 13/04/09.
|
|
*
|
|
*/
|
|
|
|
#ifndef _CONSTS_H
|
|
#define _CONSTS_H
|
|
|
|
/*
|
|
This file contain numerous constans in form of #defines.
|
|
Almost all of these constants cannot be changed because
|
|
that would make the game work improperly.
|
|
*/
|
|
|
|
#define NUM_OF_PCS 6
|
|
#define INVALID_PC NUM_OF_PCS
|
|
#define INVALID_TOWN 200
|
|
|
|
#define NUM_OF_BOATS 30
|
|
#define NUM_OF_HORSES 30
|
|
|
|
#define SFX_SMALL_BLOOD 1
|
|
#define SFX_MEDIUM_BLOOD 2
|
|
#define SFX_LARGE_BLOOD 4
|
|
#define SFX_SMALL_SLIME 8
|
|
#define SFX_BIG_SLIME 16
|
|
#define SFX_ASH 32
|
|
#define SFX_BONES 64
|
|
#define SFX_RUBBLE 128
|
|
|
|
/* stuff done flags */
|
|
#define SDF_IS_PARTY_SPLIT 304][0
|
|
#define SDF_PARTY_SPLIT_X 304][1
|
|
#define SDF_PARTY_SPLIT_Y 304][2
|
|
#define SDF_PARTY_SPLIT_PC 304][3
|
|
#define SDF_PARTY_SPLIT_TOWN 304][4 // for future use, hopefully
|
|
//#define SDF_ 304][9
|
|
#define SDF_PARTY_STEALTHY 305][0
|
|
#define SDF_PARTY_FLIGHT 305][1
|
|
#define SDF_PARTY_DETECT_LIFE 305][2
|
|
#define SDF_PARTY_FIREWALK 305][3
|
|
#define SDF_SKIP_STARTUP 305][4 // preferably deprecated
|
|
#define SDF_LESS_SOUND 305][5
|
|
#define SDF_NO_TARGET_LINE 305][6
|
|
#define SDF_HOSTILES_PRESENT 305][9
|
|
#define SDF_NO_MAPS 306][0
|
|
#define SDF_NO_SOUNDS 306][1
|
|
#define SDF_NO_FRILLS 306][2
|
|
#define SDF_ROOM_DESCS_AGAIN 306][3
|
|
#define SDF_NO_INSTANT_HELP 306][4 // boolean
|
|
#define SDF_NO_SHORE_FRILLS 306][5
|
|
#define SDF_GAME_SPEED 306][6
|
|
#define SDF_EASY_MODE 306][7
|
|
#define SDF_LESS_WANDER_ENC 306][8
|
|
#define SDF_NO_TER_ANIM 306][9
|
|
/*
|
|
[305]
|
|
[4] will be Skip startup screen
|
|
[6] is No targeting line (use if getting crashes)
|
|
[5] is Fewer sounds (use if getting crashes)
|
|
*/
|
|
|
|
/* 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_COMBAT = 10,
|
|
MODE_SPELL_TARGET = 11,
|
|
MODE_FIRING = 12, // firing from bow or crossbow
|
|
MODE_THROWING = 13, // throwing missle
|
|
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,
|
|
};
|
|
|
|
///* adven[i].main_status */ //complete
|
|
//#define MAIN_STATUS_ABSENT 0 // absent, empty slot
|
|
//#define MAIN_STATUS_ALIVE 1
|
|
//#define MAIN_STATUS_DEAD 2
|
|
//#define MAIN_STATUS_DUST 3
|
|
//#define MAIN_STATUS_STONE 4
|
|
//#define MAIN_STATUS_FLED 5
|
|
//#define MAIN_STATUS_SURFACE 6 // fled to surface?
|
|
//#define MAIN_STATUS_WON 7
|
|
///* main status modifiers */
|
|
//#define MAIN_STATUS_SPLIT 10 // split from party
|
|
|
|
|
|
/* adven[i].skills */ //complete
|
|
#define SKILL_STRENGTH 0
|
|
#define SKILL_DEXTERITY 1
|
|
#define SKILL_INTELLIGENCE 2
|
|
#define SKILL_EDGED_WEAPONS 3
|
|
#define SKILL_BASHING_WEAPONS 4
|
|
#define SKILL_POLE_WEAPONS 5
|
|
#define SKILL_THROWN_MISSILES 6
|
|
#define SKILL_ARCHERY 7
|
|
#define SKILL_DEFENSE 8
|
|
#define SKILL_MAGE_SPELLS 9
|
|
#define SKILL_PRIEST_SPELLS 10
|
|
#define SKILL_MAGE_LORE 11
|
|
#define SKILL_ALCHEMY 12
|
|
#define SKILL_ITEM_LORE 13
|
|
#define SKILL_DISARM_TRAPS 14
|
|
#define SKILL_LOCKPICKING 15
|
|
#define SKILL_ASSASSINATION 16
|
|
#define SKILL_POISON 17
|
|
#define SKILL_LUCK 18
|
|
|
|
|
|
/* adven[i].traits */ //complete
|
|
#define TRAIT_TOUGHNESS 0
|
|
#define TRAIT_MAGICALLY_APT 1
|
|
#define TRAIT_AMBIDEXTROUS 2
|
|
#define TRAIT_NIMBLE 3
|
|
#define TRAIT_CAVE_LORE 4
|
|
#define TRAIT_WOODSMAN 5
|
|
#define TRAIT_GOOD_CONST 6
|
|
#define TRAIT_HIGHLY_ALERT 7
|
|
#define TRAIT_STRENGTH 8
|
|
#define TRAIT_RECUPERATION 9
|
|
#define TRAIT_SLUGGISH 10
|
|
#define TRAIT_MAGICALLY_INEPT 11
|
|
#define TRAIT_FRAIL 12
|
|
#define TRAIT_CHRONIC_DISEASE 13
|
|
#define TRAIT_BAD_BACK 14
|
|
|
|
/* adven[i].race */ //complete
|
|
#define RACE_HUMAN 0
|
|
#define RACE_NEPHIL 1
|
|
#define RACE_SLITH 2
|
|
|
|
/* adven[i].status*/ //complete - assign a positive value for a help pc effect, a negative for harm pc
|
|
#define STATUS_POISONED_WEAPON 0
|
|
#define STATUS_BLESS 1
|
|
#define STATUS_POISON 2
|
|
#define STATUS_HASTE 3
|
|
#define STATUS_INVULNERABLE 4
|
|
#define STATUS_MAGIC_RESISTANCE 5
|
|
#define STATUS_WEBS 6
|
|
#define STATUS_DISEASE 7
|
|
#define STATUS_INVISIBLE 8 //sanctuary
|
|
#define STATUS_DUMB 9
|
|
#define STATUS_MARTYRS_SHIELD 10
|
|
#define STATUS_ASLEEP 11
|
|
#define STATUS_PARALYZED 12
|
|
#define STATUS_ACID 13
|
|
|
|
/* damage type*/
|
|
/* used as parameter to some functions */
|
|
enum eDamageType {
|
|
DAMAGE_WEAPON = 0,
|
|
DAMAGE_FIRE = 1,
|
|
DAMAGE_POISON = 2,
|
|
DAMAGE_MAGIC = 3,
|
|
DAMAGE_UNBLOCKABLE = 4, //from the source files - the display is the same as the magic one (damage_monst in SPECIALS.cpp)
|
|
DAMAGE_COLD = 5,
|
|
DAMAGE_UNDEAD = 6, //from the source files - the display is the same as the weapon one
|
|
DAMAGE_DEMON = 7, //from the source files - the display is the same as the weapon one
|
|
// 8 and 9 aren't defined : doesn't print any damage. According to the source files the 9 is DAMAGE_MARKED though. Wrong ?
|
|
DAMAGE_MARKED = 10, // usage: DAMAGE_MARKED + damage_type
|
|
DAMAGE_WEAPON_MARKED = 10,
|
|
DAMAGE_FIRE_MARKED = 11,
|
|
DAMAGE_POISON_MARKED = 12,
|
|
DAMAGE_MAGIC_MARKED = 13,
|
|
DAMAGE_UNBLOCKABLE_MARKED = 14,
|
|
DAMAGE_COLD_MARKED = 15,
|
|
DAMAGE_UNDEAD_MARKED = 16,
|
|
DAMAGE_DEMON_MARKED = 17,
|
|
DAMAGE_NO_PRINT = 30, // usage: DAMAGE_NO_PRINT + damage_type
|
|
DAMAGE_WEAPON_NO_PRINT = 30,
|
|
DAMAGE_FIRE_NO_PRINT = 31,
|
|
DAMAGE_POISON_NO_PRINT = 32,
|
|
DAMAGE_MAGIC_NO_PRINT = 33,
|
|
DAMAGE_UNBLOCKABLE_NO_PRINT = 34,
|
|
DAMAGE_COLD_NO_PRINT = 35,
|
|
DAMAGE_UNDEAD_NO_PRINT = 36,
|
|
DAMAGE_DEMON_NO_PRINT = 37,
|
|
// What about both NO_PRINT and MARKED?
|
|
};
|
|
|
|
inline void operator -= (eDamageType& cur, eDamageType othr){
|
|
if((othr == DAMAGE_MARKED && cur >= DAMAGE_MARKED && cur < DAMAGE_NO_PRINT) ||
|
|
(othr == DAMAGE_NO_PRINT && cur >= DAMAGE_NO_PRINT))
|
|
cur = (eDamageType) ((int)cur - (int)othr);
|
|
}
|
|
|
|
inline void operator += (eDamageType& cur, eDamageType othr){
|
|
if((othr == DAMAGE_MARKED || othr == DAMAGE_NO_PRINT) && cur < DAMAGE_MARKED)
|
|
cur = (eDamageType) ((int)cur + (int)othr);
|
|
}
|
|
//inline eDamageType operator + (eDamageType lhs, eDamageType rhs){
|
|
// if(lhs == DAMAGE_MARKED || lhs == DAMAGE_NO_PRINT){
|
|
// if(rhs != DAMAGE_MARKED && rhs != DAMAGE_NO_PRINT)
|
|
// return (eDamageType) ((int)lhs + (int)rhs);
|
|
// }else if(rhs == DAMAGE_MARKED || rhs == DAMAGE_NO_PRINT)
|
|
// return (eDamageType) ((int)lhs + (int)rhs);
|
|
// else{
|
|
// int a = lhs, b = rhs, c = 0;
|
|
// if(a > 30){
|
|
// c += 30;
|
|
// a -= 30;
|
|
// if(b > 30) b -= 30;
|
|
// else if(b > 10) b -= 10;
|
|
// if(a == b) c += a;
|
|
// else c += 4;
|
|
// }else if(b > 30){
|
|
// c += 30;
|
|
// b -= 30;
|
|
// if(a > 30) a -= 30;
|
|
// else if(a > 10) a -= 10;
|
|
// if(a == b) c += a;
|
|
// else c += 4;
|
|
// }else if(a > 10){
|
|
// c += 10;
|
|
// a -= 10;
|
|
// if(b > 30){
|
|
// b -= 30;
|
|
// c += 20;
|
|
// }else if(b > 10) b -= 10;
|
|
// if(a == b) c += a;
|
|
// else c += 4;
|
|
// }else if(b > 10){
|
|
// c += 10;
|
|
// b -= 10;
|
|
// if(a > 30){
|
|
// a -= 30;
|
|
// c += 20;
|
|
// }else if(a > 10) a -= 10;
|
|
// if(a == b) c += a;
|
|
// else c += 4;
|
|
// }
|
|
// return (eDamageType) c; // this SHOULD guarantee a valid result...
|
|
// }
|
|
//}
|
|
|
|
/* trap type */
|
|
/* used in pc_record_type::runTrap(...) */
|
|
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,
|
|
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,
|
|
};
|
|
|
|
/* items[i].type a.k.a type of weapon */
|
|
#define ITEM_EDGED 1
|
|
#define ITEM_BASHING 2
|
|
#define ITEM_POLE 3
|
|
|
|
/* items[i].variety a.k.a item type (in editor) */
|
|
#define ITEM_TYPE_NO_ITEM 0
|
|
#define ITEM_TYPE_ONE_HANDED 1
|
|
#define ITEM_TYPE_TWO_HANDED 2
|
|
#define ITEM_TYPE_GOLD 3
|
|
#define ITEM_TYPE_BOW 4
|
|
#define ITEM_TYPE_ARROW 5
|
|
#define ITEM_TYPE_THROWN_MISSILE 6
|
|
#define ITEM_TYPE_POTION 7 // potion/magic item
|
|
#define ITEM_TYPE_SCROLL 8 // scroll/magic item
|
|
#define ITEM_TYPE_WAND 9
|
|
#define ITEM_TYPE_TOOL 10
|
|
#define ITEM_TYPE_FOOD 11
|
|
#define ITEM_TYPE_SHIELD 12
|
|
#define ITEM_TYPE_ARMOR 13
|
|
#define ITEM_TYPE_HELM 14
|
|
#define ITEM_TYPE_GLOVES 15
|
|
#define ITEM_TYPE_SHIELD_2 16
|
|
/* don't know why a second type of shield is used ; it is actually checked
|
|
* in the armor code (item >= 12 and <= 17)
|
|
* and you can't equip another (12) shield while wearing it ... I didn't
|
|
* find a single item with this property in the bladbase.exs ... */
|
|
#define ITEM_TYPE_BOOTS 17
|
|
#define ITEM_TYPE_RING 18
|
|
#define ITEM_TYPE_NECKLACE 19
|
|
#define ITEM_TYPE_WEAPON_POISON 20
|
|
#define ITEM_TYPE_NON_USE_OBJECT 21
|
|
#define ITEM_TYPE_PANTS 22
|
|
#define ITEM_TYPE_CROSSBOW 23
|
|
#define ITEM_TYPE_BOLTS 24
|
|
#define ITEM_TYPE_MISSILE_NO_AMMO 25 //e.g slings
|
|
|
|
/* items[i].ability */
|
|
|
|
/* Weapons Ability */
|
|
#define ITEM_NO_ABILITY 0
|
|
#define ITEM_FLAMING_WEAPON 1
|
|
#define ITEM_DEMON_SLAYER 2
|
|
#define ITEM_UNDEAD_SLAYER 3
|
|
#define ITEM_LIZARD_SLAYER 4
|
|
#define ITEM_GIANT_SLAYER 5
|
|
#define ITEM_MAGE_SLAYER 6
|
|
#define ITEM_PRIEST_SLAYER 7
|
|
#define ITEM_BUG_SLAYER 8
|
|
#define ITEM_ACIDIC_WEAPON 9
|
|
#define ITEM_SOULSUCKER 10
|
|
#define ITEM_DRAIN_MISSILES 11
|
|
#define ITEM_WEAK_WEAPON 12
|
|
#define ITEM_CAUSES_FEAR 13
|
|
#define ITEM_POISONED_WEAPON 14
|
|
|
|
/* General Ability */
|
|
#define ITEM_PROTECTION 30
|
|
#define ITEM_FULL_PROTECTION 31
|
|
#define ITEM_FIRE_PROTECTION 32
|
|
#define ITEM_COLD_PROTECTION 33
|
|
#define ITEM_POISON_PROTECTION 34
|
|
#define ITEM_MAGIC_PROTECTION 35
|
|
#define ITEM_ACID_PROTECTION 36
|
|
#define ITEM_SKILL 37
|
|
#define ITEM_STRENGTH 38
|
|
#define ITEM_DEXTERITY 39
|
|
#define ITEM_INTELLIGENCE 40
|
|
#define ITEM_ACCURACY 41
|
|
#define ITEM_THIEVING 42
|
|
#define ITEM_GIANT_STRENGTH 43
|
|
#define ITEM_LIGHTER_OBJECT 44
|
|
#define ITEM_HEAVIER_OBJECT 45
|
|
#define ITEM_OCCASIONAL_BLESS 46
|
|
#define ITEM_OCCASIONAL_HASTE 47
|
|
#define ITEM_LIFE_SAVING 48
|
|
#define ITEM_PROTECT_FROM_PETRIFY 49
|
|
#define ITEM_REGENERATE 50
|
|
#define ITEM_POISON_AUGMENT 51
|
|
#define ITEM_DISEASE_PARTY 52
|
|
#define ITEM_WILL 53
|
|
#define ITEM_FREE_ACTION 54
|
|
#define ITEM_SPEED 55
|
|
#define ITEM_SLOW_WEARER 56
|
|
#define ITEM_PROTECT_FROM_UNDEAD 57
|
|
#define ITEM_PROTECT_FROM_DEMONS 58
|
|
#define ITEM_PROTECT_FROM_HUMANOIDS 59
|
|
#define ITEM_PROTECT_FROM_REPTILES 60
|
|
#define ITEM_PROTECT_FROM_GIANTS 61
|
|
#define ITEM_PROTECT_FROM_DISEASE 62
|
|
|
|
/* NonSpell Use ; the constant refers to both the positive and negative effect (don't mind the name). */
|
|
#define ITEM_POISON_WEAPON 70 //put poison on weapon
|
|
#define ITEM_BLESS_CURSE 71
|
|
#define ITEM_AFFECT_POISON 72
|
|
#define ITEM_HASTE_SLOW 73
|
|
#define ITEM_AFFECT_INVULN 74
|
|
#define ITEM_AFFECT_MAGIC_RES 75
|
|
#define ITEM_AFFECT_WEB 76
|
|
#define ITEM_AFFECT_DISEASE 77
|
|
#define ITEM_AFFECT_SANCTUARY 78
|
|
#define ITEM_AFFECT_DUMBFOUND 79
|
|
#define ITEM_AFFECT_MARTYRS_SHIELD 80
|
|
#define ITEM_AFFECT_SLEEP 81
|
|
#define ITEM_AFFECT_PARALYSIS 82
|
|
#define ITEM_AFFECT_ACID 83
|
|
#define ITEM_BLISS 84
|
|
#define ITEM_AFFECT_EXPERIENCE 85
|
|
#define ITEM_AFFECT_SKILL_POINTS 86
|
|
#define ITEM_AFFECT_HEALTH 87
|
|
#define ITEM_AFFECT_SPELL_POINTS 88
|
|
#define ITEM_DOOM 89
|
|
#define ITEM_LIGHT 90
|
|
#define ITEM_STEALTH 91
|
|
#define ITEM_FIREWALK 92
|
|
#define ITEM_FLYING 93
|
|
#define ITEM_MAJOR_HEALING 94
|
|
|
|
/* Spell Usable */
|
|
|
|
#define ITEM_SPELL_FLAME 110
|
|
#define ITEM_SPELL_FIREBALL 111
|
|
#define ITEM_SPELL_FIRESTORM 112
|
|
#define ITEM_SPELL_KILL 113
|
|
#define ITEM_SPELL_ICE_BOLT 114
|
|
#define ITEM_SPELL_SLOW 115
|
|
#define ITEM_SPELL_SHOCKWAVE 116
|
|
#define ITEM_SPELL_DISPEL_UNDEAD 117
|
|
#define ITEM_SPELL_DISPEL_SPIRIT 118
|
|
#define ITEM_SPELL_SUMMONING 119
|
|
#define ITEM_SPELL_MASS_SUMMONING 120
|
|
#define ITEM_SPELL_ACID_SPRAY 121
|
|
#define ITEM_SPELL_STINKING_CLOUD 122
|
|
#define ITEM_SPELL_SLEEP_FIELD 123
|
|
#define ITEM_SPELL_VENOM 124
|
|
#define ITEM_SPELL_SHOCKSTORM 125
|
|
#define ITEM_SPELL_PARALYSIS 126
|
|
#define ITEM_SPELL_WEB_SPELL 127
|
|
#define ITEM_SPELL_STRENGTHEN_TARGET 128 //wand of carrunos effect
|
|
#define ITEM_SPELL_QUICKFIRE 129
|
|
#define ITEM_SPELL_MASS_CHARM 130
|
|
#define ITEM_SPELL_MAGIC_MAP 131
|
|
#define ITEM_SPELL_DISPEL_BARRIER 132
|
|
#define ITEM_SPELL_MAKE_ICE_WALL 133
|
|
#define ITEM_SPELL_CHARM_SPELL 134
|
|
#define ITEM_SPELL_ANTIMAGIC_CLOUD 135
|
|
|
|
/* Reagents */
|
|
#define ITEM_HOLLY 150 // Holly/Toadstool
|
|
#define ITEM_COMFREY_ROOT 151
|
|
#define ITEM_GLOWING_NETTLE 152
|
|
#define ITEM_CRYPT_SHROOM 153 // Crypt Shroom/Wormgr.
|
|
#define ITEM_ASPTONGUE_MOLD 154
|
|
#define ITEM_EMBER_FLOWERS 155
|
|
#define ITEM_GRAYMOLD 156
|
|
#define ITEM_MANDRAKE 157
|
|
#define ITEM_SAPPHIRE 158
|
|
#define ITEM_SMOKY_CRYSTAL 159
|
|
#define ITEM_RESSURECTION_BALM 160
|
|
#define ITEM_LOCKPICKS 161
|
|
|
|
/* Missiles */
|
|
|
|
#define ITEM_MISSILE_RETURNING 170
|
|
#define ITEM_MISSILE_LIGHTNING 171
|
|
#define ITEM_MISSILE_EXPLODING 172
|
|
#define ITEM_MISSILE_ACID 173
|
|
#define ITEM_MISSILE_SLAY_UNDEAD 174
|
|
#define ITEM_MISSILE_SLAY_DEMON 175
|
|
#define ITEM_MISSILE_HEAL_TARGET 176
|
|
|
|
/* Terrains Specials Properties : scenario.ter_types[i].special */ //complete
|
|
|
|
#define TER_SPEC_NONE 0
|
|
#define TER_SPEC_CHANGE_WHEN_STEP_ON 1
|
|
#define TER_SPEC_DOES_FIRE_DAMAGE 2
|
|
#define TER_SPEC_DOES_COLD_DAMAGE 3
|
|
#define TER_SPEC_DOES_MAGIC_DAMAGE 4
|
|
#define TER_SPEC_POISON_LAND 5
|
|
#define TER_SPEC_DISEASED_LAND 6
|
|
#define TER_SPEC_CRUMBLING_TERRAIN 7
|
|
#define TER_SPEC_LOCKABLE_TERRAIN 8
|
|
#define TER_SPEC_UNLOCKABLE_TERRAIN 9
|
|
#define TER_SPEC_UNLOCKABLE_BASHABLE 10
|
|
#define TER_SPEC_IS_A_SIGN 11
|
|
#define TER_SPEC_CALL_LOCAL_SPECIAL 12
|
|
#define TER_SPEC_CALL_SCENARIO_SPECIAL 13
|
|
#define TER_SPEC_IS_A_CONTAINER 14
|
|
#define TER_SPEC_WATERFALL 15
|
|
#define TER_SPEC_CONVEYOR_NORTH 16
|
|
#define TER_SPEC_CONVEYOR_EAST 17
|
|
#define TER_SPEC_CONVEYOR_SOUTH 18
|
|
#define TER_SPEC_CONVEYOR_WEST 19
|
|
#define TER_SPEC_BLOCKED_TO_MONSTERS 20
|
|
#define TER_SPEC_TOWN_ENTRANCE 21
|
|
#define TER_SPEC_CAN_BE_USED 22
|
|
#define TER_SPEC_CALL_SPECIAL_WHEN_USED 23
|
|
|
|
//stuff used in blxactions.c
|
|
|
|
//Startup button rects (also used in startup.c)
|
|
#define STARTBTN_LOAD 0
|
|
#define STARTBTN_NEW 1
|
|
#define STARTBTN_ORDER 2
|
|
#define STARTBTN_JOIN 3
|
|
#define STARTBTN_CUSTOM 4
|
|
|
|
//Shop rects
|
|
#define SHOPRECT_WHOLE_AREA 0
|
|
#define SHOPRECT_ACTIVE_AREA 1
|
|
#define SHOPRECT_GRAPHIC 2
|
|
#define SHOPRECT_ITEM_NAME 3
|
|
#define SHOPRECT_ITEM_COST 4
|
|
#define SHOPRECT_ITEM_EXTRA 5
|
|
#define SHOPRECT_ITEM_HELP 6
|
|
|
|
// Item button rects
|
|
#define ITEMBTN_NAME 0
|
|
#define ITEMBTN_USE 1
|
|
#define ITEMBTN_GIVE 2
|
|
#define ITEMBTN_DROP 3
|
|
#define ITEMBTN_INFO 4
|
|
#define ITEMBTN_SPEC 5 // Sell, Identify, or Enchant
|
|
|
|
// PC button rects
|
|
#define PCBTN_NAME 0
|
|
#define PCBTN_HP 1
|
|
#define PCBTN_SP 2
|
|
#define PCBTN_INFO 3
|
|
#define PCBTN_TRADE 4
|
|
|
|
//Spell select
|
|
#define SPELL_SELECT_NONE 0
|
|
#define SPELL_SELECT_ACTIVE 1
|
|
#define SPELL_SELECT_ANY 2
|
|
|
|
//Spell refer
|
|
#define SPELL_REFER 0
|
|
#define SPELL_IMMED 1
|
|
#define SPELL_TARGET 2
|
|
#define SPELL_FANCY_TARGET 3
|
|
|
|
#endif |