From 0807f9912ca32d8d286b29ad38ec48b1ca11f67a Mon Sep 17 00:00:00 2001 From: hide_d Date: Tue, 22 Feb 2022 00:14:20 +0900 Subject: [PATCH] =?UTF-8?q?game:=20=EB=B0=98=EA=B3=84=EB=8F=84=EA=B5=AC=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0,=20=EB=8F=84=EA=B5=AC=20=EB=B0=B8=EB=9F=B0?= =?UTF-8?q?=EC=8A=A4=20=EC=A1=B0=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/func.php | 4 +++- ...피저지_노군입산부.php => che_간파_노군입산부.php} | 11 +++++++---- hwe/sammo/ActionItem/che_격노_구정신단경.php | 7 +------ hwe/sammo/ActionItem/che_농성_위공자병법.php | 5 +++++ hwe/sammo/ActionItem/che_농성_주서음부.php | 5 +++++ hwe/sammo/ActionItem/che_능력치_무력_두강주.php | 2 +- hwe/sammo/ActionItem/che_능력치_지력_이강주.php | 2 +- hwe/sammo/ActionItem/che_능력치_통솔_보령압주.php | 2 +- hwe/sammo/ActionItem/che_부적_태현청생부.php | 8 ++++++++ hwe/sammo/ActionItem/che_약탈_옥벽.php | 4 ++-- hwe/sammo/ActionItem/che_저지_삼황내문.php | 12 +++++++++--- hwe/sammo/ActionItem/che_집중_전국책.php | 7 ++----- hwe/sammo/ActionItem/che_징병_낙주.php | 4 ++-- hwe/sammo/ActionItem/che_필살_둔갑천서.php | 4 ++-- hwe/sammo/ActionItem/che_환술_논어집해.php | 7 ++----- hwe/sammo/ActionItem/che_회피_태평요술.php | 4 ++-- hwe/sammo/GameConstBase.php | 6 +++--- 17 files changed, 56 insertions(+), 38 deletions(-) rename hwe/sammo/ActionItem/{che_회피저지_노군입산부.php => che_간파_노군입산부.php} (52%) diff --git a/hwe/func.php b/hwe/func.php index 7421d05d..d0146916 100644 --- a/hwe/func.php +++ b/hwe/func.php @@ -2415,7 +2415,9 @@ function SabotageInjury(array $cityGeneralList, string $reason): int foreach ($cityGeneralList as $general) { /** @var General $general */ - if (!Util::randBool(0.3)) { + $injuryProb = 0.3; + $injuryProb = $general->onCalcStat($general, 'injuryProb', $injuryProb); + if (!Util::randBool($injuryProb)) { continue; } $general->getLogger()->pushGeneralActionLog($text); diff --git a/hwe/sammo/ActionItem/che_회피저지_노군입산부.php b/hwe/sammo/ActionItem/che_간파_노군입산부.php similarity index 52% rename from hwe/sammo/ActionItem/che_회피저지_노군입산부.php rename to hwe/sammo/ActionItem/che_간파_노군입산부.php index 304f774a..fdc68688 100644 --- a/hwe/sammo/ActionItem/che_회피저지_노군입산부.php +++ b/hwe/sammo/ActionItem/che_간파_노군입산부.php @@ -3,17 +3,20 @@ namespace sammo\ActionItem; use \sammo\iAction; use \sammo\General; -class che_회피저지_노군입산부 extends \sammo\BaseItem{ +class che_간파_노군입산부 extends \sammo\BaseItem{ protected $rawName = '노군입산부'; - protected $name = '노군입산부(회피저지)'; - protected $info = '[전투] 상대 회피 확률 -15%p'; + protected $name = '노군입산부(간파)'; + protected $info = '[전투] 상대 회피 확률 -30%p, 상대 필살 확률 -10%p'; protected $cost = 200; protected $consumable = false; public function onCalcOpposeStat(General $general, string $statName, $value, $aux=null){ if($statName === 'warAvoidRatio'){ - return $value - 0.15; + return $value - 0.30; + } + if($statName === 'warCriticalRatio'){ + return $value - 0.10; } return $value; } diff --git a/hwe/sammo/ActionItem/che_격노_구정신단경.php b/hwe/sammo/ActionItem/che_격노_구정신단경.php index f5fece19..0c53de37 100644 --- a/hwe/sammo/ActionItem/che_격노_구정신단경.php +++ b/hwe/sammo/ActionItem/che_격노_구정신단경.php @@ -12,15 +12,10 @@ class che_격노_구정신단경 extends \sammo\BaseItem{ protected $rawName = '구정신단경'; protected $name = '구정신단경(격노)'; - protected $info = '[전투] 상대방 필살 시 격노(필살) 발동, 회피 시도시 25% 확률로 격노 발동, 공격 시 일정 확률로 진노(1페이즈 추가), 격노마다 대미지 20% 추가 중첩'; + protected $info = '[전투] 상대방 필살 시 격노(필살) 발동, 회피 시도시 25% 확률로 격노 발동, 공격 시 일정 확률로 진노(1페이즈 추가)'; protected $cost = 200; protected $consumable = false; - public function getWarPowerMultiplier(WarUnit $unit):array{ - $activatedCnt = $unit->hasActivatedSkillOnLog('격노'); - return [1 + 0.2*$activatedCnt, 1]; - } - public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{ return new WarUnitTriggerCaller( new che_격노시도($unit, che_격노시도::TYPE_ITEM), diff --git a/hwe/sammo/ActionItem/che_농성_위공자병법.php b/hwe/sammo/ActionItem/che_농성_위공자병법.php index 4b942b9f..3645a2d0 100644 --- a/hwe/sammo/ActionItem/che_농성_위공자병법.php +++ b/hwe/sammo/ActionItem/che_농성_위공자병법.php @@ -16,6 +16,11 @@ class che_농성_위공자병법 extends \sammo\BaseItem{ if($statName === 'sabotageDefence'){ return $value + 0.3; } + return $value; + } + + public function onCalcOpposeStat(General $general, string $statName, $value, $aux = null) + { if($statName === 'warMagicTrialProb'){ return $value - 0.1; } diff --git a/hwe/sammo/ActionItem/che_농성_주서음부.php b/hwe/sammo/ActionItem/che_농성_주서음부.php index 76fea855..7723618e 100644 --- a/hwe/sammo/ActionItem/che_농성_주서음부.php +++ b/hwe/sammo/ActionItem/che_농성_주서음부.php @@ -16,6 +16,11 @@ class che_농성_주서음부 extends \sammo\BaseItem{ if($statName === 'sabotageDefence'){ return $value + 0.3; } + return $value; + } + + public function onCalcOpposeStat(General $general, string $statName, $value, $aux = null) + { if($statName === 'warMagicTrialProb'){ return $value - 0.1; } diff --git a/hwe/sammo/ActionItem/che_능력치_무력_두강주.php b/hwe/sammo/ActionItem/che_능력치_무력_두강주.php index 8dda7371..b251f9b2 100644 --- a/hwe/sammo/ActionItem/che_능력치_무력_두강주.php +++ b/hwe/sammo/ActionItem/che_능력치_무력_두강주.php @@ -12,7 +12,7 @@ class che_능력치_무력_두강주 extends \sammo\BaseItem{ protected $rawName = '두강주'; protected $name = '두강주(무력)'; - protected $info = '[능력치] 무력 보정 +5 + (5년마다 +1)'; + protected $info = '[능력치] 무력 +5 +(5년마다 +1)'; protected $cost = 200; protected $consumable = false; diff --git a/hwe/sammo/ActionItem/che_능력치_지력_이강주.php b/hwe/sammo/ActionItem/che_능력치_지력_이강주.php index 66f88b4c..9c74ffb4 100644 --- a/hwe/sammo/ActionItem/che_능력치_지력_이강주.php +++ b/hwe/sammo/ActionItem/che_능력치_지력_이강주.php @@ -12,7 +12,7 @@ class che_능력치_지력_이강주 extends \sammo\BaseItem{ protected $rawName = '이강주'; protected $name = '이강주(지력)'; - protected $info = '[능력치] 지력 보정 +5 + (5년마다 +1)'; + protected $info = '[능력치] 지력 +5 +(5년마다 +1)'; protected $cost = 200; protected $consumable = false; diff --git a/hwe/sammo/ActionItem/che_능력치_통솔_보령압주.php b/hwe/sammo/ActionItem/che_능력치_통솔_보령압주.php index f075e6f3..7ebb29ed 100644 --- a/hwe/sammo/ActionItem/che_능력치_통솔_보령압주.php +++ b/hwe/sammo/ActionItem/che_능력치_통솔_보령압주.php @@ -12,7 +12,7 @@ class che_능력치_통솔_보령압주 extends \sammo\BaseItem{ protected $rawName = '보령압주'; protected $name = '보령압주(통솔)'; - protected $info = '[능력치] 통솔 보정 +5 + (5년마다 +1)'; + protected $info = '[능력치] 통솔 +5 +(5년마다 +1)'; protected $cost = 200; protected $consumable = false; diff --git a/hwe/sammo/ActionItem/che_부적_태현청생부.php b/hwe/sammo/ActionItem/che_부적_태현청생부.php index fd66bba7..004380b8 100644 --- a/hwe/sammo/ActionItem/che_부적_태현청생부.php +++ b/hwe/sammo/ActionItem/che_부적_태현청생부.php @@ -21,6 +21,14 @@ class che_부적_태현청생부 extends \sammo\BaseItem protected $cost = 200; protected $consumable = false; + public function onCalcStat(General $general, string $statName, $value, $aux = null) + { + if($statName === 'injuryProb'){ + return $value -= 1; + } + return $value; + } + public function getBattleInitSkillTriggerList(WarUnit $unit): ?WarUnitTriggerCaller { return new WarUnitTriggerCaller( diff --git a/hwe/sammo/ActionItem/che_약탈_옥벽.php b/hwe/sammo/ActionItem/che_약탈_옥벽.php index de7047bf..90ed50c2 100644 --- a/hwe/sammo/ActionItem/che_약탈_옥벽.php +++ b/hwe/sammo/ActionItem/che_약탈_옥벽.php @@ -11,13 +11,13 @@ class che_약탈_옥벽 extends \sammo\BaseItem{ protected $rawName = '옥벽'; protected $name = '옥벽(약탈)'; - protected $info = '[전투] 새로운 상대와 전투 시 10% 확률로 상대 금, 쌀 10% 약탈'; + protected $info = '[전투] 새로운 상대와 전투 시 20% 확률로 상대 금, 쌀 10% 약탈'; protected $cost = 200; protected $consumable = false; public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{ return new WarUnitTriggerCaller( - new che_약탈시도($unit, che_약탈시도::TYPE_ITEM, 0.1, 0.1), + new che_약탈시도($unit, che_약탈시도::TYPE_ITEM, 0.2, 0.1), new che_약탈발동($unit, che_약탈발동::TYPE_ITEM) ); } diff --git a/hwe/sammo/ActionItem/che_저지_삼황내문.php b/hwe/sammo/ActionItem/che_저지_삼황내문.php index b0497b59..19576c22 100644 --- a/hwe/sammo/ActionItem/che_저지_삼황내문.php +++ b/hwe/sammo/ActionItem/che_저지_삼황내문.php @@ -2,21 +2,27 @@ namespace sammo\ActionItem; use sammo\BaseWarUnitTrigger; +use sammo\Util; use sammo\WarUnit; use sammo\WarUnitTrigger\che_저지발동; use sammo\WarUnitTrigger\WarActivateSkills; use sammo\WarUnitTriggerCaller; class che_저지_삼황내문 extends \sammo\BaseItem{ - protected $rawName = '삼황내문'; protected $name = '삼황내문(저지)'; - protected $info = '[전투] 수비 시 저지'; + protected $info = '[전투] 수비 시 첫 페이즈 저지, 50% 확률로 2 페이즈 저지'; protected $cost = 200; protected $consumable = false; public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{ - if($unit->getPhase() != 0){ + if($unit->isAttacker()){ + return null; + } + if($unit->getPhase() >= 2){ + return null; + } + if($unit->getPhase() == 1 && Util::randBool(0.5)){ return null; } diff --git a/hwe/sammo/ActionItem/che_집중_전국책.php b/hwe/sammo/ActionItem/che_집중_전국책.php index c3185c41..641996ba 100644 --- a/hwe/sammo/ActionItem/che_집중_전국책.php +++ b/hwe/sammo/ActionItem/che_집중_전국책.php @@ -8,17 +8,14 @@ class che_집중_전국책 extends \sammo\BaseItem { protected $rawName = '전국책'; protected $name = '전국책(집중)'; - protected $info = '[전투] 계략 성공 시 대미지 +50%, 공격 시 페이즈 -1'; + protected $info = '[전투] 계략 성공 시 대미지 +30%'; protected $cost = 200; protected $consumable = false; public function onCalcStat(General $general, string $statName, $value, $aux = null) { - if ($statName === 'initWarPhase') { - return $value - 1; - } if ($statName === 'warMagicSuccessDamage') { - return $value * 1.5; + return $value * 1.3; } return $value; } diff --git a/hwe/sammo/ActionItem/che_징병_낙주.php b/hwe/sammo/ActionItem/che_징병_낙주.php index 271bdf3c..8b3b4d89 100644 --- a/hwe/sammo/ActionItem/che_징병_낙주.php +++ b/hwe/sammo/ActionItem/che_징병_낙주.php @@ -9,7 +9,7 @@ class che_징병_낙주 extends \sammo\BaseItem{ protected $rawName = '낙주'; protected $name = '낙주(징병)'; - protected $info = '[군사] 징·모병비 -50%, 통솔 순수 능력치 보정 +25%'; + protected $info = '[군사] 징·모병비 -50%, 통솔 순수 능력치 보정 +15%'; protected $cost = 200; protected $consumable = false; @@ -23,7 +23,7 @@ class che_징병_낙주 extends \sammo\BaseItem{ public function onCalcStat(General $general, string $statName, $value, $aux=null){ if($statName === 'leadership'){ - return $value + $general->getVar('leadership') * 0.25; + return $value + $general->getVar('leadership') * 0.15; } return $value; } diff --git a/hwe/sammo/ActionItem/che_필살_둔갑천서.php b/hwe/sammo/ActionItem/che_필살_둔갑천서.php index e076930e..98b4b404 100644 --- a/hwe/sammo/ActionItem/che_필살_둔갑천서.php +++ b/hwe/sammo/ActionItem/che_필살_둔갑천서.php @@ -7,13 +7,13 @@ class che_필살_둔갑천서 extends \sammo\BaseItem{ protected $rawName = '둔갑천서'; protected $name = '둔갑천서(필살)'; - protected $info = '[전투] 필살 확률 +20%p'; + protected $info = '[전투] 필살 확률 +25%p'; protected $cost = 200; protected $consumable = false; public function onCalcStat(General $general, string $statName, $value, $aux=null){ if($statName === 'warCriticalRatio'){ - return $value + 0.2; + return $value + 0.25; } return $value; } diff --git a/hwe/sammo/ActionItem/che_환술_논어집해.php b/hwe/sammo/ActionItem/che_환술_논어집해.php index 1c3ec5ea..db4a6e54 100644 --- a/hwe/sammo/ActionItem/che_환술_논어집해.php +++ b/hwe/sammo/ActionItem/che_환술_논어집해.php @@ -8,20 +8,17 @@ class che_환술_논어집해 extends \sammo\BaseItem { protected $rawName = '논어집해'; protected $name = '논어집해(환술)'; - protected $info = '[전투] 계략 성공 확률 +10%p, 계략 성공 시 대미지 +30%, 공격 시 페이즈 -1'; + protected $info = '[전투] 계략 성공 확률 +10%p, 계략 성공 시 대미지 +20%'; protected $cost = 200; protected $consumable = false; public function onCalcStat(General $general, string $statName, $value, $aux = null) { - if ($statName === 'initWarPhase') { - return $value - 1; - } if ($statName === 'warMagicSuccessProb') { return $value + 0.1; } if ($statName === 'warMagicSuccessDamage') { - return $value * 1.3; + return $value * 1.2; } return $value; } diff --git a/hwe/sammo/ActionItem/che_회피_태평요술.php b/hwe/sammo/ActionItem/che_회피_태평요술.php index e13880fb..7903d3e8 100644 --- a/hwe/sammo/ActionItem/che_회피_태평요술.php +++ b/hwe/sammo/ActionItem/che_회피_태평요술.php @@ -7,13 +7,13 @@ class che_회피_태평요술 extends \sammo\BaseItem{ protected $rawName = '태평요술'; protected $name = '태평요술(회피)'; - protected $info = '[전투] 회피 확률 +15%p'; + protected $info = '[전투] 회피 확률 +20%p'; protected $cost = 200; protected $consumable = false; public function onCalcStat(General $general, string $statName, $value, $aux=null){ if($statName === 'warAvoidRatio'){ - return $value + 0.15; + return $value + 0.20; } return $value; } diff --git a/hwe/sammo/GameConstBase.php b/hwe/sammo/GameConstBase.php index 0ca2711f..11b97f7d 100644 --- a/hwe/sammo/GameConstBase.php +++ b/hwe/sammo/GameConstBase.php @@ -256,11 +256,11 @@ class GameConstBase 'che_내정_납금박산로' => 1, 'che_전략_평만지장도' => 1, 'che_숙련_동작' => 1, 'che_명성_구석' => 1, 'che_척사_오악진형도' => 1, 'che_격노_구정신단경' => 1, 'che_징병_낙주' => 1, - 'che_저격_매화수전' => 1, 'che_위압_조목삭' => 1, 'che_공성_묵자' => 1, - 'che_반계_백우선' => 1, 'che_집중_전국책' => 1, 'che_환술_논어집해' => 1, + 'che_저격_매화수전' => 1, 'che_저격_비도'=>1, 'che_위압_조목삭' => 1, 'che_공성_묵자' => 1, + 'che_집중_전국책' => 1, 'che_환술_논어집해' => 1, 'che_반계저지_박혁론' => 1, 'che_부적_태현청생부' => 1, 'che_저지_삼황내문' => 1, - 'che_행동_서촉지형도' => 1, 'che_회피저지_노군입산부' => 1, 'che_불굴_상편' => 1, + 'che_행동_서촉지형도' => 1, 'che_간파_노군입산부' => 1, 'che_불굴_상편' => 1, 'che_약탈_옥벽' => 1, 'che_농성_주서음부' => 1, 'che_농성_위공자병법' => 1,