X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fdefines.h;h=841e50e7c1a342281bc03cf839ea44af0d5c743a;hb=3c26f0ccd00f36abaf409dc18fad7aec0def05bb;hp=1f8394e70e6727593c04379d361ede39a007cd56;hpb=9075193d3af62d3600a0de46a177e6c12ef410f1;p=hengband%2Fhengband.git diff --git a/src/defines.h b/src/defines.h index 1f8394e70..841e50e7c 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 6 +#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 @@ -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 @@ -1547,7 +1561,7 @@ #define EGO_DWARVEN 10 #define EGO_PERMANENCE 11 #define EGO_YOIYAMI 12 -/* xxx */ +#define EGO_URUKISH 13 /* xxx */ /* xxx */ @@ -1773,7 +1787,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 +1797,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 +1821,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 +1834,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 +1846,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 +1857,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 +1881,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 +1973,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 @@ -2413,6 +2479,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 +2638,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 +2845,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 +2953,7 @@ #define ACTION_KATA 6 #define ACTION_SING 7 #define ACTION_HAYAGAKE 8 +#define ACTION_SPELL 9 /* Empty hand status */ @@ -3295,7 +3365,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 */ @@ -3315,7 +3385,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 @@ -3339,8 +3409,10 @@ #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_FLAG_MAX 118 +#define TR_FLAG_MAX 120 #define TR_FLAG_SIZE 4 @@ -3360,6 +3432,7 @@ #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 MAX_CURSE 17 @@ -3483,6 +3556,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) ***/ @@ -3721,7 +3796,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 */ @@ -3840,7 +3915,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) @@ -3857,15 +3932,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) @@ -3896,7 +3971,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 @@ -3910,17 +3985,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 | \ @@ -4364,14 +4439,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 */ @@ -4584,19 +4651,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 @@ -4608,15 +4677,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 @@ -4624,6 +4695,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 @@ -4863,6 +4935,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 @@ -4887,6 +4960,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 @@ -4898,9 +4972,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 @@ -4920,6 +4998,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 @@ -4929,6 +5008,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 @@ -4955,11 +5035,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 @@ -4969,12 +5052,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 @@ -4996,6 +5081,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 @@ -5050,8 +5136,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 @@ -5097,13 +5185,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 @@ -5236,7 +5329,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 @@ -5385,13 +5478,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 */ @@ -5468,3 +5561,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