#import "HMCalculateDamageCommand.h"
#import "HMDropShipHistoryCommand.h"
#import "HMDummyShipCommand.h"
+#import "HMGuardShelterCommand.h"
@implementation HMBattleResultCommand
+ (BOOL)canExcuteAPI:(NSString *)api
{
- return [api isEqualToString:@"/kcsapi/api_req_sortie/battleresult"];
+ if([api isEqualToString:@"/kcsapi/api_req_sortie/battleresult"]) return YES;
+ if([api isEqualToString:@"/kcsapi/api_req_combined_battle/battleresult"]) return YES;
+
+ return NO;
}
- (id)init
[HMDropShipHistoryCommand new],
[HMCalculateDamageCommand new],
[HMDummyShipCommand new],
+ [HMGuardShelterCommand new],
nil];
return self;
}
typeCombinedWater,
typeEachCombinedAir,
typeEachCombinedWater,
+
+ typeEnemyCombined,
};
typedef NS_ENUM(NSUInteger, HMDamageControlMasterSlotItemID) {
- (BOOL)isCombinedBattle
{
- return [self.api hasPrefix:@"/kcsapi/api_req_combined_battle"];
-}
-- (BOOL)isEnemyCombinedBattle
-{
- if([self.api isEqualToString:@"/kcsapi/api_req_combined_battle/each_battle"]) return YES;
- if([self.api isEqualToString:@"/kcsapi/api_req_combined_battle/each_battle_water"]) return YES;
- if([self.api isEqualToString:@"/kcsapi/api_req_combined_battle/ec_midnight_battle"]) return YES;
-
+ switch(self.battleType) {
+ case typeCombinedWater:
+ case typeCombinedAir:
+ case typeEachCombinedWater:
+ case typeEachCombinedAir:
+ return YES;
+ default:
+ //
+ break;
+ }
return NO;
}
+
- (void)calcKouku:(NSArray<HMKCDamage *> *)damages
{
[self calculateFDam:damages
// 連合vs連合(水上) 第2 use kouku nor kouku2
// 連合vs連合(機動) 第1 use kouku nor kouku2
if(self.isCombinedBattle) {
- self.calcSecondFleet = YES; // self.battleType == typeCombinedAir || self.battleType == typeCombinedWater;
+ self.calcSecondFleet = YES;
[self calculateFDam:damages
fdamKeyPath:@"api_data.api_kouku.api_stage3_combined.api_fdam"];
[self calculateFDam:damages
}
- (void)calcEnemyCombinedBattle
{
- // same phase with combined air
+ // same phase as combined air
[self calcCombinedBattleAir];
}
[self calculateMidnightBattle];
return;
}
+
+ if([self.api isEqualToString:@"/kcsapi/api_req_combined_battle/ec_battle"]) {
+ self.battleType = typeEnemyCombined;
+ [self calcEnemyCombinedBattle];
+ return;
+ }
// combined battle
if([self.api isEqualToString:@"/kcsapi/api_req_combined_battle/battle"]
#import "HMCalculateDamageCommand.h"
#import "HMDropShipHistoryCommand.h"
-#import "HMGuardShelterCommand.h"
@implementation HMCombinedBattleCommand
if([api isEqualToString:@"/kcsapi/api_req_combined_battle/battle"]) return YES;
if([api isEqualToString:@"/kcsapi/api_req_combined_battle/airbattle"]) return YES;
if([api isEqualToString:@"/kcsapi/api_req_combined_battle/battle_water"]) return YES;
+ if([api isEqualToString:@"/kcsapi/api_req_combined_battle/ec_battle"]) return YES;
if([api isEqualToString:@"/kcsapi/api_req_combined_battle/each_battle"]) return YES;
if([api isEqualToString:@"/kcsapi/api_req_combined_battle/each_battle_water"]) return YES;
- if([api isEqualToString:@"/kcsapi/api_req_combined_battle/midnight_battle"]) return YES;
- if([api isEqualToString:@"/kcsapi/api_req_combined_battle/sp_midnight"]) return YES;
- if([api isEqualToString:@"/kcsapi/api_req_combined_battle/battleresult"]) return YES;
return NO;
}
- (id)init
{
self = [super initWithCommands:
- [HMDropShipHistoryCommand new],
[HMCalculateDamageCommand new],
- [HMGuardShelterCommand new],
nil];
return self;
}
if([api isEqualToString:@"/kcsapi/api_req_battle_midnight/battle"]) return YES;
if([api isEqualToString:@"/kcsapi/api_req_battle_midnight/sp_midnight"]) return YES;
if([api isEqualToString:@"/kcsapi/api_req_combined_battle/ec_midnight_battle"]) return YES;
+ if([api isEqualToString:@"/kcsapi/api_req_combined_battle/midnight_battle"]) return YES;
+ if([api isEqualToString:@"/kcsapi/api_req_combined_battle/sp_midnight"]) return YES;
return NO;
}