int カスタム::On_武将最大兵数要求時(int 武将番号, int 基準最大兵数, int 予定修正最大兵数) { return -1; }
このイベントハンドラの中で「Get_武将最大兵数」の関数を直接・間接に関わらず呼び出してはならない。
なぜなら、「Get_武将最大兵数」の結果を完全に解決するためには、このイベントハンドラの計算結果が必要だからである。
呼び出した場合は、無限ループとなり、フリーズ、スタック不足などの症状を引き起こす。
TSMod.iniのオプションによっては、「自動兵士数回復」などがあるため、
非常に頻繁にこのイベントハンドラは呼び出されることとなる。
int カスタム::On_武将最大兵数要求時(int 武将番号, int 基準最大兵数, int 予定修正最大兵数) { // 身分など関係ない。野望の値がそのまま最大兵数だ int iBushouID = 武将番号 - 1; if (0 <= iBushouID && iBushouID < 最大数::武将情報::配列数) { return p武将情報[iBushouID].野望; } // 変更しない場合-1 return -1; }
int カスタム::On_武将最大兵数要求時(int 武将番号, int 基準最大兵数, int 予定修正最大兵数) { // 上杉謙信だけ身分にかかわらず100だ int iBushouID = 武将番号 - 1; if (0 <= iBushouID && iBushouID < 最大数::武将情報::配列数) { if (p武将戸籍情報[iBushouID].顔番号 == 顔番号::長尾景虎) { return 100; } } // 変更しない場合-1 return -1; }
int カスタム::On_武将最大兵数要求時(int 武将番号, int 基準最大兵数, int 予定修正最大兵数) { // その武将の(野望+魅力+基準値)÷3 を最大兵数と定義する int iBushouID = 武将番号 - 1; if (0 <= iBushouID && iBushouID < 最大数::武将情報::配列数) { return (p武将情報[iBushouID].野望 + p武将情報[iBushouID].魅力 + 基準最大兵数) / 3; } // 変更しない場合-1 return -1; }
int カスタム::On_武将最大兵数要求時(int 武将番号, int 基準最大兵数, int 予定修正最大兵数) { // 軍師なら、TSMod.iniの設定に基づいて計算された結果よりも、10多くする。 // 但しMAXは100 int iBushouID = 武将番号 - 1; if (0 <= iBushouID && iBushouID < 最大数::武将情報::配列数) { int iGundanID = p武将情報[iBushouID].所属軍団【軍団番号】 - 1; if (0 <= iGundanID && iGundanID < 最大数::軍団情報::配列数) { if (iBushouID == Get_軍師武将番号【配列用】(iGundanID)) { int solmax = 予定修正最大兵数 + 10; if (solmax > 100) { solmax = 100; } return solmax; } } } // 変更しない場合-1 return -1; }