OSDN Git Service

[Feature] ラフィーIIのセリフを設定。ダメージを受けた際のメッセージもラフィーIIの時は変わるように
authorSlimebreath6078 <slimebreath6078@yahoo.co.jp>
Fri, 29 Dec 2023 16:46:42 +0000 (01:46 +0900)
committerSlimebreath6078 <slimebreath6078@yahoo.co.jp>
Mon, 12 Feb 2024 11:26:09 +0000 (20:26 +0900)
流石に雷鳴のように吠えたりくしゃくしゃになるのは違和感があるため、ダメージを受けた際のメッセージもこの子だけ特殊にした

lib/file/mondeath.txt
lib/file/mondeath_j.txt
lib/file/monspeak.txt
lib/file/monspeak_j.txt
src/monster/monster-pain-describer.cpp

index 05afe19..549eae6 100644 (file)
@@ -89,5 +89,8 @@ says, 'Why... my plasma power loses... even though I remodeled my whole body...'
 N:1345:GREAT THING, the Huge Battle Ship
 is destroyed.  FINAL ZONE IS OVER.
 
+N:1355:Laffey II
+says, 'My battle... isn't over yet... Nope.'
+
 N:*:Default
 shouts, 'AAAARRRGGGHHH!!!'
index a65a981..6827136 100644 (file)
@@ -110,5 +110,8 @@ N:1333:『プロフェッサー・オオツキ』
 N:1345:巨大戦艦『グレート・シング』
 を撃破した。FINAL ZONE IS OVER.
 
+N:1355:ラフィーII
+「ラフィーの戦いは…これで終わりじゃない…うん」
+
 N:*:Default
 「グアァァァ!」
index cb36dca..306b3fe 100644 (file)
@@ -901,6 +901,13 @@ says, 'Let's talk meaningfully.'
 says, 'If you want, I can introduce you to Lord Lucifer.'
 says, 'Do you feel like ending your life in such a dimly-lit dungeon?'
 
+N:1355:Laffey II
+says, 'Connection established. Deploying...!'
+says, 'As long as I can shoot, I won't give up...'
+says, 'First things first, we gotta beat baddies... Yep, hurry...'
+says, 'Located a target, I'll begin to eliminate...!'
+says, '"The Ship That Would Not Die" won't go down that easy...'
+
 N:*:Default lines
 cackles evilly.
 cackles diabolically.
index b32fb6a..efcb89b 100644 (file)
@@ -1183,6 +1183,13 @@ N:1346:地獄の論客『カイム』
 「君さえその気であれば、私がルシファー様に口添えをしてもよいのだが。」
 「こんな薄暗いダンジョンで、人生を終える気かね?」
 
+N:1355:ラフィーII
+「接続完了、展開…!」
+「撃てる限り、諦めない…」
+「まずは敵を倒す…うん、早く…」
+「目標発見、殲滅開始…!」
+「「不死身の船」、簡単には沈まない…」
+
 N:*:Default lines
 #cackles evilly.
 は邪悪に笑っている。
index 795431a..c8a9c05 100644 (file)
@@ -1,5 +1,6 @@
 #include "monster/monster-pain-describer.h"
 #include "monster-race/monster-race.h"
+#include "monster-race/race-indice-types.h"
 #include "monster/monster-describer.h"
 #include "system/floor-type-definition.h"
 #include "system/monster-entity.h"
@@ -33,151 +34,151 @@ static auto d_char_is_any_of(concptr symbols)
     };
 }
 
