604 lines
23 KiB
PHP
604 lines
23 KiB
PHP
<?php
|
||
|
||
require_once('mt/Shop.php');
|
||
require_once('mt/ShopGoods.php');
|
||
require_once('mt/Hero.php');
|
||
require_once('mt/Item.php');
|
||
require_once('mt/Parameter.php');
|
||
require_once('mt/Drop.php');
|
||
require_once('mt/Task.php');
|
||
require_once('mt/Season.php');
|
||
|
||
require_once('models/User.php');
|
||
require_once('models/DynData.php');
|
||
require_once('models/Hero.php');
|
||
require_once('models/Bag.php');
|
||
require_once('models/HeroSkin.php');
|
||
require_once('models/GunSkin.php');
|
||
require_once('models/ShopBuyRecord.php');
|
||
require_once('models/Mission.php');
|
||
require_once('models/Season.php');
|
||
|
||
require_once('services/AwardService.php');
|
||
require_once('services/PropertyChgService.php');
|
||
require_once('services/SeasonService.php');
|
||
|
||
use phpcommon\SqlHelper;
|
||
use models\User;
|
||
use models\DynData;
|
||
use models\Bag;
|
||
use models\Hero;
|
||
use models\HeroSkin;
|
||
use models\GunSkin;
|
||
use models\ShopBuyRecord;
|
||
use models\Mission;
|
||
use models\Season;
|
||
|
||
class MissionController extends BaseAuthedController {
|
||
|
||
private $propertyChgService = null;
|
||
private $userInfo = null;
|
||
private $seasonService = null;
|
||
private $currSeasonMeta = null;
|
||
private $seasonDb = null;
|
||
|
||
public function _handlePre()
|
||
{
|
||
parent::_handlePre();
|
||
DynData::preload();
|
||
$this->currSeasonMeta = mt\Season::getCurrentSeason();
|
||
if (!$this->currSeasonMeta) {
|
||
$this->_rspErr(10, '服务器内部错误');
|
||
die();
|
||
}
|
||
$this->propertyChgService = new services\PropertyChgService();
|
||
$this->userInfo = $this->_safeGetOrmUserInfo();
|
||
$this->seasonService = new services\SeasonService();
|
||
if (!$this->seasonService->checkSeason($this->userInfo)) {
|
||
$this->userInfo = $this->_safeGetOrmUserInfo();
|
||
$this->propertyChgService->addUserChg();
|
||
}
|
||
$this->seasonDb = Season::find($this->currSeasonMeta['id']);
|
||
if (!$this->seasonDb) {
|
||
Season::add($this->currSeasonMeta['id']);
|
||
$this->seasonDb = Season::find($this->currSeasonMeta['id']);
|
||
}
|
||
if (!$this->seasonDb) {
|
||
$this->_rspErr(10, '服务器内部错误');
|
||
die();
|
||
}
|
||
}
|
||
|
||
public function missionList()
|
||
{
|
||
$type = getReqVal('type', 0);
|
||
$missionMetaList = mt\Task::getCustomTypeMetaList($type);
|
||
$missionHash = Mission::allToHash();
|
||
$missionDtoList = array();
|
||
foreach ($missionMetaList as $missionMeta) {
|
||
$missionDb = getXVal($missionHash, $missionMeta['id'], null);
|
||
$missionDto = $this->getMissionDto($this->userInfo, $this->seasonDb, $missionDb, $missionMeta);
|
||
array_push($missionDtoList, $missionDto);
|
||
}
|
||
$this->_rspData(array(
|
||
'mission_list' => $missionDtoList
|
||
));
|
||
}
|
||
|
||
public function commitMission()
|
||
{
|
||
$missionId = getReqVal('mission_id', 0);
|
||
$missionMeta = mt\Task::get($missionId);
|
||
if (!$missionMeta) {
|
||
$this->_rspErr(1, 'mission_id参数错误');
|
||
return;
|
||
}
|
||
$missionDb = Mission::find($missionId);
|
||
$missionDto = $this->getMissionDto($this->userInfo, $this->seasonDb, $missionDb, $missionMeta);
|
||
if (!$missionDto) {
|
||
$this->_rspErr(10, '服务器内部错误');
|
||
return;
|
||
}
|
||
if ($missionDto[state] == Mission::RECEIVED_STATE) {
|
||
$this->_rspErr(2, '不能重复领取');
|
||
return;
|
||
}
|
||
if ($missionDto[state] == Mission::NOT_FINISHED_STATE) {
|
||
$this->_rspErr(3, '任务目标未达成');
|
||
return;
|
||
}
|
||
if ($missionDto[state] != Mission::RECEIVEABLE_STATE) {
|
||
$this->_rspErr(3, '未知任务状态');
|
||
return;
|
||
}
|
||
$dropMeta = mt\Drop::get($missionMeta['reward']);
|
||
if (!$dropMeta) {
|
||
$this->_rspErr(10, '服务器内部错误drop错误');
|
||
return;
|
||
}
|
||
$propertyChgService = new services\PropertyChgService();
|
||
$awardService = new services\AwardService();
|
||
$this->_scatterDrop($dropMeta, $awardService, $propertyChgService);
|
||
Mission::add($missionId);
|
||
$missionDb = Mission::find($missionId);
|
||
$missionDto = $this->getMissionDto($missionDb, $missionMeta);
|
||
$this->_rspData(array(
|
||
'award' => $awardService->toDto(),
|
||
'property_chg' => $propertyChgService->toDto(),
|
||
'mission_chg' => $missionDto
|
||
));
|
||
}
|
||
|
||
private function getMissionDto($userInfo, $seasonDb, $missionDb, $missionMeta)
|
||
{
|
||
$missionDto = array(
|
||
'mission_id' => $missionMeta['id'],
|
||
'current' => 0,
|
||
'target' => getXVal($missionMeta, 'target', 1),
|
||
'state' => Mission::NOT_FINISHED_STATE,
|
||
);
|
||
if ($missionDb) {
|
||
if ($missionMeta['type'] == mt\Task::DAILY_MISSON_TYPE) {
|
||
if ($this->_getDaySeconds($missionDb['modifytime']) == $this->_getNowDaySeconds()) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVED_STATE;
|
||
return $missionDto;
|
||
}
|
||
} else {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVED_STATE;
|
||
return $missionDto;
|
||
}
|
||
}
|
||
switch ($missionMeta['type']) {
|
||
case mt\Task::DAILY_LOGIN_TIMES_COND:
|
||
{
|
||
//今日登陆
|
||
if ($this->_getDailyV(TN_DAILY_LOGINS, 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::PLAYER_LEVEL_COND:
|
||
{
|
||
//玩家等级达到X
|
||
if ($userInfo['level'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_BATTLE_TIMES_COND:
|
||
{
|
||
//进行X场比赛
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'total_battle_times', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['total_battle_times'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::SHARE_GAME_TIMES_COND:
|
||
{
|
||
//分享1次游戏
|
||
}
|
||
break;
|
||
case mt\Task::SINGLE_BATTLE_TIMES_COND:
|
||
{
|
||
//进行X场单人比赛
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'total_single_battle_times', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['total_single_battle_times'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::TEAM_BATTLE_TIMES_COND:
|
||
{
|
||
//进行X场组队比赛
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'total_team_battle_times', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['total_team_battle_times'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::SINGLE_BATTLE_RANK_COND:
|
||
{
|
||
//单人比赛排名前X
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'single_battle_rank', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['single_battle_rank'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::TEAM_BATTLE_RANK_COND:
|
||
{
|
||
//组队比赛排名前X
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'team_battle_rank', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['team_battle_rank'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_KILL_NUM_COND:
|
||
{
|
||
//累计击败X个敌人
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'total_kills_times', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['total_kills_times'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_DAMGE_OUT_COND:
|
||
{
|
||
//累计造成X点伤害
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'total_damage_out', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['total_damage_out'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::RESCUE_TEAMMATE_TIMES_COND:
|
||
{
|
||
//救援X个队友
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'rescue_teammate_times', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['rescue_teammate_times'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_SURVIVAL_TIME_COND:
|
||
{
|
||
//累计生存X分钟
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'total_alive_time', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['total_alive_time'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::USE_WEAPON_KILL_NUM_COND:
|
||
{
|
||
//使用X枪械击杀Y个敌人
|
||
}
|
||
break;
|
||
case mt\Task::USE_WEAPON_DAMGE_OUT_COND:
|
||
{
|
||
//使用X种枪械对敌人累计造成Y点伤害
|
||
}
|
||
break;
|
||
case mt\Task::USE_WEAPON_SLOT_TIMES_COND:
|
||
{
|
||
//使用某个槽位的次数 cond_param1=槽位
|
||
}
|
||
break;
|
||
case mt\Task::GET_EQUIP_TIMES_COND:
|
||
{
|
||
//获得某种类型的装备 cond_param1=equip.type cond_param2=equip.sub_type
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_DIVING_TIMES_COND:
|
||
{
|
||
//累计潜水X次
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'diving_times', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['diving_times'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_DAMAGE_IN_COND:
|
||
{
|
||
//累计受到X点伤害
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'total_damage_in', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['total_damage_in'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_RECOVER_HP_COND:
|
||
{
|
||
//累计恢复X点血量
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'total_recover_hp', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['total_recover_hp'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_OPEN_AIRDROP_COND:
|
||
{
|
||
//累计打开空投补给X次
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'open_airdrop_times', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['open_airdrop_times'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::BATTLE_IN_HERO_LV_COND:
|
||
{
|
||
//单局内英雄技能升级到X级
|
||
}
|
||
break;
|
||
case mt\Task::BATTLE_IN_GUN_LV_COND:
|
||
{
|
||
//单局内英雄专属枪械升到X级
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_MEDICINE_TIMES_COND:
|
||
{
|
||
//累计使用X药品Y次
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'use_medicine_times', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['use_medicine_times'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_DESTORY_CAR_TIMES_COND:
|
||
{
|
||
//累计破坏载具X个
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'destory_car_times', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['destory_car_times'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_USE_CAMOUFLAGE_TIMES_COND:
|
||
{
|
||
//累计使用X个伪装物
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'use_camouflage_times', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['use_camouflage_times'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_USE_SKILL_TIMES_COND:
|
||
{
|
||
//累计使用X次角色技能
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'use_skill_times', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['use_skill_times'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::RIDE_CAR_MOVE_DISTANCE_COND:
|
||
{
|
||
//驾驶或乘坐载具累计移动X米(所有模式)
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'ride_car_move_distance', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['ride_car_move_distance'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::RIDE_CAR_KILL_NUM_COND:
|
||
{
|
||
//驾驶或乘坐载具累计击杀X个敌人(所有模式)
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'ride_car_kills', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['ride_car_kills'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::LIKE_TEAMMATE_TIMES_COND:
|
||
{
|
||
//战斗结算中累计给队友点赞X次
|
||
if ($missionMeta['season_task'] == mt\Task::SEASON_MISSON_FLAG) {
|
||
if (getXVal($seasonDb, 'to_teammate_like_times', 0) >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
} else {
|
||
if ($userInfo['to_teammate_like_times'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::SEASON_LEVEL_COND:
|
||
{
|
||
//赛季段位达到X
|
||
if ($userInfo['rank'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::CONSUME_GOLD_COND:
|
||
{
|
||
//消耗X个金币
|
||
if ($userInfo['consume_gold'] >= $missionDto['target']) {
|
||
$missionDto['current'] = $missionDto['target'];
|
||
$missionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||
}
|
||
}
|
||
break;
|
||
case mt\Task::BATTLE_RANK_COND:
|
||
{
|
||
//获得X级评价Y次
|
||
}
|
||
break;
|
||
case mt\Task::FINISHED_ALL_DAILY_MISSION_COND:
|
||
{
|
||
//完成所有每日任务
|
||
}
|
||
break;
|
||
case mt\Task::SHOP_BUY_TIMES_COND:
|
||
{
|
||
//在X商店消费Y次
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_UPGRADE_TALENT_LV_COND:
|
||
{
|
||
//科研升级X次
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_GET_HERO_SKIN_COUNT_COND:
|
||
{
|
||
//累计获得X个角色时装
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_GET_GUN_SKIN_COUNT_COND:
|
||
{
|
||
//累计获得X个枪械皮肤
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_INVITE_FRIEND_TIMES_COND:
|
||
{
|
||
//邀请好友组队X次
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_GIVE_FRIEND_GOLD_COUNT_COND:
|
||
{
|
||
//赠送X个好友金币
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_INVITE_FRIEND_ONLINE_TIMES_COND:
|
||
{
|
||
//邀请X个好友上线
|
||
}
|
||
break;
|
||
case mt\Task::TOTAL_CREATE_OR_JOIN_GUILD_COUNT_COND:
|
||
{
|
||
//创建或加入1个战队
|
||
}
|
||
break;
|
||
default:
|
||
{
|
||
}
|
||
break;
|
||
}
|
||
return $missionDto;
|
||
}
|
||
|
||
}
|