feat, game: 초반 '배신 수치' 1 증가, 배신 패널티 증가
- 184년 1월부터 배신수치 1 증가. - 배신 패널티 당 15%, 최대 6회
This commit is contained in:
@@ -226,8 +226,8 @@ function do추방(General $general, int $myOfficerLevel):?string{
|
||||
}
|
||||
else{
|
||||
$betrayCnt = $general->getVar('betray');
|
||||
$general->addExperience(-$general->getVar('experience')*0.1*$betrayCnt);
|
||||
$general->addDedication(-$general->getVar('dedication')*0.1*$betrayCnt);
|
||||
$general->addExperience(-$general->getVar('experience')*0.15*$betrayCnt);
|
||||
$general->addDedication(-$general->getVar('dedication')*0.15*$betrayCnt);
|
||||
$general->increaseVarWithLimit('betray', 1, null, GameConst::$maxBetrayCnt);
|
||||
}
|
||||
|
||||
|
||||
@@ -337,6 +337,11 @@ class Join extends \sammo\BaseAPI
|
||||
//상성 랜덤
|
||||
$affinity = $rng->nextRangeInt(1, 150);
|
||||
|
||||
$betray = 0;
|
||||
if($relYear >= 4){
|
||||
$betray += 1;
|
||||
}
|
||||
|
||||
########## 회원정보 테이블에 입력값을 등록한다. ##########
|
||||
$db->insert('general', [
|
||||
'owner' => $userID,
|
||||
@@ -365,6 +370,7 @@ class Join extends \sammo\BaseAPI
|
||||
'lastrefresh' => $now,
|
||||
'crewtype' => GameUnitConst::DEFAULT_CREWTYPE,
|
||||
'makelimit' => 0,
|
||||
'betray' => $betray,
|
||||
'age' => $age,
|
||||
'startage' => $age,
|
||||
'personal' => $character,
|
||||
|
||||
@@ -144,9 +144,9 @@ class che_등용수락 extends Command\GeneralCommand{
|
||||
}
|
||||
|
||||
// 재야가 아니면 명성N*10% 공헌N*10%감소
|
||||
$general->setVar('experience', $general->getVar('experience') * (1 - 0.1 * $general->getVar('betray')));
|
||||
$general->setVar('experience', $general->getVar('experience') * (1 - 0.15 * $general->getVar('betray')));
|
||||
$general->addExperience(0, false);
|
||||
$general->setVar('dedication', $general->getVar('dedication') * (1 - 0.1 * $general->getVar('betray')));
|
||||
$general->setVar('dedication', $general->getVar('dedication') * (1 - 0.15 * $general->getVar('betray')));
|
||||
$general->addDedication(0, false);
|
||||
$general->increaseVarWithLimit('betray', 1, null, GameConst::$maxBetrayCnt);
|
||||
}
|
||||
|
||||
@@ -73,9 +73,9 @@ class che_하야 extends Command\GeneralCommand{
|
||||
$logger->pushGeneralActionLog("<D><b>{$nationName}</b></>에서 하야했습니다. <1>$date</>");
|
||||
$logger->pushGeneralHistoryLog("<D><b>{$nationName}</b></>에서 하야");
|
||||
$logger->pushGlobalActionLog("<Y>{$generalName}</>{$josaYi} <D><b>{$nationName}</b></>에서 <R>하야</>했습니다.");
|
||||
$general->setVar('experience', $general->getVar('experience') * (1 - 0.1 * $general->getVar('betray')));
|
||||
$general->setVar('experience', $general->getVar('experience') * (1 - 0.15 * $general->getVar('betray')));
|
||||
$general->addExperience(0, false);
|
||||
$general->setVar('dedication', $general->getVar('dedication') * (1 - 0.1 * $general->getVar('betray')));
|
||||
$general->setVar('dedication', $general->getVar('dedication') * (1 - 0.15 * $general->getVar('betray')));
|
||||
$general->addDedication(0, false);
|
||||
$general->increaseVarWithLimit('betray', 1, null, GameConst::$maxBetrayCnt);
|
||||
$general->setVar('permission', 'normal');
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace sammo\Event\Action;
|
||||
|
||||
use sammo\DB;
|
||||
|
||||
class AddGlobalBetray extends \sammo\Event\Action
|
||||
{
|
||||
public function __construct(private int $cnt = 1, private int $ifMax = 0)
|
||||
{
|
||||
}
|
||||
|
||||
public function run(array $env)
|
||||
{
|
||||
$db = DB::db();
|
||||
$db->update('general', [
|
||||
'betray' => $db->sqleval('betray + %i', $this->cnt),
|
||||
], 'betray <= %i', $this->ifMax);
|
||||
}
|
||||
}
|
||||
@@ -79,7 +79,7 @@ class GameConstBase
|
||||
/** @var int 최대 기술 레벨 */
|
||||
public static $maxTechLevel = 12;
|
||||
/** @var int 최대 하야 패널티 수 */
|
||||
public static $maxBetrayCnt = 9;
|
||||
public static $maxBetrayCnt = 6;
|
||||
|
||||
/** @var int 최소 인구 증가량 */
|
||||
public static $basePopIncreaseAmount = 5000;
|
||||
@@ -431,5 +431,11 @@ class GameConstBase
|
||||
["NoticeToHistoryLog", "<S>출병 제한이 풀렸습니다.</>", ActionLogger::EVENT_YEAR_MONTH],
|
||||
["DeleteEvent"]
|
||||
],
|
||||
[
|
||||
"month", 2000,
|
||||
["DateRelative", "==", 4, 1],
|
||||
["AddGlobalBetray"],
|
||||
["DeleteEvent"]
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user