Merge branch 'hjb' of git.kingsome.cn:server/game2006api into hjb
This commit is contained in:
commit
86c60d3a7b
@ -19,6 +19,7 @@ require_once('services/FormulaService.php');
|
|||||||
require_once('mt/RankSeason.php');
|
require_once('mt/RankSeason.php');
|
||||||
require_once('mt/ServerTask.php');
|
require_once('mt/ServerTask.php');
|
||||||
require_once('mt/ServerTaskTime.php');
|
require_once('mt/ServerTaskTime.php');
|
||||||
|
require_once('mt/Robot.php');
|
||||||
|
|
||||||
use phpcommon\SqlHelper;
|
use phpcommon\SqlHelper;
|
||||||
use models\Hero;
|
use models\Hero;
|
||||||
@ -435,6 +436,11 @@ class BattleController extends BaseAuthedController {
|
|||||||
|
|
||||||
public function getNormalBattleData()
|
public function getNormalBattleData()
|
||||||
{
|
{
|
||||||
|
$version = getReqVal('version', 0);
|
||||||
|
$ignoreAndroid = false;
|
||||||
|
if ($version < 1) {
|
||||||
|
$ignoreAndroid = true;
|
||||||
|
}
|
||||||
$sign = '';
|
$sign = '';
|
||||||
$customData = array();
|
$customData = array();
|
||||||
{
|
{
|
||||||
@ -474,64 +480,85 @@ class BattleController extends BaseAuthedController {
|
|||||||
|
|
||||||
$currSeason = mt\RankSeason::getCurrentSeason();
|
$currSeason = mt\RankSeason::getCurrentSeason();
|
||||||
foreach ($customData['team_list'] as $team) {
|
foreach ($customData['team_list'] as $team) {
|
||||||
|
if ($ignoreAndroid) {
|
||||||
|
$isAllAndroid = true;
|
||||||
|
foreach ($team['members'] as $member) {
|
||||||
|
if (!$member['is_android']) {
|
||||||
|
$isAllAndroid = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($isAllAndroid) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
$teamInfo = array(
|
$teamInfo = array(
|
||||||
'team_uuid' => $team['team_uuid'],
|
'team_uuid' => $team['team_uuid'],
|
||||||
'members' => array()
|
'members' => array()
|
||||||
);
|
);
|
||||||
foreach ($team['members'] as $member) {
|
foreach ($team['members'] as $member) {
|
||||||
$accountId = $member['account_id'];
|
if ($ignoreAndroid && $member['is_android']) {
|
||||||
$switchOk = $this->switchOnlineAccount($accountId);
|
continue;
|
||||||
if (!$switchOk) {
|
|
||||||
myself()->_rspErr(1, 'data error');
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
$info = $this->genInitBattleData();
|
if ($member['is_android']) {
|
||||||
$userDb = User::find($accountId);
|
$info = $this->getAndroidInfo($member);
|
||||||
if ($userDb) {
|
array_push($teamInfo['members'], $info);
|
||||||
$userPresetInfo = User::toPreset($userDb);
|
} else {
|
||||||
$info['elo'] = $userDb['elo'];
|
$accountId = $member['account_id'];
|
||||||
$info['rank'] = $userDb['rank'];
|
$switchOk = $this->switchOnlineAccount($accountId);
|
||||||
$info['name'] = $userPresetInfo['name'];
|
if (!$switchOk) {
|
||||||
$info['level'] = $userPresetInfo['level'];
|
myself()->_rspErr(1, 'data error');
|
||||||
$info['parachute'] = $userPresetInfo['parachute'];
|
return;
|
||||||
$info['hero_uniid'] = $userPresetInfo['hero_uniId'];
|
|
||||||
$info['hero_id'] = $userPresetInfo['hero_id'];
|
|
||||||
$info['hero_skin'] = $userPresetInfo['hero_skin'];
|
|
||||||
$info['skill_id'] = $userPresetInfo['presetInfo']['skill_id'];
|
|
||||||
$info['weapon_uuid1'] = $userPresetInfo['presetInfo']['weapon_uid1'];
|
|
||||||
$info['weapon_uuid2'] = $userPresetInfo['presetInfo']['weapon_uid2'];
|
|
||||||
$chipPageDb = ChipPage::find($userPresetInfo['hero_uniId']);
|
|
||||||
$info['chip_page'] = ChipPage::toDtoBattle($chipPageDb);
|
|
||||||
$info['honor_info'] = $userPresetInfo['honor_info'];
|
|
||||||
$battleDb = Battle::find($accountId);
|
|
||||||
if ($battleDb){
|
|
||||||
$battleData = json_decode($battleDb['battle_data'], true);
|
|
||||||
$seasonBattleData = isset($battleData) ? getXVal($battleData, 'data', array()) : array();
|
|
||||||
$info['battle_times'] = getXVal($seasonBattleData, 'total_battle_times', 0);
|
|
||||||
}
|
}
|
||||||
|
$info = $this->genInitBattleData();
|
||||||
|
$userDb = User::find($accountId);
|
||||||
|
if ($userDb) {
|
||||||
|
$userPresetInfo = User::toPreset($userDb);
|
||||||
|
$info['elo'] = $userDb['elo'];
|
||||||
|
$info['rank'] = $userDb['rank'];
|
||||||
|
$info['head_id'] = $userDb['head_id'];
|
||||||
|
$info['name'] = $userPresetInfo['name'];
|
||||||
|
$info['level'] = $userPresetInfo['level'];
|
||||||
|
$info['parachute'] = $userPresetInfo['parachute'];
|
||||||
|
$info['hero_uniid'] = $userPresetInfo['hero_uniId'];
|
||||||
|
$info['hero_id'] = $userPresetInfo['hero_id'];
|
||||||
|
$info['hero_skin'] = $userPresetInfo['hero_skin'];
|
||||||
|
$info['skill_id'] = $userPresetInfo['presetInfo']['skill_id'];
|
||||||
|
$info['weapon_uuid1'] = $userPresetInfo['presetInfo']['weapon_uid1'];
|
||||||
|
$info['weapon_uuid2'] = $userPresetInfo['presetInfo']['weapon_uid2'];
|
||||||
|
$chipPageDb = ChipPage::find($userPresetInfo['hero_uniId']);
|
||||||
|
$info['chip_page'] = ChipPage::toDtoBattle($chipPageDb);
|
||||||
|
$info['honor_info'] = $userPresetInfo['honor_info'];
|
||||||
|
$battleDb = Battle::find($accountId);
|
||||||
|
if ($battleDb){
|
||||||
|
$battleData = json_decode($battleDb['battle_data'], true);
|
||||||
|
$seasonBattleData = isset($battleData) ? getXVal($battleData, 'data', array()) : array();
|
||||||
|
$info['battle_times'] = getXVal($seasonBattleData, 'total_battle_times', 0);
|
||||||
|
}
|
||||||
|
|
||||||
$heroDb = Hero::findByAccountId($accountId,$info['hero_uniid']);
|
$heroDb = Hero::findByAccountId($accountId,$info['hero_uniid']);
|
||||||
if ($heroDb) {
|
if ($heroDb) {
|
||||||
$info['is_valid_battle'] = 1;
|
$info['is_valid_battle'] = 1;
|
||||||
$info['hero_dto'] = Hero::toDto($heroDb);
|
$info['hero_dto'] = Hero::toDto($heroDb);
|
||||||
} else {
|
} else {
|
||||||
$info['errcode'] = 51;
|
$info['errcode'] = 51;
|
||||||
$info['errmsg'] = 'paramater error';
|
$info['errmsg'] = 'paramater error';
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
$itemDb = Bag::findEx($accountId, V_ITEM_REVIVE_COIN);
|
$itemDb = Bag::findEx($accountId, V_ITEM_REVIVE_COIN);
|
||||||
$info['revive_coin'] = $itemDb && $itemDb['item_num'] > 0 ? $itemDb['item_num'] : 0;
|
$info['revive_coin'] = $itemDb && $itemDb['item_num'] > 0 ? $itemDb['item_num'] : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
$info['match_mode'] = 0;
|
$info['match_mode'] = 0;
|
||||||
if ($currSeason){
|
if ($currSeason){
|
||||||
$info['match_mode'] = 1;
|
$info['match_mode'] = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
array_push($teamInfo['members'], $info);
|
||||||
}
|
}
|
||||||
array_push($teamInfo['members'], $info);
|
|
||||||
}
|
}
|
||||||
array_push($data['team_list'], $teamInfo);
|
array_push($data['team_list'], $teamInfo);
|
||||||
}
|
}
|
||||||
@ -826,4 +853,24 @@ class BattleController extends BaseAuthedController {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getAndroidInfo($member)
|
||||||
|
{
|
||||||
|
$robotMeta = mt\Robot::get($member['robot_id']);
|
||||||
|
$info = array(
|
||||||
|
'account_id' => $member['account_id'],
|
||||||
|
'name' => $member['name'],
|
||||||
|
'is_valid_battle' => 1,
|
||||||
|
'errcode' => 0,
|
||||||
|
'errmsg' => '',
|
||||||
|
'level' => 1,
|
||||||
|
'is_android' => 1,
|
||||||
|
'robot_id' => $member['robot_id'],
|
||||||
|
'hero_dto' => array(
|
||||||
|
'hero_uniid' => '',
|
||||||
|
'hero_id' => $robotMeta['hero_id']
|
||||||
|
)
|
||||||
|
);
|
||||||
|
return $info;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -463,7 +463,7 @@ class UserController extends BaseAuthedController {
|
|||||||
'is_moba' => 0,
|
'is_moba' => 0,
|
||||||
'is_open' => 0
|
'is_open' => 0
|
||||||
);
|
);
|
||||||
if (empty($mapId)) {
|
if (!empty($mapId)) {
|
||||||
$mapMeta = mt\Map::get($mapId);
|
$mapMeta = mt\Map::get($mapId);
|
||||||
if ($mapMeta) {
|
if ($mapMeta) {
|
||||||
$mapInfo = $mapMeta;
|
$mapInfo = $mapMeta;
|
||||||
@ -480,7 +480,7 @@ class UserController extends BaseAuthedController {
|
|||||||
'is_moba' => 0,
|
'is_moba' => 0,
|
||||||
'is_open' => 0
|
'is_open' => 0
|
||||||
);
|
);
|
||||||
if (empty($mapId)) {
|
if (!empty($mapId)) {
|
||||||
$mapMeta = mt\Map::get($mapId);
|
$mapMeta = mt\Map::get($mapId);
|
||||||
if ($mapMeta) {
|
if ($mapMeta) {
|
||||||
$mapInfo = $mapMeta;
|
$mapInfo = $mapMeta;
|
||||||
@ -513,7 +513,7 @@ class UserController extends BaseAuthedController {
|
|||||||
'info' => array(
|
'info' => array(
|
||||||
'user_info' => $userInfo,
|
'user_info' => $userInfo,
|
||||||
'hero_info' => $heroInfo,
|
'hero_info' => $heroInfo,
|
||||||
'map_info' => $mapMeta
|
'map_info' => $mapInfo
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ class Robot {
|
|||||||
protected static function getMetaList()
|
protected static function getMetaList()
|
||||||
{
|
{
|
||||||
if (!self::$metaList) {
|
if (!self::$metaList) {
|
||||||
self::$metaList = getMetaTable('robot@robot1.php');
|
self::$metaList = getMetaTable('robot@robot.php');
|
||||||
}
|
}
|
||||||
return self::$metaList;
|
return self::$metaList;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user