最終更新日 2024-09-25

武将 - 死亡

メイン画面、戦争画面にかかわらず、武将を強制的に死亡させるためのAPIです。

武将が死亡しているかどうかの正しい判定

void カスタム::On_プレイヤ担当ターン《メイン画面》() {
	int iBushouID = Get_武将番号【配列用】(顔番号::武田晴信);
	if (0 <= iBushouID && iBushouID < 最大数::武将情報::配列数) {
		// (この季節)戦場で戦死したか、もしくは、死亡状態
		if (p武将戸籍情報[iBushouID].戦死 == TRUE || p武将戸籍情報[iBushouID].状態 == 状態::死亡) {
			デバッグ出力 << "武田晴信は死亡しています" << endl;
		}
	}
}

死亡状態は長続きしない

死亡した武将は、そのうち天翔記というゲーム枠から外されるため、やがて「判定しようにもそもそも存在してない」状態となります。

死亡状態は最短だと1季節です。
それ以降、「待機武将や仮想武将が登場」する際、武将スロットの532枠のうち、「空きスロット」や「死亡している武将スロット」から選択されて、
新たな武将用のスロットとして再使用されます。

いかなる身分の武将でも正規手順にて死亡させることが可能な関数

bool Set_武将状態《→死亡》(int 死亡武将番号【配列用】, int 犯人武将番号【配列用】=-1)

第2引数はあまり気にしなくても良く、特に指定する必要はない。
その死亡が誰の仕業かが分かっている場合には指定することにより、将来、内部処理的により適切になる可能性がある。

メイン画面

メイン画面では、通常下記のように、「On_軍団ターン変更」や、「On_プレイヤ担当ターン」など、
メイン画面の「ターン切り替わり目」系であれば安全に呼び出せる。
その他のタイミングは危険である。

戦争画面

戦争画面では、On_噴出メッセージ直前
On_残りターン変更《戦争画面》時に安全に呼び出せる。

武将の戦場での戦死と死亡状態

武将が戦場で死亡したからといって、突然ただちに、

p武将戸籍情報[i].状態 == 状態::死亡

になったりはしないので注意すること!!

天翔記の本来の動作でも、そのようなことにはならない。

武将が戦場で死亡した場合、

p武将戸籍情報[i].戦死 == TRUE

というように「一端戦死」という状態となり、
戦争が終わったタイミングで、初めて正式に、

p武将戸籍情報[i].状態 == 状態::死亡 となり、

代わりに、

p武将戸籍情報[i].戦死 == FALSE

値がFALSEへと戻る

より詳細を知るには...

「武将 - 死亡」に関する主な所は以上となります。
詳しくは「武将情報型.h」や「武将情報列挙.h」などを参照してください。