From a38cb90cbf710b38aafb0824d70496ac516f5615 Mon Sep 17 00:00:00 2001 From: hide_d Date: Wed, 3 Jun 2020 22:17:22 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B2=9C=EC=A7=80=EB=B9=84=EA=B8=89=20?= =?UTF-8?q?=EC=8B=9C=EB=82=98=EB=A6=AC=EC=98=A4=EB=A5=BC=20=EC=84=A4?= =?UTF-8?q?=EB=AA=85=EC=97=90=20=EB=A7=9E=EA=B2=8C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/sammo/ActionItem/event_전투특기_격노.php | 55 +++++++------- hwe/sammo/ActionItem/event_전투특기_공성.php | 67 +++++++++-------- hwe/sammo/ActionItem/event_전투특기_궁병.php | 65 ++++++++-------- hwe/sammo/ActionItem/event_전투특기_귀병.php | 65 ++++++++-------- hwe/sammo/ActionItem/event_전투특기_기병.php | 65 ++++++++-------- hwe/sammo/ActionItem/event_전투특기_돌격.php | 79 ++++++++++---------- hwe/sammo/ActionItem/event_전투특기_무쌍.php | 55 +++++++------- hwe/sammo/ActionItem/event_전투특기_반계.php | 73 +++++++++--------- hwe/sammo/ActionItem/event_전투특기_보병.php | 67 +++++++++-------- hwe/sammo/ActionItem/event_전투특기_신산.php | 69 ++++++++--------- hwe/sammo/ActionItem/event_전투특기_신중.php | 47 ++++++------ hwe/sammo/ActionItem/event_전투특기_위압.php | 59 ++++++++------- hwe/sammo/ActionItem/event_전투특기_의술.php | 75 ++++++++++--------- hwe/sammo/ActionItem/event_전투특기_저격.php | 53 ++++++------- hwe/sammo/ActionItem/event_전투특기_집중.php | 47 ++++++------ hwe/sammo/ActionItem/event_전투특기_징병.php | 63 ++++++++-------- hwe/sammo/ActionItem/event_전투특기_척사.php | 49 ++++++------ hwe/sammo/ActionItem/event_전투특기_필살.php | 63 ++++++++-------- hwe/sammo/ActionItem/event_전투특기_환술.php | 53 ++++++------- hwe/scenario/scenario_902.json | 6 +- 20 files changed, 595 insertions(+), 580 deletions(-) diff --git a/hwe/sammo/ActionItem/event_전투특기_격노.php b/hwe/sammo/ActionItem/event_전투특기_격노.php index ee95b3a2..18e38529 100644 --- a/hwe/sammo/ActionItem/event_전투특기_격노.php +++ b/hwe/sammo/ActionItem/event_전투특기_격노.php @@ -1,28 +1,29 @@ -[전투] 성벽 공격 시 대미지 +100%'; - protected $cost = 100; - protected $buyable = true; - protected $consumable = false; - - public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{ - if(in_array($turnType, ['징병', '모병'])){ - if($varType == 'cost' && $aux['armType'] == GameUnitConst::T_SIEGE) return $value * 0.9; - } - - return $value; - } - - public function getWarPowerMultiplier(WarUnit $unit):array{ - if($unit->getOppose() instanceof WarUnitCity){ - return [2, 1]; - } - return [1, 1]; - } +[전투] 성벽 공격 시 대미지 +100%'; + protected $cost = 100; + protected $buyable = true; + protected $consumable = false; + protected $reqSecu = 3000; + + public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{ + if(in_array($turnType, ['징병', '모병'])){ + if($varType == 'cost' && $aux['armType'] == GameUnitConst::T_SIEGE) return $value * 0.9; + } + + return $value; + } + + public function getWarPowerMultiplier(WarUnit $unit):array{ + if($unit->getOppose() instanceof WarUnitCity){ + return [2, 1]; + } + return [1, 1]; + } } \ No newline at end of file diff --git a/hwe/sammo/ActionItem/event_전투특기_궁병.php b/hwe/sammo/ActionItem/event_전투특기_궁병.php index 86fb4b1a..d90a3c9f 100644 --- a/hwe/sammo/ActionItem/event_전투특기_궁병.php +++ b/hwe/sammo/ActionItem/event_전투특기_궁병.php @@ -1,33 +1,34 @@ -[전투] 회피 확률 +20%p'; - protected $cost = 100; - protected $buyable = true; - protected $consumable = false; - - public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{ - if(in_array($turnType, ['징병', '모병'])){ - if($varType == 'cost' && $aux['armType'] == GameUnitConst::T_ARCHER) return $value * 0.9; - } - - return $value; - } - - public function onCalcStat(General $general, string $statName, $value, $aux=null){ - if($statName === 'warAvoidRatio'){ - return $value + 0.2; - } - return $value; - } +[전투] 회피 확률 +20%p'; + protected $cost = 100; + protected $buyable = true; + protected $consumable = false; + protected $reqSecu = 3000; + + public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{ + if(in_array($turnType, ['징병', '모병'])){ + if($varType == 'cost' && $aux['armType'] == GameUnitConst::T_ARCHER) return $value * 0.9; + } + + return $value; + } + + public function onCalcStat(General $general, string $statName, $value, $aux=null){ + if($statName === 'warAvoidRatio'){ + return $value + 0.2; + } + return $value; + } } \ No newline at end of file diff --git a/hwe/sammo/ActionItem/event_전투특기_귀병.php b/hwe/sammo/ActionItem/event_전투특기_귀병.php index d3a68acf..8fc1cf79 100644 --- a/hwe/sammo/ActionItem/event_전투특기_귀병.php +++ b/hwe/sammo/ActionItem/event_전투특기_귀병.php @@ -1,33 +1,34 @@ -[전투] 계략 성공 확률 +20%p'; - protected $cost = 100; - protected $buyable = true; - protected $consumable = false; - - public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{ - if(in_array($turnType, ['징병', '모병'])){ - if($varType == 'cost' && $aux['armType'] == GameUnitConst::T_WIZARD) return $value * 0.9; - } - - return $value; - } - - public function onCalcStat(General $general, string $statName, $value, $aux=null){ - if($statName === 'warMagicSuccessProb'){ - return $value + 0.2; - } - return $value; - } +[전투] 계략 성공 확률 +20%p'; + protected $cost = 100; + protected $buyable = true; + protected $consumable = false; + protected $reqSecu = 3000; + + public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{ + if(in_array($turnType, ['징병', '모병'])){ + if($varType == 'cost' && $aux['armType'] == GameUnitConst::T_WIZARD) return $value * 0.9; + } + + return $value; + } + + public function onCalcStat(General $general, string $statName, $value, $aux=null){ + if($statName === 'warMagicSuccessProb'){ + return $value + 0.2; + } + return $value; + } } \ No newline at end of file diff --git a/hwe/sammo/ActionItem/event_전투특기_기병.php b/hwe/sammo/ActionItem/event_전투특기_기병.php index 93606ec8..5f644265 100644 --- a/hwe/sammo/ActionItem/event_전투특기_기병.php +++ b/hwe/sammo/ActionItem/event_전투특기_기병.php @@ -1,33 +1,34 @@ -[전투] 수비 시 대미지 +10%, 공격 시 대미지 +20%'; - protected $cost = 100; - protected $buyable = true; - protected $consumable = false; - - public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{ - if(in_array($turnType, ['징병', '모병'])){ - if($varType == 'cost' && $aux['armType'] == GameUnitConst::T_CAVALRY) return $value * 0.9; - } - - return $value; - } - - public function getWarPowerMultiplier(WarUnit $unit):array{ - if($unit->isAttacker()){ - return [1.2, 1]; - } - return [1.1, 1]; - } +[전투] 수비 시 대미지 +10%, 공격 시 대미지 +20%'; + protected $cost = 100; + protected $buyable = true; + protected $consumable = false; + protected $reqSecu = 3000; + + public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{ + if(in_array($turnType, ['징병', '모병'])){ + if($varType == 'cost' && $aux['armType'] == GameUnitConst::T_CAVALRY) return $value * 0.9; + } + + return $value; + } + + public function getWarPowerMultiplier(WarUnit $unit):array{ + if($unit->isAttacker()){ + return [1.2, 1]; + } + return [1.1, 1]; + } } \ No newline at end of file diff --git a/hwe/sammo/ActionItem/event_전투특기_돌격.php b/hwe/sammo/ActionItem/event_전투특기_돌격.php index 1a812075..1c52cbb2 100644 --- a/hwe/sammo/ActionItem/event_전투특기_돌격.php +++ b/hwe/sammo/ActionItem/event_전투특기_돌격.php @@ -1,40 +1,41 @@ -isAttacker()){ - return [1.1, 1]; - } - return [1, 1]; - } - - public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{ - return new WarUnitTriggerCaller( - (new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_NONE, false, '회피불가'))->setPriority(BaseWarUnitTrigger::PRIORITY_BEGIN + 200) - ); - } +isAttacker()){ + return [1.1, 1]; + } + return [1, 1]; + } + + public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{ + return new WarUnitTriggerCaller( + (new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_NONE, false, '회피불가'))->setPriority(BaseWarUnitTrigger::PRIORITY_BEGIN + 200) + ); + } } \ No newline at end of file diff --git a/hwe/sammo/ActionItem/event_전투특기_무쌍.php b/hwe/sammo/ActionItem/event_전투특기_무쌍.php index cd594f34..256565d7 100644 --- a/hwe/sammo/ActionItem/event_전투특기_무쌍.php +++ b/hwe/sammo/ActionItem/event_전투특기_무쌍.php @@ -1,28 +1,29 @@ -[전투] 공격 시 아군 피해 -10%, 수비 시 아군 피해 -20%'; - protected $cost = 100; - protected $buyable = true; - protected $consumable = false; - - - public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{ - if(in_array($turnType, ['징병', '모병'])){ - if($varType == 'cost' && $aux['armType'] == GameUnitConst::T_FOOTMAN) return $value * 0.9; - } - - return $value; - } - - public function getWarPowerMultiplier(WarUnit $unit):array{ - if($unit->isAttacker()){ - return [1, 0.9]; - } - return [1, 0.8]; - } +[전투] 공격 시 아군 피해 -10%, 수비 시 아군 피해 -20%'; + protected $cost = 100; + protected $buyable = true; + protected $consumable = false; + protected $reqSecu = 3000; + + + public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{ + if(in_array($turnType, ['징병', '모병'])){ + if($varType == 'cost' && $aux['armType'] == GameUnitConst::T_FOOTMAN) return $value * 0.9; + } + + return $value; + } + + public function getWarPowerMultiplier(WarUnit $unit):array{ + if($unit->isAttacker()){ + return [1, 0.9]; + } + return [1, 0.8]; + } } \ No newline at end of file diff --git a/hwe/sammo/ActionItem/event_전투특기_신산.php b/hwe/sammo/ActionItem/event_전투특기_신산.php index c634360a..d0fecdfa 100644 --- a/hwe/sammo/ActionItem/event_전투특기_신산.php +++ b/hwe/sammo/ActionItem/event_전투특기_신산.php @@ -1,35 +1,36 @@ -[전투] 계략 시도 확률 +20%p, 계략 성공 확률 +20%p'; - protected $cost = 100; - protected $buyable = true; - protected $consumable = false; - - public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{ - if($turnType == '계략'){ - if($varType == 'success') return $value + 0.1; - } - - return $value; - } - - public function onCalcStat(General $general, string $statName, $value, $aux=null){ - if($statName === 'warMagicTrialProb'){ - return $value + 0.2; - } - if($statName === 'warMagicSuccessProb'){ - return $value + 0.2; - } - return $value; - } +[전투] 계략 시도 확률 +20%p, 계략 성공 확률 +20%p'; + protected $cost = 100; + protected $buyable = true; + protected $consumable = false; + protected $reqSecu = 3000; + + public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{ + if($turnType == '계략'){ + if($varType == 'success') return $value + 0.1; + } + + return $value; + } + + public function onCalcStat(General $general, string $statName, $value, $aux=null){ + if($statName === 'warMagicTrialProb'){ + return $value + 0.2; + } + if($statName === 'warMagicSuccessProb'){ + return $value + 0.2; + } + return $value; + } } \ No newline at end of file diff --git a/hwe/sammo/ActionItem/event_전투특기_신중.php b/hwe/sammo/ActionItem/event_전투특기_신중.php index 7ccc75ca..32f35244 100644 --- a/hwe/sammo/ActionItem/event_전투특기_신중.php +++ b/hwe/sammo/ActionItem/event_전투특기_신중.php @@ -1,24 +1,25 @@ -getPhase() != 0){ - return null; - } - return new WarUnitTriggerCaller( - new che_위압시도($unit), - new che_위압발동($unit) - ); - } +getPhase() != 0){ + return null; + } + return new WarUnitTriggerCaller( + new che_위압시도($unit), + new che_위압발동($unit) + ); + } } \ No newline at end of file diff --git a/hwe/sammo/ActionItem/event_전투특기_의술.php b/hwe/sammo/ActionItem/event_전투특기_의술.php index 18928578..a7f361bf 100644 --- a/hwe/sammo/ActionItem/event_전투특기_의술.php +++ b/hwe/sammo/ActionItem/event_전투특기_의술.php @@ -1,37 +1,38 @@ -[전투] 페이즈마다 20% 확률로 치료 발동(아군 피해 1/3 감소)'; - protected $cost = 100; - protected $buyable = true; - protected $consumable = false; - - public function getPreTurnExecuteTriggerList(General $general):?GeneralTriggerCaller{ - return new GeneralTriggerCaller( - new GeneralTrigger\che_도시치료($general) - ); - } - - public function getBattlePhaseSkillTriggerList(\sammo\WarUnit $unit): ?WarUnitTriggerCaller - { - return new WarUnitTriggerCaller( - new che_전투치료시도($unit, che_전투치료시도::TYPE_ITEM), - new che_전투치료발동($unit) - ); - } -} +[전투] 페이즈마다 20% 확률로 치료 발동(아군 피해 1/3 감소)'; + protected $cost = 100; + protected $buyable = true; + protected $consumable = false; + protected $reqSecu = 3000; + + public function getPreTurnExecuteTriggerList(General $general):?GeneralTriggerCaller{ + return new GeneralTriggerCaller( + new GeneralTrigger\che_도시치료($general) + ); + } + + public function getBattlePhaseSkillTriggerList(\sammo\WarUnit $unit): ?WarUnitTriggerCaller + { + return new WarUnitTriggerCaller( + new che_전투치료시도($unit, che_전투치료시도::TYPE_ITEM), + new che_전투치료발동($unit) + ); + } +} diff --git a/hwe/sammo/ActionItem/event_전투특기_저격.php b/hwe/sammo/ActionItem/event_전투특기_저격.php index bfbaaacb..29d11ab2 100644 --- a/hwe/sammo/ActionItem/event_전투특기_저격.php +++ b/hwe/sammo/ActionItem/event_전투특기_저격.php @@ -1,27 +1,28 @@ -getOppose()->getCrewType(); - if($opposeCrewType->reqCities || $opposeCrewType->reqRegions){ - return [1.1, 0.9]; - } - return [1, 1]; - } +getOppose()->getCrewType(); + if($opposeCrewType->reqCities || $opposeCrewType->reqRegions){ + return [1.1, 0.9]; + } + return [1, 1]; + } } \ No newline at end of file diff --git a/hwe/sammo/ActionItem/event_전투특기_필살.php b/hwe/sammo/ActionItem/event_전투특기_필살.php index bdedf046..7ce2fe1c 100644 --- a/hwe/sammo/ActionItem/event_전투특기_필살.php +++ b/hwe/sammo/ActionItem/event_전투특기_필살.php @@ -1,32 +1,33 @@ -