forked from devsam/core
커맨드 선택 form 구현 중
This commit is contained in:
@@ -12,7 +12,8 @@ use \sammo\{
|
||||
|
||||
|
||||
use function \sammo\{
|
||||
tryUniqueItemLottery
|
||||
tryUniqueItemLottery,
|
||||
printCitiesBasedOnDistance
|
||||
};
|
||||
|
||||
use \sammo\Constraint\Constraint;
|
||||
@@ -135,5 +136,31 @@ class che_강행 extends Command\GeneralCommand{
|
||||
|
||||
}
|
||||
|
||||
public function getJSFiles(): array
|
||||
{
|
||||
return [
|
||||
'js/defaultSelectCityByMap.js'
|
||||
];
|
||||
}
|
||||
|
||||
public function getForm(): string
|
||||
{
|
||||
$form = [];
|
||||
$form[] = \sammo\getMapHtml();
|
||||
|
||||
$form[] = <<<EOT
|
||||
선택된 도시로 강행합니다.<br>
|
||||
최대 3칸내 도시로만 강행이 가능합니다.<br>
|
||||
목록을 선택하거나 도시를 클릭하세요.<br>
|
||||
<select class='formInput' name="destCityID" id="destCityID" size='1' style='color:white;background-color:black;'>
|
||||
EOT;
|
||||
$form[] = \sammo\optionsForCities();
|
||||
$form[] = '</select>';
|
||||
$form[] = '<input type=submit value="강행">';
|
||||
$form[] = printCitiesBasedOnDistance($this->generalObj->getCityID(), 3);
|
||||
|
||||
return join("\n",$form);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -12,7 +12,8 @@ use \sammo\{
|
||||
|
||||
|
||||
use function \sammo\{
|
||||
tryUniqueItemLottery
|
||||
tryUniqueItemLottery,
|
||||
getAllNationStaticInfo
|
||||
};
|
||||
|
||||
use \sammo\Constraint\Constraint;
|
||||
@@ -21,7 +22,7 @@ use sammo\CityConst;
|
||||
use function sammo\getNationTypeClass;
|
||||
use function sammo\refreshNationStaticInfo;
|
||||
use function sammo\GetNationColors;
|
||||
|
||||
use function sammo\newColor;
|
||||
|
||||
|
||||
class che_건국 extends Command\GeneralCommand{
|
||||
@@ -172,5 +173,82 @@ class che_건국 extends Command\GeneralCommand{
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getForm(): string
|
||||
{
|
||||
|
||||
if(count(getAllNationStaticInfo()) >= $this->env['maxnation']){
|
||||
return '더 이상 건국은 불가능합니다.';
|
||||
}
|
||||
|
||||
|
||||
//NOTE: 새로운 방법이 생기기 전까진 아무색이나 선택 가능하도록 하자.
|
||||
/*
|
||||
foreach(GetNationColors() as $color){
|
||||
$colorUsed[$color] = 0;
|
||||
}
|
||||
|
||||
foreach(getAllNationStaticInfo() as $nation){
|
||||
if($nation['level'] <= 0){
|
||||
continue;
|
||||
}
|
||||
$colorUsed[$nation['color']]++;
|
||||
}
|
||||
|
||||
$colorUsedCnt = 0;
|
||||
foreach($colorUsed as $color=>$used){
|
||||
if($used){
|
||||
continue;
|
||||
}
|
||||
$colorUsedCnt += 1;
|
||||
}
|
||||
|
||||
//색깔이 다 쓰였으면 그냥 모두 허용
|
||||
if($colorUsedCnt === count($colorUsed)){
|
||||
foreach(array_keys($colorUsed) as $color){
|
||||
$colorUsed[$color] = 0;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
$form = [];
|
||||
|
||||
$form[] = '현재 도시에서 나라를 세웁니다. 중, 소도시에서만 가능합니다.<br><br>';
|
||||
|
||||
foreach(GameConst::$availableNationType as $nationType){
|
||||
$nationClass = getNationTypeClass($nationType);
|
||||
|
||||
[$name, $pros, $cons] = [$nationClass::$name, $nationClass::$pros, $nationClass::$cons];
|
||||
$form[] = "- $name : <span style='color:cyan;'>{$pros}</span> <span style='color:magenta;'>{$cons}</span><br>";
|
||||
|
||||
}
|
||||
$form[] = <<<EOT
|
||||
<br>
|
||||
국명 : <input type='text' class='formInput' name="nationName" id="nationName" size='18' maxlength='18' style='color:white;background-color:black;'>
|
||||
색깔 : <select class='formInput' name='nationColor' id='nationColor' size='1'>
|
||||
EOT;
|
||||
foreach(GetNationColors() as $idx=>$color) {
|
||||
/*
|
||||
if($colorUsed[$color] > 0){
|
||||
continue;
|
||||
}
|
||||
*/
|
||||
$form[] = "<option value={$idx} style='background-color:{$color};color:".newColor($color)."';>국가명</option>";
|
||||
}
|
||||
$form[] = <<<EOT
|
||||
</select>
|
||||
성향 : <select class='formInput' name='nationType' id='nationType' size='1'>
|
||||
EOT;
|
||||
foreach(GameConst::$availableNationType as $nationType){
|
||||
$nationClass = getNationTypeClass($nationType);
|
||||
|
||||
$name = $nationClass::$name;
|
||||
$form[] = "<option value='{$nationType}' style=background-color:black;color:white;>{$name}</option>";
|
||||
|
||||
}
|
||||
$form[] = '</select>';
|
||||
$form[] = '<input type="submit" value="건국">';
|
||||
|
||||
return join("\n",$form);
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,9 @@ use function \sammo\{
|
||||
getDomesticExpLevelBonus,
|
||||
CriticalRatioDomestic,
|
||||
CriticalScoreEx,
|
||||
tryUniqueItemLottery
|
||||
tryUniqueItemLottery,
|
||||
getAllNationStaticInfo,
|
||||
getNationStaticInfo
|
||||
};
|
||||
|
||||
use \sammo\Constraint\Constraint;
|
||||
@@ -148,5 +150,47 @@ class che_등용 extends Command\GeneralCommand{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public function getForm(): string
|
||||
{
|
||||
$db = DB::db();
|
||||
$form = [];
|
||||
|
||||
$form[] = <<<EOT
|
||||
재야나 타국의 장수를 등용합니다.<br>
|
||||
서신은 개인 메세지로 전달됩니다.<br>
|
||||
등용할 장수를 목록에서 선택하세요.<br>
|
||||
<select class='formInput' name="destGeneralID" id="destGeneralID" size='1' style='color:white;background-color:black;'>
|
||||
EOT;
|
||||
$destGenerals = [];
|
||||
$destRawGenerals = $db->query('SELECT no,name,npc,nation FROM general WHERE npc < 2 AND no != %i AND level != 12 ORDER BY npc,binary(name)',$this->generalObj->getID());
|
||||
foreach($destRawGenerals as $destGeneral){
|
||||
$destNationID = $destGeneral['nation'];
|
||||
if(!key_exists($destNationID, $destGenerals)){
|
||||
$destGenerals[$destNationID] = [];
|
||||
}
|
||||
$destGenerals[$destNationID] = [$destGeneral];
|
||||
}
|
||||
|
||||
$nationList = array_merge([0=>getNationStaticInfo(0)], getAllNationStaticInfo());
|
||||
foreach($nationList as $destNation){
|
||||
$form[] = "<option style='color:{$destNation['color']}'>【 {$destNation['name']} 】</option>";
|
||||
$destNationID = $destNation['nation'];
|
||||
if(!key_exists($destNationID, $destGenerals)){
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach($destGenerals[$destNationID] as $destGeneral){
|
||||
$nameColor = \sammo\getNameColor($destGeneral['npc']);
|
||||
if($nameColor){
|
||||
$nameColor = " style='color:{$nameColor}'";
|
||||
}
|
||||
$form[] = "<option value='{$destGeneral['no']}' {$nameColor}>{$destGeneral['name']}</option>";
|
||||
}
|
||||
}
|
||||
|
||||
$form[] = '</select>';
|
||||
$form[] = '<input type="submit" value="등용">';
|
||||
|
||||
return join("\n",$form);
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,8 @@ use \sammo\{
|
||||
|
||||
|
||||
use function \sammo\{
|
||||
tryUniqueItemLottery
|
||||
tryUniqueItemLottery,
|
||||
getInvitationList
|
||||
};
|
||||
|
||||
use \sammo\Constraint\Constraint;
|
||||
@@ -176,5 +177,61 @@ class che_임관 extends Command\GeneralCommand{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public function getForm(): string
|
||||
{
|
||||
$db = DB::db();
|
||||
$form = [];
|
||||
|
||||
$generalObj = $this->generalObj;
|
||||
|
||||
$env = $this->env;
|
||||
|
||||
$joinedNations = Json::decode($db->queryFirstField('SELECT nations FROM general WHERE no = %i', $generalObj->getID()));
|
||||
|
||||
$nationList = $db->query('SELECT nation,`name`,color,scout,scoutmsg,gennum FROM nation');
|
||||
shuffle($nationList);
|
||||
|
||||
$onlyRandom = $env['join_mode'] == 'onlyRandom';
|
||||
|
||||
foreach($nationList as &$nation){
|
||||
if ($onlyRandom && TimeUtil::IsRangeMonth($env['init_year'], $env['init_month'], 1, $env['year'], $env['month']) && $nation['gennum'] >= GameConst::$initialNationGenLimitForRandInit) {
|
||||
$nation['availableJoin'] = false;
|
||||
}
|
||||
else if($env['year'] < $env['startyear']+3 && $nation['gennum'] >= GameConst::$initialNationGenLimit){
|
||||
$nation['availableJoin'] = false;
|
||||
}
|
||||
else if($nation['scout'] == 1) {
|
||||
$nation['availableJoin'] = false;
|
||||
}
|
||||
else{
|
||||
$nation['availableJoin'] = true;
|
||||
}
|
||||
|
||||
if(in_array($nation['nation'], $joinedNations)){
|
||||
$nation['availableJoin'] = false;
|
||||
}
|
||||
}
|
||||
unset($nation);
|
||||
|
||||
$form[] = <<<EOT
|
||||
국가에 임관합니다.<br>
|
||||
이미 임관/등용되었던 국가는 다시 임관할 수 없습니다.<br>
|
||||
바로 군주의 위치로 이동합니다.<br>
|
||||
임관할 국가를 목록에서 선택하세요.<br>
|
||||
<select class='formInput' name="destNationID" id="destNationID" size='1' style='color:white;background-color:black;'>
|
||||
EOT;
|
||||
foreach($nationList as $nation){
|
||||
$css = "color:{$nation['color']};";
|
||||
if(!$nation['availableJoin']){
|
||||
$css.= 'background-color:red;';
|
||||
}
|
||||
$form[] = "<option value='{$nation['nation']}' style='$css'>【 {$nation['name']} 】</option>";
|
||||
}
|
||||
$form[] = <<<EOT
|
||||
</select>
|
||||
<input type=submit value='임관'>
|
||||
EOT;
|
||||
$form[] = getInvitationList($nationList);
|
||||
return join("\n",$form);
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,8 @@ use function \sammo\{
|
||||
tryUniqueItemLottery,
|
||||
getItemCost,
|
||||
getItemInfo,
|
||||
getItemName
|
||||
getItemName,
|
||||
buildItemClass
|
||||
};
|
||||
|
||||
use \sammo\Constraint\Constraint;
|
||||
@@ -43,12 +44,14 @@ class che_장비매매 extends Command\GeneralCommand{
|
||||
return false;
|
||||
}
|
||||
$itemCode = $this->arg['itemCode']??null;
|
||||
if(!is_int($itemCode)){
|
||||
if(!key_exists($itemCode, GameConst::$allItems[$itemType])){
|
||||
return false;
|
||||
}
|
||||
if($itemCode < 0 || 6 < $itemCode){
|
||||
$itemClass = buildItemClass($itemCode);
|
||||
if(!$itemClass->isBuyable()){
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->arg = [
|
||||
'itemType'=>$itemType,
|
||||
'itemCode'=>$itemCode
|
||||
@@ -66,12 +69,13 @@ class che_장비매매 extends Command\GeneralCommand{
|
||||
$itemType = $this->arg['itemType'];
|
||||
$itemTypeName = static::$itemMap[$itemType];
|
||||
$itemCode = $this->arg['itemCode'];
|
||||
$itemClass = buildItemClass($itemCode);
|
||||
|
||||
[$reqGold, $reqRice] = $this->getCost();
|
||||
|
||||
$this->runnableConstraints=[
|
||||
ConstraintHelper::ReqCityTrader($general->getVar('npc')),
|
||||
ConstraintHelper::ReqCityCapacity('secu', '치안 수치', $itemCode * 1000),
|
||||
ConstraintHelper::ReqCityCapacity('secu', '치안 수치', $itemClass->getReqSecu()),
|
||||
ConstraintHelper::ReqGeneralGold($reqGold),
|
||||
ConstraintHelper::ReqGeneralRice($reqRice),
|
||||
];
|
||||
@@ -82,7 +86,7 @@ class che_장비매매 extends Command\GeneralCommand{
|
||||
else if($itemCode == $general->getVar($itemType)){
|
||||
$this->runnableConstraints[] = ConstraintHelper::AlwaysFail('이미 가지고 있습니다.');
|
||||
}
|
||||
else if($itemType != 'item' && $general->getVar($itemType) > 6){
|
||||
else if($itemType != 'item' && !buildItemClass($general->getVar($itemType))->isBuyable()){
|
||||
$this->runnableConstraints[] = ConstraintHelper::AlwaysFail('이미 진귀한 것을 가지고 있습니다.');
|
||||
}
|
||||
|
||||
@@ -93,7 +97,6 @@ class che_장비매매 extends Command\GeneralCommand{
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
$itemType = $this->arg['itemType'];
|
||||
$itemCode = $this->arg['itemCode'];
|
||||
|
||||
$reqGold = getItemCost($itemCode);
|
||||
@@ -121,7 +124,7 @@ class che_장비매매 extends Command\GeneralCommand{
|
||||
$itemType = $this->arg['itemType'];
|
||||
$itemCode = $this->arg['itemCode'];
|
||||
|
||||
if($itemCode == 0){
|
||||
if($itemCode == 'None'){
|
||||
$buying = false;
|
||||
$itemCode = $general->getVar($itemType);
|
||||
$cost = getItemCost($itemCode);
|
||||
@@ -159,5 +162,58 @@ class che_장비매매 extends Command\GeneralCommand{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public function getForm(): string
|
||||
{
|
||||
$form = [];
|
||||
$form[] = \sammo\getMapHtml();
|
||||
|
||||
$db = DB::db();
|
||||
|
||||
$citySecu = $db->queryFirstField('SELECT secu FROM city WHERE city = %i', $this->generalObj->getCityID());
|
||||
$gold = $this->generalObj->getVar('gold');
|
||||
$form[] = <<<EOT
|
||||
<script>
|
||||
function updateItemType(elem){
|
||||
$('#itemType').val($(elem).data('itemType'));
|
||||
}
|
||||
</script>
|
||||
EOT;
|
||||
$form[] = '<input type="hidden" class="formInput" name="itemType" id="itemType" value="item">';
|
||||
$form[] = <<<EOT
|
||||
장비를 구입하거나 매각합니다.<br>
|
||||
현재 구입 불가능한 것은 <font color=red>붉은색</font>으로 표시됩니다.<br>
|
||||
현재 도시 치안 : {$citySecu} 현재 자금 : {$gold}<br>
|
||||
장비 : <select class='formInput' name="itemCode" id="itemCode" size='1' style='color:white;background-color:black;'>
|
||||
EOT;
|
||||
foreach(GameConst::$allItems as $itemType=>$itemCategories){
|
||||
//매각
|
||||
$typeName = static::$itemMap[$itemType];
|
||||
$form[] = "<option value='None' data-itemType='{$itemType}' style='color:skyblue'>_____{$typeName}매각(반값)____</option>";
|
||||
|
||||
//구입
|
||||
foreach($itemCategories as $itemCode=>$cnt){
|
||||
if($cnt > 0){
|
||||
continue;
|
||||
}
|
||||
$itemClass = buildItemClass($itemCode);
|
||||
if(!$itemClass->isBuyable()){
|
||||
continue;
|
||||
}
|
||||
$itemName = $itemClass->getName();
|
||||
$reqSecu = $itemClass->getReqSecu();
|
||||
$reqGold = $itemClass->getCost();
|
||||
$css = '';
|
||||
if($reqSecu < $citySecu){
|
||||
$css = 'color:red;';
|
||||
}
|
||||
$form[] = "<option value='{$itemCode}' data-itemType='{$itemType}' style='{$css}'>{$itemName} 가격: {$reqGold}</option>";
|
||||
}
|
||||
}
|
||||
$form[] = <<<EOT
|
||||
</select>
|
||||
<input type=submit value=거래>
|
||||
EOT;
|
||||
|
||||
return join("\n",$form);
|
||||
}
|
||||
}
|
||||
@@ -150,5 +150,64 @@ class che_증여 extends Command\GeneralCommand{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public function getForm(): string
|
||||
{
|
||||
//TODO: 암행부처럼 보여야...
|
||||
$db = DB::db();
|
||||
$form = [];
|
||||
|
||||
$form[] = <<<EOT
|
||||
자신의 자금이나 군량을 다른 장수에게 증여합니다.<br>
|
||||
장수를 선택하세요.<br>
|
||||
<select class='formInput' name="destGeneralID" id="destGeneralID" size='1' style='color:white;background-color:black;'>
|
||||
EOT;
|
||||
$destRawGenerals = $db->query('SELECT no,name,level,npc,gold,rice FROM general WHERE nation = %i AND no != %i ORDER BY npc,binary(name)',$this->generalObj->getNationID(), $this->generalObj->getID());
|
||||
foreach($destRawGenerals as $destGeneral){
|
||||
$nameColor = \sammo\getNameColor($destGeneral['npc']);
|
||||
if($nameColor){
|
||||
$nameColor = " style='color:{$nameColor}'";
|
||||
}
|
||||
|
||||
$name = $destGeneral['name'];
|
||||
if($destGeneral['level'] >= 5){
|
||||
$name = "*{$name}*";
|
||||
}
|
||||
|
||||
$form[] = "<option value='{$destGeneral['no']}' {$nameColor}>{$name}(금:{$destGeneral['gold']}, 쌀:{$destGeneral['rice']})</option>";
|
||||
}
|
||||
$form[] = <<<EOT
|
||||
</select>
|
||||
<select class='formInput' name="isGold" id="isGold" size='1' style='color:white;background-color:black;'>
|
||||
<option value="true">금</option>
|
||||
<option value="false">쌀</option>
|
||||
</select>
|
||||
</select>
|
||||
<select class='formInput' name="amount" id="amount" size='1' style='color:white;background-color:black;'>
|
||||
<option value=1>100</option>
|
||||
<option value=2>200</option>
|
||||
<option value=3>300</option>
|
||||
<option value=4>400</option>
|
||||
<option value=5>500</option>
|
||||
<option value=6>600</option>
|
||||
<option value=7>700</option>
|
||||
<option value=8>800</option>
|
||||
<option value=9>900</option>
|
||||
<option value=10>1000</option>
|
||||
<option value=12>1200</option>
|
||||
<option value=15>1500</option>
|
||||
<option value=20>2000</option>
|
||||
<option value=25>2500</option>
|
||||
<option value=30>3000</option>
|
||||
<option value=40>4000</option>
|
||||
<option value=50>5000</option>
|
||||
<option value=60>6000</option>
|
||||
<option value=70>7000</option>
|
||||
<option value=80>8000</option>
|
||||
<option value=90>9000</option>
|
||||
<option value=100>10000</option>
|
||||
</select>
|
||||
<input type="submit" value="증여">
|
||||
EOT;
|
||||
return join("\n",$form);
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,8 @@ use \sammo\{
|
||||
|
||||
use function \sammo\{
|
||||
tryUniqueItemLottery,
|
||||
searchDistance
|
||||
searchDistance,
|
||||
printCitiesBasedOnDistance
|
||||
};
|
||||
|
||||
use \sammo\Constraint\Constraint;
|
||||
@@ -182,5 +183,31 @@ class che_첩보 extends Command\GeneralCommand{
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getJSFiles(): array
|
||||
{
|
||||
return [
|
||||
'js/defaultSelectCityByMap.js'
|
||||
];
|
||||
}
|
||||
|
||||
public function getForm(): string
|
||||
{
|
||||
$form = [];
|
||||
$form[] = \sammo\getMapHtml();
|
||||
|
||||
$form[] = <<<EOT
|
||||
선택된 도시에 첩보를 실행합니다.<br>
|
||||
인접도시일 경우 많은 정보를 얻을 수 있습니다.<br>
|
||||
목록을 선택하거나 도시를 클릭하세요.<br>
|
||||
<select class='formInput' name="destCityID" id="destCityID" size='1' style='color:white;background-color:black;'>
|
||||
EOT;
|
||||
$form[] = \sammo\optionsForCities();
|
||||
$form[] = '</select>';
|
||||
$form[] = '<input type=submit value="첩보">';
|
||||
$form[] = printCitiesBasedOnDistance($this->generalObj->getCityID(), 3);
|
||||
|
||||
return join("\n",$form);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -130,5 +130,44 @@ class che_헌납 extends Command\GeneralCommand{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public function getForm(): string
|
||||
{
|
||||
//TODO: 암행부처럼 보여야...
|
||||
$form = [];
|
||||
|
||||
$form[] = <<<EOT
|
||||
자신의 자금이나 군량을 국가 재산으로 헌납합니다.<br>
|
||||
<select class='formInput' name="isGold" id="isGold" size='1' style='color:white;background-color:black;'>
|
||||
<option value="true">금</option>
|
||||
<option value="false">쌀</option>
|
||||
</select>
|
||||
</select>
|
||||
<select class='formInput' name="amount" id="amount" size='1' style='color:white;background-color:black;'>
|
||||
<option value=1>100</option>
|
||||
<option value=2>200</option>
|
||||
<option value=3>300</option>
|
||||
<option value=4>400</option>
|
||||
<option value=5>500</option>
|
||||
<option value=6>600</option>
|
||||
<option value=7>700</option>
|
||||
<option value=8>800</option>
|
||||
<option value=9>900</option>
|
||||
<option value=10>1000</option>
|
||||
<option value=12>1200</option>
|
||||
<option value=15>1500</option>
|
||||
<option value=20>2000</option>
|
||||
<option value=25>2500</option>
|
||||
<option value=30>3000</option>
|
||||
<option value=40>4000</option>
|
||||
<option value=50>5000</option>
|
||||
<option value=60>6000</option>
|
||||
<option value=70>7000</option>
|
||||
<option value=80>8000</option>
|
||||
<option value=90>9000</option>
|
||||
<option value=100>10000</option>
|
||||
</select>
|
||||
<input type="submit" value="헌납">
|
||||
EOT;
|
||||
return join("\n",$form);
|
||||
}
|
||||
}
|
||||
@@ -290,5 +290,32 @@ class che_화계 extends Command\GeneralCommand{
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getJSFiles(): array
|
||||
{
|
||||
return [
|
||||
'js/defaultSelectCityByMap.js'
|
||||
];
|
||||
}
|
||||
|
||||
public function getForm(): string
|
||||
{
|
||||
$form = [];
|
||||
$form[] = \sammo\getMapHtml();
|
||||
|
||||
$josaUl = JosaUtil::pick($this->getName(), '을');
|
||||
|
||||
$form[] = <<<EOT
|
||||
선택된 도시에 {$this->getName()}{$josaUl} 실행합니다.<br>
|
||||
목록을 선택하거나 도시를 클릭하세요.<br>
|
||||
<select class='formInput' name="destCityID" id="destCityID" size='1' style='color:white;background-color:black;'>
|
||||
EOT;
|
||||
$form[] = \sammo\optionsForCities();
|
||||
$form[] = '</select>';
|
||||
$form[] = "<input type=submit value='{$this->getName()}>";
|
||||
$form[] = printCitiesBasedOnDistance($this->generalObj->getCityID(), 2);
|
||||
|
||||
return join("\n",$form);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -166,4 +166,65 @@ class che_몰수 extends Command\NationCommand{
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getForm(): string
|
||||
{
|
||||
//TODO: 암행부처럼 보여야...
|
||||
$db = DB::db();
|
||||
$form = [];
|
||||
|
||||
$form[] = <<<EOT
|
||||
장수의 자금이나 군량을 몰수합니다.<br>
|
||||
몰수한것은 국가재산으로 귀속됩니다.<br>
|
||||
<select class='formInput' name="destGeneralID" id="destGeneralID" size='1' style='color:white;background-color:black;'>
|
||||
EOT;
|
||||
$destRawGenerals = $db->query('SELECT no,name,level,npc,gold,rice FROM general WHERE nation = %i AND no != %i ORDER BY npc,binary(name)',$this->generalObj->getNationID(), $this->generalObj->getID());
|
||||
foreach($destRawGenerals as $destGeneral){
|
||||
$nameColor = \sammo\getNameColor($destGeneral['npc']);
|
||||
if($nameColor){
|
||||
$nameColor = " style='color:{$nameColor}'";
|
||||
}
|
||||
|
||||
$name = $destGeneral['name'];
|
||||
if($destGeneral['level'] >= 5){
|
||||
$name = "*{$name}*";
|
||||
}
|
||||
|
||||
$form[] = "<option value='{$destGeneral['no']}' {$nameColor}>{$name}(금:{$destGeneral['gold']}, 쌀:{$destGeneral['rice']})</option>";
|
||||
}
|
||||
$form[] = <<<EOT
|
||||
</select>
|
||||
<select class='formInput' name="isGold" id="isGold" size='1' style='color:white;background-color:black;'>
|
||||
<option value="true">금</option>
|
||||
<option value="false">쌀</option>
|
||||
</select>
|
||||
</select>
|
||||
<select class='formInput' name="amount" id="amount" size='1' style='color:white;background-color:black;'>
|
||||
<option value=1>100</option>
|
||||
<option value=2>200</option>
|
||||
<option value=3>300</option>
|
||||
<option value=4>400</option>
|
||||
<option value=5>500</option>
|
||||
<option value=6>600</option>
|
||||
<option value=7>700</option>
|
||||
<option value=8>800</option>
|
||||
<option value=9>900</option>
|
||||
<option value=10>1000</option>
|
||||
<option value=12>1200</option>
|
||||
<option value=15>1500</option>
|
||||
<option value=20>2000</option>
|
||||
<option value=25>2500</option>
|
||||
<option value=30>3000</option>
|
||||
<option value=40>4000</option>
|
||||
<option value=50>5000</option>
|
||||
<option value=60>6000</option>
|
||||
<option value=70>7000</option>
|
||||
<option value=80>8000</option>
|
||||
<option value=90>9000</option>
|
||||
<option value=100>10000</option>
|
||||
</select>
|
||||
<input type="submit" value="몰수">
|
||||
EOT;
|
||||
return join("\n",$form);
|
||||
}
|
||||
}
|
||||
@@ -128,4 +128,49 @@ class che_발령 extends Command\NationCommand{
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getJSFiles(): array
|
||||
{
|
||||
return [
|
||||
'js/defaultSelectCityByMap.js'
|
||||
];
|
||||
}
|
||||
|
||||
public function getForm(): string
|
||||
{
|
||||
$form = [];
|
||||
$form[] = \sammo\getMapHtml();
|
||||
|
||||
$db = DB::db();
|
||||
|
||||
$form[] = <<<EOT
|
||||
선택된 도시로 아국 장수를 발령합니다.<br>
|
||||
아국 도시로만 발령이 가능합니다.<br>
|
||||
목록을 선택하거나 도시를 클릭하세요.<br>
|
||||
<select class='formInput' name="destGeneralID" id="destGeneralID" size='1' style='color:white;background-color:black;'>
|
||||
EOT;
|
||||
$destRawGenerals = $db->query('SELECT no,name,level,npc,gold,rice FROM general WHERE nation = %i AND no != %i ORDER BY npc,binary(name)',$this->generalObj->getNationID(), $this->generalObj->getID());
|
||||
foreach($destRawGenerals as $destGeneral){
|
||||
$nameColor = \sammo\getNameColor($destGeneral['npc']);
|
||||
if($nameColor){
|
||||
$nameColor = " style='color:{$nameColor}'";
|
||||
}
|
||||
|
||||
$name = $destGeneral['name'];
|
||||
if($destGeneral['level'] >= 5){
|
||||
$name = "*{$name}*";
|
||||
}
|
||||
|
||||
$form[] = "<option value='{$destGeneral['no']}' {$nameColor}>{$name}(금:{$destGeneral['gold']}, 쌀:{$destGeneral['rice']})</option>";
|
||||
}
|
||||
$form[] = <<<EOT
|
||||
</select>
|
||||
<select class='formInput' name="destCityID" id="destCityID" size='1' style='color:white;background-color:black;'>
|
||||
EOT;
|
||||
$form[] = \sammo\optionsForCities();
|
||||
$form[] = '</select>';
|
||||
$form[] = '<input type=submit value="발령">';
|
||||
|
||||
return join("\n",$form);
|
||||
}
|
||||
}
|
||||
@@ -170,4 +170,20 @@ class che_선전포고 extends Command\NationCommand{
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getJSFiles(): array
|
||||
{
|
||||
return [
|
||||
'js/defaultSelectNationByMap.js'
|
||||
];
|
||||
}
|
||||
|
||||
public function getForm(): string
|
||||
{
|
||||
$form = [];
|
||||
$form[] = \sammo\getMapHtml();
|
||||
|
||||
|
||||
return join("\n",$form);
|
||||
}
|
||||
}
|
||||
@@ -138,4 +138,65 @@ class che_포상 extends Command\NationCommand{
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public function getForm(): string
|
||||
{
|
||||
//TODO: 암행부처럼 보여야...
|
||||
$db = DB::db();
|
||||
$form = [];
|
||||
|
||||
$form[] = <<<EOT
|
||||
국고로 장수에게 자금이나 군량을 지급합니다.
|
||||
<select class='formInput' name="destGeneralID" id="destGeneralID" size='1' style='color:white;background-color:black;'>
|
||||
EOT;
|
||||
$destRawGenerals = $db->query('SELECT no,name,level,npc,gold,rice FROM general WHERE nation = %i AND no != %i ORDER BY npc,binary(name)',$this->generalObj->getNationID(), $this->generalObj->getID());
|
||||
foreach($destRawGenerals as $destGeneral){
|
||||
$nameColor = \sammo\getNameColor($destGeneral['npc']);
|
||||
if($nameColor){
|
||||
$nameColor = " style='color:{$nameColor}'";
|
||||
}
|
||||
|
||||
$name = $destGeneral['name'];
|
||||
if($destGeneral['level'] >= 5){
|
||||
$name = "*{$name}*";
|
||||
}
|
||||
|
||||
$form[] = "<option value='{$destGeneral['no']}' {$nameColor}>{$name}(금:{$destGeneral['gold']}, 쌀:{$destGeneral['rice']})</option>";
|
||||
}
|
||||
$form[] = <<<EOT
|
||||
</select>
|
||||
<select class='formInput' name="isGold" id="isGold" size='1' style='color:white;background-color:black;'>
|
||||
<option value="true">금</option>
|
||||
<option value="false">쌀</option>
|
||||
</select>
|
||||
</select>
|
||||
<select class='formInput' name="amount" id="amount" size='1' style='color:white;background-color:black;'>
|
||||
<option value=1>100</option>
|
||||
<option value=2>200</option>
|
||||
<option value=3>300</option>
|
||||
<option value=4>400</option>
|
||||
<option value=5>500</option>
|
||||
<option value=6>600</option>
|
||||
<option value=7>700</option>
|
||||
<option value=8>800</option>
|
||||
<option value=9>900</option>
|
||||
<option value=10>1000</option>
|
||||
<option value=12>1200</option>
|
||||
<option value=15>1500</option>
|
||||
<option value=20>2000</option>
|
||||
<option value=25>2500</option>
|
||||
<option value=30>3000</option>
|
||||
<option value=40>4000</option>
|
||||
<option value=50>5000</option>
|
||||
<option value=60>6000</option>
|
||||
<option value=70>7000</option>
|
||||
<option value=80>8000</option>
|
||||
<option value=90>9000</option>
|
||||
<option value=100>10000</option>
|
||||
</select>
|
||||
<input type="submit" value="포상">
|
||||
EOT;
|
||||
return join("\n",$form);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user