diff --git a/hwe/func_converter.php b/hwe/func_converter.php index a688bc75..8015975f 100644 --- a/hwe/func_converter.php +++ b/hwe/func_converter.php @@ -328,7 +328,7 @@ function buildGeneralSpecialWarClass(?string $type):BaseSpecial{ function getActionCrewTypeClass(?string $type){ if($type === null || $type === ''){ - $type = GameConst::$defaultSpecialWar; + $type = 'None'; } static $basePath = __NAMESPACE__.'\\ActionCrewType\\'; diff --git a/hwe/j_simulate_battle.php b/hwe/j_simulate_battle.php index 38bb2019..1e4ea6a4 100644 --- a/hwe/j_simulate_battle.php +++ b/hwe/j_simulate_battle.php @@ -409,7 +409,7 @@ function simulateBattle( ); } - if(count($defenderList) == 0 && extractBattleOrder($city, $attacker) > 0){ + if(count($defenderList) && extractBattleOrder($city, $attacker) > 0){ $defenderList[] = $city; } diff --git a/hwe/process_war.php b/hwe/process_war.php index c53482e9..8453c92a 100644 --- a/hwe/process_war.php +++ b/hwe/process_war.php @@ -51,7 +51,7 @@ function processWar(string $warSeed, General $attackerGeneral, array $rawAttacke $defenderList[] = $defenderCandidate; } - if(count($defenderList) == 0 && extractBattleOrder($city, $attacker) > 0){ + if(count($defenderList) && extractBattleOrder($city, $attacker) > 0){ $defenderList[] = $city; } diff --git a/hwe/sammo/ActionCrewType/None.php b/hwe/sammo/ActionCrewType/None.php new file mode 100644 index 00000000..ae86970e --- /dev/null +++ b/hwe/sammo/ActionCrewType/None.php @@ -0,0 +1,12 @@ +1.25, self::T_ARCHER=>1.25, self::T_CAVALRY=>1.25, self::T_WIZARD=>1.25, self::T_CASTLE=>1.8, 1106=>1.112], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067], ['상대에게 돌덩이를 날립니다.'], - ['che_성벽부상무효'], ['che_선제사격시도', 'che_선제사격발동'], null + ['che_성벽부상무효'], ['che_선제사격시도', 'che_선제사격발동'], ['che_성벽선제'] ], [ 1503, self::T_SIEGE, '목우', @@ -343,7 +343,7 @@ class GameUnitConstBase{ [self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, self::T_CASTLE=>1.8], [self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, 1106=>1], ['상대를 저지하는 특수병기입니다.'], - ['che_성벽부상무효'], ['che_저지시도', 'che_저지발동'], ['che_성벽선제'] + ['che_성벽부상무효'], ['che_저지시도', 'che_저지발동'], null ] ]; diff --git a/hwe/sammo/GameUnitDetail.php b/hwe/sammo/GameUnitDetail.php index 6e524c95..2e63da15 100644 --- a/hwe/sammo/GameUnitDetail.php +++ b/hwe/sammo/GameUnitDetail.php @@ -70,7 +70,7 @@ class GameUnitDetail implements iAction $this->initSkillTrigger = $initSkillTrigger; $this->phaseSkillTrigger = $phaseSkillTrigger; $this->iActionList = []; - foreach($iActionList as $rawAction){ + foreach($iActionList ?? [] as $rawAction){ $action = buildActionCrewTypeClass($rawAction); if(!$action){ continue;