OSDN Git Service

[Feature] #38790 新性格『チャージマン』台詞部と特性部実装。 / Implement specific messages and features...
authorDeskull <deskull@users.sourceforge.jp>
Fri, 7 Dec 2018 12:15:41 +0000 (21:15 +0900)
committerDeskull <deskull@users.sourceforge.jp>
Fri, 7 Dec 2018 12:29:05 +0000 (21:29 +0900)
src/bldg.c
src/effects.c
src/files.c
src/mspells4.c
src/player-damage.c
src/trap.c
src/xtra1.c

index f8d9975..0b57b9d 100644 (file)
@@ -4353,6 +4353,7 @@ void do_cmd_quest(void)
                if (!get_check(_("クエストに入りますか?", "Do you enter? "))) return;
                if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON))
                        msg_print(_("『とにかく入ってみようぜぇ。』", ""));
+               else if(p_ptr->pseikaku == SEIKAKU_CHARGEMAN) msg_print("『全滅してやるぞ!』");
 
                /* Player enters a new quest */
                p_ptr->oldpy = 0;
index 5f391f3..ef781a0 100644 (file)
@@ -697,6 +697,7 @@ bool set_image(TIME_EFFECT v)
        v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
 
        if (p_ptr->is_dead) return FALSE;
+       if (p_ptr->pseikaku == SEIKAKU_CHARGEMAN) v = 0;
 
 
        /* Open */
index f27b2da..4c016d9 100644 (file)
@@ -2588,6 +2588,8 @@ static void player_flags(BIT_FLAGS flgs[TR_FLAG_SIZE])
 
        if (p_ptr->pseikaku == SEIKAKU_SEXY)
                add_flag(flgs, TR_AGGRAVATE);
+       if (p_ptr->pseikaku == SEIKAKU_CHARGEMAN)
+               add_flag(flgs, TR_RES_CONF);
        if (p_ptr->pseikaku == SEIKAKU_MUNCHKIN)
        {
                add_flag(flgs, TR_RES_BLIND);
index a0a31c3..d7f267f 100644 (file)
@@ -229,6 +229,11 @@ void spell_RF4_DISPEL(MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
 
                if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON))
                        msg_print(_("やりやがったな!", ""));
+               else if ((p_ptr->pseikaku == SEIKAKU_CHARGEMAN))
+               {
+                       if (randint0(2) == 0) msg_print(_("ジュラル星人め!", ""));
+                       else msg_print(_("弱い者いじめは止めるんだ!", ""));
+               }
 
                learn_spell(MS_DISPEL);
        }
@@ -2267,7 +2272,12 @@ void spell_RF6_TELE_AWAY(MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
        {
                if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON))
                        msg_print(_("くっそ~", ""));
-               
+               else if ((p_ptr->pseikaku == SEIKAKU_CHARGEMAN))
+               {
+                       if (randint0(2) == 0) msg_print(_("ジュラル星人め!", ""));
+                       else msg_print(_("弱い者いじめは止めるんだ!", ""));
+               }
+
                learn_spell(MS_TELE_AWAY);
                teleport_player_away(m_idx, 100);
        }
index 77d850d..05e2ac0 100644 (file)
@@ -300,6 +300,11 @@ int inven_damage(inven_func typ, int perc)
 #ifdef JP
                                if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON))
                                        msg_print("やりやがったな!");
+                               else if ((p_ptr->pseikaku == SEIKAKU_CHARGEMAN))
+                               {
+                                       if (randint0(2) == 0) msg_print(_("ジュラル星人め!", ""));
+                                       else msg_print(_("弱い者いじめは止めるんだ!", ""));
+                               }
 #endif
 
                                /* Potions smash open */
index 9bb329f..5c93fdf 100644 (file)
@@ -321,6 +321,9 @@ void hit_trap(bool break_trap)
                        msg_print(_("落とし戸に落ちた!", "You have fallen through a trap door!"));\r
                        if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON))\r
                                msg_print(_("くっそ~!", ""));\r
+                       else if((p_ptr->pseikaku == SEIKAKU_CHARGEMAN))\r
+                               msg_print(_("ジュラル星人の仕業に違いない!", ""));\r
+\r
 \r
                        sound(SOUND_FALL);\r
                        dam = damroll(2, 8);\r
index fcb013a..e708b2c 100644 (file)
@@ -3860,10 +3860,17 @@ void calc_bonuses(void)
 
        /* Sexy Gal */
        if (p_ptr->pseikaku == SEIKAKU_SEXY) p_ptr->cursed |= (TRC_AGGRAVATE);
+
        if (p_ptr->pseikaku == SEIKAKU_NAMAKE) p_ptr->to_m_chance += 10;
        if (p_ptr->pseikaku == SEIKAKU_KIREMONO) p_ptr->to_m_chance -= 3;
        if ((p_ptr->pseikaku == SEIKAKU_GAMAN) || (p_ptr->pseikaku == SEIKAKU_CHIKARA)) p_ptr->to_m_chance++;
 
+       if (p_ptr->pseikaku == SEIKAKU_CHARGEMAN)
+       {
+               p_ptr->to_m_chance += 5;
+               p_ptr->resist_conf = TRUE;
+       }
+
        /* Lucky man */
        if (p_ptr->pseikaku == SEIKAKU_LUCKY) p_ptr->muta3 |= MUT3_GOOD_LUCK;