diff --git a/hwe/sammo/ActionItem/che_반계_백우선.php b/hwe/sammo/ActionItem/che_반계_백우선.php
index 4e10f5c4..4a38e014 100644
--- a/hwe/sammo/ActionItem/che_반계_백우선.php
+++ b/hwe/sammo/ActionItem/che_반계_백우선.php
@@ -19,9 +19,16 @@ class che_반계_백우선 extends \sammo\BaseItem{
protected $cost = 200;
protected $consumable = false;
+ public function onCalcOpposeStat(General $general, string $statName, $value, $aux = null)
+ {
+ $debuff = [
+ 'warMagicSuccessProb' => 0.1,
+ ][$statName] ?? 0;
+ return $value - $debuff;
+ }
+
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
return new WarUnitTriggerCaller(
- new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_ITEM +BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*301, false, '계략약화'),
new che_반계시도($unit, BaseWarUnitTrigger::TYPE_ITEM +BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*301),
new che_반계발동($unit)
);
diff --git a/hwe/sammo/ActionItem/che_반계_파초선.php b/hwe/sammo/ActionItem/che_반계_파초선.php
index 5c19edfd..3a277e3e 100644
--- a/hwe/sammo/ActionItem/che_반계_파초선.php
+++ b/hwe/sammo/ActionItem/che_반계_파초선.php
@@ -19,9 +19,16 @@ class che_반계_파초선 extends \sammo\BaseItem{
protected $cost = 200;
protected $consumable = false;
+ public function onCalcOpposeStat(General $general, string $statName, $value, $aux = null)
+ {
+ $debuff = [
+ 'warMagicSuccessProb' => 0.1,
+ ][$statName] ?? 0;
+ return $value - $debuff;
+ }
+
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
return new WarUnitTriggerCaller(
- new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_ITEM +BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*302, false, '계략약화'),
new che_반계시도($unit, BaseWarUnitTrigger::TYPE_ITEM +BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*302),
new che_반계발동($unit)
);
diff --git a/hwe/sammo/ActionItem/che_서적_07_논어.php b/hwe/sammo/ActionItem/che_서적_07_논어.php
index c92a5bd8..0212b932 100644
--- a/hwe/sammo/ActionItem/che_서적_07_논어.php
+++ b/hwe/sammo/ActionItem/che_서적_07_논어.php
@@ -18,9 +18,11 @@ class che_서적_07_논어 extends \sammo\BaseStatItem{
$this->info .= "
[전투] 상대의 계략 성공 확률 -10%p";
}
- public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
- return new WarUnitTriggerCaller(
- new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_ITEM+BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*207, false, '계략약화')
- );
+ public function onCalcOpposeStat(General $general, string $statName, $value, $aux = null)
+ {
+ $debuff = [
+ 'warMagicSuccessProb' => 0.1,
+ ][$statName] ?? 0;
+ return $value - $debuff;
}
}
\ No newline at end of file
diff --git a/hwe/sammo/ActionItem/che_서적_11_춘추전.php b/hwe/sammo/ActionItem/che_서적_11_춘추전.php
index 0fa0ca84..7dc51ae5 100644
--- a/hwe/sammo/ActionItem/che_서적_11_춘추전.php
+++ b/hwe/sammo/ActionItem/che_서적_11_춘추전.php
@@ -18,9 +18,11 @@ class che_서적_11_춘추전 extends \sammo\BaseStatItem{
$this->info .= "
[전투] 상대의 계략 성공 확률 -10%p";
}
- public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
- return new WarUnitTriggerCaller(
- new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_ITEM+BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*211, false, '계략약화')
- );
+ public function onCalcOpposeStat(General $general, string $statName, $value, $aux = null)
+ {
+ $debuff = [
+ 'warMagicSuccessProb' => 0.1,
+ ][$statName] ?? 0;
+ return $value - $debuff;
}
}
\ No newline at end of file
diff --git a/hwe/sammo/ActionItem/che_치트_HideD의_사인검.php b/hwe/sammo/ActionItem/che_치트_HideD의_사인검.php
index e95310c9..820c372e 100644
--- a/hwe/sammo/ActionItem/che_치트_HideD의_사인검.php
+++ b/hwe/sammo/ActionItem/che_치트_HideD의_사인검.php
@@ -1,5 +1,7 @@
30,
- 'bonusAtmos'=>30,
- 'leadership'=>100,
- 'strength'=>100,
- 'intel'=>100,
- 'warMagicSuccessProb'=>1,
- ][$statName]??0;
+ 'bonusTrain' => 30,
+ 'bonusAtmos' => 30,
+ 'leadership' => 100,
+ 'strength' => 100,
+ 'intel' => 100,
+ 'warMagicSuccessProb' => 1,
+ ][$statName] ?? 0;
return $bonus + $value;
}
- public function getPreTurnExecuteTriggerList(General $general):?GeneralTriggerCaller{
+ public function onCalcOpposeStat(General $general, string $statName, $value, $aux = null)
+ {
+ $debuff = [
+ 'warMagicSuccessProb' => 0.1,
+ ][$statName] ?? 0;
+ return $value - $debuff;
+ }
+
+ public function getPreTurnExecuteTriggerList(General $general): ?GeneralTriggerCaller
+ {
return new GeneralTriggerCaller(
new GeneralTrigger\che_도시치료($general)
);
}
- public function getBattleInitSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
+ public function getBattleInitSkillTriggerList(WarUnit $unit): ?WarUnitTriggerCaller
+ {
return new WarUnitTriggerCaller(
new che_부상무효($unit, BaseWarUnitTrigger::TYPE_NONE),
new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_NONE, false, '저격불가')
@@ -73,10 +88,10 @@ EOT;
public function getBattlePhaseSkillTriggerList(\sammo\WarUnit $unit): ?WarUnitTriggerCaller
{
return new WarUnitTriggerCaller(
- new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_NONE, false, '필살불가', '위압불가', '격노불가', '계략약화', '저격불가'),
+ new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_NONE, false, '필살불가', '위압불가', '격노불가', '저격불가'),
new che_전투치료시도($unit),
new che_전투치료발동($unit),
- new che_저격시도($unit, che_저격시도::TYPE_NONE, 1/2, 20, 60),
+ new che_저격시도($unit, che_저격시도::TYPE_NONE, 1 / 2, 20, 60),
new che_저격발동($unit),
new che_격노시도($unit),
new che_격노발동($unit),
@@ -84,8 +99,8 @@ EOT;
);
}
- public function getWarPowerMultiplier(WarUnit $unit):array{
+ public function getWarPowerMultiplier(WarUnit $unit): array
+ {
return [1, 0.95];
}
-
-}
\ No newline at end of file
+}
diff --git a/hwe/sammo/ActionItem/event_전투특기_반계.php b/hwe/sammo/ActionItem/event_전투특기_반계.php
index 372d4de1..3e2da17a 100644
--- a/hwe/sammo/ActionItem/event_전투특기_반계.php
+++ b/hwe/sammo/ActionItem/event_전투특기_반계.php
@@ -28,9 +28,16 @@ class event_전투특기_반계 extends \sammo\BaseItem{
return $value;
}
+ public function onCalcOpposeStat(General $general, string $statName, $value, $aux = null)
+ {
+ $debuff = [
+ 'warMagicSuccessProb' => 0.1,
+ ][$statName] ?? 0;
+ return $value - $debuff;
+ }
+
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
return new WarUnitTriggerCaller(
- new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_ITEM + BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*401, false, '계략약화'),
new che_반계시도($unit),
new che_반계발동($unit)
);
diff --git a/hwe/sammo/ActionSpecialDomestic/che_event_견고.php b/hwe/sammo/ActionSpecialDomestic/che_event_견고.php
index 902682da..1cd1131d 100644
--- a/hwe/sammo/ActionSpecialDomestic/che_event_견고.php
+++ b/hwe/sammo/ActionSpecialDomestic/che_event_견고.php
@@ -21,6 +21,14 @@ class che_event_견고 extends \sammo\BaseSpecial{
SpecialityHelper::STAT_STRENGTH
];
+ public function onCalcOpposeStat(General $general, string $statName, $value, $aux = null)
+ {
+ $debuff = [
+ 'warMagicSuccessProb' => 0.1,
+ ][$statName] ?? 0;
+ return $value - $debuff;
+ }
+
public function getBattleInitSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
return new WarUnitTriggerCaller(
new che_부상무효($unit, BaseWarUnitTrigger::TYPE_ITEM),
@@ -30,7 +38,7 @@ class che_event_견고 extends \sammo\BaseSpecial{
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
return new WarUnitTriggerCaller(
- new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_ITEM + BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*402, false, '필살불가', '계략약화', '저격불가')
+ new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_ITEM + BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE*402, false, '필살불가', '저격불가')
);
}
diff --git a/hwe/sammo/ActionSpecialDomestic/che_event_반계.php b/hwe/sammo/ActionSpecialDomestic/che_event_반계.php
index ec5b6c28..4bf5256d 100644
--- a/hwe/sammo/ActionSpecialDomestic/che_event_반계.php
+++ b/hwe/sammo/ActionSpecialDomestic/che_event_반계.php
@@ -33,10 +33,17 @@ class che_event_반계 extends \sammo\BaseSpecial
return $value;
}
+ public function onCalcOpposeStat(General $general, string $statName, $value, $aux = null)
+ {
+ $debuff = [
+ 'warMagicSuccessProb' => 0.1,
+ ][$statName] ?? 0;
+ return $value - $debuff;
+ }
+
public function getBattlePhaseSkillTriggerList(WarUnit $unit): ?WarUnitTriggerCaller
{
return new WarUnitTriggerCaller(
- new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_ITEM + BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE * 403, false, '계략약화'),
new che_반계시도($unit),
new che_반계발동($unit)
);
diff --git a/hwe/sammo/ActionSpecialWar/che_견고.php b/hwe/sammo/ActionSpecialWar/che_견고.php
index 3e3e0d5b..ed8bd76c 100644
--- a/hwe/sammo/ActionSpecialWar/che_견고.php
+++ b/hwe/sammo/ActionSpecialWar/che_견고.php
@@ -24,6 +24,14 @@ class che_견고 extends \sammo\BaseSpecial
SpecialityHelper::STAT_STRENGTH
];
+ public function onCalcOpposeStat(General $general, string $statName, $value, $aux = null)
+ {
+ $debuff = [
+ 'warMagicSuccessProb' => 0.1,
+ ][$statName] ?? 0;
+ return $value - $debuff;
+ }
+
public function getBattleInitSkillTriggerList(WarUnit $unit): ?WarUnitTriggerCaller
{
return new WarUnitTriggerCaller(
@@ -35,7 +43,7 @@ class che_견고 extends \sammo\BaseSpecial
public function getBattlePhaseSkillTriggerList(WarUnit $unit): ?WarUnitTriggerCaller
{
return new WarUnitTriggerCaller(
- new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_ITEM + BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE * 404, false, '필살불가', '계략약화', '저격불가')
+ new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_ITEM + BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE * 404, false, '필살불가', '저격불가')
);
}
diff --git a/hwe/sammo/ActionSpecialWar/che_반계.php b/hwe/sammo/ActionSpecialWar/che_반계.php
index 4d2117d5..2239a6df 100644
--- a/hwe/sammo/ActionSpecialWar/che_반계.php
+++ b/hwe/sammo/ActionSpecialWar/che_반계.php
@@ -29,9 +29,16 @@ class che_반계 extends \sammo\BaseSpecial{
return $value;
}
+ public function onCalcOpposeStat(General $general, string $statName, $value, $aux = null)
+ {
+ $debuff = [
+ 'warMagicSuccessProb' => 0.1,
+ ][$statName] ?? 0;
+ return $value - $debuff;
+ }
+
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
return new WarUnitTriggerCaller(
- new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_ITEM + BaseWarUnitTrigger::TYPE_DEDUP_TYPE_BASE * 406, false, '계략약화'),
new che_반계시도($unit),
new che_반계발동($unit)
);
diff --git a/hwe/sammo/WarUnitTrigger/che_계략시도.php b/hwe/sammo/WarUnitTrigger/che_계략시도.php
index f4c78f44..a348804d 100644
--- a/hwe/sammo/WarUnitTrigger/che_계략시도.php
+++ b/hwe/sammo/WarUnitTrigger/che_계략시도.php
@@ -55,9 +55,6 @@ class che_계략시도 extends BaseWarUnitTrigger{
$magicSuccessProb = 0.7;
$magicSuccessProb = $general->onCalcStat($general, 'warMagicSuccessProb', $magicSuccessProb);
$magicSuccessProb = $oppose->getGeneral()->onCalcOpposeStat($general, 'warMagicSuccessProb', $magicSuccessProb);
- if($self->hasActivatedSkill('계략약화')){
- $magicSuccessProb -= 0.1; //NOTE: 앞으로 이건 oppose의 onCalcStat에 들어가야하지 않을까?
- }
if($oppose instanceof WarUnitCity){
$magic = Util::choiceRandom(array_keys(static::$tableToCity));