最終更新日 2024-09-25
void カスタム::On_攻撃方法決定時《戦争画面》(int 主体武将番号, int 客体武将番号, 攻撃方法決定時パラメタ型 パラメタ)
void カスタム::On_攻撃方法決定時《戦争画面》(int 主体武将番号, int 客体武将番号, 攻撃方法決定時パラメタ型 パラメタ) { }
タイミング
- 各ユニットが、自らの意思(プレイヤの意思も含む)で、「攻撃方法を決定した際」に、呼び出される。
PC/NPC、無関係に実行される。
ただし、自らの意思ではない攻撃(混乱による攻撃等)では呼び出されない。(将来呼び出されるようにするかもしれない)
一般的用途
- 特定の攻撃方法の際に、何か処理を行いたい場合に利用する。
例①
void カスタム::On_攻撃方法決定時《戦争画面》(int 主体武将番号, int 客体武将番号, 攻撃方法決定時パラメタ型 パラメタ) { int iBushouID = 主体武将番号-1; int iTargetID = 客体武将番号-1; int 攻撃方法番号 = パラメタ.攻撃方法番号; int 移動前 = パラメタ.移動前; // 武将番号範囲チェック if ( (0 <= iBushouID && iBushouID < 最大数::武将情報::配列数) && (0 <= iTargetID && iTargetID < 最大数::武将情報::配列数) ) { デバッグ出力 << "誰が:" << Get_名前(iBushouID) << endl; デバッグ出力 << "誰に:" << Get_名前(iTargetID) << endl; if ( 移動前 ) { デバッグ出力("移動前"); } else { デバッグ出力("移動後"); } if ( 攻撃方法番号 == 攻撃方法::攻撃 ) { デバッグ出力("⇒攻撃" ); } else if ( 攻撃方法番号 == 攻撃方法::突撃 ) { デバッグ出力("⇒突撃" ); } else if ( 攻撃方法番号 == 攻撃方法::鉄砲 ) { デバッグ出力("⇒鉄砲" ); } else if ( 攻撃方法番号 == 攻撃方法::弓 ) { デバッグ出力("⇒弓" ); } else if ( 攻撃方法番号 == 攻撃方法::大砲 ) { デバッグ出力("⇒大砲" ); } else if ( 攻撃方法番号 == 攻撃方法::一斉攻撃 ) { デバッグ出力("⇒一斉攻撃" ); } } }