OSDN Git Service

[Feature] #37285 モンスター種族特性に「天使」を追加。 / Add trait of monster race, 'Angel'.
authorDeskull <deskull@users.sourceforge.jp>
Sun, 9 Sep 2018 02:23:27 +0000 (11:23 +0900)
committerDeskull <deskull@users.sourceforge.jp>
Sun, 9 Sep 2018 02:23:27 +0000 (11:23 +0900)
lib/edit/r_info.txt
src/defines.h
src/init1.c
src/monster1.c

index a673d67..9cae68e 100644 (file)
@@ -7066,7 +7066,7 @@ B:HIT:HURT:3d4
 F:FORCE_MAXHP | FORCE_SLEEP | NO_FEAR | SELF_LITE_1 |
 F:ONLY_ITEM | DROP_2D2 | GOOD | CAN_FLY |
 F:TAKE_ITEM | OPEN_DOOR | BASH_DOOR |
-F:IM_ACID | IM_POIS | NO_CONF | NO_SLEEP
+F:IM_ACID | IM_POIS | NO_CONF | NO_SLEEP | ANGEL
 S:1_IN_3 | 
 S:BLIND | CONF | SCARE | FORGET
 D:$A lesser angel wearing little more than a loincloth - its steely skin 
@@ -7854,7 +7854,7 @@ B:HIT:HURT:3d5
 F:FORCE_MAXHP | FORCE_SLEEP | NO_FEAR | GOOD |
 F:ONLY_ITEM | DROP_2D2 | CAN_FLY | SELF_LITE_1 |
 F:SMART | TAKE_ITEM | OPEN_DOOR | BASH_DOOR |
-F:IM_FIRE | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP | RES_TELE
+F:IM_FIRE | IM_COLD | IM_POIS | NO_CONF | NO_SLEEP | RES_TELE | ANGEL
 S:1_IN_3 | 
 S:HEAL | HASTE | BLIND | CONF | SCARE
 D:$A lesser angel protected by an aura of holiness.  Its muscular form looks 
@@ -8949,7 +8949,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | NO_FEAR | GOOD | CAN_FLY |
 F:ONLY_ITEM | DROP_1D2 | DROP_2D2 | REFLECTING | RES_TELE |
 F:SMART | TAKE_ITEM | OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | 
 F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | 
-F:NO_CONF | NO_SLEEP | SELF_LITE_2 |
+F:NO_CONF | NO_SLEEP | SELF_LITE_2 | ANGEL
 S:1_IN_3 | 
 S:HEAL | HASTE | BLIND | SCARE | MIND_BLAST | BO_FIRE | 
 S:S_MONSTERS
@@ -10887,7 +10887,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | SMART | NO_FEAR | GOOD | CAN_FLY |
 F:ONLY_ITEM | DROP_1D2 | DROP_2D2 | REFLECTING | RES_TELE |
 F:TAKE_ITEM | OPEN_DOOR | BASH_DOOR | MOVE_BODY | 
 F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | 
-F:NO_CONF | NO_SLEEP | SELF_LITE_2 |
+F:NO_CONF | NO_SLEEP | SELF_LITE_2 | ANGEL
 S:1_IN_11 | 
 S:HEAL | HASTE | TELE_AWAY | CONF | BO_MANA | BO_PLAS | 
 S:S_MONSTERS
@@ -11914,7 +11914,7 @@ F:FORCE_SLEEP |
 F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_GOOD | NO_FEAR | EVIL | REFLECTING |
 F:SMART | TAKE_ITEM | OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | RES_DARK |
 F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_TELE | RES_NETH |
-F:CAN_FLY | SELF_LITE_2 |
+F:CAN_FLY | SELF_LITE_2 | ANGEL
 S:1_IN_3 | 
 S:TELE_TO | BLIND | SCARE | CAUSE_2 | CAUSE_4 | BO_MANA | 
 S:S_DEMON | BO_NETH | INVULNER
@@ -12151,7 +12151,7 @@ B:HIT:HURT:8d6
 F:FORCE_SLEEP | SELF_LITE_2 |
 F:ONLY_ITEM | DROP_2D2 | DROP_3D2 | DROP_GOOD | NO_FEAR | GOOD | REFLECTING |
 F:SMART | TAKE_ITEM | OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | RES_LITE |
-F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_TELE | CAN_FLY 
+F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_TELE | CAN_FLY | ANGEL
 S:1_IN_3 | 
 S:TELE_TO | BLIND | SCARE | CAUSE_2 | CAUSE_4 | BO_MANA | 
 S:S_MONSTERS | INVULNER
