static int numberGroup(KCRAPI.Api_Mst_Ship ship) => isRemodeled(ship) ? ( isCV(ship) ? 1 : isCVL(ship) ? 2 : isCF(ship) ? 3 : 4 ) : isRemodeled2(ship) ? ( isCV(ship) ? 5 : isCVL(ship) ? 6 : isCF(ship) ? 7 : 100 ) : ( isCV(ship) ? 8 : isCVL(ship) ? 9 : isCF(ship) ? 100 : new []{"千歳甲","千代田甲"}.Contains(ship.api_name) ? 4 : 10 );
static bool isCVL(KCRAPI.Api_Mst_Ship ship) => new[] { 7, }.Contains(ship.api_stype);
// 1: 装甲空母/正規空母 // 2: 軽空母 // 3: 航空戦艦/航空巡洋艦 // 4: その他 // 5: 正規空母(改) // 6: 軽空母(改) // 7: 航空戦艦(改) // 8: 装甲空母/正規空母(未改造) // 9: 軽空母(未改造) // 10: その他 static bool isAircraft(KCRAPI.Api_Mst_Slotitem item) => new[] { 6, 7, 8, 11 }.Contains(item.api_type[2]);
static bool isRemodeled2(KCRAPI.Api_Mst_Ship ship) => ship.api_name.Contains("改") && ship.api_stype != 16;
static bool isSCarrier(KCRAPI.Api_Mst_Ship ship) => isCF(ship) || isAV(ship) || isCVSS(ship) || isSPSupply(ship) || isSPSupply2(ship);
static bool isRemodeled(KCRAPI.Api_Mst_Ship ship) => ship.api_aftershipid == "0" || ship.api_id == 461 || ship.api_id == 466;
static bool isFCarrier(KCRAPI.Api_Mst_Ship ship) => isCV(ship) || isCVL(ship) || isAMS(ship);
static bool isACarrier(KCRAPI.Api_Mst_Ship ship) => isCV(ship) || isCVL(ship) || isSPSupply2(ship);
static bool isCarrier(KCRAPI.Api_Mst_Ship ship) => new[] { 6, 7, 11, 10, 14, 16, 17, 18, 22, }.Contains(ship.api_stype) && !isAkinantoka(ship);
static bool isSPSupply2(KCRAPI.Api_Mst_Ship ship) => ship.api_id == 352;
static bool isAkinantoka(KCRAPI.Api_Mst_Ship ship) => ship.api_name.Contains("秋津洲") || ship.api_id == 161;
static bool isAV(KCRAPI.Api_Mst_Ship ship) => ship.api_stype == 16 && !isAkinantoka(ship);
static bool isCF(KCRAPI.Api_Mst_Ship ship) => new[] { 6, 10 }.Contains(ship.api_stype) ;