From 616c37d09c42cb130589d3a39a0f30f1003bc30a Mon Sep 17 00:00:00 2001 From: Hide_D Date: Wed, 27 Dec 2023 11:54:42 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20g65=5F=EC=A0=84=ED=88=AC=EC=88=9C?= =?UTF-8?q?=EC=9C=84=EB=B3=B4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/sammo/ActionBuff/g65_전투순위보정.php | 56 +++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 hwe/sammo/ActionBuff/g65_전투순위보정.php diff --git a/hwe/sammo/ActionBuff/g65_전투순위보정.php b/hwe/sammo/ActionBuff/g65_전투순위보정.php new file mode 100644 index 00000000..4739776e --- /dev/null +++ b/hwe/sammo/ActionBuff/g65_전투순위보정.php @@ -0,0 +1,56 @@ +getCrewTypeObj(); + $attackerCrewType = $attacker->getCrewTypeObj(); + + $attackerCoef = $attackerCrewType->getAttackCoef($defenderCrewType) * $defenderCrewType->getDefenceCoef($attackerCrewType); + $defenderCoef = $defenderCrewType->getAttackCoef($attackerCrewType) * $attackerCrewType->getDefenceCoef($defenderCrewType); + + if($attackerCoef > $defenderCoef){ + return $value * 3; + } else if($attackerCoef < $defenderCoef){ + return $value / 3; + } + } + return $value; + } + + function onCalcOpposeStat(General $defender, string $statName, $value, $aux = null) + { + //공격자 입장에서 coef가 높다면 전투순위를 높인다. + if ($statName == 'battleOrder') { + if($aux === null) throw new \RuntimeException('전투순위보정에 필요한 aux가 없습니다.'); + /** @var General */ + $attacker = $aux['attacker']; + $defenderCrewType = $defender->getCrewTypeObj(); + $attackerCrewType = $attacker->getCrewTypeObj(); + + $attackerCoef = $attackerCrewType->getAttackCoef($defenderCrewType) * $defenderCrewType->getDefenceCoef($attackerCrewType); + $defenderCoef = $defenderCrewType->getAttackCoef($attackerCrewType) * $attackerCrewType->getDefenceCoef($defenderCrewType); + + if($attackerCoef < $defenderCoef){ + return $value * 3; + } else if($attackerCoef > $defenderCoef){ + return $value / 3; + } + } + return $value; + } +}