245 lines
7.5 KiB
PHP
245 lines
7.5 KiB
PHP
<?php
|
|
|
|
require 'classes/Quest.php';
|
|
require 'classes/AddReward.php';
|
|
|
|
require_once('mt/Parameter.php');
|
|
require_once('mt/Drop.php');
|
|
require_once('mt/RankReward.php');
|
|
require_once('mt/Equip.php');
|
|
require_once('mt/Box.php');
|
|
|
|
class GameOverController extends BaseAuthedController {
|
|
|
|
public function firstRewardInfo()
|
|
{
|
|
$first_uuid = 'game2005api_first_uuid:' . $this->getAccountId();
|
|
$rank = $_REQUEST['rank'];
|
|
$type = isset($_REQUEST['type']) ? $_REQUEST['type'] : 0;
|
|
$coin = 0;
|
|
$score = 0;
|
|
$num = 1;
|
|
$par = mt\Parameter::getVal('equipreward_parameter', 0);
|
|
if ($type == 1) {
|
|
$ar = mt\RankReward::getOldRankReward($rank);
|
|
$coin = $ar['zbmode_param'];
|
|
$num = ceil($ar['zbmode_param'] / $par);
|
|
if (isset($_REQUEST['kills'])) {
|
|
$score = $_REQUEST['kills'] * 10;
|
|
}
|
|
} else if ($type == 0) {
|
|
$num = isset($_REQUEST['coin']) ? ceil($_REQUEST['coin'] / $par) : $num;
|
|
}
|
|
$first_list = array();
|
|
array_push($first_list, array(
|
|
'item_id' => 10010,
|
|
'item_num' => $num,
|
|
'time' => 0,
|
|
));
|
|
mt\Box::randomBox($firstList, 8);
|
|
mt\Box::randomBox($firstList, 9);
|
|
$first_db = array(
|
|
'first_uuid' => $first_uuid,
|
|
'first_list' => $first_list,
|
|
);
|
|
$this->redisSetAndExpire($first_uuid, $first_uuid, json_encode($first_db), 1000 * 3600 * 2);
|
|
|
|
echo json_encode(array(
|
|
'errcode' => 0,
|
|
'errmsg'=> '',
|
|
'first_uuid' => $first_uuid,
|
|
'item_list' => $first_list,
|
|
'coin' => $coin,
|
|
'score' => $score,
|
|
));
|
|
}
|
|
|
|
public function getFirstReward()
|
|
{
|
|
$type = $_REQUEST['type'];
|
|
$first_uuid = $_REQUEST['first_uuid'];
|
|
$addreward = new classes\AddReward();
|
|
$item_list = array();
|
|
$all_item_list = array();
|
|
if ($type == 0) {
|
|
mt\Box::randomBoxNN(5, $itemList);
|
|
} else {
|
|
$info = $this->redisGetJson($first_uuid, $first_uuid);
|
|
if (empty($info)) {
|
|
phpcommon\sendError(ERR_USER_BASE + 1,'session失效');
|
|
return;
|
|
}
|
|
$item_list = $info['first_list'];
|
|
}
|
|
foreach($item_list as $it) {
|
|
$items = $addreward->addReward($it['item_id'],
|
|
$it['item_num'],
|
|
$this->getAccountId(),
|
|
$it['time'],
|
|
0);
|
|
foreach($items as $j) {
|
|
array_push($all_item_list, array(
|
|
'item_id' => $j['item_id'],
|
|
'item_num' => $j['item_num'],
|
|
'time' => $j['time'],
|
|
));
|
|
}
|
|
}
|
|
$userInfo = $this->getUserInfo(array(
|
|
'coin_num',
|
|
'rmb_num',
|
|
));
|
|
echo json_encode(array(
|
|
'errcode' => 0,
|
|
'errmsg'=> '',
|
|
'coin_nums' => $userInfo['coin_num'],
|
|
'rmb_nums' => $userInfo['rmb_num'],
|
|
'item_list' => $item_list,
|
|
'all_item_list' => $all_item_list
|
|
));
|
|
}
|
|
|
|
public function getFuckBoxReward()
|
|
{
|
|
$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : 10;
|
|
$item_list = array();
|
|
$all_item_list = array();
|
|
mt\Box::randomBoxNew($id, $itemList);
|
|
$addreward = new classes\AddReward();
|
|
foreach($item_list as $it) {
|
|
$items = $addreward->addReward($it['item_id'],
|
|
$it['item_num'],
|
|
$this->getAccountId(),
|
|
$it['time'],
|
|
0);
|
|
foreach($items as $j) {
|
|
array_push($all_item_list, array(
|
|
'item_id' => $j['item_id'],
|
|
'item_num' => $j['item_num'],
|
|
'time' => $j['time'],
|
|
));
|
|
}
|
|
}
|
|
$userInfo = $this->getUserInfo(array(
|
|
'coin_num',
|
|
'rmb_num'
|
|
));
|
|
echo json_encode(array(
|
|
'errcode' => 0,
|
|
'errmsg'=> '',
|
|
'coin_nums' => $userInfo['coin_num'],
|
|
'rmb_nums' => $userInfo['rmb_num'],
|
|
'item_list' => $item_list,
|
|
'all_item_list' => $all_item_list
|
|
));
|
|
}
|
|
|
|
public function updateDiamond()
|
|
{
|
|
$userInfo = $this->getUserInfo(array(
|
|
'rmb_num'
|
|
));
|
|
$par = mt\Parameter::getVal('clan_diamond', 0);
|
|
if ($userInfo['rmb_num'] < $par) {
|
|
$par = 0;
|
|
}
|
|
$addreward = new classes\AddReward();
|
|
$items = $addreward->addReward(10003, -$par, $account_id, 0, 0);
|
|
$newUserInfo = $this->getUserInfo(array(
|
|
'rmb_num'
|
|
));
|
|
echo json_encode(array(
|
|
'errcode' => 0,
|
|
'errmsg'=> '',
|
|
'rmb_nums' => $userInfo['rmb_num'],
|
|
));
|
|
}
|
|
|
|
public function addSpoilsItems()
|
|
{
|
|
/*
|
|
data: [
|
|
{
|
|
"values":[item_id, item_num]
|
|
}
|
|
]
|
|
*/
|
|
$addreward = new classes\AddReward();
|
|
$item_list = array();
|
|
$all_item_list = array();
|
|
$arr = json_decode($_REQUEST['data'], true);
|
|
if (!$arr) {
|
|
phpcommon\sendError(ERR_USER_BASE + 3, '没有这个道具');
|
|
return;
|
|
}
|
|
foreach ($arr as $a) {
|
|
$val = $a['values'];
|
|
array_push($item_list, array(
|
|
'item_id' => $val[0],
|
|
'item_num' => $val[1],
|
|
'time' => 0,
|
|
));
|
|
$items = $addreward->addReward($val[0], $val[1], $account_id, 0, 0);
|
|
foreach($items as $it) {
|
|
array_push($all_item_list, array(
|
|
'item_id' => $it['item_id'],
|
|
'item_num' => $it['item_num'],
|
|
'time' => $it['time'],
|
|
));
|
|
}
|
|
}
|
|
$userInfo = $this->getUserInfo(array(
|
|
'coin_num',
|
|
'rmb_num'
|
|
));
|
|
echo json_encode(array(
|
|
'errcode' => 0,
|
|
'errmsg'=> '',
|
|
'coin_nums' => $userInfo['coin_num'],
|
|
'diamond_nums' => $userInfo['rmb_num'],
|
|
'item_list' => $item_list,
|
|
'all_item_list' => $all_item_list
|
|
));
|
|
}
|
|
|
|
public function fightRevive()
|
|
{
|
|
$userInfo = $this->getUserInfo(array(
|
|
'rmb_num'
|
|
));
|
|
$cost = mt\Parameter::getVal('revive_money', 0);
|
|
if ($cost > $userInfo['rmb_num']) {
|
|
phpcommon\sendError(ERR_USER_BASE + 3, '点券不足');
|
|
return;
|
|
}
|
|
$this->updateUserInfo(array(
|
|
'rmb_num' => function () {
|
|
return "rmb_num - ${cost}";
|
|
}
|
|
));
|
|
echo json_encode(array(
|
|
'errcode' => 0,
|
|
'errmsg'=> '',
|
|
));
|
|
}
|
|
|
|
public function addGameTimes()
|
|
{
|
|
$this->updateUserInfo(array(
|
|
'game_times' => function () {
|
|
return 'game_times + 1';
|
|
},
|
|
'modify_time' => $this->getNowTime()
|
|
));
|
|
$userInfo = $this->getUserInfo(array(
|
|
'game_times'
|
|
));
|
|
echo json_encode(array(
|
|
'errcode' => 0,
|
|
'errmsg'=> '',
|
|
'game_times' => $userInfo['game_times'],
|
|
));
|
|
}
|
|
|
|
}
|