-static const std::vector<pain_message_type> pain_messages{
-    { d_char_is_any_of(",ejmvwQ"),
-        {
-            { 95, _("はほとんど気にとめていない。", " barely notices.") },
-            { 75, _("はしり込みした。", " flinches.") },
-            { 50, _("は縮こまった。", " squelches.") },
-            { 35, _("は痛みに震えた。", " quivers in pain.") },
-            { 20, _("は身もだえした。", " writhes about.") },
-            { 10, _("は苦痛で身もだえした。", " writhes in agony.") },
-            { 0, _("はぐにゃぐにゃと痙攣した。", " jerks limply.") },
-        } },
-    { d_char_is_any_of("l"),
-        {
-            { 95, _("はほとんど気にとめていない。", " barely notices.") },
-            { 75, _("はしり込みした。", " flinches.") },
-            { 50, _("は躊躇した。", " hesitates.") },
-            { 35, _("は痛みに震えた。", " quivers in pain.") },
-            { 20, _("は身もだえした。", " writhes about.") },
-            { 10, _("は苦痛で身もだえした。", " writhes in agony.") },
-            { 0, _("はぐにゃぐにゃと痙攣した。", " jerks limply.") },
-        } },
-    { d_char_is_any_of("g#+<>"),
-        {
-            { 95, _("は攻撃に肩をすくめた。", " shrugs off the attack.") },
-            { 75, _("は雷鳴のように吠えた。", " roars thunderously.") },
-            { 50, _("は苦しげに吠えた。", " rumbles.") },
-            { 35, _("はうめいた。", " grunts.") },
-            { 20, _("は攻撃を気にとめていない。", " ignores the attack.") },
-            { 10, _("は躊躇した。", " hesitates.") },
-            { 0, _("はくしゃくしゃになった。", " crumples.") },
-        } },
-    { [](const MonsterEntity &monster) {
-        const auto &monrace = monster.get_monrace();
-        return d_char_is_any_of("JMR")(monster) || !isalpha(monrace.d_char); },
-        {
-            { 95, _("はほとんど気にとめていない。", " barely notices.") },
-            { 75, _("はシーッと鳴いた。", " hisses.") },
-            { 50, _("は怒って頭を上げた。", " rears up in anger.") },
-            { 35, _("は猛然と威嚇した。", " hisses furiously.") },
-            { 20, _("は身もだえした。", " writhes about.") },
-            { 10, _("は苦痛で身もだえした。", " writhes in agony.") },
-            { 0, _("はぐにゃぐにゃと痙攣した。", " jerks limply.") },
-        } },
-    { d_char_is_any_of("f"),
-        {
-            { 95, _("は攻撃に肩をすくめた。", " shrugs off the attack.") },
-            { 75, _("は吠えた。", " roars.") },
-            { 50, _("は怒って吠えた。", " growls angrily.") },
-            { 35, _("は痛みでシーッと鳴いた。", " hisses with pain.") },
-            { 20, _("は痛みで弱々しく鳴いた。", " mewls in pain.") },
-            { 10, _("は苦痛にうめいた。", " hisses in agony.") },
-            { 0, _("は哀れな鳴き声を出した。", " mewls pitifully.") },
-        } },
-    { d_char_is_any_of("acFIKS"),
-        {
-            { 95, _("は攻撃を気にとめていない。", " ignores the attack.") },
-            { 75, _("はキーキー鳴いた。", " chitters.") },
-            { 50, _("はヨロヨロ逃げ回った。", " scuttles about.") },
-            { 35, _("はうるさく鳴いた。", " twitters.") },
-            { 20, _("は痛みに痙攣した。", " jerks in pain.") },
-            { 10, _("は苦痛で痙攣した。", " jerks in agony.") },
-            { 0, _("はピクピクひきつった。", " twitches.") },
-        } },
-    { d_char_is_any_of("B"),
-        {
-            { 95, _("はさえずった。", " chirps.") },
-            { 75, _("はピーピー鳴いた。", " twitters.") },
-            { 50, _("はギャーギャー鳴いた。", " squawks.") },
-            { 35, _("はギャーギャー鳴きわめいた。", " chatters.") },
-            { 20, _("は苦しんだ。", " jeers.") },
-            { 10, _("はのたうち回った。", " flutters about.") },
-            { 0, _("はキーキーと鳴き叫んだ。", " squeaks.") },
-        } },
-    { d_char_is_any_of("duDLUW"),
-        {
-            { 95, _("は攻撃を気にとめていない。", " ignores the attack.") },
-            { 75, _("はしり込みした。", " flinches.") },
-            { 50, _("は痛みでシーッと鳴いた。", " hisses in pain.") },
-            { 35, _("は痛みでうなった。", " snarls with pain.") },
-            { 20, _("は痛みに吠えた。", " roars with pain.") },
-            { 10, _("は苦しげに叫んだ。", " gasps.") },
-            { 0, _("は弱々しくうなった。", " snarls feebly.") },
-        } },
-    { d_char_is_any_of("s"),
-        {
-            { 95, _("は攻撃を気にとめていない。", " ignores the attack.") },
-            { 75, _("は攻撃に肩をすくめた。", " shrugs off the attack.") },
-            { 50, _("はカタカタと笑った。", " rattles.") },
-            { 35, _("はよろめいた。", " stumbles.") },
-            { 20, _("はカタカタ言った。", " rattles.") },
-            { 10, _("はよろめいた。", " staggers.") },
-            { 0, _("はガタガタ言った。", " clatters.") },
-        } },
-    { d_char_is_any_of("z"),
-        {
-            { 95, _("は攻撃を気にとめていない。", " ignores the attack.") },
-            { 75, _("は攻撃に肩をすくめた。", " shrugs off the attack.") },
-            { 50, _("はうめいた。", " groans.") },
-            { 35, _("は苦しげにうめいた。", " moans.") },
-            { 20, _("は躊躇した。", " hesitates.") },
-            { 10, _("はうなった。", " grunts.") },
-            { 0, _("はよろめいた。", " staggers.") },
-        } },
-    { d_char_is_any_of("G"),
-        {
-            { 95, _("は攻撃を気にとめていない。", " ignores the attack.") },
-            { 75, _("は攻撃に肩をすくめた。", " shrugs off the attack.") },
-            { 50, _("はうめいた。", " moans.") },
-            { 35, _("は泣きわめいた。", " wails.") },
-            { 20, _("は吠えた。", " howls.") },
-            { 10, _("は弱々しくうめいた。", " moans softly.") },
-            { 0, _("はかすかにうめいた。", " sighs.") },
-        } },
-    { d_char_is_any_of("CZ"),
-        {
-            { 95, _("は攻撃に肩をすくめた。", " shrugs off the attack.") },
-            { 75, _("は痛みでうなった。", " snarls with pain.") },
-            { 50, _("は痛みでキャンキャン吠えた。", " yelps in pain.") },
-            { 35, _("は痛みで鳴きわめいた。", " howls in pain.") },
-            { 20, _("は苦痛のあまり鳴きわめいた。", " howls in agony.") },
-            { 10, _("は苦痛でもだえ苦しんだ。", " writhes in agony.") },
-            { 0, _("は弱々しく吠えた。", " yelps feebly.") },
-        } },
-    { d_char_is_any_of("Xbilqrt"),
-        {
-            { 95, _("は攻撃を気にとめていない。", " ignores the attack.") },
-            { 75, _("は痛みでうなった。", " grunts with pain.") },
-            { 50, _("は痛みで叫んだ。", " squeals in pain.") },
-            { 35, _("は痛みで絶叫した。", " shrieks in pain.") },
-            { 20, _("は苦痛のあまり絶叫した。", " shrieks in agony.") },
-            { 10, _("は苦痛でもだえ苦しんだ。", " writhes in agony.") },
-            { 0, _("は弱々しく叫んだ。", " cries out feebly.") },
-        } },
-    { [](const MonsterEntity &) { return true; },
-        {
-            { 95, _("は攻撃に肩をすくめた。", " shrugs off the attack.") },
-            { 75, _("は痛みでうなった。", " grunts with pain.") },
-            { 50, _("は痛みで叫んだ。", " cries out in pain.") },
-            { 35, _("は痛みで絶叫した。", " screams in pain.") },
-            { 20, _("は苦痛のあまり絶叫した。", " screams in agony.") },
-            { 10, _("は苦痛でもだえ苦しんだ。", " writhes in agony.") },
-            { 0, _("は弱々しく叫んだ。", " cries out feebly.") },
-        } },
+static bool is_personified(const MonsterEntity &m_info)
+{
+    switch (m_info.r_idx) {
+    case MonsterRaceId::LAFFEY_II:
+        return true;
+    default:
+        return false;
+    }
+}
+
+static const std::map<int, concptr, std::greater<int>> pain_messages_common = {
+    { 95, _("は攻撃に肩をすくめた。", " shrugs off the attack.") },
+    { 75, _("は痛みでうなった。", " grunts with pain.") },
+    { 50, _("は痛みで叫んだ。", " cries out in pain.") },
+    { 35, _("は痛みで絶叫した。", " screams in pain.") },
+    { 20, _("は苦痛のあまり絶叫した。", " screams in agony.") },
+    { 10, _("は苦痛でもだえ苦しんだ。", " writhes in agony.") },
+    { 0, _("は弱々しく叫んだ。", " cries out feebly.") },
 };
 
+static const std::vector<pain_message_type>
+    pain_messages{
+        { is_personified, pain_messages_common },
+        { d_char_is_any_of(",ejmvwQ"), {
+                                           { 95, _("はほとんど気にとめていない。", " barely notices.") },
+                                           { 75, _("はしり込みした。", " flinches.") },
+                                           { 50, _("は縮こまった。", " squelches.") },
+                                           { 35, _("は痛みに震えた。", " quivers in pain.") },
+                                           { 20, _("は身もだえした。", " writhes about.") },
+                                           { 10, _("は苦痛で身もだえした。", " writhes in agony.") },
+                                           { 0, _("はぐにゃぐにゃと痙攣した。", " jerks limply.") },
+                                       } },
+        { d_char_is_any_of("l"), {
+                                     { 95, _("はほとんど気にとめていない。", " barely notices.") },
+                                     { 75, _("はしり込みした。", " flinches.") },
+                                     { 50, _("は躊躇した。", " hesitates.") },
+                                     { 35, _("は痛みに震えた。", " quivers in pain.") },
+                                     { 20, _("は身もだえした。", " writhes about.") },
+                                     { 10, _("は苦痛で身もだえした。", " writhes in agony.") },
+                                     { 0, _("はぐにゃぐにゃと痙攣した。", " jerks limply.") },
+                                 } },
+        { d_char_is_any_of("g#+<>"), {
+                                         { 95, _("は攻撃に肩をすくめた。", " shrugs off the attack.") },
+                                         { 75, _("は雷鳴のように吠えた。", " roars thunderously.") },
+                                         { 50, _("は苦しげに吠えた。", " rumbles.") },
+                                         { 35, _("はうめいた。", " grunts.") },
+                                         { 20, _("は攻撃を気にとめていない。", " ignores the attack.") },
+                                         { 10, _("は躊躇した。", " hesitates.") },
+                                         { 0, _("はくしゃくしゃになった。", " crumples.") },
+                                     } },
+        { [](const MonsterEntity &monster) {
+        const auto &monrace = monster.get_monrace();
+        return d_char_is_any_of("JMR")(monster) || !isalpha(monrace.d_char); }, {
+                                                    { 95, _("はほとんど気にとめていない。", " barely notices.") },
+                                                    { 75, _("はシーッと鳴いた。", " hisses.") },
+                                                    { 50, _("は怒って頭を上げた。", " rears up in anger.") },
+                                                    { 35, _("は猛然と威嚇した。", " hisses furiously.") },
+                                                    { 20, _("は身もだえした。", " writhes about.") },
+                                                    { 10, _("は苦痛で身もだえした。", " writhes in agony.") },
+                                                    { 0, _("はぐにゃぐにゃと痙攣した。", " jerks limply.") },
+                                                } },
+        { d_char_is_any_of("f"), {
+                                     { 95, _("は攻撃に肩をすくめた。", " shrugs off the attack.") },
+                                     { 75, _("は吠えた。", " roars.") },
+                                     { 50, _("は怒って吠えた。", " growls angrily.") },
+                                     { 35, _("は痛みでシーッと鳴いた。", " hisses with pain.") },
+                                     { 20, _("は痛みで弱々しく鳴いた。", " mewls in pain.") },
+                                     { 10, _("は苦痛にうめいた。", " hisses in agony.") },
+                                     { 0, _("は哀れな鳴き声を出した。", " mewls pitifully.") },
+                                 } },
+        { d_char_is_any_of("acFIKS"), {
+                                          { 95, _("は攻撃を気にとめていない。", " ignores the attack.") },
+                                          { 75, _("はキーキー鳴いた。", " chitters.") },
+                                          { 50, _("はヨロヨロ逃げ回った。", " scuttles about.") },
+                                          { 35, _("はうるさく鳴いた。", " twitters.") },
+                                          { 20, _("は痛みに痙攣した。", " jerks in pain.") },
+                                          { 10, _("は苦痛で痙攣した。", " jerks in agony.") },
+                                          { 0, _("はピクピクひきつった。", " twitches.") },
+                                      } },
+        { d_char_is_any_of("B"), {
+                                     { 95, _("はさえずった。", " chirps.") },
+                                     { 75, _("はピーピー鳴いた。", " twitters.") },
+                                     { 50, _("はギャーギャー鳴いた。", " squawks.") },
+                                     { 35, _("はギャーギャー鳴きわめいた。", " chatters.") },
+                                     { 20, _("は苦しんだ。", " jeers.") },
+                                     { 10, _("はのたうち回った。", " flutters about.") },
+                                     { 0, _("はキーキーと鳴き叫んだ。", " squeaks.") },
+                                 } },
+        { d_char_is_any_of("duDLUW"), {
+                                          { 95, _("は攻撃を気にとめていない。", " ignores the attack.") },
+                                          { 75, _("はしり込みした。", " flinches.") },
+                                          { 50, _("は痛みでシーッと鳴いた。", " hisses in pain.") },
+                                          { 35, _("は痛みでうなった。", " snarls with pain.") },
+                                          { 20, _("は痛みに吠えた。", " roars with pain.") },
+                                          { 10, _("は苦しげに叫んだ。", " gasps.") },
+                                          { 0, _("は弱々しくうなった。", " snarls feebly.") },
+                                      } },
+        { d_char_is_any_of("s"), {
+                                     { 95, _("は攻撃を気にとめていない。", " ignores the attack.") },
+                                     { 75, _("は攻撃に肩をすくめた。", " shrugs off the attack.") },
+                                     { 50, _("はカタカタと笑った。", " rattles.") },
+                                     { 35, _("はよろめいた。", " stumbles.") },
+                                     { 20, _("はカタカタ言った。", " rattles.") },
+                                     { 10, _("はよろめいた。", " staggers.") },
+                                     { 0, _("はガタガタ言った。", " clatters.") },
+                                 } },
+        { d_char_is_any_of("z"), {
+                                     { 95, _("は攻撃を気にとめていない。", " ignores the attack.") },
+                                     { 75, _("は攻撃に肩をすくめた。", " shrugs off the attack.") },
+                                     { 50, _("はうめいた。", " groans.") },
+                                     { 35, _("は苦しげにうめいた。", " moans.") },
+                                     { 20, _("は躊躇した。", " hesitates.") },
+                                     { 10, _("はうなった。", " grunts.") },
+                                     { 0, _("はよろめいた。", " staggers.") },
+                                 } },
+        { d_char_is_any_of("G"), {
+                                     { 95, _("は攻撃を気にとめていない。", " ignores the attack.") },
+                                     { 75, _("は攻撃に肩をすくめた。", " shrugs off the attack.") },
+                                     { 50, _("はうめいた。", " moans.") },
+                                     { 35, _("は泣きわめいた。", " wails.") },
+                                     { 20, _("は吠えた。", " howls.") },
+                                     { 10, _("は弱々しくうめいた。", " moans softly.") },
+                                     { 0, _("はかすかにうめいた。", " sighs.") },
+                                 } },
+        { d_char_is_any_of("CZ"), {
+                                      { 95, _("は攻撃に肩をすくめた。", " shrugs off the attack.") },
+                                      { 75, _("は痛みでうなった。", " snarls with pain.") },
+                                      { 50, _("は痛みでキャンキャン吠えた。", " yelps in pain.") },
+                                      { 35, _("は痛みで鳴きわめいた。", " howls in pain.") },
+                                      { 20, _("は苦痛のあまり鳴きわめいた。", " howls in agony.") },
+                                      { 10, _("は苦痛でもだえ苦しんだ。", " writhes in agony.") },
+                                      { 0, _("は弱々しく吠えた。", " yelps feebly.") },
+                                  } },
+        { d_char_is_any_of("Xbilqrt"), {
+                                           { 95, _("は攻撃を気にとめていない。", " ignores the attack.") },
+                                           { 75, _("は痛みでうなった。", " grunts with pain.") },
+                                           { 50, _("は痛みで叫んだ。", " squeals in pain.") },
+                                           { 35, _("は痛みで絶叫した。", " shrieks in pain.") },
+                                           { 20, _("は苦痛のあまり絶叫した。", " shrieks in agony.") },
+                                           { 10, _("は苦痛でもだえ苦しんだ。", " writhes in agony.") },
+                                           { 0, _("は弱々しく叫んだ。", " cries out feebly.") },
+                                       } },
+        { [](const MonsterEntity &) { return true; }, pain_messages_common },
+    };
+
 MonsterPainDescriber::MonsterPainDescriber(PlayerType *player_ptr, const MonsterEntity *m_ptr)
     : player_ptr(player_ptr)
     , m_ptr(m_ptr)