X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fdefines.h;h=400fe0775d5b4c80175fd6b7e9856a9336eda51a;hb=67a5a32944f12de9a30808919a49f08c5c5ffbfa;hp=fc82af27f4d0ecf0709cf3d7072829155d0ce2fd;hpb=c135f06b3a903efac7511208690fbe98ec61d199;p=hengband%2Fhengband.git diff --git a/src/defines.h b/src/defines.h index fc82af27f..400fe0775 100644 --- a/src/defines.h +++ b/src/defines.h @@ -55,9 +55,9 @@ * "(FAKE_VER_MAJOR-10).(FAKE_VER_MINOR).(FAKE_VER_PATCH)". */ #define FAKE_VERSION 0 -#define FAKE_VER_MAJOR 11 -#define FAKE_VER_MINOR 7 -#define FAKE_VER_PATCH 0 +#define FAKE_VER_MAJOR 12 +#define FAKE_VER_MINOR 1 +#define FAKE_VER_PATCH 3 /* @@ -73,10 +73,10 @@ * * Upper compatibility is always guaranteed. */ -#define H_VER_MAJOR 1 -#define H_VER_MINOR 7 -#define H_VER_PATCH 0 -#define H_VER_EXTRA 5 +#define H_VER_MAJOR 2 +#define H_VER_MINOR 1 +#define H_VER_PATCH 2 +#define H_VER_EXTRA 2 #define ANGBAND_2_8_1 @@ -143,13 +143,16 @@ /* Check is the quest index is "fixed" */ #define is_fixed_quest_idx(Q_IDX) (((Q_IDX) < MIN_RANDOM_QUEST) || ((Q_IDX) > MAX_RANDOM_QUEST)) +#define QUEST_TOWER1 5 +#define QUEST_TOWER2 6 +#define QUEST_TOWER3 7 #define QUEST_OBERON 8 #define QUEST_SERPENT 9 /* * Arena constants */ -#define MAX_ARENA_MONS 38 /* -KMW- */ +#define MAX_ARENA_MONS 41 /* -KMW- */ #define ARENA_DEFEATED_OLD_VER (-(MAX_SHORT)) @@ -195,7 +198,7 @@ /* * Maximum number of player "class" types (see "table.c", etc) */ -#define MAX_CLASS 27 +#define MAX_CLASS 28 #define MAX_SEIKAKU 12 @@ -527,7 +530,7 @@ /* * Random energy */ -#define ENERGY_NEED() (randnor(100, 31)) +#define ENERGY_NEED() (randnor(100, 25)) /* @@ -628,11 +631,13 @@ #define GREAT_OBJ 10 /* - * There is a 1/50 (2%) chance of inflating the requested monster_level + * There is a 1/25 (4%) chance of inflating the requested monster_level * during the creation of a monsters (see "get_mon_num()" in "monster.c"). * Lower values yield harder monsters more often. */ -#define NASTY_MON 50 /* 1/chance of inflated monster level */ +#define NASTY_MON_BASE 25 +#define NASTY_MON_MAX 3 +#define NASTY_MON_PLUS_MAX 25 /* 1/x chance of hurting even if invulnerable! */ #define PENETRATE_INVULNERABILITY 13 @@ -717,8 +722,9 @@ #define CH_DAEMON 0x100 #define CH_CRUSADE 0x200 -#define CH_MUSIC 0x10000 -#define CH_HISSATSU 0x20000 +#define CH_MUSIC 0x08000 /* This is 16th bit */ +#define CH_HISSATSU 0x10000 +#define CH_HEX 0x20000 /* @@ -739,7 +745,8 @@ #define MIN_TECHNIC 16 #define REALM_MUSIC 16 #define REALM_HISSATSU 17 -#define MAX_REALM 17 +#define REALM_HEX 18 +#define MAX_REALM 18 #define VALID_REALM (MAX_REALM + MAX_MAGIC - MIN_TECHNIC + 1) #define NUM_TECHNIC (MAX_REALM - MIN_TECHNIC + 1) @@ -865,7 +872,7 @@ #define RACE_DEMON 32 #define RACE_DUNADAN 33 #define RACE_S_FAIRY 34 -#define RACE_KUTA 35 +#define RACE_KUTAR 35 #define RACE_ANDROID 36 /* @@ -904,6 +911,7 @@ #define CLASS_SMITH 24 #define CLASS_MIRROR_MASTER 25 #define CLASS_NINJA 26 +#define CLASS_SNIPER 27 #define SEIKAKU_FUTUU 0 #define SEIKAKU_CHIKARA 1 @@ -1283,7 +1291,7 @@ #define ART_PALANTIR 15 #define ART_STONE_LORE 17 #define ART_FLY_STONE 147 - +#define ART_ORB_OF_FATE 245 /* Amulets */ #define ART_CARLAMMAS 4 #define ART_INGWE 5 @@ -1334,6 +1342,7 @@ #define ART_GHB 192 #define ART_DASAI 200 #define ART_KESHO 204 +#define ART_MILIM 246 /* Shields */ #define ART_THORIN 30 @@ -1369,6 +1378,7 @@ #define ART_LUTHIEN 49 #define ART_TUOR 50 #define ART_MOOK 205 +#define ART_HEAVENLY_MAIDEN 233 /* Gloves */ #define ART_CAMBELEG 52 @@ -1453,6 +1463,7 @@ #define ART_KAMUI 198 #define ART_GOURYU 207 #define ART_EOWYN 216 +#define ART_NANACHO 248 /* Polearms */ #define ART_THEODEN 93 @@ -1515,6 +1526,7 @@ #define ART_GOTHMOG 212 #define ART_JIZO 213 #define ART_FUNDIN 214 +#define ART_AESCULAPIUS 225 /* Bows */ #define ART_BELTHRONDING 124 @@ -1525,6 +1537,8 @@ #define ART_YOICHI 148 #define ART_HARAD 180 #define ART_NAMAKE_BOW 182 +#define ART_ROBIN_HOOD 221 +#define ART_HELLFIRE 222 /* Arrows */ #define ART_BARD_ARROW 153 @@ -1538,16 +1552,16 @@ /* xxx */ /* Body Armor */ -#define EGO_RESIST_ACID 4 -#define EGO_RESIST_ELEC 5 -#define EGO_RESIST_FIRE 6 -#define EGO_RESIST_COLD 7 +#define EGO_A_MORGUL 4 +#define EGO_A_DEMON 5 +#define EGO_DRUID 6 +#define EGO_OLOG 7 #define EGO_RESISTANCE 8 #define EGO_ELVENKIND 9 #define EGO_DWARVEN 10 #define EGO_PERMANENCE 11 #define EGO_YOIYAMI 12 -/* xxx */ +#define EGO_URUKISH 13 /* xxx */ /* xxx */ @@ -1559,6 +1573,8 @@ #define EGO_ENDURANCE 20 #define EGO_REFLECTION 21 #define EGO_NIGHT_DAY 22 +#define EGO_S_PROTECTION 238 +#define EGO_S_DWARVEN 239 /* Crowns and Helms */ #define EGO_DARK 23 @@ -1628,14 +1644,14 @@ #define EGO_CHAOTIC 77 #define EGO_SHARPNESS 78 #define EGO_EARTHQUAKES 79 -#define EGO_SLAY_ANIMAL 80 -#define EGO_SLAY_EVIL 81 -#define EGO_SLAY_UNDEAD 82 -#define EGO_SLAY_DEMON 83 -#define EGO_SLAY_ORC 84 -#define EGO_SLAY_TROLL 85 -#define EGO_SLAY_GIANT 86 -#define EGO_SLAY_DRAGON 87 +#define EGO_XXX_1 80 +#define EGO_XXX_2 81 +#define EGO_XXX_3 82 +#define EGO_XXX_4 83 +#define EGO_XXX_5 84 +#define EGO_XXX_6 85 +#define EGO_XXX_7 86 +#define EGO_WEIRD 87 #define EGO_KILL_ANIMAL 88 #define EGO_KILL_EVIL 89 #define EGO_KILL_UNDEAD 90 @@ -1649,7 +1665,7 @@ #define EGO_TRUMP 98 #define EGO_PATTERN 99 #define EGO_DIGGING 100 -#define EGO_SLAY_HUMAN 101 +#define EGO_DEMON 101 #define EGO_MORGUL 102 #define EGO_KILL_HUMAN 103 @@ -1756,6 +1772,7 @@ #define EGO_AMU_GREAT 235 #define EGO_AMU_DETECTION 236 #define EGO_AMU_NAIVETY 237 +// MAX 239 /* Activation effects for random artifacts */ #define ACT_SUNLIGHT 1 @@ -1773,7 +1790,7 @@ #define ACT_DRAIN_2 13 #define ACT_VAMPIRE_1 14 #define ACT_BO_MISS_2 15 -#define ACT_BA_FIRE_2 16 +#define ACT_BA_FIRE_3 16 #define ACT_BA_COLD_3 17 #define ACT_BA_ELEC_3 18 #define ACT_WHIRLWIND 19 @@ -1783,7 +1800,22 @@ #define ACT_DISP_EVIL 23 #define ACT_BA_MISS_3 24 #define ACT_DISP_GOOD 25 -/* 26 - 50 unused */ +#define ACT_BO_MANA 26 +#define ACT_BA_FIRE_2 27 +#define ACT_BA_WATER 28 +#define ACT_BA_STAR 29 +#define ACT_BA_DARK 30 +#define ACT_BA_MANA 31 +#define ACT_PESTICIDE 32 +#define ACT_BLINDING_LIGHT 33 +#define ACT_BIZARRE 34 +#define ACT_CAST_BA_STAR 35 +#define ACT_BLADETURNER 36 +#define ACT_BA_ACID_1 37 +#define ACT_BR_FIRE 38 +#define ACT_BR_COLD 39 +#define ACT_BR_DRAGON 40 +/* 33 - 50 unused */ #define ACT_CONFUSE 51 #define ACT_SLEEP 52 #define ACT_QUAKE 53 @@ -1792,6 +1824,8 @@ #define ACT_BANISH_EVIL 56 #define ACT_GENOCIDE 57 #define ACT_MASS_GENO 58 +#define ACT_SCARE_AREA 59 +#define ACT_AGGRAVATE 60 /* 59 - 64 unused */ #define ACT_CHARM_ANIMAL 65 #define ACT_CHARM_UNDEAD 66 @@ -1803,7 +1837,11 @@ #define ACT_SUMMON_ELEMENTAL 72 #define ACT_SUMMON_DEMON 73 #define ACT_SUMMON_UNDEAD 74 -/* 75 - 80 unused */ +#define ACT_SUMMON_HOUND 75 +#define ACT_SUMMON_DAWN 76 +#define ACT_SUMMON_OCTOPUS 77 +/* 76 - 80 unused */ +#define ACT_CHOIR_SINGS 80 #define ACT_CURE_LW 81 #define ACT_CURE_MW 82 #define ACT_CURE_POISON 83 @@ -1811,7 +1849,9 @@ #define ACT_REST_ALL 85 #define ACT_CURE_700 86 #define ACT_CURE_1000 87 -/* 88 - 90 unused */ +#define ACT_CURING 88 +#define ACT_CURE_MANA_FULL 89 +/* 90 unused */ #define ACT_ESP 91 #define ACT_BERSERK 92 #define ACT_PROT_EVIL 93 @@ -1820,7 +1860,14 @@ #define ACT_XTRA_SPEED 96 #define ACT_WRAITH 97 #define ACT_INVULN 98 -/* 99 - 110 unused */ +#define ACT_HELO 99 +#define ACT_HELO_SPEED 100 +#define ACT_RESIST_ACID 101 +#define ACT_RESIST_FIRE 102 +#define ACT_RESIST_COLD 103 +#define ACT_RESIST_ELEC 104 +#define ACT_RESIST_POIS 105 +/* 106 - 110 unused */ #define ACT_LIGHT 111 #define ACT_MAP_LIGHT 112 #define ACT_DETECT_ALL 113 @@ -1837,7 +1884,28 @@ #define ACT_DIM_DOOR 124 #define ACT_TELEPORT 125 #define ACT_RECALL 126 +#define ACT_JUDGE 127 +#define ACT_TELEKINESIS 128 +#define ACT_DETECT_UNIQUE 129 +#define ACT_ESCAPE 130 +#define ACT_DISP_CURSE_XTRA 131 +#define ACT_BRAND_FIRE_BOLTS 132 +#define ACT_RECHARGE_XTRA 133 +#define ACT_LORE 134 +#define ACT_SHIKOFUMI 135 +#define ACT_PHASE_DOOR 136 +#define ACT_DETECT_ALL_MONS 137 +#define ACT_ULTIMATE_RESIST 138 /* 127 -> unused */ +#define ACT_STRAIN_HASTE 247 +#define ACT_TELEPORT_LEVEL 248 +#define ACT_GRAND_CROSS 249 +#define ACT_CAST_OFF 250 +#define ACT_FISHING 251 +#define ACT_INROU 252 +#define ACT_MURAMASA 253 +#define ACT_BLOODY_MOON 254 +#define ACT_CRIMSON 255 /*** Object "tval" and "sval" codes ***/ @@ -1908,6 +1976,7 @@ #define TV_CRUSADE_BOOK 99 #define TV_MUSIC_BOOK 105 #define TV_HISSATSU_BOOK 106 +#define TV_HEX_BOOK 107 #define TV_GOLD 127 /* Gold can only be picked up by players */ #define TV_EQUIP_BEGIN TV_SHOT @@ -2206,8 +2275,8 @@ #define SV_RING_SUSTAIN_STR 10 #define SV_RING_SUSTAIN_INT 11 #define SV_RING_SUSTAIN_WIS 12 -#define SV_RING_SUSTAIN_DEX 13 -#define SV_RING_SUSTAIN_CON 14 +#define SV_RING_SUSTAIN_CON 13 +#define SV_RING_SUSTAIN_DEX 14 #define SV_RING_SUSTAIN_CHR 15 #define SV_RING_PROTECTION 16 #define SV_RING_ACID 17 @@ -2413,6 +2482,8 @@ #define SV_SCROLL_ARTIFACT 52 #define SV_SCROLL_RESET_RECALL 53 #define SV_SCROLL_SUMMON_KIN 54 +#define SV_SCROLL_AMUSEMENT 55 +#define SV_SCROLL_STAR_AMUSEMENT 56 /* The "sval" codes for TV_POTION */ #define SV_POTION_WATER 0 @@ -2570,7 +2641,7 @@ #define CAVE_MASK (CAVE_FLOOR | CAVE_EXTRA | CAVE_INNER | CAVE_OUTER | CAVE_SOLID | CAVE_VAULT) /* Used only after cave generation */ -#define CAVE_XXXX1 0x0200 +#define CAVE_KNOWN 0x0200 /* Directly viewed or map detected flag */ #define CAVE_NOTE 0x0400 /* Flag for delayed visual update (needs note_spot()) */ #define CAVE_REDRAW 0x0800 /* Flag for delayed visual update (needs lite_spot()) */ #define CAVE_OBJECT 0x1000 /* Mirror, glyph, etc. */ @@ -2777,6 +2848,7 @@ #define PW_EQUIP 0x00000002L /* Display equip/inven */ #define PW_SPELL 0x00000004L /* Display spell list */ #define PW_PLAYER 0x00000008L /* Display character */ +#define PW_MONSTER_LIST 0x00000010L /* Display monster list */ /* xxx */ /* xxx */ #define PW_MESSAGE 0x00000040L /* Display messages */ @@ -2884,6 +2956,7 @@ #define ACTION_KATA 6 #define ACTION_SING 7 #define ACTION_HAYAGAKE 8 +#define ACTION_SPELL 9 /* Empty hand status */ @@ -3163,6 +3236,7 @@ #define OM_NOMSG 0x02 /* temporary flag to suppress messages */ #define OM_NO_QUERY 0x04 /* Query for auto-pick was already answered as 'No' */ #define OM_AUTODESTROY 0x08 /* Destroy later to avoid illegal inventry shift */ +#define OM_TOUCHED 0x10 /* Object was touched by player */ /* @@ -3294,7 +3368,7 @@ #define TR_WARNING 72 /* Warning */ #define TR_HIDE_TYPE 73 /* Hide "pval" description */ #define TR_SHOW_MODS 74 /* Always show Tohit/Todam */ -#define TR_XXX1 75 /* XXX1 */ +#define TR_SLAY_GOOD 75 #define TR_LEVITATION 76 /* Feather Falling */ #define TR_LITE 77 /* Permanent Light */ #define TR_SEE_INVIS 78 /* See Invisible */ @@ -3314,7 +3388,7 @@ #define TR_BLESSED 92 /* Item is Blessed */ #define TR_ES_ATTACK 93 /* Fake flag for Smith */ #define TR_ES_AC 94 /* Fake flag for Smith */ -#define TR_XXX5 95 +#define TR_KILL_GOOD 95 #define TR_KILL_ANIMAL 96 #define TR_KILL_EVIL 97 @@ -3338,8 +3412,12 @@ #define TR_ESP_UNIQUE 115 #define TR_FULL_NAME 116 #define TR_FIXED_FLAVOR 117 +#define TR_ADD_L_CURSE 118 +#define TR_ADD_H_CURSE 119 +#define TR_DRAIN_HP 120 +#define TR_DRAIN_MANA 121 -#define TR_FLAG_MAX 118 +#define TR_FLAG_MAX 122 #define TR_FLAG_SIZE 4 @@ -3359,6 +3437,8 @@ #define TRG_RANDOM_CURSE0 0x00002000L /* Item is Random Cursed */ #define TRG_RANDOM_CURSE1 0x00004000L /* Item is Random Cursed */ #define TRG_RANDOM_CURSE2 0x00008000L /* Item is Random Cursed */ +#define TRG_XTRA_DICE 0x00010000L /* Extra dice */ +#define TRG_POWERFUL 0x00020000L /* Item has good value even if Cursed */ #define MAX_CURSE 17 @@ -3482,6 +3562,8 @@ #define RBE_EXP_VAMP 31 #define RBE_DR_MANA 32 #define RBE_SUPERHURT 33 +#define RBE_INERTIA 34 +#define RBE_STUN 35 /*** Monster flag values (hard-coded) ***/ @@ -3720,7 +3802,7 @@ #define RF7_SELF_LITE_2 0x00000800 /* Monster lights itself */ #define RF7_GUARDIAN 0x00001000 /* Guardian of a dungeon */ #define RF7_CHAMELEON 0x00002000 /* Chameleon can change */ -#define RF7_KILL_EXP 0x00004000 /* No exp until you kill it */ +#define RF7_XXXX4XXX 0x00004000 /* Now Empty */ #define RF7_TANUKI 0x00008000 /* Tanuki disguise */ #define RF7_HAS_DARK_1 0x00010000 /* Monster carries darkness */ #define RF7_SELF_DARK_1 0x00020000 /* Monster darkens itself */ @@ -3839,7 +3921,7 @@ #define RF4_RIDING_MASK \ (RF4_SHRIEK) -#define RF5_RIDING_MASK 0L +#define RF5_RIDING_MASK 0UL #define RF6_RIDING_MASK \ (RF6_BLINK | RF6_TPORT | RF6_TRAPS | RF6_DARKNESS | RF6_SPECIAL) @@ -3856,15 +3938,15 @@ RF5_BO_NETH | RF5_BO_WATE | RF5_BO_MANA | RF5_BO_PLAS | \ RF5_BO_ICEE | RF5_MISSILE) -#define RF6_BOLT_MASK 0L +#define RF6_BOLT_MASK 0UL /* * Hack -- "beam" spells that may hurt fellow monsters * Currently "beam" spells are included in "attack" */ -#define RF4_BEAM_MASK 0L +#define RF4_BEAM_MASK 0UL -#define RF5_BEAM_MASK 0L +#define RF5_BEAM_MASK 0UL #define RF6_BEAM_MASK (RF6_PSY_SPEAR) @@ -3895,7 +3977,7 @@ #define RF5_BIG_BALL_MASK \ (RF5_BA_LITE | RF5_BA_DARK | RF5_BA_WATE | RF5_BA_MANA) -#define RF6_BIG_BALL_MASK 0L +#define RF6_BIG_BALL_MASK 0UL /* * Hack -- "breath" spells that may hurt friends @@ -3909,17 +3991,17 @@ RF4_BR_GRAV | RF4_BR_PLAS | RF4_BR_WALL | RF4_BR_MANA | \ RF4_BR_NUKE | RF4_BR_DISI) -#define RF5_BREATH_MASK 0L +#define RF5_BREATH_MASK 0UL -#define RF6_BREATH_MASK 0L +#define RF6_BREATH_MASK 0UL /* * Hack -- "summon" spells * Currently "summon" spells are included in "intelligent" and "indirect" */ -#define RF4_SUMMON_MASK 0L +#define RF4_SUMMON_MASK 0UL -#define RF5_SUMMON_MASK 0L +#define RF5_SUMMON_MASK 0UL #define RF6_SUMMON_MASK \ (RF6_S_KIN | RF6_S_CYBER | RF6_S_MONSTER | RF6_S_MONSTERS | RF6_S_ANT | \ @@ -4363,14 +4445,6 @@ #define get_feat_mimic(C) \ (f_info[(C)->mimic ? (C)->mimic : (C)->feat].mimic) -#define update_playtime() \ -{\ - u32b tmp;\ - tmp = time(NULL);\ - playtime += (tmp - start_time);\ - start_time = tmp;\ -} - /* * Hack -- Prepare to use the "Secure" routines */ @@ -4583,19 +4657,21 @@ extern int PlayerUID; #define BACT_POKER 43 #define BACT_IDENT_ONE 44 #define BACT_RECHARGE_ALL 45 -#define BACT_EVAL_AC 46 -#define MAX_BACT 47 +#define BACT_EVAL_AC 46 +#define BACT_BROKEN_WEAPON 47 +#define MAX_BACT 48 /* * Quest status */ -#define QUEST_STATUS_UNTAKEN 0 -#define QUEST_STATUS_TAKEN 1 -#define QUEST_STATUS_COMPLETED 2 -#define QUEST_STATUS_REWARDED 3 -#define QUEST_STATUS_FINISHED 4 -#define QUEST_STATUS_FAILED 5 -#define QUEST_STATUS_FAILED_DONE 6 +#define QUEST_STATUS_UNTAKEN 0 +#define QUEST_STATUS_TAKEN 1 +#define QUEST_STATUS_COMPLETED 2 +#define QUEST_STATUS_REWARDED 3 +#define QUEST_STATUS_FINISHED 4 +#define QUEST_STATUS_FAILED 5 +#define QUEST_STATUS_FAILED_DONE 6 +#define QUEST_STATUS_STAGE_COMPLETED 7 /* * Quest type @@ -4607,15 +4683,17 @@ extern int PlayerUID; #define QUEST_TYPE_KILL_NUMBER 5 #define QUEST_TYPE_KILL_ALL 6 #define QUEST_TYPE_RANDOM 7 +#define QUEST_TYPE_TOWER 8 /* * Initialization flags */ -#define INIT_SHOW_TEXT 0x01 -#define INIT_ASSIGN 0x02 -#define INIT_CREATE_DUNGEON 0x04 -#define INIT_ONLY_FEATURES 0x08 -#define INIT_ONLY_BUILDINGS 0x10 +#define INIT_NAME_ONLY 0x01 +#define INIT_SHOW_TEXT 0x02 +#define INIT_ASSIGN 0x04 +#define INIT_CREATE_DUNGEON 0x08 +#define INIT_ONLY_FEATURES 0x10 +#define INIT_ONLY_BUILDINGS 0x20 /* * Quest flags @@ -4623,6 +4701,7 @@ extern int PlayerUID; #define QUEST_FLAG_SILENT 0x01 /* no messages fro completion */ #define QUEST_FLAG_PRESET 0x02 /* quest is outside the main dungeon */ #define QUEST_FLAG_ONCE 0x04 /* quest is marked finished after leaving */ +#define QUEST_FLAG_TOWER 0x08 /* Tower quest is special */ /* * Available graphic modes @@ -4726,6 +4805,22 @@ extern int PlayerUID; #define NIKKI_NAMED_PET 21 #define NIKKI_PAT_TELE 22 +#define RECORD_NAMED_PET_NAME 0 +#define RECORD_NAMED_PET_UNNAME 1 +#define RECORD_NAMED_PET_DISMISS 2 +#define RECORD_NAMED_PET_DEATH 3 +#define RECORD_NAMED_PET_MOVED 4 +#define RECORD_NAMED_PET_LOST_SIGHT 5 +#define RECORD_NAMED_PET_DESTROY 6 +#define RECORD_NAMED_PET_EARTHQUAKE 7 +#define RECORD_NAMED_PET_GENOCIDE 8 +#define RECORD_NAMED_PET_WIZ_ZAP 9 +#define RECORD_NAMED_PET_TELE_LEVEL 10 +#define RECORD_NAMED_PET_BLAST 11 +#define RECORD_NAMED_PET_HEAL_LEPER 12 +#define RECORD_NAMED_PET_COMPACT 13 +#define RECORD_NAMED_PET_LOSE_PARENT 14 + #define MAX_MANE 16 #define MAX_MONSPELLS 96 #define MONSPELL_TYPE_BOLT 1 @@ -4846,6 +4941,7 @@ extern int PlayerUID; #define MON_BEGGAR 12 #define MON_LEPER 13 #define MON_BLACK_MARKET 14 +#define MON_LION_HEART 19 #define MON_GHB 39 #define MON_NOV_PRIEST 45 #define MON_GRIP 53 @@ -4870,6 +4966,7 @@ extern int PlayerUID; #define MON_BLUE_HORROR 189 #define MON_GOLD_COINS 195 #define MON_VORPAL_BUNNY 205 +#define MON_MASTER_YEEK 224 #define MON_PRIEST 225 #define MON_D_ELF_PRIEST 226 #define MON_TIGER 230 @@ -4881,9 +4978,13 @@ extern int PlayerUID; #define MON_UMBER_HULK 283 #define MON_ORC_CAPTAIN 285 #define MON_BERSERKER 293 +#define MON_IMP 296 #define MON_SHAGRAT 314 #define MON_GORBAG 315 #define MON_STONE_GIANT 321 +#define MON_LIZARD_KING 332 +#define MON_WYVERN 334 +#define MON_SABRE_TIGER 339 #define MON_D_ELF_LORD 348 #define MON_FIRE_VOR 354 #define MON_WATER_VOR 355 @@ -4903,6 +5004,7 @@ extern int PlayerUID; #define MON_GWAIHIR 410 #define MON_ANGEL 417 #define MON_ADAMANT_COINS 423 +#define MON_COLBRAN 435 #define MON_SPIRIT_NAGA 436 #define MON_GACHAPIN 441 #define MON_BASILISK 453 @@ -4912,6 +5014,7 @@ extern int PlayerUID; #define MON_SHADOW_DRAKE 471 #define MON_GHOST 477 #define MON_OGRE_SHAMAN 479 +#define MON_GHOUL_KING 483 #define MON_NINJA 485 #define MON_BICLOPS 490 #define MON_IVORY_MONK 492 @@ -4938,11 +5041,14 @@ extern int PlayerUID; #define MON_MANDOR 598 #define MON_SHIM_VOR 600 #define MON_SERAPH 605 +#define MON_BARON_HELL 609 #define MON_KAVLAX 616 #define MON_ETTIN 621 #define MON_VAMPIRE_LORD 623 #define MON_JUBJUB 640 +#define MON_G_C_DRAKE 646 #define MON_CLUB_DEMON 648 +#define MON_F_ANGEL 652 #define MON_D_ELF_SORC 657 #define MON_MASTER_LICH 658 #define MON_RINALDO 660 @@ -4952,12 +5058,14 @@ extern int PlayerUID; #define MON_JACK_SHADOWS 670 #define MON_LLOIGOR 682 #define MON_DREADMASTER 690 +#define MON_DROLEM 691 #define MON_DAWN 693 #define MON_NAZGUL 696 #define MON_SMAUG 697 #define MON_STORMBRINGER 698 #define MON_ULTRA_PALADIN 699 #define MON_G_TITAN 702 +#define MON_S_TYRANNO 705 #define MON_FAFNER 712 #define MON_G_BALROG 720 #define MON_TIME_HOUND 725 @@ -4979,6 +5087,7 @@ extern int PlayerUID; #define MON_BRAND 773 #define MON_SHADOWLORD 774 #define MON_ARCHLICH 776 +#define MON_JABBERWOCK 778 #define MON_CHAOS_HOUND 779 #define MON_ULT_BEHOLDER 781 #define MON_SHAMBLER 786 @@ -5033,8 +5142,10 @@ extern int PlayerUID; #define MON_D_ELF_SHADE 886 #define MON_MANA_HOUND 887 #define MON_VENOM_WYRM 890 +#define MON_TROLL_KING 894 #define MON_BAZOOKER 896 #define MON_SHARD_VOR 897 +#define MON_ELF_LORD 900 #define MON_MASTER_MYS 916 #define MON_G_MASTER_MYS 917 #define MON_IE 921 @@ -5080,13 +5191,18 @@ extern int PlayerUID; #define MON_CHAMELEON 1040 #define MON_CHAMELEON_K 1041 #define MON_TOPAZ_MONK 1047 +#define MON_M_MINDCRAFTER 1056 +#define MON_ELDER_VAMPIRE 1058 #define MON_NOBORTA 1059 #define MON_MORI_TROLL 1060 #define MON_BARNEY 1061 #define MON_GROO 1062 #define MON_LOUSY 1063 +#define MON_WYRM_SPACE 1064 #define MON_JIZOTAKO 1065 #define MON_TANUKI 1067 +#define MON_HATOPOPPO 1083 +#define MON_KOGAN 1096 /* Maximum "Nazguls" number */ #define MAX_NAZGUL_NUM 5 @@ -5219,7 +5335,7 @@ extern int PlayerUID; #define DF1_GLASS_DOOR 0x00000200L #define DF1_CAVE 0x00000400L #define DF1_CAVERN 0x00000800L -#define DF1_XXX12 0x00001000L +#define DF1_ARCADE 0x00001000L #define DF1_XXX13 0x00002000L #define DF1_XXX14 0x00004000L #define DF1_XXX15 0x00008000L @@ -5368,13 +5484,13 @@ extern int PlayerUID; #define IS_FAST() (p_ptr->fast || music_singing(MUSIC_SPEED) || music_singing(MUSIC_SHERO)) #define IS_INVULN() (p_ptr->invuln || music_singing(MUSIC_INVULN)) #define IS_HERO() (p_ptr->hero || music_singing(MUSIC_HERO) || music_singing(MUSIC_SHERO)) -#define IS_BLESSED() (p_ptr->blessed || music_singing(MUSIC_BLESS)) +#define IS_BLESSED() (p_ptr->blessed || music_singing(MUSIC_BLESS) || hex_spelling(HEX_BLESS)) #define IS_OPPOSE_ACID() (p_ptr->oppose_acid || music_singing(MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU)) #define IS_OPPOSE_ELEC() (p_ptr->oppose_elec || music_singing(MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU)) #define IS_OPPOSE_FIRE() (p_ptr->oppose_fire || music_singing(MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU)) #define IS_OPPOSE_COLD() (p_ptr->oppose_cold || music_singing(MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU)) #define IS_OPPOSE_POIS() (p_ptr->oppose_pois || music_singing(MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU)) -#define IS_TIM_ESP() (p_ptr->tim_esp || music_singing(MUSIC_MIND)) +#define IS_TIM_ESP() (p_ptr->tim_esp || music_singing(MUSIC_MIND) || (p_ptr->concent >= CONCENT_TELE_THRESHOLD)) #define IS_TIM_STEALTH() (p_ptr->tim_stealth || music_singing(MUSIC_STEALTH)) /* Multishadow effects is determined by turn */ @@ -5451,3 +5567,80 @@ extern int PlayerUID; */ #define SCROBJ_FAKE_OBJECT 0x00000001 #define SCROBJ_FORCE_DETAIL 0x00000002 + +/* + * For travel command (auto run) + */ +#define TRAVEL + +/* Sniper */ +#define SP_NONE 0 +#define SP_LITE 1 +#define SP_AWAY 2 +#define SP_FIRE 3 +#define SP_KILL_WALL 4 +#define SP_COLD 5 +#define SP_KILL_TRAP 6 +#define SP_ELEC 7 +#define SP_PIERCE 8 +#define SP_RUSH 9 +#define SP_DOUBLE 10 +#define SP_EXPLODE 11 +#define SP_EVILNESS 12 +#define SP_HOLYNESS 13 +#define SP_FINAL 14 +#define SP_NEEDLE 15 + +#define CONCENT_RADAR_THRESHOLD 2 +#define CONCENT_TELE_THRESHOLD 5 + +/* Hex */ +#define hex_spelling_any() \ + ((p_ptr->realm1 == REALM_HEX) && (p_ptr->magic_num1[0])) +#define hex_spelling(X) \ + ((p_ptr->realm1 == REALM_HEX) && (p_ptr->magic_num1[0] & (1L << (X)))) +/* 1st book */ +#define HEX_BLESS 0 +#define HEX_CURE_LIGHT 1 +#define HEX_DEMON_AURA 2 +#define HEX_STINKING_MIST 3 +#define HEX_XTRA_MIGHT 4 +#define HEX_CURSE_WEAPON 5 +#define HEX_DETECT_EVIL 6 +#define HEX_PATIENCE 7 +/* 2nd book */ +#define HEX_ICE_ARMOR 8 +#define HEX_CURE_SERIOUS 9 +#define HEX_INHAIL 10 +#define HEX_VAMP_MIST 11 +#define HEX_RUNESWORD 12 +#define HEX_CONFUSION 13 +#define HEX_BUILDING 14 +#define HEX_ANTI_TELE 15 +/* 3rd book */ +#define HEX_SHOCK_CLOAK 16 +#define HEX_CURE_CRITICAL 17 +#define HEX_RECHARGE 18 +#define HEX_RAISE_DEAD 19 +#define HEX_CURSE_ARMOUR 20 +#define HEX_SHADOW_CLOAK 21 +#define HEX_PAIN_TO_MANA 22 +#define HEX_EYE_FOR_EYE 23 +/* 4th book */ +#define HEX_ANTI_MULTI 24 +#define HEX_RESTORE 25 +#define HEX_DRAIN_CURSE 26 +#define HEX_VAMP_BLADE 27 +#define HEX_STUN_MONSTERS 28 +#define HEX_SHADOW_MOVE 29 +#define HEX_ANTI_MAGIC 30 +#define HEX_REVENGE 31 + +/* + Language selection macro +*/ +#ifdef JP +#define _(JAPANESE,ENGLISH) (JAPANESE) +#else +#define _(JAPANESE,ENGLISH) (ENGLISH) +#endif