#ifndef _CONSTS_H #define _CONSTS_H /* This file contain numerous constans in form of #defines. Almost all of this 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 /* overall mode; some seem to be missing */ #define MODE_OUTDOORS 0 #define MODE_TOWN 1 #define MODE_TALK_TOWN 2 // looking for someone to talk #define MODE_TOWN_TARGET 3 // spell target, that is #define MODE_USE 4 #define MODE_COMBAT 10 #define MODE_SPELL_TARGET 11 #define MODE_FIRING 12 // firing from bow or crossbow #define MODE_THROWING 13 // throwing missile #define MODE_FANCY_TARGET 14 // spell target, that is #define MODE_DROPPING 15 #define MODE_TALKING 20 #define MODE_SHOPPING 21 #define MODE_LOOK_OUTDOORS 35 // looking at something #define MODE_LOOK_TOWN 36 #define MODE_LOOK_COMBAT 37 #define MODE_STARTUP 45 #define MODE_REDRAW 50 #define MODE_CUTSCENE 51 /* 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, added to previous status (e.g 11 is splitted and alive : waiting for the active pc to return). /* 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_EXCEPTIONAL_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 */ #define DAMAGE_WEAPON 0 #define DAMAGE_FIRE 1 #define DAMAGE_POISON 2 #define DAMAGE_MAGIC 3 #define DAMAGE_UNBLOCKABLE 4 //from the source files - the display is the same as the magic one (damage_monst in SPECIALS.cpp or pc_record_type::runTrap in PARTY.cpp) #define DAMAGE_COLD 5 #define DAMAGE_UNDEAD 6 //from the source files - the display is the same as the weapon one #define 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 ? #define DAMAGE_MARKED 10 // usage: DAMAGE_MARKED + damage_type #define DAMAGE_NO_PRINT 30 // usage: DAMAGE_NO_PRINT + damage_type /* trap type */ /* used in pc_record_type::runTrap(...) */ #define TRAP_RANDOM 0 #define TRAP_BLADE 1 #define TRAP_DART 2 #define TRAP_GAS 3 // poisons all #define TRAP_EXPLOSION 4 // damages all => uses c_town.difficulty rather than trap_level to calculates damages (and even c_town.difficulty /13). #define TRAP_SLEEP_RAY 5 #define TRAP_FALSE_ALARM 6 #define TRAP_DRAIN_XP 7 #define TRAP_ALERT 8 // makes town hostile #define TRAP_FLAMES 9 // damages all => uses trap_level (*5) to calculates damages. #define TRAP_DUMBFOUND 10 //dumbfound all #define TRAP_DISEASE 11 #define 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 //a guess, i can't test it ; but should be accurate => confirmed by the code #define ITEM_TYPE_ONE_HANDED 1 #define ITEM_TYPE_TWO_HANDED 2 #define ITEM_TYPE_GOLD 3 //a guess, i can't test it ; but should be accurate => confirmed by the code #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 //a guess, i can't test it ; but should be accurate => confirmed by the code #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) #define ITEM_TYPE_BOOTS 17 //(continued) 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_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_USER 71 #define ITEM_CURE_POISON 72 #define ITEM_HASTE_USER 73 #define ITEM_ADD_INVULNERABILITY 74 #define ITEM_ADD_MAGIC_RESISTANCE 75 #define ITEM_ADD_WEB 76 #define ITEM_CAUSE_DISEASE 77 #define ITEM_ADD_SANCTUARY 78 #define ITEM_CAUSE_DUMBFOUND 79 #define ITEM_ADD_MARTYRS_SHIELD 80 #define ITEM_CURE_SLEEP 81 #define ITEM_CURE_PARALYSIS 82 #define ITEM_CURE_ACID 83 #define ITEM_BLISS 84 #define ITEM_ADD_EXPERIENCE 85 #define ITEM_ADD_SKILL_POINTS 86 #define ITEM_ADD_HEALTH 87 #define ITEM_ADD_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*/ #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 /* Monsters Stuff */ /* Skills Same as PC */ /* Monster Type */ #define MONSTER_TYPE_HUMAN 0 #define MONSTER_TYPE_REPTILE 1 #define MONSTER_TYPE_BEAST 2 #define MONSTER_TYPE_IMPORTANT 3 #define MONSTER_TYPE_MAGE 4 #define MONSTER_TYPE_PRIEST 5 #define MONSTER_TYPE_HUMANOID 6 #define MONSTER_TYPE_DEMON 7 #define MONSTER_TYPE_UNDEAD 8 #define MONSTER_TYPE_GIANT 9 #define MONSTER_TYPE_SLIME 10 #define MONSTER_TYPE_STONE 11 #define MONSTER_TYPE_BUG 12 #define MONSTER_TYPE_DRAGON 13 #define MONSTER_TYPE_MAGICAL_CREATURE 14 /* Attack Types */ #define MONSTER_ATTACK_SWINGS 0 #define MONSTER_ATTACK_CLAWS 1 #define MONSTER_ATTACK_BITES 2 #define MONSTER_ATTACK_SLIMES 3 #define MONSTER_ATTACK_PUNCHES 4 #define MONSTER_ATTACK_STINGS 5 #define MONSTER_ATTACK_CLUBS 6 #define MONSTER_ATTACK_BURNS 7 #define MONSTER_ATTACK_HARMS 8 #define MONSTER_ATTACK_STABS 9 /* Special Ability a.k.a spec_skill */ #define MONSTER_NO_SPECIAL_ABILITY 0 #define MONSTER_THROWS_DARTS 1 #define MONSTER_SHOOTS_ARROWS 2 #define MONSTER_THROWS_SPEARS 3 #define MONSTER_THROWS_ROCKS1 4 //4-24 damages #define MONSTER_THROWS_ROCKS2 5 //5-30 damages #define MONSTER_THROWS_ROCKS3 6 //6-36 damages #define MONSTER_THROWS_RAZORDISKS 7 #define MONSTER_PETRIFICATION_RAY 8 #define MONSTER_SP_DRAIN_RAY 9 //spell points drain ray #define MONSTER_HEAT_RAY 10 #define MONSTER_INVISIBLE 11 #define MONSTER_SPLITS 12 #define MONSTER_MINDLESS 13 #define MONSTER_BREATHES_STINKING_CLOUDS 14 #define MONSTER_ICY_TOUCH 15 #define MONSTER_XP_DRAINING_TOUCH 16 #define MONSTER_ICY_AND_DRAINING_TOUCH 17 #define MONSTER_SLOWING_TOUCH 18 #define MONSTER_SHOOTS_WEB 19 #define MONSTER_GOOD_ARCHER 20 #define MONSTER_STEALS_FOOD 21 #define MONSTER_PERMANENT_MARTYRS_SHIELD 22 #define MONSTER_PARALYSIS_RAY 23 #define MONSTER_DUMBFOUNDING_TOUCH 24 #define MONSTER_DISEASE_TOUCH 25 #define MONSTER_ABSORB_SPELLS 26 #define MONSTER_WEB_TOUCH 27 #define MONSTER_SLEEP_TOUCH 28 #define MONSTER_PARALYSIS_TOUCH 29 #define MONSTER_PETRIFICATION_TOUCH 30 #define MONSTER_ACID_TOUCH 31 #define MONSTER_BREATHES_SLEEP_CLOUDS 32 #define MONSTER_ACID_SPIT 33 #define MONSTER_SHOOTS_SPINES 34 #define MONSTER_DEATH_TOUCH 35 #define MONSTER_INVULNERABILITY 36 #define MONSTER_GUARD 37 /* Create Monsters/Fields */ #define MONSTER_NO_RADIATE 0 #define MONSTER_RADIATE_FIRE_FIELDS 1 #define MONSTER_RADIATE_ICE_FIELDS 2 #define MONSTER_RADIATE_SHOCK_FIELDS 3 #define MONSTER_RADIATE_ANTIMAGIC_FIELDS 4 #define MONSTER_RADIATE_SLEEP_FIELDS 5 #define MONSTER_RADIATE_STINKING_CLOUDS 6 //as said 7,8 and 9 are unused #define MONSTER_SUMMON1 10 //5 percent chance #define MONSTER_SUMMON2 11 //20 percent chance #define MONSTER_SUMMON3 12 //50 percent chance //as said 13 and 14 are unused #define MONSTER_DEATH_TRIGGERS 15 //death triggers global special /* 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 actions.cpp //Startup button rects (also used in blades.cpp) #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 /* stuff done flags */ #define SDF_IS_PARTY_SPLIT 304][0 #define SDF_PARTY_SPLIT_WHERE_PARTY_X 304][1 #define SDF_PARTY_SPLIT_WHERE_PARTY_Y 304][2 #define SDF_PARTY_SPLIT_PC 304][3 #define SDF_PARTY_SPLIT_TOWN 304][4 // for future use, hopefully #define SDF_SKIP_STARTUP 305][4 #define SDF_LESS_SOUND 305][5 #define SDF_NO_TARGET_LINE 305][6 #define SFD_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 #define SDF_HIDDEN_MAP 308][0 #define SDF_LEGACY_SCENARIO 305][8 //0 is new scenario, 1 is legacy /* Monsters Attitudes : 0 - Friendly, Docile 1 - Hostile, Type A 2 - Friendly, Will fight 3 - Hostile, Type B */ //Specials and Talks //eSpecContext #define SPEC_OUT_MOVE 0 #define SPEC_TOWN_MOVE 1 #define SPEC_COMBAT_MOVE 2 #define SPEC_OUT_LOOK 3 #define SPEC_TOWN_LOOK 4 #define SPEC_ENTER_TOWN 5 #define SPEC_LEAVE_TOWN 6 #define SPEC_TALK 7 #define SPEC_USE_SPEC_ITEM 8 #define SPEC_TOWN_TIMER 9 #define SPEC_SCEN_TIMER 10 #define SPEC_PARTY_TIMER 11 #define SPEC_KILL_MONST 12 #define SPEC_OUTDOOR_ENC 13 #define SPEC_WIN_ENCOUNTER 14 #define SPEC_FLEE_ENCOUNTER 15 #define SPEC_TARGET 16 #define SPEC_USE_SPACE 17 #define SPEC_SEE_MONST 18 //eSpecNodeType #define SPEC_NULL 0 #define SPEC_SET_SDF 1 #define SPEC_INC_SDF 2 #define SPEC_DISPLAY_MSG 3 #define SPEC_SECRET_PASSAGE 4 #define SPEC_DISPLAY_SM_MSG 5 #define SPEC_FLIP_SDF 6 #define SPEC_OUT_BLOCK 7 #define SPEC_TOWN_BLOCK 8 #define SPEC_FIGHT_BLOCK 9 #define SPEC_LOOK_BLOCK 10 #define SPEC_CANT_ENTER 11 #define SPEC_CHANGE_TIME 12 #define SPEC_SCEN_TIMER_START 13 #define SPEC_PLAY_SOUND 14 #define SPEC_CHANGE_HORSE_OWNER 15 #define SPEC_CHANGE_BOAT_OWNER 16 #define SPEC_SET_TOWN_VISIBILITY 17 #define SPEC_MAJOR_EVENT_OCCURRED 18 #define SPEC_FORCED_GIVE 19 #define SPEC_BUY_ITEMS_OF_TYPE 20 #define SPEC_CALL_GLOBAL 21 #define SPEC_SET_SDF_ROW 22 #define SPEC_COPY_SDF 23 #define SPEC_SANCTIFY 24 #define SPEC_REST 25 #define SPEC_WANDERING_WILL_FIGHT 26 #define SPEC_END_SCENARIO 27 #define SPEC_ONCE_GIVE_ITEM = 50 #define SPEC_ONCE_GIVE_SPEC_ITEM 51 #define SPEC_ONCE_NULL 52 #define SPEC_ONCE_SET_SDF 53 #define SPEC_ONCE_DISPLAY_MSG 54 #define SPEC_ONCE_DIALOG 55 #define SPEC_ONCE_DIALOG_TERRAIN 56 #define SPEC_ONCE_DIALOG_MONSTER 57 #define SPEC_ONCE_GIVE_ITEM_DIALOG 58 #define SPEC_ONCE_GIVE_ITEM_TERRAIN 59 #define SPEC_ONCE_GIVE_ITEM_MONSTER 60 #define SPEC_ONCE_OUT_ENCOUNTER 61 #define SPEC_ONCE_TOWN_ENCOUNTER 62 #define SPEC_ONCE_TRAP 63 #define SPEC_SELECT_PC 80 #define SPEC_DAMAGE 81 #define SPEC_AFFECT_HP 82 #define SPEC_AFFECT_SP 83 #define SPEC_AFFECT_XP 84 #define SPEC_AFFECT_SKILL_PTS 85 #define SPEC_AFFECT_DEADNESS 86 #define SPEC_AFFECT_POISON 87 #define SPEC_AFFECT_SPEED 88 #define SPEC_AFFECT_INVULN 89 #define SPEC_AFFECT_MAGIC_RES 90 #define SPEC_AFFECT_WEBS 91 #define SPEC_AFFECT_DISEASE 92 #define SPEC_AFFECT_SANCTUARY 93 #define SPEC_AFFECT_CURSE_BLESS 94 #define SPEC_AFFECT_DUMBFOUND 95 #define SPEC_AFFECT_SLEEP 96 #define SPEC_AFFECT_PARALYSIS 97 #define SPEC_AFFECT_STAT 98 #define SPEC_AFFECT_MAGE_SPELL 99 #define SPEC_AFFECT_PRIEST_SPELL 100 #define SPEC_AFFECT_GOLD 101 #define SPEC_AFFECT_FOOD 102 #define SPEC_AFFECT_ALCHEMY 103 #define SPEC_AFFECT_STEALTH 104 #define SPEC_AFFECT_FIREWALK 105 #define SPEC_AFFECT_FLIGHT 106 #define SPEC_IF_SDF 130 #define SPEC_IF_TOWN_NUM 131 #define SPEC_IF_RANDOM 132 #define SPEC_IF_HAVE_SPECIAL_ITEM 133 #define SPEC_IF_SDF_COMPARE 134 #define SPEC_IF_TOWN_TER_TYPE 135 #define SPEC_IF_OUT_TER_TYPE 136 #define SPEC_IF_HAS_GOLD 137 #define SPEC_IF_HAS_FOOD 138 #define SPEC_IF_ITEM_CLASS_ON_SPACE 139 #define SPEC_IF_HAVE_ITEM_CLASS 140 #define SPEC_IF_EQUIP_ITEM_CLASS 141 #define SPEC_IF_HAS_GOLD_AND_TAKE 142 #define SPEC_IF_HAS_FOOD_AND_TAKE 143 #define SPEC_IF_ITEM_CLASS_ON_SPACE_AND_TAKE 144 #define SPEC_IF_HAVE_ITEM_CLASS_AND_TAKE 145 #define SPEC_IF_EQUIP_ITEM_CLASS_AND_TAKE 146 #define SPEC_IF_DAY_REACHED 147 #define SPEC_IF_BARRELS 148 #define SPEC_IF_CRATES 149 #define SPEC_IF_EVENT_OCCURRED 150 #define SPEC_IF_HAS_CAVE_LORE 151 #define SPEC_IF_HAS_WOODSMAN 152 #define SPEC_IF_ENOUGH_MAGE_LORE 153 #define SPEC_IF_TEXT_RESPONSE 154 #define SPEC_IF_SDF_EQ 155 #define SPEC_MAKE_TOWN_HOSTILE 170 #define SPEC_TOWN_CHANGE_TER 171 #define SPEC_TOWN_SWAP_TER 172 #define SPEC_TOWN_TRANS_TER 173 #define SPEC_TOWN_MOVE_PARTY 174 #define SPEC_TOWN_HIT_SPACE 175 #define SPEC_TOWN_EXPLODE_SPACE 176 #define SPEC_TOWN_LOCK_SPACE 177 #define SPEC_TOWN_UNLOCK_SPACE 178 #define SPEC_TOWN_SFX_BURST 179 #define SPEC_TOWN_CREATE_WANDERING 180 #define SPEC_TOWN_PLACE_MONST 181 #define SPEC_TOWN_DESTROY_MONST 182 #define SPEC_TOWN_NUKE_MONSTS 183 #define SPEC_TOWN_GENERIC_LEVER 184 #define SPEC_TOWN_GENERIC_PORTAL 185 #define SPEC_TOWN_GENERIC_BUTTON 186 #define SPEC_TOWN_GENERIC_STAIR 187 #define SPEC_TOWN_LEVER 188 #define SPEC_TOWN_PORTAL 189 #define SPEC_TOWN_STAIR 190 #define SPEC_TOWN_RELOCATE 191 // Relocate outdoors #define SPEC_TOWN_PLACE_ITEM 192 #define SPEC_TOWN_SPLIT_PARTY 193 #define SPEC_TOWN_REUNITE_PARTY 194 #define SPEC_TOWN_TIMER_START 195 #define SPEC_RECT_PLACE_FIRE 200 #define SPEC_RECT_PLACE_FORCE 201 #define SPEC_RECT_PLACE_ICE 202 #define SPEC_RECT_PLACE_BLADE 203 #define SPEC_RECT_PLACE_SCLOUD 204 #define SPEC_RECT_PLACE_SLEEP 205 #define SPEC_RECT_PLACE_QUICKFIRE 206 #define SPEC_RECT_PLACE_FIRE_BARR 207 #define SPEC_RECT_PLACE_FORCE_BARR 208 #define SPEC_RECT_CLEANSE 209 #define SPEC_RECT_PLACE_SFX 210 #define SPEC_RECT_PLACE_OBJECT 211 // place barrels, etc #define SPEC_RECT_MOVE_ITEMS 212 #define SPEC_RECT_DESTROY_ITEMS 213 #define SPEC_RECT_CHANGE_TER 214 #define SPEC_RECT_SWAP_TER 215, #define SPEC_RECT_TRANS_TER 216 #define SPEC_RECT_LOCK 217 #define SPEC_RECT_UNLOCK 218 #define SPEC_OUT_MAKE_WANDER 225 #define SPEC_OUT_CHANGE_TER 226 #define SPEC_OUT_PLACE_ENCOUNTER 227 #define SPEC_OUT_MOVE_PARTY 228 #define SPEC_OUT_STORE 229 // eTalkNodeType #define TALK_REGULAR 0 #define TALK_DEP_ON_SDF 1 #define TALK_SET_SDF 2 #define TALK_INN 3 #define TALK_DEP_ON_TIME 4 #define TALK_DEP_ON_TIME_AND_EVENT 5 #define TALK_DEP_ON_TOWN 6 #define TALK_BUY_ITEMS 7 #define TALK_TRAINING 8 #define TALK_BUY_MAGE 9 #define TALK_BUY_PRIEST 10 #define TALK_BUY_ALCHEMY 11 #define TALK_BUY_HEALING 12 #define TALK_SELL_WEAPONS 13 #define TALK_SELL_ARMOR 14 #define TALK_SELL_ITEMS 15 #define TALK_IDENTIFY 16 #define TALK_ENCHANT 17 #define TALK_BUY_INFO 18 #define TALK_BUY_SDF 19 #define TALK_BUY_SHIP 20 #define TALK_BUY_HORSE 21 #define TALK_BUY_SPEC_ITEM 22 #define TALK_BUY_JUNK 23 #define TALK_BUY_TOWN_LOC 24 #define TALK_END_FORCE 25 #define TALK_END_FIGHT 26 #define TALK_END_ALARM 27 // Town hostile #define TALK_END_DIE 28 #define TALK_CALL_TOWN_SPEC 29 #define TALK_CALL_SCEN_SPEC 30 /* Spells x : mage spells (x from 0 to 61) 100 + x : priest spells (x from 0 to 61) */ #endif