inheritPoint: 가입폼

- 기본 동작
- 턴시간에는 버그 있음
This commit is contained in:
2021-09-15 19:06:15 +00:00
committed by Gitea
parent 860e6dacac
commit 86b5269d3d
5 changed files with 277 additions and 16 deletions
+18 -5
View File
@@ -143,15 +143,17 @@ class Join extends \sammo\BaseAPI
if (count($inheritBonusStat) != 3) {
return "보너스 능력치가 잘못 지정되었습니다. 다시 가입해주세요!";
}
$sum = array_sum($inheritBonusStat);
if ($sum < 3 || $sum > 5) {
return "보너스 능력치 합이 잘못 지정되었습니다. 다시 가입해주세요!";
}
foreach ($inheritBonusStat as $stat) {
if ($stat < 0) {
return "보너스 능력치가 음수입니다. 다시 가입해주세요!";
}
}
$sum = array_sum($inheritBonusStat);
if ($sum == 0) {
$inheritBonusStat = null;
} else if ($sum < 3 || $sum > 5) {
return "보너스 능력치 합이 잘못 지정되었습니다. 다시 가입해주세요!";
}
}
$admin = $gameStor->getValues(['scenario', 'turnterm', 'turntime', 'show_img_level', 'startyear', 'year']);
@@ -163,7 +165,7 @@ class Join extends \sammo\BaseAPI
$inheritRequiredPoint += GameConst::$inheritBornCityPoint;
}
if ($inheritBonusStat !== null) {
$inheritRequiredPoint += GameConst::$inheritBornMaxBonusStat;
$inheritRequiredPoint += GameConst::$inheritBornStatPoint;
}
if ($inheritSpecial !== null) {
$inheritRequiredPoint += GameConst::$inheritBornSpecialPoint;
@@ -278,6 +280,7 @@ class Join extends \sammo\BaseAPI
}
if ($inheritTurntime !== null) {
//FIXME: 오동작함
$inheritTurntime = $inheritTurntime % ($gameStor->turnterm * 60);
$inheritTurntime += Util::randRangeInt(0, 999999) / 1000000;
$turntime = new \DateTimeImmutable(cutTurn($admin['turntime'], $admin['turnterm']));
@@ -372,6 +375,16 @@ class Join extends \sammo\BaseAPI
]);
$cityname = CityConst::byID($city)->name;
if ($inheritRequiredPoint > 0) {
$inheritStor = KVStorage::getStorage(DB::db(), "inheritance_{$userID}");
$inheritStor->setValue('previous', [$inheritTotalPoint - $inheritRequiredPoint, [
'inheritBonusStat'=>$inheritBonusStat,
'inheritCity'=>$inheritCity,
'inheritSpecial'=>$inheritSpecial,
'inheritTurntime'=>$inheritTurntime,
]]);
}
$me = [
'no' => $generalID
];