1 2 3 4 5 6 7 | int カスタム::On_カスタム条件( string 条件名, カスタム条件パラメタ型 パラメタ) { if ( 条件名 == "OR条件::戦争::雨鉄砲可否" ) { } // 変更しない場合-1 return -1; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | int カスタム::On_カスタム条件( string 条件名, カスタム条件パラメタ型 パラメタ) { if ( 条件名== "OR条件::戦争::雨鉄砲可否" ) { // "OR条件::戦争::雨鉄砲可否" の際は、「パラメタ.整数1」に、 // 今鉄砲を撃とうとする、武将番号が入る。 int iBushouID = パラメタ.整数1 - 1; // 通常の武将以外鉄砲撃てないはずであるが、一応配列にアクセスするので、安全を保っておく if ( 0 <= iBushouID && iBushouID < 最大数::武将情報::配列数 ) { if ( Get_鉄砲適性(iBushouID) == 鉄砲適性::S ) { // この条件を満たす者もまた、雨鉄砲を打てるとみなす。 return true ; } } } // それ以外は条件を変えない。 return -1; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | int カスタム::On_カスタム条件( string 条件名, カスタム条件パラメタ型 パラメタ) { /* * 鉄砲を打とうとしている武将ユニットが、 * 野戦に限定で、戦闘マップのヘックスチップ「道」の上にいて、 * しかも、その武将が、鉄砲適性A以上ならば、その瞬間は、雨鉄砲が撃てる。 */ if ( 条件名== "OR条件::戦争::雨鉄砲可否" ) { int iBushouID = パラメタ.整数1 - 1; // 鉄砲を打とうとする武将ID // 通常の武将以外鉄砲撃てないはずであるが、一応配列にアクセスするので、安全を保っておく if ( 0 <= iBushouID && iBushouID < 最大数::武将情報::配列数 ) { // 野戦の時、 if ( Is_野戦中() ) { // 今鉄砲を撃とうとしている武将はHEXマップのどこにいるの? ヘックス位置型 pos = Get_武将の野戦ヘックス位置(iBushouID); // その位置の地形の役割は何? int chikei = Get_野戦ヘックス役割(pos); // その地形は「道」だ!! if ( chikei == 野戦ヘックス役割::道 ) { // 武将の適性がA以上 if ( Get_鉄砲適性(iBushouID) >= 鉄砲適性::A ) { return true ; } } } } } // それ以外は条件を変えない。 return -1; } |