inheritPoint: 로그 기록
This commit is contained in:
@@ -16,6 +16,7 @@ use sammo\Session;
|
||||
use sammo\SpecialityHelper;
|
||||
use sammo\StringUtil;
|
||||
use sammo\TimeUtil;
|
||||
use sammo\UserLogger;
|
||||
use sammo\Util;
|
||||
use sammo\Validator;
|
||||
use sammo\WebUtil;
|
||||
@@ -152,11 +153,13 @@ class Join extends \sammo\BaseAPI
|
||||
}
|
||||
}
|
||||
|
||||
$admin = $gameStor->getValues(['scenario', 'turnterm', 'turntime', 'show_img_level', 'startyear', 'year']);
|
||||
$admin = $gameStor->getValues(['scenario', 'turnterm', 'turntime', 'show_img_level', 'startyear', 'year', 'month']);
|
||||
|
||||
$inheritTotalPoint = resetInheritanceUser($userID);
|
||||
$inheritRequiredPoint = 0;
|
||||
|
||||
$userLogger = new UserLogger($userID, $admin['year'], $admin['month'], false);
|
||||
|
||||
if ($inheritCity !== null) {
|
||||
$inheritRequiredPoint += GameConst::$inheritBornCityPoint;
|
||||
}
|
||||
@@ -183,6 +186,8 @@ class Join extends \sammo\BaseAPI
|
||||
}
|
||||
|
||||
if ($inheritSpecial) {
|
||||
$speicalText = getGeneralSpecialWarName($inheritSpecial);
|
||||
$userLogger->push("{$speicalText} 전투 특기를 가진 천재 생성", "inheritPoint");
|
||||
$genius = true;
|
||||
} else {
|
||||
// 현재 1%
|
||||
@@ -196,6 +201,8 @@ class Join extends \sammo\BaseAPI
|
||||
}
|
||||
|
||||
if ($inheritCity !== null) {
|
||||
$cityname = CityConst::byID($inheritCity)->name;
|
||||
$userLogger->push("{$cityname}에 장수 생성", "inheritPoint");
|
||||
$city = $inheritCity;
|
||||
} else {
|
||||
// 공백지에서만 태어나게
|
||||
@@ -207,6 +214,7 @@ class Join extends \sammo\BaseAPI
|
||||
|
||||
if ($inheritBonusStat) {
|
||||
[$pleadership, $pstrength, $pintel] = $inheritBonusStat;
|
||||
$userLogger->push("{$pleadership}, {$pstrength}, {$pintel} 보너스 능력치로 생성", "inheritPoint");
|
||||
} else {
|
||||
$pleadership = 0;
|
||||
$pstrength = 0;
|
||||
@@ -276,8 +284,10 @@ class Join extends \sammo\BaseAPI
|
||||
}
|
||||
|
||||
if ($inheritTurntime !== null) {
|
||||
//FIXME: 오동작함
|
||||
$inheritTurntime = $inheritTurntime % ($admin['turnterm'] * 60);
|
||||
|
||||
$userLogger->push(sprintf("턴 시간 %02d:%02d 로 지정", intdiv($inheritTurntime, 60), $inheritTurntime%60), "inheritPoint");
|
||||
|
||||
$inheritTurntime += Util::randRangeInt(0, 999999) / 1000000;
|
||||
$turntime = new \DateTimeImmutable(cutTurn($admin['turntime'], $admin['turnterm']));
|
||||
$turntime = $turntime->add(TimeUtil::secondsToDateInterval($inheritTurntime));
|
||||
@@ -372,9 +382,12 @@ class Join extends \sammo\BaseAPI
|
||||
]);
|
||||
$cityname = CityConst::byID($city)->name;
|
||||
|
||||
|
||||
if ($inheritRequiredPoint > 0) {
|
||||
$userLogger->push("장수 생성으로 포인트 {$inheritRequiredPoint} 소모", "inheritPoint");
|
||||
$inheritStor = KVStorage::getStorage(DB::db(), "inheritance_{$userID}");
|
||||
$inheritStor->setValue('previous', [$inheritTotalPoint - $inheritRequiredPoint, null]);
|
||||
$userLogger->flush();
|
||||
}
|
||||
|
||||
$me = [
|
||||
|
||||
@@ -10,6 +10,7 @@ use sammo\General;
|
||||
use sammo\KVStorage;
|
||||
use sammo\TimeUtil;
|
||||
use sammo\TriggerInheritBuff;
|
||||
use sammo\UserLogger;
|
||||
use sammo\Validator;
|
||||
|
||||
class BuyHiddenBuff extends \sammo\BaseAPI
|
||||
@@ -50,6 +51,7 @@ class BuyHiddenBuff extends \sammo\BaseAPI
|
||||
if ($userID != $general->getVar('owner')) {
|
||||
return '로그인 상태가 이상합니다. 다시 로그인해 주세요.';
|
||||
}
|
||||
$userLogger = new UserLogger($userID);
|
||||
|
||||
$inheritBuffList = $general->getAuxVar('inheritBuff') ?? [];
|
||||
$prevLevel = $inheritBuffList[$type] ?? 0;
|
||||
@@ -70,6 +72,11 @@ class BuyHiddenBuff extends \sammo\BaseAPI
|
||||
return '충분한 유산 포인트를 가지고 있지 않습니다.';
|
||||
}
|
||||
|
||||
$buffTypeText = TriggerInheritBuff::BUFF_KEY_TEXT[$type];
|
||||
$moreText = $prevLevel > 0 ? "추가":"";
|
||||
$userLogger->push("{$reqAmount} 포인트로 {$buffTypeText} {$level} 단계 {$moreText}구입", "inheritPoint");
|
||||
$userLogger->flush();
|
||||
|
||||
$inheritBuffList[$type] = $level;
|
||||
$general->setAuxVar('inheritBuff', $inheritBuffList);
|
||||
$inheritStor->setValue('previous', [$previousPoint - $reqAmount, null]);
|
||||
|
||||
@@ -9,6 +9,7 @@ use sammo\GameConst;
|
||||
use sammo\General;
|
||||
use sammo\KVStorage;
|
||||
use sammo\TimeUtil;
|
||||
use sammo\UserLogger;
|
||||
|
||||
class BuyRandomUnique extends \sammo\BaseAPI
|
||||
{
|
||||
@@ -40,12 +41,17 @@ class BuyRandomUnique extends \sammo\BaseAPI
|
||||
$db = DB::db();
|
||||
$inheritStor = KVStorage::getStorage($db, "inheritance_{$userID}");
|
||||
$previousPoint = ($inheritStor->getValue('previous')??[0, 0])[0];
|
||||
if($previousPoint < GameConst::$inheritItemRandomPoint){
|
||||
$reqAmount = GameConst::$inheritItemRandomPoint;
|
||||
if($previousPoint < $reqAmount){
|
||||
return '충분한 유산 포인트를 가지고 있지 않습니다.';
|
||||
}
|
||||
|
||||
$userLogger = new UserLogger($userID);
|
||||
$userLogger->push("{$reqAmount} 포인트로 랜덤 유니크 구입", "inheritPoint");
|
||||
$userLogger->flush();
|
||||
|
||||
$general->setAuxVar('inheritRandomUnique', TimeUtil::now());
|
||||
$inheritStor->setValue('previous', [$previousPoint - GameConst::$inheritItemRandomPoint, null]);
|
||||
$inheritStor->setValue('previous', [$previousPoint - $reqAmount, null]);
|
||||
$general->applyDB($db);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -8,8 +8,11 @@ use sammo\DB;
|
||||
use sammo\GameConst;
|
||||
use sammo\General;
|
||||
use sammo\KVStorage;
|
||||
use sammo\UserLogger;
|
||||
use sammo\Validator;
|
||||
|
||||
use function sammo\buildItemClass;
|
||||
|
||||
class BuySpecificUnique extends \sammo\BaseAPI
|
||||
{
|
||||
public function validateArgs(): ?string
|
||||
@@ -70,6 +73,11 @@ class BuySpecificUnique extends \sammo\BaseAPI
|
||||
return '충분한 유산 포인트를 가지고 있지 않습니다.';
|
||||
}
|
||||
|
||||
$itemObj = buildItemClass($itemKey);
|
||||
$userLogger = new UserLogger($userID);
|
||||
$userLogger->push("{$amount} 포인트로 유니크 {$itemObj->getName()} 구입 시도", "inheritPoint");
|
||||
$userLogger->flush();
|
||||
|
||||
$itemTrials[$itemKey] = $amount;
|
||||
$general->setAuxVar('inheritUniqueTrial', $itemTrials);
|
||||
$inheritStor->setValue('previous', [$previousPoint - $amount, null]);
|
||||
|
||||
@@ -8,6 +8,7 @@ use sammo\DB;
|
||||
use sammo\GameConst;
|
||||
use sammo\General;
|
||||
use sammo\KVStorage;
|
||||
use sammo\UserLogger;
|
||||
use sammo\Validator;
|
||||
|
||||
class ResetSpecialWar extends \sammo\BaseAPI
|
||||
@@ -55,6 +56,10 @@ class ResetSpecialWar extends \sammo\BaseAPI
|
||||
return '충분한 유산 포인트를 가지고 있지 않습니다.';
|
||||
}
|
||||
|
||||
$userLogger = new UserLogger($userID);
|
||||
$userLogger->push("{$reqPoint} 포인트로 전투 특기 초기화", "inheritPoint");
|
||||
$userLogger->flush();
|
||||
|
||||
$oldTypeKey = 'prev_types_special2';
|
||||
$oldSpecialList = $general->getAuxVar($oldTypeKey) ?? [];
|
||||
$oldSpecialList[] = $currentSpecialWar;
|
||||
|
||||
@@ -10,6 +10,7 @@ use sammo\GameConst;
|
||||
use sammo\General;
|
||||
use sammo\KVStorage;
|
||||
use sammo\TimeUtil;
|
||||
use sammo\UserLogger;
|
||||
use sammo\Util;
|
||||
|
||||
class ResetTurnTime extends \sammo\BaseAPI
|
||||
@@ -59,6 +60,15 @@ class ResetTurnTime extends \sammo\BaseAPI
|
||||
|
||||
$afterTurn = Util::randRange($turnTerm * -60 / 2, $turnTerm * 60 / 2);
|
||||
|
||||
$userLogger = new UserLogger($userID);
|
||||
if($afterTurn >= 0){
|
||||
$userLogger->push(sprintf("{$reqPoint} 포인트로 턴 시간을 바꾼 결과 %02d:%02d 뒤로 밀림", intdiv($afterTurn, 60), $afterTurn%60), "inheritPoint");
|
||||
}
|
||||
else{
|
||||
$userLogger->push(sprintf("{$reqPoint} 포인트로 턴 시간을 바꾼 결과 %02d:%02d 앞으로 당김", intdiv(-$afterTurn, 60), (-$afterTurn)%60), "inheritPoint");
|
||||
}
|
||||
$userLogger->flush();
|
||||
|
||||
$turnTime = $currTurnTime->add(TimeUtil::secondsToDateInterval($afterTurn));
|
||||
if ($turnTime <= $serverTurnTimeObj && $serverTurnTimeObj <= $currTurnTime) {
|
||||
$turnTime = $turnTime->add(TimeUtil::secondsToDateInterval($turnTerm * 60));
|
||||
|
||||
@@ -8,8 +8,11 @@ use sammo\DB;
|
||||
use sammo\GameConst;
|
||||
use sammo\General;
|
||||
use sammo\KVStorage;
|
||||
use sammo\UserLogger;
|
||||
use sammo\Validator;
|
||||
|
||||
use function sammo\buildGeneralSpecialWarClass;
|
||||
|
||||
class SetNextSpecialWar extends \sammo\BaseAPI
|
||||
{
|
||||
public function validateArgs(): ?string
|
||||
@@ -67,6 +70,11 @@ class SetNextSpecialWar extends \sammo\BaseAPI
|
||||
return '충분한 유산 포인트를 가지고 있지 않습니다.';
|
||||
}
|
||||
|
||||
$userLogger = new UserLogger($userID);
|
||||
$specialWarObj = buildGeneralSpecialWarClass($type);
|
||||
$userLogger->push("{$reqAmount} 포인트로 다음 전투 특기로 {$specialWarObj->getName()} 지정", "inheritPoint");
|
||||
$userLogger->flush();
|
||||
|
||||
$general->setAuxVar('inheritSpecificSpecialWar', $type);
|
||||
$inheritStor->setValue('previous', [$previousPoint - $reqAmount, null]);
|
||||
$general->applyDB($db);
|
||||
|
||||
Reference in New Issue
Block a user