turntime 관련 조정중

This commit is contained in:
2019-10-05 10:52:31 +09:00
parent 824956a34d
commit 44f0e78086
53 changed files with 156 additions and 66 deletions
+2 -2
View File
@@ -600,7 +600,7 @@ function generalInfo(General $generalObj) {
elseif($injury > 0) { $color = "<font color=yellow>"; $injury = "경상"; }
else { $color = "<font color=white>"; $injury = "건강"; }
$remaining = (new \DateTimeImmutable($generalObj->getVar('turntime')))->diff(new \DateTimeImmutable())->i;
$remaining = (new \DateTimeImmutable($generalObj->getTurnTime()))->diff(new \DateTimeImmutable())->i;
if($nation['color'] == "") { $nation['color'] = "#000000"; }
@@ -656,7 +656,7 @@ function generalInfo(General $generalObj) {
echo "<table width=498 class='tb_layout bg2'>
<tr>
<td width=64 height=64 rowspan=3 class='generalIcon' style='text-align:center;background:no-repeat center url(\"{$imagePath}\");background-size:64px;'>&nbsp;</td>
<td colspan=9 height=16 style=text-align:center;color:".newColor($nation['color']).";background-color:{$nation['color']};font-weight:bold;font-size:13px;>{$generalObj->getName()} 【 {$levelText} | {$call} | {$color}{$injury}</font> 】 ".substr($generalObj->getVar('turntime'), 11, 8)."</td>
<td colspan=9 height=16 style=text-align:center;color:".newColor($nation['color']).";background-color:{$nation['color']};font-weight:bold;font-size:13px;>{$generalObj->getName()} 【 {$levelText} | {$call} | {$color}{$injury}</font> 】 ".$generalObj->getTurnTime($generalObj::TURNTIME_HMS)."</td>
</tr>
<tr height=16>
<td style='text-align:center;' class='bg1'><b>통솔</b></td>
+1 -1
View File
@@ -77,7 +77,7 @@ foreach($nationTurnList as $level=>$turnList){
}
$nationTurnBrief[$level] = [
'name'=>$general->getName(),
'turnTime'=>substr($general->getVar('turntime'), 11, 5),
'turnTime'=>$general->getTurnTime($general::TURNTIME_HM),
'levelText'=>getLevelText($general->getVar('level'), $nationLevel),
'npcType'=>$general->getVar('npc'),
'turn'=>getNationTurnBrief($general, $turnList)
+1 -1
View File
@@ -215,7 +215,7 @@ function processWar_NG(
$attacker->useBattleInitItem();
$date = substr($attacker->getVar('turntime'),11,5);
$date = $attacker->getGeneral()->getTurnTime(General::TURNTIME_HM);
$attackerNationUpdate = [];
$defenderNationUpdate = [];
+1 -1
View File
@@ -81,7 +81,7 @@ class che_NPC능동 extends Command\GeneralCommand{
$logger = $general->getLogger();
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
if($this->arg['optionText'] == '순간이동'){
$destCityID = $this->arg['destCityID'];
+1 -1
View File
@@ -93,7 +93,7 @@ class che_강행 extends Command\GeneralCommand{
$env = $this->env;
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$destCityName = $this->destCity['name'];
$destCityID = $this->destCity['city'];
+2 -2
View File
@@ -14,7 +14,7 @@ use \sammo\{
use \sammo\Constraint\Constraint;
use \sammo\Constraint\ConstraintHelper;
use sammo\CityConst;
use function sammo\getNationTypeClass;
use function sammo\buildNationTypeClass;
use function sammo\refreshNationStaticInfo;
use function sammo\GetNationColors;
use function sammo\getAllNationStaticInfo;
@@ -68,7 +68,7 @@ class che_거병 extends Command\GeneralCommand{
$env = $this->env;
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$generalName = $general->getName();
$josaYi = JosaUtil::pick($generalName, '이');
+3 -3
View File
@@ -19,7 +19,7 @@ use function \sammo\{
use \sammo\Constraint\Constraint;
use \sammo\Constraint\ConstraintHelper;
use sammo\CityConst;
use function sammo\getNationTypeClass;
use function sammo\buildNationTypeClass;
use function sammo\refreshNationStaticInfo;
use function sammo\GetNationColors;
use function sammo\newColor;
@@ -54,7 +54,7 @@ class che_건국 extends Command\GeneralCommand{
}
try{
$nationTypeClass = getNationTypeClass($nationType);
$nationTypeClass = buildNationTypeClass($nationType);
}
catch(InvalidArgumentException $e){
return false;
@@ -115,7 +115,7 @@ class che_건국 extends Command\GeneralCommand{
$env = $this->env;
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$generalName = $general->getName();
$josaYi = JosaUtil::pick($generalName, '이');
+1 -1
View File
@@ -57,7 +57,7 @@ class che_견문 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$sightseeing = new SightseeingMessage();
@@ -98,7 +98,7 @@ class che_군량매매 extends Command\GeneralCommand{
$general = $this->generalObj;
$tradeRate = $this->city['trade'];
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$buyRice = $this->arg['buyRice'];
+1 -1
View File
@@ -67,7 +67,7 @@ class che_귀환 extends Command\GeneralCommand{
$general = $this->generalObj;
$generalID = $general->getID();
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$generalLevel = $general->getVar('level');
$target = null;
@@ -84,7 +84,7 @@ class che_기술연구 extends che_상업투자{
$logger = $general->getLogger();
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$score *= CriticalScoreEx($pick);
$score = Util::round($score);
+1 -1
View File
@@ -69,7 +69,7 @@ class che_단련 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
[$pick, $multiplier] = Util::choiceRandomUsingWeightPair([
[['success', 3], 0.34],
+2 -2
View File
@@ -112,7 +112,7 @@ class che_등용 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$logger = $general->getLogger();
@@ -120,7 +120,7 @@ class che_등용 extends Command\GeneralCommand{
$destGeneralID = $this->destGeneralObj->getID();
$msg = ScoutMessage::buildScoutMessage($general->getID(), $destGeneralID, $reason, new \DateTime($general->getVar('turntime')));
$msg = ScoutMessage::buildScoutMessage($general->getID(), $destGeneralID, $reason, new \DateTime($general->getTurnTime()));
if($msg){
$logger->pushGeneralActionLog("<Y>{$destGeneralName}</>에게 등용 권유 서신을 보냈습니다. <1>$date</>");
$msg->send(true);
@@ -95,7 +95,7 @@ class che_랜덤임관 extends Command\GeneralCommand{
$env = $this->env;
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$generalName = $general->getName();
$josaYi = JosaUtil::pick($generalName, '이');
@@ -65,7 +65,7 @@ class che_모반시도 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$nationID = $general->getNationID();
@@ -66,7 +66,7 @@ class che_물자조달 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
[$resName, $resKey] = Util::choiceRandom([
['금', 'gold'],
+1 -1
View File
@@ -77,7 +77,7 @@ class che_방랑 extends Command\GeneralCommand{
$env = $this->env;
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$generalName = $general->getName();
$josaYi = JosaUtil::pick($generalName, '이');
$josaUn = JosaUtil::pick($generalName, '은');
@@ -69,7 +69,7 @@ class che_사기진작 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$score = Util::round($general->getLeadership() * 100 / $general->getVar('crew') * GameConst::$atmosDelta);
$scoreText = number_format($score, 0);
@@ -150,7 +150,7 @@ class che_상업투자 extends Command\GeneralCommand{
$logger = $general->getLogger();
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$score *= CriticalScoreEx($pick);
$score = Util::round($score);
+1 -1
View File
@@ -17,7 +17,7 @@ class che_선동 extends che_화계{
protected function affectDestCity(int $injuryCount){
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$logger = $general->getLogger();
+1 -1
View File
@@ -90,7 +90,7 @@ class che_선양 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$destGeneral = $this->destGeneralObj;
@@ -59,7 +59,7 @@ class che_소집해제 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$crew = $general->getVar('crew');
+1 -1
View File
@@ -59,7 +59,7 @@ class che_요양 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$crew = $general->getVar('crew');
+1 -1
View File
@@ -92,7 +92,7 @@ class che_이동 extends Command\GeneralCommand{
$env = $this->env;
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$destCityName = $this->destCity['name'];
$destCityID = $this->destCity['city'];
@@ -76,7 +76,7 @@ class che_인재탐색 extends Command\GeneralCommand{
$env = $this->env;
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$nationID = $general->getNationID();
+1 -1
View File
@@ -122,7 +122,7 @@ class che_임관 extends Command\GeneralCommand{
$env = $this->env;
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$generalName = $general->getName();
$josaYi = JosaUtil::pick($generalName, '이');
@@ -119,7 +119,7 @@ class che_장비매매 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$itemType = $this->arg['itemType'];
$itemCode = $this->arg['itemCode'];
@@ -72,7 +72,7 @@ class che_전투태세 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$lastTurn = $general->getLastTurn();
$turnResult = new LastTurn(static::getName(), $this->arg);
@@ -115,7 +115,7 @@ class che_정착장려 extends Command\GeneralCommand{
$logger = $general->getLogger();
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$score *= CriticalScoreEx($pick);
$score = Util::round($score);
@@ -116,7 +116,7 @@ class che_주민선정 extends Command\GeneralCommand{
$logger = $general->getLogger();
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$score *= CriticalScoreEx($pick);
+1 -1
View File
@@ -113,7 +113,7 @@ class che_증여 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$isGold = $this->arg['isGold'];
$amount = $this->arg['amount'];
+1 -1
View File
@@ -68,7 +68,7 @@ class che_집합 extends Command\GeneralCommand{
$env = $this->env;
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$cityID = $this->city['city'];
$cityName = $this->city['name'];
+1 -1
View File
@@ -138,7 +138,7 @@ class che_징병 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$reqCrew = $this->reqCrew;
$reqCrewText = number_format($reqCrew);
+1 -1
View File
@@ -93,7 +93,7 @@ class che_첩보 extends Command\GeneralCommand{
$env = $this->env;
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$destCity = $this->destCity;
+1 -1
View File
@@ -99,7 +99,7 @@ class che_출병 extends Command\GeneralCommand{
$general = $this->generalObj;
$attackerNationID = $general->getNationID();
$defenderNationID = $this->destCity['nation'];
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$defenderCityName = $this->destCity['name'];
$defenderCityID = $this->destCity['city'];
+1 -1
View File
@@ -18,7 +18,7 @@ class che_탈취 extends che_화계{
protected function affectDestCity(int $injuryCount){
$general = $this->generalObj;
$nationID = $general->getNationID();
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$logger = $general->getLogger();
+1 -1
View File
@@ -17,7 +17,7 @@ class che_파괴 extends che_화계{
protected function affectDestCity(int $injuryCount){
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$logger = $general->getLogger();
+1 -1
View File
@@ -66,7 +66,7 @@ class che_하야 extends Command\GeneralCommand{
$env = $this->env;
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$generalName = $general->getName();
$josaYi = JosaUtil::pick($generalName, '이');
+2 -2
View File
@@ -14,7 +14,7 @@ use \sammo\{
use \sammo\Constraint\Constraint;
use \sammo\Constraint\ConstraintHelper;
use sammo\CityConst;
use function sammo\getNationTypeClass;
use function sammo\buildNationTypeClass;
use function sammo\refreshNationStaticInfo;
use function sammo\GetNationColors;
use function sammo\getAllNationStaticInfo;
@@ -67,7 +67,7 @@ class che_해산 extends Command\GeneralCommand{
$env = $this->env;
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$generalName = $general->getName();
$josaYi = JosaUtil::pick($generalName, '이');
+1 -1
View File
@@ -93,7 +93,7 @@ class che_헌납 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$isGold = $this->arg['isGold'];
$amount = $this->arg['amount'];
+2 -2
View File
@@ -153,7 +153,7 @@ class che_화계 extends Command\GeneralCommand{
protected function affectDestCity(int $injuryCount){
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$logger = $general->getLogger();
@@ -198,7 +198,7 @@ class che_화계 extends Command\GeneralCommand{
$env = $this->env;
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$destCity = $this->destCity;
+1 -1
View File
@@ -65,7 +65,7 @@ class che_훈련 extends Command\GeneralCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$score = Util::round($general->getLeadership() * 100 / $general->getVar('crew') * GameConst::$trainDelta);
$scoreText = number_format($score, 0);
+1 -1
View File
@@ -33,7 +33,7 @@ class 휴식 extends Command\GeneralCommand{
public function run():bool{
$general = $this->generalObj;
$logger = $general->getLogger();
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$logger->pushGeneralActionLog("아무것도 실행하지 않았습니다. <1>$date</>");
$general->setResultTurn(new LastTurn());
+1 -1
View File
@@ -107,7 +107,7 @@ class che_몰수 extends Command\NationCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$nation = $this->nation;
$nationID = $nation['nation'];
+1 -1
View File
@@ -104,7 +104,7 @@ class che_발령 extends Command\NationCommand{
$general = $this->generalObj;
$generalName = $general->getName();
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$destCity = $this->destCity;
$destCityID = $destCity['city'];
@@ -120,7 +120,7 @@ class che_불가침제의 extends Command\NationCommand{
$general = $this->generalObj;
$generalName = $general->getName();
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$nation = $this->nation;
$nationID = $nation['nation'];
@@ -106,7 +106,7 @@ class che_선전포고 extends Command\NationCommand{
$general = $this->generalObj;
$generalName = $general->getName();
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$nation = $this->nation;
$nationID = $nation['nation'];
@@ -158,7 +158,7 @@ class che_선전포고 extends Command\NationCommand{
$src,
$dest,
$text,
new \DateTime($general->getVar('turntime')),
new \DateTime($general->getTurnTime()),
new \DateTime('9999-12-31'),
[]
);
+1 -1
View File
@@ -108,7 +108,7 @@ class che_포상 extends Command\NationCommand{
$db = DB::db();
$general = $this->generalObj;
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$nation = $this->nation;
$nationID = $nation['nation'];
+15
View File
@@ -35,6 +35,12 @@ class General implements iAction{
protected $lastTurn = null;
protected $resultTurn = null;
const TURNTIME_FULL_MS = -1;
const TURNTIME_FULL = 0;
const TURNTIME_HMS = 1;
const TURNTIME_HM = 2;
/**
* @param array $raw DB row값.
* @param null|array $city DB city 테이블의 row값
@@ -86,6 +92,15 @@ class General implements iAction{
);
}
function getTurnTime(int $short=self::TURNTIME_FULL_MS){
return [
self::TURNTIME_FULL_MS=>function($turntime){return $turntime;},
self::TURNTIME_FULL=>function($turntime){return substr($turntime, 0, 19);},
self::TURNTIME_HMS=>function($turntime){return substr($turntime, 11, 8);},
self::TURNTIME_HM=>function($turntime){return substr($turntime, 11, 5);},
][$short]($this->getVar('turntime'));
}
function deleteItem(string $itemKey='item'){
$this->setVar($itemKey, 0);
$this->itemObjs[$itemKey] = new ActionItem\None();
+6
View File
@@ -116,6 +116,12 @@ class GeneralAI{
$nationID = $this->general->getNationID();
$env = $this->env;
if(Util::joinYearMonth($env['year'], $env['month']) <= Util::joinYearMonth($env['startyear']+2, 5)){
$this->dipState = self::d평화;
$this->attackable = false;
return;
}
$frontStatus = $db->queryFirstField('SELECT max(front) FROM city WHERE nation=%i AND supply=1', $nationID);
// 공격가능도시 있으면
$this->attackable = ($frontStatus !== null)?$frontStatus:false;
+7 -8
View File
@@ -47,7 +47,7 @@ class TurnExecutionHelper
return false;
}
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$logger = $general->getLogger();
if($blocked == 2){
$general->increaseVarWithLimit('killturn', -1, 0);
@@ -76,7 +76,7 @@ class TurnExecutionHelper
while(true){
$failReason = $commandObj->testRunnable();
if($failReason){
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$failString = $commandObj->getFailString();
$text = "{$failString} <1>{$date}</>";
$general->getLogger()->pushGeneralActionLog($text);
@@ -110,7 +110,7 @@ class TurnExecutionHelper
while(true){
$failReason = $commandObj->testRunnable();
if($failReason){
$date = substr($general->getVar('turntime'),11,5);
$date = $general->getTurnTime($general::TURNTIME_HM);
$failString = $commandObj->getFailString();
$text = "{$failString} <1>{$date}</>";
$general->getLogger()->pushGeneralActionLog($text);
@@ -194,7 +194,7 @@ class TurnExecutionHelper
$general->rebirth();
}
$turntime = addTurn($general->getVar('turntime'), $gameStor->turnterm);
$turntime = addTurn($general->getTurnTime(), $gameStor->turnterm);
$general->setVar('turntime', $turntime);
}
@@ -267,7 +267,7 @@ WHERE turntime < %s ORDER BY turntime ASC, `no` ASC',
pullNationCommand($general->getVar('nation'), $general->getVar('level'));
pullGeneralCommand($general->getID());
$currentTurn = $general->getVar('turntime');
$currentTurn = $general->getTurnTime();
$general->increaseVarWithLimit('myset', 1, null, 3);
$turnObj->updateTurnTime();
@@ -280,7 +280,7 @@ WHERE turntime < %s ORDER BY turntime ASC, `no` ASC',
}
static public function executeAllCommand(){
if(!timeover()) { return; }
//if(!timeover()) { return; }
$db = DB::db();
@@ -395,10 +395,9 @@ WHERE turntime < %s ORDER BY turntime ASC, `no` ASC',
// 다음달로 넘김
$prevTurn = $nextTurn;
$nextTurn = addTurn($prevTurn, $gameStor->turnterm);
$gameStor->turntime = $prevTurn;
}
// 이시각까지는 업데이트 완료했음
$gameStor->turntime = $prevTurn;
// 그 시각 년도,월 저장
turnDate($prevTurn);
// 현재시간의 월턴시간 이후 분단위 장수 처리
+2 -2
View File
@@ -49,10 +49,10 @@ class WarUnitGeneral extends WarUnit{
$this->general->increaseVar('warnum', 1);
if($this->isAttacker){
$general->updateVar('recwar', $general->getVar('turntime'));
$general->updateVar('recwar', $general->getTurnTime());
}
else if($oppose !== null){
$general->updateVar('recwar', $oppose->getVar('turntime'));
$general->updateVar('recwar', $oppose->getTurnTime());
}
}
+70
View File
@@ -630,4 +630,74 @@ class Util extends \utilphp\util
return "`{$value}`";
}, $array));
}
public static function joinYearMonth(int $year, int $month):int{
return $year * 12 + $month - 1;
}
/**
* 변수의 값을 첫번째 값부터 비교해서 대소를 반환
* 길이가 다른 경우, 앞의 결과를 먼저 비교한 뒤, 짧은쪽의 값을 null으로 가정하여 길이 처리
*/
public static function arrayCompare(iterable $lhs, iterable $rhs, ?callable $comp=null){
$lhsIter = new \Iterator($lhs);
$rhsIter = new \Iterator($rhs);
while($lhsIter->valid() && $rhsIter->valid()){
$lhsVal = $lhsIter->current();
$rhsVal = $rhsIter->current();
if($comp !== null){
$compResult = $comp($lhsVal, $rhsVal);
}
else{
$compResult = $lhsVal <=> $rhsVal;
}
if($compResult !== 0){
return $compResult;
}
$lhsIter->next();
$rhsIter->next();
}
$rhsVal = null;
while($lhsIter->valid()){
$lhsVal = $lhsIter->current();
if($comp !== null){
$compResult = $comp($lhsVal, $rhsVal);
}
else{
$compResult = $lhsVal <=> $rhsVal;
}
if($compResult !== 0){
return $compResult;
}
$lhsIter->next();
}
$lhsVal = null;
while($rhsIter->valid()){
$rhsVal = $rhsIter->current();
if($comp !== null){
$compResult = $comp($lhsVal, $rhsVal);
}
else{
$compResult = $lhsVal <=> $rhsVal;
}
if($compResult !== 0){
return $compResult;
}
$rhsIter->next();
}
return 0;
}
};