|
@@ -443,6 +443,7 @@ class FightProc {
|
|
|
my_Assert(ctx()->base(true)->Consume_tili($mo->cost_tili), ErrCode::notenough_tili);
|
|
|
ctx()->privateData(true)->battlePass_tili += $mo->cost_tili;
|
|
|
}
|
|
|
+ ctx()->gates()->lastStartFightTs = now(); # 记录下开始战斗的时间戳(状态变量,用于校验战斗用时,排除作弊)
|
|
|
UserProc::updateUserInfo();
|
|
|
return Resp::ok(array("tili" => ctx()->baseInfo->tili, "tili_ts" => ctx()->baseInfo->tili_ts));
|
|
|
}
|
|
@@ -732,6 +733,7 @@ class FightProc {
|
|
|
//ctx()->base()->Add_Exp($exp);
|
|
|
$waveMo = GameConfig::waveItem_getItem($gateId, $finalLayer);
|
|
|
my_Assert(null != $waveMo, ErrCode::err_const_no);
|
|
|
+ my_Assert(now() - ctx()->gates->lastStartFightTs > $waveMo->minTs, ErrCode::err_opTimeTooShort); # todo:校验战斗耗时 2025年4月10日16:29:46
|
|
|
$oldLevel = ctx()->baseInfo->level;
|
|
|
StoreProc::AddMultiItemInStore('4,' . $waveMo->rewardExp);
|
|
|
//ctx()->base()->Add_Exp($waveMo->rewardExp); # 指挥官经验
|
|
@@ -1928,8 +1930,8 @@ class FightProc {
|
|
|
}
|
|
|
|
|
|
foreach ($list as $uid => $score) {
|
|
|
- $index += 1;
|
|
|
- self::settleDamageReward_worldBoss($orderId,$uid,$score);
|
|
|
+ $index += 1;
|
|
|
+ self::settleDamageReward_worldBoss($orderId, $uid, $score);
|
|
|
EmailProc::SendWorldBossRewardMail(req()->zoneid, $uid, $mo->reward, $index);
|
|
|
}
|
|
|
}
|
|
@@ -1941,16 +1943,16 @@ class FightProc {
|
|
|
// }
|
|
|
}
|
|
|
|
|
|
- public static function settleDamageReward_worldBoss($orderId,$uid,$demageVal) {
|
|
|
+ public static function settleDamageReward_worldBoss($orderId, $uid, $demageVal) {
|
|
|
$demageList = GameConfig::worldboss_demagereward_getItemArray($orderId);
|
|
|
-
|
|
|
+
|
|
|
$userInfo = UserProc::getUserGame(req()->zoneid, $uid);
|
|
|
$worldBoss_received = $userInfo->privateState->worldBoss_received;
|
|
|
foreach ($demageList as $dMo) {
|
|
|
if ($demageVal >= $dMo->demageValId && !in_array($dMo->demageValId, $worldBoss_received)) {
|
|
|
EmailProc::SendWorldBossDamageRewardMail(req()->zoneid, $uid, $dMo->reward);
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -2016,7 +2018,7 @@ class FightProc {
|
|
|
}
|
|
|
|
|
|
$num = self::GetCurTurnNum();
|
|
|
- if ($num != ctx()->privateState->worldBoss_turnNum) {
|
|
|
+ if ($num != ctx()->privateState->worldBoss_turnNum) {
|
|
|
ctx()->privateState->worldBoss_turnNum = $num;
|
|
|
ctx()->privateState->worldBoss_received = array();
|
|
|
}
|
|
@@ -2214,7 +2216,7 @@ class FightProc {
|
|
|
//校验每个轮次最后10分钟, 不能战斗
|
|
|
my_Assert(FightProc::isFunUnlock(25), ErrCode::active_funUnlock);
|
|
|
$tag = true;
|
|
|
-
|
|
|
+
|
|
|
$curDay = TimeUtil::totalDays();
|
|
|
$turnNum = self::GetCurTurnNum();
|
|
|
$turnnumMo = GameConfig::worldboss_turnnum_getItem($turnNum);
|
|
@@ -2224,17 +2226,17 @@ class FightProc {
|
|
|
$tag = false;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- if (ctx()->privateState->worldBoss_turnNum != $turnNum){
|
|
|
+
|
|
|
+ if (ctx()->privateState->worldBoss_turnNum != $turnNum) {
|
|
|
ctx()->privateState->worldBoss_turnNum = $turnNum;
|
|
|
ctx()->privateState->worldBoss_received = array();
|
|
|
- $tag = false;
|
|
|
+ $tag = false;
|
|
|
}
|
|
|
-
|
|
|
- if($tag){
|
|
|
+
|
|
|
+ if ($tag) {
|
|
|
self::Ranking_DamageVal($damageNum);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
UserProc::updateUserInfo();
|
|
|
return Resp::ok(array());
|
|
|
}
|