diff --git a/webapp/controller/MissionController.class.php b/webapp/controller/MissionController.class.php index 282ff22e..7a4de893 100644 --- a/webapp/controller/MissionController.class.php +++ b/webapp/controller/MissionController.class.php @@ -12,7 +12,6 @@ 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'); @@ -22,11 +21,11 @@ require_once('models/Season.php'); require_once('services/AwardService.php'); require_once('services/PropertyChgService.php'); require_once('services/SeasonService.php'); +require_once('services/MissionService.php'); use phpcommon\SqlHelper; use models\User; use models\DynData; -use models\Bag; use models\Hero; use models\HeroSkin; use models\GunSkin; @@ -133,475 +132,4 @@ class MissionController extends BaseAuthedController { { } - 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; - } - } diff --git a/webapp/services/Mission.php b/webapp/services/Mission.php deleted file mode 100644 index adb544b4..00000000 --- a/webapp/services/Mission.php +++ /dev/null @@ -1,11 +0,0 @@ - $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 (myself()->_getDaySeconds($missionDb['modifytime']) == myself()->_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 (myself()->_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; + } + +}