몰수, 포상 구현, 증여 헌납 버그 수정
This commit is contained in:
@@ -1,221 +1,6 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
function process_23(&$general) {
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
$connect=$db->get();
|
||||
|
||||
$genlog = [];
|
||||
$log = [];
|
||||
$alllog = [];
|
||||
$history = [];
|
||||
|
||||
$date = substr($general['turntime'],11,5);
|
||||
|
||||
$admin = $gameStor->getValues(['year','month']);
|
||||
|
||||
$query = "select nation,supply from city where city='{$general['city']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$city = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select gold,rice,l{$general['level']}turn0 from nation where nation='{$general['nation']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$nation = MYDB_fetch_array($result);
|
||||
|
||||
$command = DecodeCommand($nation["l{$general['level']}turn0"]);
|
||||
$what = $command[3];
|
||||
$who = $command[2];
|
||||
$amount = $command[1];
|
||||
$amount *= 100; // 100~10000까지
|
||||
|
||||
if($amount > 10000) { $amount = 10000; }
|
||||
if($amount < 100) { $amount = 100; }
|
||||
if($what == 1) {
|
||||
$dtype = "금";
|
||||
if($nation['gold']-GameConst::$basegold < $amount) { $amount = $nation['gold'] - GameConst::$basegold; }
|
||||
} elseif($what == 2) {
|
||||
$dtype = "쌀";
|
||||
if($nation['rice']-GameConst::$baserice < $amount) { $amount = $nation['rice'] - GameConst::$baserice; }
|
||||
} else {
|
||||
$what = 2;
|
||||
$dtype = "쌀";
|
||||
if($nation['rice']-GameConst::$baserice < $amount) { $amount = $nation['rice'] - GameConst::$baserice; }
|
||||
}
|
||||
|
||||
$query = "select no,nation,level,name,gold,rice from general where no='$who'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$gen = MYDB_fetch_array($result);
|
||||
|
||||
if(!$gen) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:없는 장수입니다. 포상 실패. <1>$date</>";
|
||||
} elseif($general['no'] == $who) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:자기 자신입니다. 포상 실패. <1>$date</>";
|
||||
} elseif($general['level'] < 5) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:수뇌부가 아닙니다. 포상 실패. <1>$date</>";
|
||||
} elseif($city['nation'] != $general['nation']) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:아국이 아닙니다. 포상 실패. <1>$date</>";
|
||||
} elseif($city['supply'] == 0) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:고립된 도시입니다. 포상 실패. <1>$date</>";
|
||||
} elseif($what == 1 && $amount <= 0) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:국고가 부족합니다. 포상 실패. <1>$date</>";
|
||||
} elseif($what == 2 && $amount <= 0) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:병량이 부족합니다. 포상 실패. <1>$date</>";
|
||||
} elseif($gen['nation'] != $general['nation']) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:아국 장수가 아닙니다. 포상 실패. <1>$date</>";
|
||||
} else {
|
||||
$genlog[] = "<C>●</>$dtype <C>$amount</>을 포상으로 받았습니다.";
|
||||
$log[] = "<C>●</>{$admin['month']}월:<Y>{$gen['name']}</>에게 $dtype <C>$amount</>을 수여했습니다. <1>$date</>";
|
||||
|
||||
if($what == 1) {
|
||||
$gen['gold'] += $amount;
|
||||
$query = "update general set gold='{$gen['gold']}' where no='$who'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$nation['gold'] -= $amount;
|
||||
$query = "update nation set gold='{$nation['gold']}' where nation='{$general['nation']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
} elseif($what == 2) {
|
||||
$gen['rice'] += $amount;
|
||||
$query = "update general set rice='{$gen['rice']}' where no='$who'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$nation['rice'] -= $amount;
|
||||
$query = "update nation set rice='{$nation['rice']}' where nation='{$general['nation']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
|
||||
$query = "update general set resturn='SUCCESS' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
// $log = checkAbility($general, $log);
|
||||
}
|
||||
pushGenLog($general, $log);
|
||||
pushGenLog($gen, $genlog);
|
||||
}
|
||||
|
||||
|
||||
function process_24(&$general) {
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
$connect=$db->get();
|
||||
|
||||
$genlog = [];
|
||||
$log = [];
|
||||
$alllog = [];
|
||||
$history = [];
|
||||
$date = substr($general['turntime'],11,5);
|
||||
|
||||
$admin = $gameStor->getValues(['year','month','scenario','startyear']);
|
||||
|
||||
$query = "select nation,supply from city where city='{$general['city']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$city = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select nation,name,color,gold,rice,l{$general['level']}turn0 from nation where nation='{$general['nation']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$nation = MYDB_fetch_array($result);
|
||||
|
||||
$command = DecodeCommand($nation["l{$general['level']}turn0"]);
|
||||
$what = $command[3];
|
||||
$who = $command[2];
|
||||
$amount = $command[1];
|
||||
$amount *= 100; // 100~10000까지
|
||||
|
||||
$query = "select no,nation,level,name,gold,rice,npc,picture,imgsvr from general where no='$who'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$gen = MYDB_fetch_array($result);
|
||||
|
||||
if($amount > 10000) { $amount = 10000; }
|
||||
if($amount < 100) { $amount = 100; }
|
||||
if($what == 1) {
|
||||
$dtype = "금";
|
||||
if($gen['gold'] < $amount) { $amount = $gen['gold']; }
|
||||
} elseif($what == 2) {
|
||||
$dtype = "쌀";
|
||||
if($gen['rice'] < $amount) { $amount = $gen['rice']; }
|
||||
} else {
|
||||
$what = 2;
|
||||
$dtype = "쌀";
|
||||
if($gen['rice'] < $amount) { $amount = $gen['rice']; }
|
||||
}
|
||||
|
||||
if(!$gen) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:없는 장수입니다. 몰수 실패. <1>$date</>";
|
||||
} elseif($admin['year'] < $admin['startyear']+3) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:현재 초반 제한중입니다. 몰수 실패. <1>$date</>";
|
||||
} elseif($general['no'] == $who) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:자기 자신입니다. 몰수 실패. <1>$date</>";
|
||||
} elseif($general['level'] < 5) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:수뇌부가 아닙니다. 몰수 실패. <1>$date</>";
|
||||
} elseif($city['nation'] != $general['nation']) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:아국이 아닙니다. 몰수 실패. <1>$date</>";
|
||||
} elseif($city['supply'] == 0) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:고립된 도시입니다. 몰수 실패. <1>$date</>";
|
||||
} elseif($gen['nation'] != $general['nation']) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:아국 장수가 아닙니다. 몰수 실패. <1>$date</>";
|
||||
} else {
|
||||
if($gen['npc'] >= 2 && rand()%100 == 0) {
|
||||
switch(rand()%5) {
|
||||
case 0: $str = "몰수를 하다니... 이것이 윗사람이 할 짓이란 말입니까..."; break;
|
||||
case 1: $str = "사유재산까지 몰수해가면서 이 나라가 잘 될거라 믿습니까? 정말 이해할 수가 없군요..."; break;
|
||||
case 2: $str = "내 돈 내놔라! 내 돈! 몰수가 왠 말이냐!"; break;
|
||||
case 3: $str = "몰수해간 내 자금... 언젠가 몰래 다시 빼내올 것이다..."; break;
|
||||
case 4: $str = "몰수로 인한 사기 저하는 몰수로 얻은 물자보다 더 손해란걸 모른단 말인가!"; break;
|
||||
}
|
||||
|
||||
$src = new MessageTarget(
|
||||
$gen['no'],
|
||||
$gen['name'],
|
||||
$gen['nation'],
|
||||
$nation['name'],
|
||||
$nation['color'],
|
||||
GetImageURL($gen['imgsvr'], $gen['picture'])
|
||||
);
|
||||
$msg = new Message(
|
||||
Message::MSGTYPE_PUBLIC,
|
||||
$src,
|
||||
$src,
|
||||
$str,
|
||||
new \DateTime(),
|
||||
new \DateTime('9999-12-31'),
|
||||
[]
|
||||
);
|
||||
$msg->send();
|
||||
}
|
||||
|
||||
$genlog[] = "<C>●</>$dtype {$amount}을 몰수 당했습니다.";
|
||||
$log[] = "<C>●</>{$admin['month']}월:<Y>{$gen['name']}</>에게서 $dtype <C>$amount</>을 몰수했습니다. <1>$date</>";
|
||||
|
||||
if($what == 1) {
|
||||
$gen['gold'] -= $amount;
|
||||
$query = "update general set gold='{$gen['gold']}' where no='$who'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$nation['gold'] += $amount;
|
||||
$query = "update nation set gold='{$nation['gold']}' where nation='{$general['nation']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
} elseif($what == 2) {
|
||||
$gen['rice'] -= $amount;
|
||||
$query = "update general set rice='{$gen['rice']}' where no='$who'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$nation['rice'] += $amount;
|
||||
$query = "update nation set rice='{$nation['rice']}' where nation='{$general['nation']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
|
||||
// 경험치 상승
|
||||
$query = "update general set resturn='SUCCESS' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
// $log = checkAbility($general, $log);
|
||||
}
|
||||
pushGenLog($general, $log);
|
||||
pushGenLog($gen, $genlog);
|
||||
}
|
||||
|
||||
|
||||
function process_27(&$general) {
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
|
||||
Reference in New Issue
Block a user