diff --git a/hwe/sammo/ActionSpecialWar/che_필살.php b/hwe/sammo/ActionSpecialWar/che_필살.php index d036fe58..885c5801 100644 --- a/hwe/sammo/ActionSpecialWar/che_필살.php +++ b/hwe/sammo/ActionSpecialWar/che_필살.php @@ -4,12 +4,16 @@ use \sammo\iAction; use \sammo\General; use \sammo\SpecialityHelper; use \sammo\WarUnit; +use sammo\WarUnitTriggerCaller; +use sammo\WarUnitTrigger\che_필살강화_회피불가; + +use function sammo\LogText; class che_필살 extends \sammo\BaseSpecial{ protected $id = 71; protected $name = '필살'; - protected $info = '[전투] 필살 확률 +20%p'; + protected $info = '[전투] 필살 확률 +20%p, 필살 발동시 대상 회피 불가'; static $selectWeightType = SpecialityHelper::WEIGHT_NORM; static $selectWeight = 1; @@ -25,4 +29,10 @@ class che_필살 extends \sammo\BaseSpecial{ } return $value; } + + public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{ + return new WarUnitTriggerCaller( + new che_필살강화_회피불가($unit) + ); + } } \ No newline at end of file diff --git a/hwe/sammo/WarUnitTrigger/che_저격발동.php b/hwe/sammo/WarUnitTrigger/che_저격발동.php index b21b3d88..f4d1abf6 100644 --- a/hwe/sammo/WarUnitTrigger/che_저격발동.php +++ b/hwe/sammo/WarUnitTrigger/che_저격발동.php @@ -14,7 +14,7 @@ class che_저격발동 extends BaseWarUnitTrigger{ protected $priority = ObjectTrigger::PRIORITY_POST + 100; protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{ - if(!$oppose->hasActivatedSkill('저격')){ + if(!$self->hasActivatedSkill('저격')){ return true; } @@ -25,13 +25,13 @@ class che_저격발동 extends BaseWarUnitTrigger{ $general = $self->getGeneral(); - $oppose->getLogger()->pushGeneralActionLog("상대를 저격했다!", ActionLogger::PLAIN); - $oppose->getLogger()->pushGeneralBattleDetailLog("상대를 저격했다!", ActionLogger::PLAIN); - $self->getLogger()->pushGeneralActionLog("상대에게 저격당했다!", ActionLogger::PLAIN); - $self->getLogger()->pushGeneralBattleDetailLog("상대에게 저격당했다!", ActionLogger::PLAIN); + $self->getLogger()->pushGeneralActionLog("상대를 저격했다!", ActionLogger::PLAIN); + $self->getLogger()->pushGeneralBattleDetailLog("상대를 저격했다!", ActionLogger::PLAIN); + $oppose->getLogger()->pushGeneralActionLog("상대에게 저격당했다!", ActionLogger::PLAIN); + $oppose->getLogger()->pushGeneralBattleDetailLog("상대에게 저격당했다!", ActionLogger::PLAIN); $general->increaseVarWithLimit('atmos', 10, GameConst::$maxAtmosByWar); - $general->increaseVarWithLimit('injury', Util::randRangeInt($opposeEnv['woundMin'], $opposeEnv['woundMax']), null, 80); + $oppose->getGeneral()->increaseVarWithLimit('injury', Util::randRangeInt($selfEnv['woundMin'], $selfEnv['woundMax']), null, 80); $this->processConsumableItem(); diff --git a/hwe/sammo/WarUnitTrigger/che_필살강화_회피불가.php b/hwe/sammo/WarUnitTrigger/che_필살강화_회피불가.php new file mode 100644 index 00000000..51134508 --- /dev/null +++ b/hwe/sammo/WarUnitTrigger/che_필살강화_회피불가.php @@ -0,0 +1,22 @@ +hasActivatedSkill('필살')){ + return true; + } + + $oppose->activateSkill('회피불가'); + return true; + } +} \ No newline at end of file