From 95776cda5c6c3f3bf9bb60da3a75c7ad52271998 Mon Sep 17 00:00:00 2001 From: Hide_D Date: Sat, 28 Jan 2023 03:09:44 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EA=B6=81=EB=B3=91=EC=9D=B4=20=EC=95=84?= =?UTF-8?q?=EB=8B=8C=20=EA=B2=BD=EC=9A=B0=EC=97=90=EB=8F=84=20'=EB=A7=9E?= =?UTF-8?q?=20=EC=84=A0=EC=A0=9C'=EA=B0=80=20=EC=A0=95=EC=83=81=20?= =?UTF-8?q?=EC=9E=91=EB=8F=99=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20-=20=EA=B6=81=EB=B3=91=EC=84=A0=EC=A0=9C=EC=82=AC?= =?UTF-8?q?=EA=B2=A9=EC=9D=84=20=EC=84=A0=EC=A0=9C=EC=82=AC=EA=B2=A9?= =?UTF-8?q?=EC=8B=9C=EB=8F=84,=20=EC=84=A0=EC=A0=9C=EC=82=AC=EA=B2=A9?= =?UTF-8?q?=EB=B0=9C=EB=8F=99=EC=9C=BC=EB=A1=9C=20=EB=B6=84=EB=A6=AC=20-?= =?UTF-8?q?=20=EB=A7=9E=EC=84=A0=EC=A0=9C=EC=9D=98=20=EA=B8=B0=EC=A4=80?= =?UTF-8?q?=EC=9D=84=20=EA=B6=81=EB=B3=91=EC=9D=B4=20=EC=95=84=EB=8B=88?= =?UTF-8?q?=EB=9D=BC=20'=EC=84=A0=EC=A0=9C'=EC=9D=98=20=ED=99=9C=EC=84=B1?= =?UTF-8?q?=ED=99=94=20=EC=97=AC=EB=B6=80=EB=A1=9C=20=EA=B5=AC=EB=B6=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/sammo/GameUnitConstBase.php | 14 +++--- hwe/sammo/WarUnitTrigger/che_궁병선제사격.php | 1 + hwe/sammo/WarUnitTrigger/che_선제사격발동.php | 50 +++++++++++++++++++ hwe/sammo/WarUnitTrigger/che_선제사격시도.php | 36 +++++++++++++ 4 files changed, 94 insertions(+), 7 deletions(-) create mode 100644 hwe/sammo/WarUnitTrigger/che_선제사격발동.php create mode 100644 hwe/sammo/WarUnitTrigger/che_선제사격시도.php diff --git a/hwe/sammo/GameUnitConstBase.php b/hwe/sammo/GameUnitConstBase.php index 30d903be..ead48a95 100644 --- a/hwe/sammo/GameUnitConstBase.php +++ b/hwe/sammo/GameUnitConstBase.php @@ -115,7 +115,7 @@ class GameUnitConstBase{ [self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2], [self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8], ['표준적인 궁병입니다.','궁병은 선제사격을 하는 병종입니다.'], - null, ['che_궁병선제사격'] + null, ['che_선제사격시도', 'che_선제사격발동'] ], [ 1201, self::T_ARCHER, '궁기병', @@ -124,7 +124,7 @@ class GameUnitConstBase{ [self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.9, self::T_SIEGE=>1.2], [self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.1, self::T_SIEGE=>0.8], ['말을 타고 잘 피합니다. 특히 다른 궁병보다 보병에게 조금 더 강합니다.'], - null, ['che_궁병선제사격'] + null, ['che_선제사격시도', 'che_선제사격발동'] ], [ 1202, self::T_ARCHER, '연노병', @@ -133,7 +133,7 @@ class GameUnitConstBase{ [self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2], [self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8], ['화살을 연사합니다.'], - null, ['che_궁병선제사격'] + null, ['che_선제사격시도', 'che_선제사격발동'] ], [ 1203, self::T_ARCHER, '강궁병', @@ -142,7 +142,7 @@ class GameUnitConstBase{ [self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2], [self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8], ['강건한 궁병입니다.'], - null, ['che_궁병선제사격'] + null, ['che_선제사격시도', 'che_선제사격발동'] ], [ 1204, self::T_ARCHER, '석궁병', @@ -151,7 +151,7 @@ class GameUnitConstBase{ [self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2], [self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8], ['강력한 화살을 쏩니다.'], - null, ['che_궁병선제사격'] + null, ['che_선제사격시도', 'che_선제사격발동'] ], [ @@ -316,7 +316,7 @@ class GameUnitConstBase{ [self::T_FOOTMAN=>1.25, self::T_ARCHER=>1.25, self::T_CAVALRY=>1.25, self::T_WIZARD=>1.25, self::T_CASTLE=>1.8, 1106=>1.112], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2], ['높은 구조물 위에서 공격합니다.'], - ['che_성벽부상무효'], ['che_궁병선제사격'] + ['che_성벽부상무효'], ['che_선제사격시도', 'che_선제사격발동'] ], [ 1501, self::T_SIEGE, '충차', @@ -334,7 +334,7 @@ class GameUnitConstBase{ [self::T_FOOTMAN=>1.25, self::T_ARCHER=>1.25, self::T_CAVALRY=>1.25, self::T_WIZARD=>1.25, self::T_CASTLE=>1.8, 1106=>1.112], [self::T_FOOTMAN=>0.833, self::T_ARCHER=>0.833, self::T_CAVALRY=>0.833, self::T_WIZARD=>0.833, 1106=>0.909], ['상대에게 돌덩이를 날립니다.'], - ['che_성벽부상무효'], ['che_궁병선제사격'] + ['che_성벽부상무효'], ['che_선제사격시도', 'che_선제사격발동'] ], [ 1503, self::T_SIEGE, '목우', diff --git a/hwe/sammo/WarUnitTrigger/che_궁병선제사격.php b/hwe/sammo/WarUnitTrigger/che_궁병선제사격.php index 03de4c0e..1d025583 100644 --- a/hwe/sammo/WarUnitTrigger/che_궁병선제사격.php +++ b/hwe/sammo/WarUnitTrigger/che_궁병선제사격.php @@ -12,6 +12,7 @@ use sammo\GameUnitDetail; use sammo\Util; use sammo\ObjectTrigger; +/** @deprecated che_선제사격시도, che_선제사격발동 으로 이전*/ class che_궁병선제사격 extends BaseWarUnitTrigger { protected $priority = ObjectTrigger::PRIORITY_BEGIN + 50; diff --git a/hwe/sammo/WarUnitTrigger/che_선제사격발동.php b/hwe/sammo/WarUnitTrigger/che_선제사격발동.php new file mode 100644 index 00000000..3200a10e --- /dev/null +++ b/hwe/sammo/WarUnitTrigger/che_선제사격발동.php @@ -0,0 +1,50 @@ +hasActivatedSkill('선제')) { + return true; + } + if ($oppose->hasActivatedSkill('선제') && $oppose->isAttacker()){ + //맞 선제라면 공격자가 처리 + return true; + } + + $self->addPhase(-1); + $oppose->addPhase(-1); + if ($oppose->hasActivatedSkill('선제')) { + $self->multiplyWarPowerMultiply(2/3); + $oppose->multiplyWarPowerMultiply(2/3); + $oppose->getLogger()->pushGeneralBattleDetailLog('서로 선제 사격을 주고 받았다!', ActionLogger::PLAIN); + $self->getLogger()->pushGeneralBattleDetailLog('서로 선제 사격을 주고 받았다!', ActionLogger::PLAIN); + return true; + } + + $oppose->multiplyWarPowerMultiply(0); + $self->multiplyWarPowerMultiply(2/3); + $self->activateSkill('회피불가', '필살불가', '계략불가'); + $oppose->activateSkill('회피불가', '필살불가', '격노불가', '계략불가'); + + $oppose->getLogger()->pushGeneralBattleDetailLog('상대에게 선제 사격을 받았다!', ActionLogger::PLAIN); + $self->getLogger()->pushGeneralBattleDetailLog('상대에게 선제 사격을 했다!', ActionLogger::PLAIN); + + return true; + } +} diff --git a/hwe/sammo/WarUnitTrigger/che_선제사격시도.php b/hwe/sammo/WarUnitTrigger/che_선제사격시도.php new file mode 100644 index 00000000..0460a961 --- /dev/null +++ b/hwe/sammo/WarUnitTrigger/che_선제사격시도.php @@ -0,0 +1,36 @@ +getPhase() !== 0 && $oppose->getPhase() !== 0) { + return true; + } + if ($self->hasActivatedSkill('선제')) { + return true; + } + if ($self->hasActivatedSkillOnLog('선제')) { + return true; + } + + $self->activateSkill('특수', '선제'); + return true; + + } +}