|
@@ -70,8 +70,10 @@ class FightProc {
|
|
return self::GetWorldBoss_RankInfo();
|
|
return self::GetWorldBoss_RankInfo();
|
|
case CmdCode::fight_WorldBoss_getRankDamageVal: # 6827 当前轮次下 自己的最高伤害值
|
|
case CmdCode::fight_WorldBoss_getRankDamageVal: # 6827 当前轮次下 自己的最高伤害值
|
|
return self::GetWorldBoss_RankDamageVal();
|
|
return self::GetWorldBoss_RankDamageVal();
|
|
- case CmdCode::fight_WorldBoss_getSelfRankId: # 6827 获取自己的排名
|
|
|
|
- return self::GetWorldBoss_SelfRankId();
|
|
|
|
|
|
+ case CmdCode::fight_WorldBoss_getSelfRank: # 6827 获取自己的排名信息
|
|
|
|
+ return self::GetWorldBoss_GetSelfRank();
|
|
|
|
+ case CmdCode::fight_WorldBoss_ClaimRewards: # 6829 领取奖励
|
|
|
|
+ return self::GetWorldBoss_ClaimRewards();
|
|
default:
|
|
default:
|
|
Err(ErrCode::cmd_err);
|
|
Err(ErrCode::cmd_err);
|
|
}
|
|
}
|
|
@@ -1917,6 +1919,15 @@ class FightProc {
|
|
}
|
|
}
|
|
$mem->deleteMulti($arr);
|
|
$mem->deleteMulti($arr);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public static function ResetTurnNum() {
|
|
|
|
+ $num = self::GetCurTurnNum();
|
|
|
|
+ if($num != ctx()->privateState->worldBoss_turnNum){
|
|
|
|
+ ctx()->privateState->worldBoss_turnNum = $num;
|
|
|
|
+ ctx()->privateState->worldBoss_received = array();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
/**
|
|
/**
|
|
* 当前所在世界boss 的轮次 //当前轮次可以算出来
|
|
* 当前所在世界boss 的轮次 //当前轮次可以算出来
|
|
@@ -1946,8 +1957,8 @@ class FightProc {
|
|
* @param type $gateIndex
|
|
* @param type $gateIndex
|
|
*/
|
|
*/
|
|
public static function Ranking_DamageVal($damageVal) {
|
|
public static function Ranking_DamageVal($damageVal) {
|
|
- $num = self::GetCurTurnNum();
|
|
|
|
- $memKey = MemKey_GameRun::WorldBoss_Rank($num, req()->zoneid);
|
|
|
|
|
|
+ //$num = self::GetCurTurnNum();
|
|
|
|
+ $memKey = self::GetWorldBoss_DamageMemKey();// MemKey_GameRun::WorldBoss_Rank($num, req()->zoneid);
|
|
$mem = gMem();
|
|
$mem = gMem();
|
|
|
|
|
|
$uid = req()->uid;
|
|
$uid = req()->uid;
|
|
@@ -1974,17 +1985,21 @@ class FightProc {
|
|
|
|
|
|
$selfIsHasRank = 0; //本人是否上榜 0未上榜没有排名 1上榜则selfRank就是排名
|
|
$selfIsHasRank = 0; //本人是否上榜 0未上榜没有排名 1上榜则selfRank就是排名
|
|
|
|
|
|
- $num = self::GetCurTurnNum();
|
|
|
|
- $memKey = MemKey_GameRun::WorldBoss_Rank($num, req()->zoneid);
|
|
|
|
-
|
|
|
|
|
|
+ //$num = self::GetCurTurnNum();
|
|
|
|
+ //$memKey = MemKey_GameRun::WorldBoss_Rank($num, req()->zoneid);
|
|
|
|
+ $memKey = self::GetWorldBoss_DamageMemKey();
|
|
$list = gMem()->zrevrange($memKey, 0, GameConfig::glc2()->WorldBoss_RankRewardStatistics, true);
|
|
$list = gMem()->zrevrange($memKey, 0, GameConfig::glc2()->WorldBoss_RankRewardStatistics, true);
|
|
|
|
|
|
|
|
+ $rankStatistics = GameConfig::glc2()->WorldBoss_RankStatistics;
|
|
|
|
+
|
|
$selfRank = null;
|
|
$selfRank = null;
|
|
$retArr = array();
|
|
$retArr = array();
|
|
|
|
+ $index = 0;
|
|
if (count($list) > 0) {
|
|
if (count($list) > 0) {
|
|
foreach ($list as $uid => $score) {
|
|
foreach ($list as $uid => $score) {
|
|
|
|
+ $index += 1;
|
|
$rankInfo = self::initOtherUidRankInfo($uid, $score, 3);
|
|
$rankInfo = self::initOtherUidRankInfo($uid, $score, 3);
|
|
- if ($rankInfo->uid == req()->uid) {
|
|
|
|
|
|
+ if ($rankInfo->uid == req()->uid && $index <= $rankStatistics) {
|
|
$selfIsHasRank = 1;
|
|
$selfIsHasRank = 1;
|
|
$selfRank = $rankInfo;
|
|
$selfRank = $rankInfo;
|
|
}
|
|
}
|
|
@@ -2023,21 +2038,64 @@ class FightProc {
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 6828 获取自己的排名
|
|
|
|
|
|
+ * 6828 获取自己的排名信息
|
|
* @return type
|
|
* @return type
|
|
*/
|
|
*/
|
|
- public static function GetWorldBoss_SelfRankId() {
|
|
|
|
- $lv = gMem()->zrevrank(self::GetWorldBoss_DamageMemKey(), req()->uid);
|
|
|
|
- if($lv == null){
|
|
|
|
- $lv = 0;
|
|
|
|
- }
|
|
|
|
|
|
+ public static function GetWorldBoss_GetSelfRank() {
|
|
|
|
+// $lv = gMem()->zrevrank(self::GetWorldBoss_DamageMemKey(), req()->uid);
|
|
|
|
+// if($lv == null){
|
|
|
|
+// $lv = 0;
|
|
|
|
+// }
|
|
|
|
+ $damageval = gMem()->zscore(self::GetWorldBoss_DamageMemKey(), req()->uid);
|
|
|
|
+ if($damageval == null){
|
|
|
|
+ $damageval = 0;
|
|
|
|
+ }
|
|
|
|
+ $ins_rank = self::initOtherUidRankInfo(req()->uid, $damageval, 3);
|
|
|
|
|
|
UserProc::updateUserInfo();
|
|
UserProc::updateUserInfo();
|
|
$ret = array(
|
|
$ret = array(
|
|
- 'selfRank' => $lv,
|
|
|
|
|
|
+ 'selfRank' => $ins_rank,
|
|
|
|
|
|
);
|
|
);
|
|
return Resp::ok($ret);
|
|
return Resp::ok($ret);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 6829 领取世界boss奖励
|
|
|
|
+ * @return type
|
|
|
|
+ */
|
|
|
|
+ public static function GetWorldBoss_ClaimRewards() {
|
|
|
|
+ list($damageValId) = req()->paras;
|
|
|
|
+
|
|
|
|
+ my_Assert(!in_array($damageValId, ctx()->privateState->worldBoss_received), ErrCode::active_hasgetted);
|
|
|
|
+
|
|
|
|
+ $val = gMem()->zscore(self::GetWorldBoss_DamageMemKey(), req()->uid);
|
|
|
|
+ if($val == null){
|
|
|
|
+ $val = 0;
|
|
|
|
+ }
|
|
|
|
+ my_Assert($damageValId <= $val, ErrCode::active_worldBoss_notClaimRewards);
|
|
|
|
+
|
|
|
|
+ $turnNum = self::GetCurTurnNum();
|
|
|
|
+ $list = GameConfig::worldboss_demagereward_getItemArray($turnNum);
|
|
|
|
+ foreach ($list as $key => $mo) {
|
|
|
|
+ if($mo->demageValId == $damageValId && $mo->orderId == $turnNum){
|
|
|
|
+ StoreProc::AddMultiItemInStore($mo->reward);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ctx()->privateState->worldBoss_received[] = $damageValId;
|
|
|
|
+
|
|
|
|
+ UserProc::updateUserInfo();
|
|
|
|
+ $ret = array(
|
|
|
|
+ 'store' => ctx()->store,
|
|
|
|
+ 'cash'=>ctx()->baseInfo->cash,
|
|
|
|
+ 'reward'=> StoreProc::$reward,
|
|
|
|
+ 'reward_Gem'=> StoreProc::$reward_Gem,
|
|
|
|
+ 'reward_equip'=> StoreProc::$reward_equip,
|
|
|
|
+ );
|
|
|
|
+ return Resp::ok($ret);
|
|
|
|
+ }
|
|
|
|
+
|
|
// </editor-fold>
|
|
// </editor-fold>
|
|
}
|
|
}
|