Files
core/hwe/select_general_from_pool.php
T

196 lines
8.9 KiB
PHP

<?php
namespace sammo;
include "lib.php";
include "func.php";
$session = Session::requireLogin()->setReadOnly();
$userID = Session::getUserID();
$db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env');
$admin = $gameStor->getValues(['npcmode', 'maxgeneral', 'show_img_level']);
if ($admin['npcmode'] != 2) {
header('location:..');
die();
}
$member = RootDB::db()->queryFirstRow("SELECT no,name,picture,imgsvr,grade from member where no= %i", $userID);
$generalID = $db->queryFirstField('SELECT no FROM general WHERE owner = %i', $userID);
$gencount = $db->queryFirstField('SELECT count(`no`) FROM general WHERE npc<2');
$nationList = $db->query('SELECT nation,`name`,color,scout FROM nation');
shuffle($nationList);
$nationList = Util::convertArrayToDict($nationList, 'nation');
//NOTE: join 안할것임
$scoutMsgs = KVStorage::getValuesFromInterNamespace($db, 'nation_env', 'scout_msg');
foreach ($scoutMsgs as $destNationID => $scoutMsg) {
$nationList[$destNationID]['scoutmsg'] = $scoutMsg;
}
$characterAll = []; //선택용
$charInfoText = []; //구버전 생성용 ㅜ
foreach (getCharacterList(false) as $id => [$name, $info]) {
$characterAll[$name] = ['name' => $name, 'info' => $info];
$charInfoText[$id] = $info;
}
?>
<!DOCTYPE html>
<html>
<head>
<title><?= UniqueConst::$serverName ?>: 장수 선택</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=1024'" />
<?= WebUtil::printCSS('../d_shared/common.css') ?>
<?= WebUtil::printCSS('../css/config.css') ?>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
<?= WebUtil::printCSS('css/select_general_from_pool.css') ?>
<script>
var hasGeneralID = <?= $generalID === null ? 'false' : 'true' ?>;
var defaultStatTotal = <?= GameConst::$defaultStatTotal ?>;
var defaultStatMin = <?= GameConst::$defaultStatMin ?>;
var defaultStatMax = <?= GameConst::$defaultStatMax ?>;
var cards = {};
var currentGeneralInfo = null;
var characterInfo = <?= Json::encode($characterAll) ?>;
var charInfoText = <?= Json::encode($charInfoText) ?>;
var validCustomOption = <?= Json::encode(GameConst::$generalPoolAllowOption) ?>;
</script>
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
<?= WebUtil::printDist('ts', ['common', 'join', 'select_general_from_pool']) ?>
</head>
<?php
if ($gencount >= $admin['maxgeneral']) {
?>
<body>
<script>
alert('더 이상 등록할 수 없습니다.');
history.go(-1);
</script>
</body>
</html>
<?php
die();
}
?>
<body>
<div class="container">
<div class="bg0 with_border legacy_layout">장 수 선 택<br><?= backButton() ?></div>
<table style="width:100%;" class="bg0 with_border">
<tr>
<td><?= info(0) ?></td>
</tr>
</table>
<?= getInvitationList($nationList) ?>
<div class="bg0">
<div class="bg1 with_border legacy_layout font1" style="text-align:center;font-weight:bold;">장수 선택</div>
<div class="with_border legacy_layout" style="text-align:center;">
<small id="valid_until">(<span id="valid_until_text"></span>까지 유효)</small><small id="outdate_token">- 만료 -</small><br>
<form class="card_holder">
</form>
</div>
</div>
<div class="bg0" id="create_plate">
<div class="bg1 with_border legacy_layout font1" style="text-align:center;font-weight:bold;margin-top:10px;">장수 생성</div>
<div class="with_border legacy_layout" style="display:flex">
<div style='flex:1;' id='left_pad'>
장수를<br>선택해주세요!
</div>
<div style='flex:4;'>
<form id='custom_form'>
<table class='tb_layout' style='width:100%;text-align:left;'>
<?php
if ($admin['show_img_level'] >= 1 && $member['grade'] >= 1 && $member['picture'] != "") {
$imageTemp = GetImageURL($member['imgsvr']);
echo "
<tr class='custom_picture'>
<td align=right class='bg1'>전콘 사용 여부</td>
<td width=64 height=64>
<img width='64' height='64' src='{$imageTemp}/{$member['picture']}' border='0'>
</td>
<td>
<input type=checkbox id='use_own_picture' name=pic>사용
</td>
</tr>
";
}
?>
<tr class='custom_personality'>
<td align=right class='bg1'>성격</td>
<td colspan=2 style='text-align:left;'>
<select id="selChar" name=character size=1 maxlength=15 style=color:white;background-color:black;>
<option selected value='Random'>????</option>
<?php foreach (GameConst::$availablePersonality as $personalityID) : ?>
<?php $personalityName = buildPersonalityClass($personalityID)->getName(); ?>
<option value='<?= $personalityID ?>'><?= $personalityName ?></option>
<?php endforeach; ?>
</select> <span id="charInfoText"></span>
</td>
</tr>
<tr class='custom_stat'>
<td align=right class='bg1'>통솔</td>
<td colspan=2><input type="number" name="leadership" id="leadership" value="50"></td>
</tr>
<tr class='custom_stat'>
<td align=right class='bg1'>무력</td>
<td colspan=2><input type="number" name="strength" id="strength" value="50"></td>
</tr>
<tr class='custom_stat'>
<td align=right class='bg1'>지력</td>
<td colspan=2><input type="number" name="intel" id="intel" value="50"></td>
</tr>
<tr class='custom_stat'>
<td align=right class='bg1'>능력치 조정</td>
<td colspan=2>
<input type=button value=랜덤형 onclick=abilityRand()>
<input type=button value=통솔무력형 onclick=abilityLeadpow()>
<input type=button value=통솔지력형 onclick=abilityLeadint()>
<input type=button value=무력지력형 onclick=abilityPowint()>
</td>
</tr>
<tr class='custom_stat'>
<td align=center colspan=3>
<font color=orange>모든 능력치는 ( <?= GameConst::$defaultStatMin ?> <= 능력치 <=<?= GameConst::$defaultStatMax ?> ) 사이로 잡으셔야 합니다.<br>
그 외의 능력치는 가입되지 않습니다.</font>
</td>
</tr>
<tr>
<td align=center colspan=3>
<span class='custom_stat'>능력치의 총합은 <?= GameConst::$defaultStatTotal ?>입니다. 가입후 0~10의 능력치 보너스를 받게 됩니다.<br></span>
임의의 도시에서 재야로 시작하며 건국과 임관은 게임 내에서 실행합니다.
</td>
</tr>
<tr>
<td align=right style='width:200px;'><input type=submit id='build_general' name=join value=장수생성></td>
<td colspan=2><input type=reset name=reset value=다시입력></td>
</tr>
</table>
</form>
</div>
</table>
</div>
</div>
<div class="bg0">
<div class="with_border legacy_layout"><?= backButton() ?></div>
<div class="with_border legacy_layout"><?= banner() ?></div>
</div>
</div>
</body>
</html>