This commit is contained in:
hujiabin 2024-08-06 14:45:55 +08:00
parent e85baea89c
commit 6e6eeaaf4a
3 changed files with 68 additions and 43 deletions

View File

@ -184,6 +184,7 @@ class BattleController extends BaseAuthedController {
foreach ($teamData['members'] as $member){ foreach ($teamData['members'] as $member){
$member['pvp_team_rank'] = getXVal($teamData,'pvp_team_rank', 0); $member['pvp_team_rank'] = getXVal($teamData,'pvp_team_rank', 0);
$member['victory'] = getXVal($teamData,'victory', 0); $member['victory'] = getXVal($teamData,'victory', 0);
$member['room_mode'] = getXVal($teamData,'room_mode', 0);
if ($member['account_id'] && !myself()->_isAndroidAccountId($member['account_id'])){ if ($member['account_id'] && !myself()->_isAndroidAccountId($member['account_id'])){
$this->switchAccount($member['account_id']); $this->switchAccount($member['account_id']);
$teamBattleDataService->battleInfo = $member; $teamBattleDataService->battleInfo = $member;

View File

@ -31,6 +31,7 @@ class AchievementsPower {
const MOBA_SCENE = 1; const MOBA_SCENE = 1;
const PVP_SCENE = 2; const PVP_SCENE = 2;
const All_SCENE = 5;
const TYPE1 = 1; const TYPE1 = 1;
const TYPE2 = 2; const TYPE2 = 2;

View File

@ -387,6 +387,7 @@ class HashRateService extends BaseService
if ($task['task_id'] == $taskMate['id']){ if ($task['task_id'] == $taskMate['id']){
$taskList[$k] = array( $taskList[$k] = array(
'task_id' => $metas[$key]['id'], 'task_id' => $metas[$key]['id'],
'current' => 0,
'createtime' => myself()->_getNowTime(), 'createtime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime(), 'modifytime' => myself()->_getNowTime(),
); );
@ -523,8 +524,31 @@ class HashRateService extends BaseService
} }
private static function _computeTaskProgress(&$tasks,$battleData){ private static function _computeTaskProgress(&$tasks,$battleData){
$room_mode = getXVal($battleData,'room_mode', 0);
foreach ($tasks as &$task){ foreach ($tasks as &$task){
$taskMeta = AchievementsPower::find($task['task_id']); $taskMeta = AchievementsPower::find($task['task_id']);
switch ($taskMeta['scene']){
case AchievementsPower::MOBA_SCENE :{
if ($room_mode == TameBattleDataService::ROOM_MODE_MOBA){
self::_getXVal($taskMeta,$battleData,$task);
}
}
break;
case AchievementsPower::PVP_SCENE :{
if ($room_mode == TameBattleDataService::MATCH_MODE_PVP){
self::_getXVal($taskMeta,$battleData,$task);
}
}
break;
case AchievementsPower::All_SCENE :{
self::_getXVal($taskMeta,$battleData,$task);
}
}
}
}
private static function _getXVal($taskMeta,$battleData,&$task){
switch ($taskMeta['Completion_type']){ switch ($taskMeta['Completion_type']){
case AchievementsPower::TOTAL_WINS_TIMES : { case AchievementsPower::TOTAL_WINS_TIMES : {
if (getXVal($battleData,'victory', 0)){ if (getXVal($battleData,'victory', 0)){
@ -577,7 +601,6 @@ class HashRateService extends BaseService
break; break;
} }
} }
}
private static function _procWeaponsSlot($battleData,$condition) private static function _procWeaponsSlot($battleData,$condition)
{ {