セリフの条件と内容を変更してみる
前節のソースを見てください。
これを少し編集することで、まずは、感覚を掴みましょう。
string カスタム::On_噴出メッセージ直前(string 武将名, string 元メッセージ, メッセージ関連情報型 メッセージ関連情報) {
if (武将名 == "真田幸隆") {
return "マジかよ…最悪だぉ!!";
}
// 変更しない場合""
return "";
}
まず、常に「マジかよ…最悪だぉ」と言ってるのをなんとか直したいところです。
そうです、戦場で士気MAX時に「鼓舞」をした時のメッセージだけ、
書き換えるようにしてみましょう!!
でも、戦場での鼓舞とは、元々どんなメッセージだったでしょうか?
Message.n6pをLS11Archieveで解凍するのが正確なメッセージを知る方法ですが、
今回は練習ですので簡略的に 天翔記 Wikiに掲載されているセリフ を参照してみましょう。
どうやら士気MAX時にいうセリフは
「わが隊はすでに(改行)士気旺盛…鼓舞する(改行)必要…(以下メッセージが分かれる)」
といったことになっているようです。
天翔記内には他に似たようなメッセージもないようですから、
「 わが隊はすでに(改行)士気旺盛 」
ぐらいまで含まれれば、ちゃんと 士気MAX時のメッセージに絞ることが出来そうです。
では、そうしてみましょう。
string カスタム::On_噴出メッセージ直前(string 武将名, string 元メッセージ, メッセージ関連情報型 メッセージ関連情報) {
if (武将名 == "真田幸隆") {
if (Is_文字列マッチ(元メッセージ, "わが隊はすでに\x0A士気旺盛")) {
return "士気旺盛じゃ!?";
}
}
// 変更しない場合""
return "";
}
プログラム未経験者の方は、いきなりのことで「げげ!!」と思われる方もいるかもしれません。
しかし、 「メッセージ中に『ほげほげ』な文字が含まれる」というのは、このように書くものだ と覚えてしまうのも手でしょう。
『 \x0A 』は(エン エックス ゼロ エー)となります。(オー エー)ではないので注意して下さい。