diff --git a/hwe/sammo/Command/General/che_선양.php b/hwe/sammo/Command/General/che_선양.php index ac0166bb..2e170bca 100644 --- a/hwe/sammo/Command/General/che_선양.php +++ b/hwe/sammo/Command/General/che_선양.php @@ -21,6 +21,8 @@ use \sammo\Constraint\Constraint; use \sammo\Constraint\ConstraintHelper; use sammo\Enums\GeneralQueryMode; use sammo\Enums\InheritanceKey; +use sammo\Enums\PenaltyKey; +use sammo\Json; use sammo\StaticEventHandler; class che_선양 extends Command\GeneralCommand @@ -111,6 +113,14 @@ class che_선양 extends Command\GeneralCommand $date = $general->getTurnTime($general::TURNTIME_HM); $destGeneral = $this->destGeneralObj; + $destGeneralPenaltyList = JSON::decode($destGeneral->getVar('penalty')); + $penaltyKeyList = [PenaltyKey::NoChief, PenaltyKey::NoFoundNation, PenaltyKey::NoAmbassador]; + foreach ($penaltyKeyList as $penaltyKey) { + if (key_exists($penaltyKey->value, $destGeneralPenaltyList)) { + $general->getLogger()->pushGeneralActionLog("선양할 수 없는 장수입니다."); + return false; + } + } $generalName = $general->getName(); $destGeneralName = $destGeneral->getName(); diff --git a/hwe/sammo/Constraint/NoPenalty.php b/hwe/sammo/Constraint/NoPenalty.php index 764c4ae9..4b76ac0c 100644 --- a/hwe/sammo/Constraint/NoPenalty.php +++ b/hwe/sammo/Constraint/NoPenalty.php @@ -33,12 +33,12 @@ class NoPenalty extends Constraint{ /** @var PenaltyKey */ $checkKey = $this->arg; - $peneltyList = JSON::decode($this->general['penalty']); - if(!key_exists($checkKey->value, $peneltyList)){ + $penaltyList = JSON::decode($this->general['penalty']); + if(!key_exists($checkKey->value, $penaltyList)){ return true; } - $this->reason = "징계 사유: {$peneltyList[$checkKey->value]}"; + $this->reason = "징계 사유: {$penaltyList[$checkKey->value]}"; return false; } } \ No newline at end of file