diff --git a/hwe/sammo/Command/General/che_거병.php b/hwe/sammo/Command/General/che_거병.php index c2dafdca..20fbbbb4 100644 --- a/hwe/sammo/Command/General/che_거병.php +++ b/hwe/sammo/Command/General/che_거병.php @@ -162,6 +162,7 @@ class che_거병 extends Command\GeneralCommand{ $exp = 100; $ded = 100; + $general->increaseInheritancePoint('active_action', 1); $general->addExperience($exp); $general->addDedication($ded); $general->setVar('belong', 1); diff --git a/hwe/sammo/Command/General/che_건국.php b/hwe/sammo/Command/General/che_건국.php index 5c55cd7c..ab673828 100644 --- a/hwe/sammo/Command/General/che_건국.php +++ b/hwe/sammo/Command/General/che_건국.php @@ -188,6 +188,7 @@ class che_건국 extends Command\GeneralCommand refreshNationStaticInfo(); + $general->increaseInheritancePoint('active_action', 1); $this->setResultTurn(new LastTurn(static::getName(), $this->arg)); $general->checkStatChange(); tryUniqueItemLottery($general, '건국'); diff --git a/hwe/sammo/Command/General/che_등용수락.php b/hwe/sammo/Command/General/che_등용수락.php index 4189bf19..36f21a45 100644 --- a/hwe/sammo/Command/General/che_등용수락.php +++ b/hwe/sammo/Command/General/che_등용수락.php @@ -100,7 +100,7 @@ class che_등용수락 extends Command\GeneralCommand{ public function getCost():array{ return [0, 0]; } - + public function getPreReqTurn():int{ return 0; } @@ -135,7 +135,7 @@ class che_등용수락 extends Command\GeneralCommand{ } $isTroopLeader = ($generalID == $general->getVar('troop')); - + $destGeneral->addExperience(100); $destGeneral->addDedication(100); @@ -188,13 +188,13 @@ class che_등용수락 extends Command\GeneralCommand{ $destLogger->pushGeneralHistoryLog("{$generalName} 등용에 성공"); $logger->pushGlobalActionLog("{$generalName}{$josaYi} {$destNationName}{$josaRo} 망명하였습니다."); - + if($nationID != 0){ $db->update('nation', $setOriginalNationValues, 'nation=%i', $nationID); } $db->update('nation', $setScoutNationValues, 'nation=%i', $destNationID); - + $general->increaseInheritancePoint('active_action', 1); $general->setVar('permission', 'normal'); $general->setVar('belong', 1); $general->setVar('officer_level', 1); diff --git a/hwe/sammo/Command/General/che_랜덤임관.php b/hwe/sammo/Command/General/che_랜덤임관.php index 9faa8d2f..36e6b9b4 100644 --- a/hwe/sammo/Command/General/che_랜덤임관.php +++ b/hwe/sammo/Command/General/che_랜덤임관.php @@ -285,6 +285,7 @@ class che_랜덤임관 extends Command\GeneralCommand $general->setAuxVar('joinedNations', $joinedNations); } + $general->increaseInheritancePoint('active_action', 1); $general->addExperience($exp); $this->setResultTurn(new LastTurn(static::getName(), $this->arg)); $general->checkStatChange(); diff --git a/hwe/sammo/Command/General/che_모반시도.php b/hwe/sammo/Command/General/che_모반시도.php index b39e7d5c..375be4fe 100644 --- a/hwe/sammo/Command/General/che_모반시도.php +++ b/hwe/sammo/Command/General/che_모반시도.php @@ -96,6 +96,7 @@ class che_모반시도 extends Command\GeneralCommand{ $lordLogger->pushGeneralHistoryLog("{$generalName}의 모반으로 인해 {$nationName}의 군주자리를 박탈당함"); $this->setResultTurn(new LastTurn(static::getName(), $this->arg)); + $general->increaseInheritancePoint('active_action', 1); $general->checkStatChange(); tryRollbackInheritUniqueItem($general); $general->applyDB($db); diff --git a/hwe/sammo/Command/General/che_방랑.php b/hwe/sammo/Command/General/che_방랑.php index 4a54f850..5e21e42a 100644 --- a/hwe/sammo/Command/General/che_방랑.php +++ b/hwe/sammo/Command/General/che_방랑.php @@ -121,7 +121,7 @@ class che_방랑 extends Command\GeneralCommand{ ], 'me=%i OR you=%i', $nationID, $nationID); refreshNationStaticInfo(); - + $general->increaseInheritancePoint('active_action', 1); $this->setResultTurn(new LastTurn(static::getName(), $this->arg)); tryRollbackInheritUniqueItem($general); $general->applyDB($db); diff --git a/hwe/sammo/Command/General/che_선양.php b/hwe/sammo/Command/General/che_선양.php index 38377add..b20ce2f6 100644 --- a/hwe/sammo/Command/General/che_선양.php +++ b/hwe/sammo/Command/General/che_선양.php @@ -135,6 +135,7 @@ class che_선양 extends Command\GeneralCommand $logger->pushGeneralHistoryLog("{$nationName}의 군주자리를 {$destGeneralName}에게 선양"); $destLogger->pushGeneralHistoryLog("{$nationName}의 군주자리를 물려 받음"); + $general->increaseInheritancePoint('active_action', 1); $this->setResultTurn(new LastTurn(static::getName(), $this->arg)); $general->checkStatChange(); tryRollbackInheritUniqueItem($general); diff --git a/hwe/sammo/Command/General/che_인재탐색.php b/hwe/sammo/Command/General/che_인재탐색.php index cf66951b..a34c6f35 100644 --- a/hwe/sammo/Command/General/che_인재탐색.php +++ b/hwe/sammo/Command/General/che_인재탐색.php @@ -160,7 +160,7 @@ class che_인재탐색 extends Command\GeneralCommand $exp = 100 * (sqrt(1 / $foundProp) + 1); $ded = 150 * (sqrt(1 / $foundProp) + 1); - + $scoutType = "발견"; $age = Util::randRangeInt(20, 25); @@ -172,7 +172,7 @@ class che_인재탐색 extends Command\GeneralCommand avg(dex1+dex2+dex3+dex4) as dex_t, avg(age) as age, avg(dex5) as dex5 from general where npc < 4' ); - + $pickTypeList = ['무' => 6, '지' => 6, '무지' => 3]; $pickedNPC = pickGeneralFromPool($db, 0, 1)[0]; @@ -210,6 +210,7 @@ class che_인재탐색 extends Command\GeneralCommand $exp = 200; $ded = 300; + $general->increaseInheritancePoint('active_action', Util::valueFit(sqrt(1 / $foundProp), 1)); $general->increaseVarWithLimit('gold', -$reqGold, 0); $general->increaseVarWithLimit('rice', -$reqRice, 0); $general->addExperience($exp); diff --git a/hwe/sammo/Command/General/che_임관.php b/hwe/sammo/Command/General/che_임관.php index 3ccf43c0..d31ac729 100644 --- a/hwe/sammo/Command/General/che_임관.php +++ b/hwe/sammo/Command/General/che_임관.php @@ -3,7 +3,7 @@ namespace sammo\Command\General; use \sammo\{ DB, Util, JosaUtil, - General, + General, ActionLogger, GameConst, GameUnitConst, LastTurn, @@ -46,7 +46,7 @@ class che_임관 extends Command\GeneralCommand{ $this->arg = [ 'destNationID' => $destNationID ]; - + return true; } @@ -69,7 +69,7 @@ class che_임관 extends Command\GeneralCommand{ ConstraintHelper::BeNeutral(), ConstraintHelper::AllowJoinAction() ]; - + } public function getCommandDetailTitle():string{ @@ -99,7 +99,7 @@ class che_임관 extends Command\GeneralCommand{ public function getCost():array{ return [0, 0]; } - + public function getPreReqTurn():int{ return 0; } @@ -150,7 +150,7 @@ class che_임관 extends Command\GeneralCommand{ $general->setVar('officer_level', 1); $general->setVar('officer_city', 0); $general->setVar('belong', 1); - + if($this->destGeneralObj !== null){ $general->setVar('city', $this->destGeneralObj->getCityID()); } @@ -171,6 +171,7 @@ class che_임관 extends Command\GeneralCommand{ $general->setAuxVar('joinedNations', $joinedNations); } + $general->increaseInheritancePoint('active_action', 1); $general->addExperience($exp); $this->setResultTurn(new LastTurn(static::getName(), $this->arg)); $general->checkStatChange(); @@ -221,17 +222,17 @@ class che_임관 extends Command\GeneralCommand{ } } unset($nation); - ob_start(); + ob_start(); ?> 국가에 임관합니다.
이미 임관/등용되었던 국가는 다시 임관할 수 없습니다.
바로 군주의 위치로 이동합니다.
-임관할 국가를 목록에서 선택하세요.
+임관할 국가를 목록에서 선택하세요.
diff --git a/hwe/sammo/Command/General/che_첩보.php b/hwe/sammo/Command/General/che_첩보.php index c9ce9ab7..f1615be2 100644 --- a/hwe/sammo/Command/General/che_첩보.php +++ b/hwe/sammo/Command/General/che_첩보.php @@ -211,6 +211,7 @@ class che_첩보 extends Command\GeneralCommand $ded = Util::randRangeInt(1, 70); [$reqGold, $reqRice] = $this->getCost(); + $general->increaseInheritancePoint('active_action', 0.5);//NOTE: 첩보만 예외! $general->increaseVarWithLimit('gold', -$reqGold, 0); $general->increaseVarWithLimit('rice', -$reqRice, 0); $general->addExperience($exp); diff --git a/hwe/sammo/Command/General/che_출병.php b/hwe/sammo/Command/General/che_출병.php index 6c41c928..22dc9a3a 100644 --- a/hwe/sammo/Command/General/che_출병.php +++ b/hwe/sammo/Command/General/che_출병.php @@ -223,9 +223,13 @@ class che_출병 extends Command\GeneralCommand $this->destCity['term'] = 3; $general->addDex($general->getCrewTypeObj(), $general->getVar('crew') / 100); - + if($general->getVar('crew') > 500 && $general->getVar('train') * $general->getVar('atmos') > 70 * 70){ + //500명 이상, 모훈출, 모사출 + $general->increaseInheritancePoint('active_action', 1); + } $this->setResultTurn(new LastTurn(static::getName(), $this->arg)); + $general->applyDB($db); processWar($general, $this->nation, $this->destCity); diff --git a/hwe/sammo/Command/General/che_하야.php b/hwe/sammo/Command/General/che_하야.php index c54427f9..7bde8022 100644 --- a/hwe/sammo/Command/General/che_하야.php +++ b/hwe/sammo/Command/General/che_하야.php @@ -101,6 +101,7 @@ class che_하야 extends Command\GeneralCommand{ $general->setVar('officer_city', 0); $general->setVar('belong', 0); $general->setVar('makelimit', 12); + $general->increaseInheritancePoint('active_action', 1); $this->setResultTurn(new LastTurn(static::getName(), $this->arg)); $general->checkStatChange(); diff --git a/hwe/sammo/Command/Nation/che_감축.php b/hwe/sammo/Command/Nation/che_감축.php index ce6e7c82..9e13975c 100644 --- a/hwe/sammo/Command/Nation/che_감축.php +++ b/hwe/sammo/Command/Nation/che_감축.php @@ -46,7 +46,7 @@ class che_감축 extends Command\NationCommand{ $this->setCity(); $this->setNation(['gold', 'rice', 'capset', 'capital']); - + if(!$this->nation['capital']){ $this->fullConditionConstraints=[ ConstraintHelper::AlwaysFail('방랑상태에서는 불가능합니다.') @@ -55,7 +55,7 @@ class che_감축 extends Command\NationCommand{ } $this->setDestCity($this->nation['capital']); - + [$reqGold, $reqRice] = $this->getCost(); $origCityLevel = CityConst::byID($this->nation['capital'])->level; @@ -78,10 +78,10 @@ class che_감축 extends Command\NationCommand{ return "{$name}/{$reqTurn}턴(금 {$reqGold}, 쌀 {$reqRice} 회수)"; } - + public function getCost():array{ $amount = $this->env['develcost'] * GameConst::$expandCityCostCoef + GameConst::$expandCityDefaultCost / 2; - + return [$amount, $amount]; } @@ -157,10 +157,10 @@ class che_감축 extends Command\NationCommand{ $nationID = $general->getNationID(); $nationName = $this->nation['name']; - + $logger = $general->getLogger(); - + $general->addExperience(5 * ($this->getPreReqTurn() + 1)); $general->addDedication(5 * ($this->getPreReqTurn() + 1)); @@ -192,13 +192,14 @@ class che_감축 extends Command\NationCommand{ 'gold' => $db->sqleval('gold + %i', $reqGold), 'rice' => $db->sqleval('rice + %i', $reqRice), ], 'nation=%i', $nationID); - + $logger->pushGeneralActionLog("{$destCityName}{$josaUl} 감축했습니다. <1>$date"); $logger->pushGeneralHistoryLog("{$destCityName}{$josaUl} 감축"); $logger->pushNationalHistoryLog("{$generalName}{$josaYi} {$destCityName}{$josaUl} 감축"); $logger->pushGlobalActionLog("{$generalName}{$josaYi} {$destCityName}{$josaUl} 감축하였습니다."); $logger->pushGlobalHistoryLog("【감축】{$nationName}{$josaYiNation} {$destCityName}{$josaUl} 감축하였습니다."); + $general->increaseInheritancePoint('active_action', 1); $this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0)); $general->applyDB($db); diff --git a/hwe/sammo/Command/Nation/che_국기변경.php b/hwe/sammo/Command/Nation/che_국기변경.php index b10e905c..4a4777dc 100644 --- a/hwe/sammo/Command/Nation/che_국기변경.php +++ b/hwe/sammo/Command/Nation/che_국기변경.php @@ -146,6 +146,7 @@ class che_국기변경 extends Command\NationCommand $logger->pushGlobalActionLog("{$generalName}{$josaYi} 국기를 변경하였습니다"); $logger->pushGlobalHistoryLog("【국기변경】{$nationName}{$josaYiNation} 국기를 변경하였습니다."); + $general->increaseInheritancePoint('active_action', 1); $this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0)); $general->applyDB($db); return true; diff --git a/hwe/sammo/Command/Nation/che_국호변경.php b/hwe/sammo/Command/Nation/che_국호변경.php index 436607e7..f0cfc747 100644 --- a/hwe/sammo/Command/Nation/che_국호변경.php +++ b/hwe/sammo/Command/Nation/che_국호변경.php @@ -152,6 +152,7 @@ class che_국호변경 extends Command\NationCommand $logger->pushGlobalActionLog("{$generalName}{$josaYi} 국호를 {$newNationName}{$josaRo} 변경합니다."); $logger->pushGlobalHistoryLog("【국호변경】{$nationName}{$josaYiNation} 국호를 {$newNationName}{$josaRo} 변경합니다."); + $general->increaseInheritancePoint('active_action', 1); $this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0)); $general->applyDB($db); return true; diff --git a/hwe/sammo/Command/Nation/che_증축.php b/hwe/sammo/Command/Nation/che_증축.php index 3b1560c9..a55b914b 100644 --- a/hwe/sammo/Command/Nation/che_증축.php +++ b/hwe/sammo/Command/Nation/che_증축.php @@ -51,9 +51,9 @@ class che_증축 extends Command\NationCommand{ ]; return; } - + $this->setDestCity($this->nation['capital']); - + [$reqGold, $reqRice] = $this->getCost(); $this->fullConditionConstraints=[ @@ -76,10 +76,10 @@ class che_증축 extends Command\NationCommand{ return "{$name}/{$reqTurn}턴(금 {$reqGold}, 쌀 {$reqRice})"; } - + public function getCost():array{ $amount = $this->env['develcost'] * GameConst::$expandCityCostCoef + GameConst::$expandCityDefaultCost; - + return [$amount, $amount]; } @@ -155,13 +155,14 @@ class che_증축 extends Command\NationCommand{ $nationID = $general->getNationID(); $nationName = $this->nation['name']; - + $logger = $general->getLogger(); - + $general->addExperience(5 * ($this->getPreReqTurn() + 1)); $general->addDedication(5 * ($this->getPreReqTurn() + 1)); + $general->increaseInheritancePoint('active_action', 1); $josaUl = JosaUtil::pick($destCityName, '을'); $josaYi = JosaUtil::pick($generalName, '이'); @@ -183,7 +184,7 @@ class che_증축 extends Command\NationCommand{ 'gold' => $db->sqleval('gold - %i', $reqGold), 'rice' => $db->sqleval('rice - %i', $reqRice), ], 'nation=%i', $nationID); - + $logger->pushGeneralActionLog("{$destCityName}{$josaUl} 증축했습니다. <1>$date"); $logger->pushGeneralHistoryLog("{$destCityName}{$josaUl} 증축"); $logger->pushNationalHistoryLog("{$generalName}{$josaYi} {$destCityName}{$josaUl} 증축"); diff --git a/hwe/sammo/Command/Nation/che_천도.php b/hwe/sammo/Command/Nation/che_천도.php index a2030fb7..b945b632 100644 --- a/hwe/sammo/Command/Nation/che_천도.php +++ b/hwe/sammo/Command/Nation/che_천도.php @@ -218,6 +218,7 @@ class che_천도 extends Command\NationCommand 'capset' => $db->sqleval('capset + 1'), ], 'nation=%i', $nationID); + $general->increaseInheritancePoint('active_action', 1); $logger->pushGeneralActionLog("{$destCityName}{$josaRo} 천도했습니다. <1>$date"); $logger->pushGeneralHistoryLog("{$destCityName}{$josaRo} 천도명령"); $logger->pushNationalHistoryLog("{$generalName}{$josaYi} {$destCityName}{$josaRo} 천도 명령"); diff --git a/hwe/sammo/Command/Nation/che_초토화.php b/hwe/sammo/Command/Nation/che_초토화.php index 363a8b22..056ea115 100644 --- a/hwe/sammo/Command/Nation/che_초토화.php +++ b/hwe/sammo/Command/Nation/che_초토화.php @@ -184,6 +184,7 @@ class che_초토화 extends Command\NationCommand{ \sammo\refreshNationStaticInfo(); \sammo\SetNationFront($nationID); + $general->increaseInheritancePoint('active_action', 1); $logger->pushGeneralActionLog("{$destCityName}{$josaUl} 초토화했습니다. <1>$date"); $logger->pushGeneralHistoryLog("{$destCityName}{$josaUl} 초토화 명령"); $logger->pushNationalHistoryLog("{$generalName}{$josaYi} {$destCityName}{$josaUl} 초토화 명령"); diff --git a/hwe/sammo/General.php b/hwe/sammo/General.php index 806ae79a..17d87c1c 100644 --- a/hwe/sammo/General.php +++ b/hwe/sammo/General.php @@ -58,6 +58,7 @@ class General implements iAction 'lived_month' => [true, 1, '생존'], 'max_belong' => [false, 10, '최대 임관년 수'], 'max_domestic_critical' => [true, 1, '최대 연속 내정 성공'], + 'active_action' => [true, 3, '능동 행동 수'], //'snipe_combat' => [true, 10, '병종 상성 우위 횟수'], 'combat' => [['rank', 'warnum'], 5, '전투 횟수'], 'sabotage' => [['rank', 'firenum'], 20, '계략 성공 횟수'], diff --git a/hwe/ts/inheritPoint.vue b/hwe/ts/inheritPoint.vue index 68080fc7..7ef119df 100644 --- a/hwe/ts/inheritPoint.vue +++ b/hwe/ts/inheritPoint.vue @@ -272,6 +272,7 @@ type InheritanceType = | "lived_month" | "max_belong" | "max_domestic_critical" + | "active_action" // | "snipe_combat" | "combat" | "sabotage" @@ -320,6 +321,10 @@ const inheritanceViewText: Record< title: "최대 연속 내정 성공", info: "성공한 내정 중 최대 연속값입니다.", }, + active_action: { + title: "능동 행동 수", + info: "장수 동향에 본인의 이름이 직접 나타난 수입니다.
일부 사령턴은 제외됩니다." + }, /* snipe_combat: { title: "병종 상성 우위 횟수", info: "유리한 상성을 가지고 전투했습니다.",