@@ -14831,7 +14831,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | CAN_FLY |
 F:ONLY_ITEM | DROP_3D2 | DROP_4D2 | DROP_GOOD | 
 F:SMART | TAKE_ITEM | OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | 
 F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_LITE | RES_TELE |
-F:NO_CONF | NO_SLEEP | SELF_LITE_2 |
+F:NO_CONF | NO_SLEEP | SELF_LITE_2 | ANGEL
 S:1_IN_2 | 
 S:TELE_TO | BLIND | 
 S:BO_MANA | BA_FIRE |
@@ -14862,7 +14862,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | SMART | REFLECTING | AURA_COLD |
 F:ONLY_ITEM | DROP_3D2 | DROP_4D2 | DROP_GOOD | CAN_FLY |
 F:TAKE_ITEM | OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | 
 F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_DARK | RES_TELE
-F:NO_CONF | NO_SLEEP |
+F:NO_CONF | NO_SLEEP | ANGEL
 S:1_IN_2 | 
 S:TELE_TO | BLIND | 
 S:BO_MANA | BA_NETH |
@@ -14981,7 +14981,7 @@ B:HIT:HURT:15d10
 B:HIT:HURT:15d10
 F:UNIQUE | MALE | FORCE_MAXHP | CAN_SPEAK | NO_FEAR | GOOD |
 F:FORCE_SLEEP | SMART | AURA_ELEC | REFLECTING | RES_TELE |
-F:ESCORT | CAN_FLY | POWERFUL | SELF_LITE_1 | SELF_LITE_2 |
+F:ESCORT | CAN_FLY | POWERFUL | SELF_LITE_1 | SELF_LITE_2 | ANGEL
 F:ONLY_ITEM | DROP_3D2 | DROP_4D2 | DROP_GOOD |
 F:TAKE_ITEM | OPEN_DOOR | BASH_DOOR | MOVE_BODY |
 F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_LITE |
@@ -19065,7 +19065,7 @@ F:EMPTY_MIND | WEIRD_MIND | REGENERATE | SHAPECHANGER | ATTR_ANY | POWERFUL |
 F:AURA_FIRE | AURA_ELEC | OPEN_DOOR | BASH_DOOR | PASS_WALL | KILL_WALL |
 F:TAKE_ITEM | KILL_ITEM | ORC | TROLL | GIANT | DRAGON | DEMON | UNDEAD |
 F:EVIL | ANIMAL | GOOD | AURA_COLD | NONLIVING | HURT_ROCK |
-F:IM_ACID | IM_ELEC | IM_FIRE | IM_COLD | IM_POIS | HUMAN |
+F:IM_ACID | IM_ELEC | IM_FIRE | IM_COLD | IM_POIS | HUMAN | ANGEL
 F:RES_LITE | RES_DARK | RES_NETH | RES_WATE | RES_PLAS | RES_SHAR | RES_SOUN |
 F:RES_CHAO | RES_NEXU | RES_DISE | RES_WALL | RES_INER | RES_TIME | RES_GRAV |
 F:RES_TELE | NO_FEAR | NO_STUN | NO_CONF | NO_SLEEP |
@@ -19352,7 +19352,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | GOOD | SELF_LITE_2 |
 F:ONLY_ITEM | DROP_1D2 | DROP_2D2 | DROP_GOOD |
 F:SMART | TAKE_ITEM | OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | 
 F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_LITE |
-F:NO_CONF | NO_SLEEP | NO_FEAR | CAN_FLY |
+F:NO_CONF | NO_SLEEP | NO_FEAR | CAN_FLY | ANGEL
 S:1_IN_4 | 
 S:HEAL | HASTE | TELE_AWAY | BO_MANA | BO_PLAS | CAUSE_4 |
 S:S_MONSTERS | S_ANGEL | INVULNER | PSY_SPEAR | S_DRAGON | DISPEL
@@ -19374,7 +19374,7 @@ F:FORCE_SLEEP | FORCE_MAXHP | GOOD | SELF_LITE_2 |
 F:ONLY_ITEM | DROP_3D2 | DROP_4D2 | DROP_GOOD | 
 F:SMART | TAKE_ITEM | OPEN_DOOR | BASH_DOOR | POWERFUL | MOVE_BODY | 
 F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | RES_LITE |
