protected function _exec() { $characteruid = $this->getParam('characteruid', 'string'); $result = array(); //item 信息 $item_mgr = new UserGameItemManager($characteruid); $items = $item_mgr->getItemList(); $heroInfo['items'] = $items; //vip $vip_mgr = new CharacterAccountManager(); $vipInfo = $vip_mgr->getVipCache($characteruid); $heroInfo['vipData'] = $vipInfo; //rate $rate_mgr = new RatingHeroManager(); $heroInfo['heroRate'] = $rate_mgr->getHeroRate($characteruid); $result['topHeroRate'] = $rate_mgr->getTop(); $heroInfo['heroRateTime'] = $rate_mgr->getRatingRewardTime($characteruid); $clan_rate_mgr = new RatingClanManager(); $result['topClanRate'] = $clan_rate_mgr->getTop(); $heroInfo['clanRateTime'] = $clan_rate_mgr->getRatingRewardTime($characteruid); $bossMgr = new ClanBossManager(); $heroInfo['bossData'] = $bossMgr->getCurClanBoss(); //clan $user_clan_mgr = new UserClanManager(); $user_clan_info = $user_clan_mgr->getUserClanInfo($characteruid); if (!empty($user_clan_info)) { require_once GAMELIB . '/model/ClanManager.class.php'; $clan_mgr = new ClanManager(); $clan_info = $clan_mgr->getClanInfo($user_clan_info['clan_id']); $membersArr = array(); $clanmembers = explode(",", $clan_info['members']); foreach ($clanmembers as $memberId) { $simclaninfo = $user_clan_mgr->getUserClanInfo($memberId); if (!empty($simclaninfo)) { array_push($membersArr, $simclaninfo); } } array_push($membersArr, $user_clan_mgr->getUserClanInfo($clan_info['adminId'])); $clan_info['membersArr'] = $membersArr; $clanTalk = $clan_mgr->getClanTalk($user_clan_info['clan_id']); if (!empty($clanTalk)) { $clan_info['talk'] = $clanTalk; } $heroInfo['clanRate'] = $clan_rate_mgr->getClanRate($user_clan_info['clan_id']); $clan_info['clanUser'] = $user_clan_info; $heroInfo['clan'] = $clan_info; } $result['hero_info'] = $heroInfo; return $result; }
protected function _exec() { $enemyId = $this->getParam('enemyId', 'string'); $characterId = $this->getParam('heroid', 'int'); $hero_mgr = new CharacterAccountManager(); $hero_info = $hero_mgr->getCharacterAccount($characterId); $vipLevel = StaticFunction::expToVip($hero_info['vip']); $vipDATA = StaticFunction::$VipList[$vipLevel]; $maxPkCOUNT = $vipDATA['pkAddCount']; $cacheInfo = $hero_mgr->getVipCache($characterId); $usedCount = 0; if (!empty($cacheInfo) && $cacheInfo['time'] > time()) { $usedCount = $cacheInfo['pkAddCount']; $newCacheInfo = $cacheInfo; } else { $newCacheInfo['time'] = strtotime(date("Y-m-d", strtotime("+1 day"))); } $newCacheInfo['pkAddCount'] = $usedCount + 1; if ($maxPkCOUNT <= $usedCount) { $this->throwException("pk too much used {$usedCount} , total = {$maxPkCOUNT}"); } else { $new_hero_info = StaticFunction::resetCurPower($hero_info); $cur_power = $new_hero_info['power']; if ($cur_power < StaticFunction::$power_battle_cost) { $this->throwException("power is not enough ,cur power = {$cur_power} "); } else { $heroChange = array('power' => $cur_power - StaticFunction::$power_battle_cost, 'powertime' => $new_hero_info['powertime']); $hero_mgr->updateUserStatus($characterId, $heroChange); $hero_mgr->setVipCache($characterId, $newCacheInfo); $battleMgr = new BattleManager(); $battleMgr->setBattleCache($characterId, $enemyId, 2, 0); $heroChange['vipCache'] = $newCacheInfo; return $heroChange; } } }