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/ServerTask.php');
|
||||
require_once('mt/ServerTaskTime.php');
|
||||
require_once('mt/Robot.php');
|
||||
|
||||
use phpcommon\SqlHelper;
|
||||
use models\Hero;
|
||||
@ -435,6 +436,11 @@ class BattleController extends BaseAuthedController {
|
||||
|
||||
public function getNormalBattleData()
|
||||
{
|
||||
$version = getReqVal('version', 0);
|
||||
$ignoreAndroid = false;
|
||||
if ($version < 1) {
|
||||
$ignoreAndroid = true;
|
||||
}
|
||||
$sign = '';
|
||||
$customData = array();
|
||||
{
|
||||
@ -474,64 +480,85 @@ class BattleController extends BaseAuthedController {
|
||||
|
||||
$currSeason = mt\RankSeason::getCurrentSeason();
|
||||
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(
|
||||
'team_uuid' => $team['team_uuid'],
|
||||
'members' => array()
|
||||
);
|
||||
foreach ($team['members'] as $member) {
|
||||
$accountId = $member['account_id'];
|
||||
$switchOk = $this->switchOnlineAccount($accountId);
|
||||
if (!$switchOk) {
|
||||
myself()->_rspErr(1, 'data error');
|
||||
return;
|
||||
if ($ignoreAndroid && $member['is_android']) {
|
||||
continue;
|
||||
}
|
||||
$info = $this->genInitBattleData();
|
||||
$userDb = User::find($accountId);
|
||||
if ($userDb) {
|
||||
$userPresetInfo = User::toPreset($userDb);
|
||||
$info['elo'] = $userDb['elo'];
|
||||
$info['rank'] = $userDb['rank'];
|
||||
$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);
|
||||
if ($member['is_android']) {
|
||||
$info = $this->getAndroidInfo($member);
|
||||
array_push($teamInfo['members'], $info);
|
||||
} else {
|
||||
$accountId = $member['account_id'];
|
||||
$switchOk = $this->switchOnlineAccount($accountId);
|
||||
if (!$switchOk) {
|
||||
myself()->_rspErr(1, 'data error');
|
||||
return;
|
||||
}
|
||||
$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']);
|
||||
if ($heroDb) {
|
||||
$info['is_valid_battle'] = 1;
|
||||
$info['hero_dto'] = Hero::toDto($heroDb);
|
||||
} else {
|
||||
$info['errcode'] = 51;
|
||||
$info['errmsg'] = 'paramater error';
|
||||
}
|
||||
$heroDb = Hero::findByAccountId($accountId,$info['hero_uniid']);
|
||||
if ($heroDb) {
|
||||
$info['is_valid_battle'] = 1;
|
||||
$info['hero_dto'] = Hero::toDto($heroDb);
|
||||
} else {
|
||||
$info['errcode'] = 51;
|
||||
$info['errmsg'] = 'paramater error';
|
||||
}
|
||||
|
||||
{
|
||||
$itemDb = Bag::findEx($accountId, V_ITEM_REVIVE_COIN);
|
||||
$info['revive_coin'] = $itemDb && $itemDb['item_num'] > 0 ? $itemDb['item_num'] : 0;
|
||||
}
|
||||
{
|
||||
$itemDb = Bag::findEx($accountId, V_ITEM_REVIVE_COIN);
|
||||
$info['revive_coin'] = $itemDb && $itemDb['item_num'] > 0 ? $itemDb['item_num'] : 0;
|
||||
}
|
||||
|
||||
{
|
||||
$info['match_mode'] = 0;
|
||||
if ($currSeason){
|
||||
$info['match_mode'] = 1;
|
||||
{
|
||||
$info['match_mode'] = 0;
|
||||
if ($currSeason){
|
||||
$info['match_mode'] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
array_push($teamInfo['members'], $info);
|
||||
}
|
||||
array_push($teamInfo['members'], $info);
|
||||
}
|
||||
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_open' => 0
|
||||
);
|
||||
if (empty($mapId)) {
|
||||
if (!empty($mapId)) {
|
||||
$mapMeta = mt\Map::get($mapId);
|
||||
if ($mapMeta) {
|
||||
$mapInfo = $mapMeta;
|
||||
@ -480,7 +480,7 @@ class UserController extends BaseAuthedController {
|
||||
'is_moba' => 0,
|
||||
'is_open' => 0
|
||||
);
|
||||
if (empty($mapId)) {
|
||||
if (!empty($mapId)) {
|
||||
$mapMeta = mt\Map::get($mapId);
|
||||
if ($mapMeta) {
|
||||
$mapInfo = $mapMeta;
|
||||
@ -513,7 +513,7 @@ class UserController extends BaseAuthedController {
|
||||
'info' => array(
|
||||
'user_info' => $userInfo,
|
||||
'hero_info' => $heroInfo,
|
||||
'map_info' => $mapMeta
|
||||
'map_info' => $mapInfo
|
||||
)
|
||||
));
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ class Robot {
|
||||
protected static function getMetaList()
|
||||
{
|
||||
if (!self::$metaList) {
|
||||
self::$metaList = getMetaTable('robot@robot1.php');
|
||||
self::$metaList = getMetaTable('robot@robot.php');
|
||||
}
|
||||
return self::$metaList;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user