-F:NO_CONF | NO_SLEEP | NO_FEAR | CAN_FLY |
+F:NO_CONF | NO_SLEEP | NO_FEAR | CAN_FLY | ANGEL
 S:1_IN_3 | 
 S:TELE_TO | BLIND | SCARE | CAUSE_4 | BO_MANA | PSY_SPEAR | INVULNER
 S:S_ANGEL | S_DRAGON | BA_LITE | HEAL | DISPEL
@@ -20500,7 +20500,7 @@ W:50:100:0:1:0:0
 B:TOUCH:EAT_GOLD
 B:TOUCH:EAT_ITEM
 F:FORCE_MAXHP | FORCE_SLEEP |
-F:CAN_FLY | UNIQUE2 |
+F:CAN_FLY | UNIQUE2 | ANGEL
 F:TAKE_ITEM | OPEN_DOOR |
 F:IM_FIRE | IM_COLD | IM_ELEC | IM_ACID | IM_POIS | NO_CONF | NO_SLEEP
 S:1_IN_3 | 
@@ -20516,7 +20516,7 @@ I:130:30d10:30:50:255
 W:30:30:0:1:10000:1010
 B:TOUCH:EAT_GOLD
 F:FORCE_MAXHP | FORCE_SLEEP |
-F:CAN_FLY | UNIQUE2 |
+F:CAN_FLY | UNIQUE2 | ANGEL
 F:TAKE_ITEM | OPEN_DOOR |
 F:IM_FIRE | IM_COLD | IM_ELEC | IM_ACID | IM_POIS | NO_CONF | NO_SLEEP
 S:1_IN_3 | 
index 9432411..ceacce6 100644 (file)
 #define RF3_HURT_ROCK       0x00002000  /*!< モンスター特性: 岩石溶解(GF_KILL_WALL)でダメージを受ける / Hurt by rock remover */
 #define RF3_HURT_FIRE       0x00004000  /*!< モンスター特性: 火炎が弱点 / Hurt badly by fire */
 #define RF3_HURT_COLD       0x00008000  /*!< モンスター特性: 冷気が弱点 / Hurt badly by cold */
-#define RF3_XXX16           0x00010000  /*!< モンスター特性: 未使用 / XXX */
+#define RF3_ANGEL           0x00010000  /*!< モンスター特性: 天使 / ANGEL */
 #define RF3_XXX17           0x00020000  /*!< モンスター特性: 未使用 / XXX */
 #define RF3_XXX18           0x00040000  /*!< モンスター特性: 未使用 / XXX */
 #define RF3_XXX19           0x00080000  /*!< モンスター特性: 未使用 / XXX */
index 4b4784a..2e2353e 100644 (file)
@@ -365,7 +365,7 @@ static cptr r_info_flags3[] =
        "HURT_ROCK",
        "HURT_FIRE",
        "HURT_COLD",
-       "XXX",
+       "ANGEL",
        "XXX",
        "XXX",
        "XXX",
index 270ad1c..31d91b9 100644 (file)
@@ -625,7 +625,7 @@ static void roff_aux(MONRACE_IDX r_idx, BIT_FLAGS mode)
                if (flags3 & RF3_UNDEAD)          hook_c_roff(TERM_VIOLET, _("アンデッドの", " undead"));
                if (flags3 & RF3_AMBERITE)        hook_c_roff(TERM_VIOLET, _("アンバーの王族の", " Amberite"));
 
-               if ((flags3 & (RF3_DRAGON | RF3_DEMON | RF3_GIANT | RF3_TROLL | RF3_ORC)) || (flags2 & (RF2_QUANTUM | RF2_HUMAN)))
+               if ((flags3 & (RF3_DRAGON | RF3_DEMON | RF3_GIANT | RF3_TROLL | RF3_ORC | RF3_ANGEL)) || (flags2 & (RF2_QUANTUM | RF2_HUMAN)))
                {
                /* Describe the "race" */
                        if (flags3 & RF3_DRAGON)   hook_c_roff(TERM_ORANGE, _("ドラゴン", " dragon"));
@@ -635,6 +635,7 @@ static void roff_aux(MONRACE_IDX r_idx, BIT_FLAGS mode)
                        if (flags3 & RF3_ORC)      hook_c_roff(TERM_UMBER, _("オーク", " orc"));
                        if (flags2 & RF2_HUMAN)    hook_c_roff(TERM_L_WHITE, _("人間", " human"));
                        if (flags2 & RF2_QUANTUM)  hook_c_roff(TERM_VIOLET, _("量子生物", " quantum creature"));
+                       if (flags3 & RF3_ANGEL)    hook_c_roff(TERM_YELLOW, _("天使", " angel"));
                }
                else
                {