From cfd0a2d26f76e3b165f0a2608bf48e458a3a8205 Mon Sep 17 00:00:00 2001 From: Hide_D Date: Wed, 18 Sep 2024 16:08:37 +0000 Subject: [PATCH] =?UTF-8?q?game:=20=EC=B6=A9=EC=B0=A8=20=EB=8F=84=EA=B5=AC?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/sammo/ActionItem/event_충차.php | 52 ++++++++++++++++ .../WarUnitTrigger/event_충차아이템소모.php | 47 ++++++++++++++ hwe/scenario/scenario_911.json | 61 ++++++++++++++++++- 3 files changed, 158 insertions(+), 2 deletions(-) create mode 100644 hwe/sammo/ActionItem/event_충차.php create mode 100644 hwe/sammo/WarUnitTrigger/event_충차아이템소모.php diff --git a/hwe/sammo/ActionItem/event_충차.php b/hwe/sammo/ActionItem/event_충차.php new file mode 100644 index 00000000..7dc80699 --- /dev/null +++ b/hwe/sammo/ActionItem/event_충차.php @@ -0,0 +1,52 @@ +setAuxVar(static::REMAIN_KEY, 2); + return $aux; + } + + public function getWarPowerMultiplier(WarUnit $unit):array{ + if($unit->getOppose() instanceof WarUnitCity){ + return [1.5, 1]; + } + return [1, 1]; + } + + public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{ + return new WarUnitTriggerCaller( + new event_충차아이템소모($unit, BaseWarUnitTrigger::TYPE_CONSUMABLE_ITEM) + ); + } +} \ No newline at end of file diff --git a/hwe/sammo/WarUnitTrigger/event_충차아이템소모.php b/hwe/sammo/WarUnitTrigger/event_충차아이템소모.php new file mode 100644 index 00000000..566d5f40 --- /dev/null +++ b/hwe/sammo/WarUnitTrigger/event_충차아이템소모.php @@ -0,0 +1,47 @@ +hasActivatedSkillOnLog('충차공격') && $self->getPhase() == $self->getMaxPhase() - 1){ + //TODO: 전투 종료시 소모를 예약하는 기능이 있으면 매우 좋을 것 같다. + $general = $self->getGeneral(); + $remain = $general->getAuxVar(event_충차::REMAIN_KEY) ?? 0; + if($remain <= 0){ + $this->processConsumableItem(); + } + return true; + } + + if(!($self instanceof WarUnitGeneral)){ + return true; + } + if(!($oppose instanceof WarUnitCity)){ + return true; + } + if($self->hasActivatedSkillOnLog('충차공격')){ + return true; + } + + $self->getLogger()->pushGeneralBattleDetailLog("충차로 성벽을 공격합니다.", ActionLogger::PLAIN); + + $general = $self->getGeneral(); + $remain = $general->getAuxVar(event_충차::REMAIN_KEY) ?? 0; + $self->activateSkill('충차공격'); + $general->setAuxVar(event_충차::REMAIN_KEY, $remain - 1); + + return true; + } +} \ No newline at end of file diff --git a/hwe/scenario/scenario_911.json b/hwe/scenario/scenario_911.json index 591aff19..b51b919b 100644 --- a/hwe/scenario/scenario_911.json +++ b/hwe/scenario/scenario_911.json @@ -1,5 +1,5 @@ { - "title":"【이벤트】 축지", + "title":"【공백지】 축지", "startYear":180, "map":{ "mapName":"miniche", @@ -22,7 +22,64 @@ }, "incDefSettingChange": 10, "maxDefSettingChange": 30, - "refreshLimitCoef": 20 + "refreshLimitCoef": 20, + "allItems": { + "horse" : { + "che_명마_01_노기" : 0, "che_명마_02_조랑" : 0, "che_명마_03_노새" : 0, + "che_명마_04_나귀" : 0, "che_명마_05_갈색마" : 0, "che_명마_06_흑색마" : 0, + + "che_명마_07_백마" : 2, "che_명마_07_기주마" : 2, "che_명마_07_오환마" : 2, "che_명마_07_백상" : 2, + "che_명마_08_양주마" : 2, "che_명마_08_흉노마" : 2, "che_명마_09_과하마" : 2, "che_명마_09_의남백마" : 2, + "che_명마_10_대완마" : 2, "che_명마_10_옥추마" : 2, "che_명마_11_서량마" : 2, "che_명마_11_화종마" : 2, + "che_명마_12_사륜거" : 2, "che_명마_12_옥란백용구": 2, "che_명마_13_절영" : 2, "che_명마_13_적로" : 2, + "che_명마_14_적란마" : 2, "che_명마_14_조황비전" : 2, "che_명마_15_한혈마" : 2, "che_명마_15_적토마" : 2 + }, + "weapon" : { + "che_무기_01_단도" : 0, "che_무기_02_단궁" : 0, "che_무기_03_단극" : 0, + "che_무기_04_목검" : 0, "che_무기_05_죽창" : 0, "che_무기_06_소부" : 0, + + "che_무기_07_동추" : 2, "che_무기_07_철편" : 2, "che_무기_07_철쇄" : 2, "che_무기_07_맥궁" : 2, + "che_무기_08_유성추" : 2, "che_무기_08_철질여골" : 2, "che_무기_09_쌍철극" : 2, "che_무기_09_동호비궁" : 2, + "che_무기_10_삼첨도" : 2, "che_무기_10_대부" : 2, "che_무기_11_고정도" : 2, "che_무기_11_이광궁" : 2, + "che_무기_12_철척사모" : 2, "che_무기_12_칠성검" : 2, "che_무기_13_사모" : 2, "che_무기_13_양유기궁" : 2, + "che_무기_14_언월도" : 2, "che_무기_14_방천화극" : 2, "che_무기_15_청홍검" : 2, "che_무기_15_의천검" : 2 + }, + "book" : { + "che_서적_01_효경전" : 0, "che_서적_02_회남자" : 0, "che_서적_03_변도론" : 0, + "che_서적_04_건상역주" : 0, "che_서적_05_여씨춘추" : 0, "che_서적_06_사민월령" : 0, + + "che_서적_07_위료자" : 2, "che_서적_07_사마법" : 2, "che_서적_07_한서" : 2, "che_서적_07_논어" : 2, + "che_서적_08_전론" : 2, "che_서적_08_사기" : 2, "che_서적_09_장자" : 2, "che_서적_09_역경" : 2, + "che_서적_10_시경" : 2, "che_서적_10_구국론" : 2, "che_서적_11_상군서" : 2, "che_서적_11_춘추전" : 2, + "che_서적_12_산해경" : 2, "che_서적_12_맹덕신서" : 2, "che_서적_13_관자" : 2, "che_서적_13_병법24편" : 2, + "che_서적_14_한비자" : 2, "che_서적_14_오자병법" : 2, "che_서적_15_노자" : 2, "che_서적_15_손자병법" : 2 + }, + "item" : { + "che_치료_환약" : 0, "che_저격_수극" : 0, "che_사기_탁주" : 0, + "che_훈련_청주" : 0, "che_계략_이추" : 0, "che_계략_향낭" : 0, + "event_충차": 0, + + "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, + "che_능력치_지력_이강주" : 1, "che_능력치_무력_두강주" : 1, "che_능력치_통솔_보령압주" : 1, + "che_훈련_철벽서" : 1, "che_훈련_단결도" : 1, "che_사기_춘화첩" : 1, "che_사기_초선화" : 1, + "che_회피_태평요술" : 1, "che_필살_둔갑천서" : 1 + } + } }, "events":[ [