This commit is contained in:
hujiabin 2024-06-11 14:49:41 +08:00
parent dd4b9056ea
commit d035e260a5
3 changed files with 30 additions and 4 deletions

View File

@ -18,6 +18,7 @@ require_once('mt/Rank.php');
require_once('mt/Item.php'); require_once('mt/Item.php');
require_once('mt/Map.php'); require_once('mt/Map.php');
require_once('mt/MapMode.php'); require_once('mt/MapMode.php');
require_once('mt/EconomyAttribute.php');
require_once('services/AwardService.php'); require_once('services/AwardService.php');
require_once('services/PropertyChgService.php'); require_once('services/PropertyChgService.php');
@ -1073,8 +1074,18 @@ class UserController extends BaseAuthedController {
} }
public function getBattleGoldModeTimes(){ public function getBattleGoldModeTimes(){
$userInfo = $this->_getOrmUserInfo();
$heroDb = Hero::findByAccountId(myself()->_getAccountId(), $userInfo['hero_id']);
if (!$heroDb){
$this->_rspErr(1, 'battle hero does not exist');
return;
}
$heroMeta = \mt\Item::get($heroDb['hero_id']);
$heroAtteMeta = mt\EconomyAttribute::findByGrade($heroMeta['relationship'],$heroDb['quality']);
$this->_rspData(array( $this->_rspData(array(
"num" => myself()->_getDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,0) "current_times" => myself()->_getDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,0),
"total_times" => $heroAtteMeta['roundPerDay'],
)); ));
} }

View File

@ -246,6 +246,8 @@ class Hero extends BaseModel {
'valid_time' => max(0, 'valid_time' => max(0,
86400 * $heroAtteMeta['validTime']), 86400 * $heroAtteMeta['validTime']),
'is_old' => $row['is_old'], 'is_old' => $row['is_old'],
"current_times" => myself()->_getDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,0),
"total_times" => $heroAtteMeta['roundPerDay'],
); );
} }
@ -290,6 +292,7 @@ class Hero extends BaseModel {
$heroAtteMeta = \mt\EconomyAttribute::findByGrade($heroMeta['relationship'],$row['quality']); $heroAtteMeta = \mt\EconomyAttribute::findByGrade($heroMeta['relationship'],$row['quality']);
$unsealTime = $row['unseal_time'] ? $row['unseal_time'] : $row['activate_time']; $unsealTime = $row['unseal_time'] ? $row['unseal_time'] : $row['activate_time'];
$validTime = $unsealTime + 86400 * $heroAtteMeta['validTime'] ; $validTime = $unsealTime + 86400 * $heroAtteMeta['validTime'] ;
} }
$dto = array( $dto = array(
'idx' => $row['idx'], 'idx' => $row['idx'],
@ -327,6 +330,8 @@ class Hero extends BaseModel {
'valid_time' => max(0, 'valid_time' => max(0,
86400 * $heroAtteMeta['validTime']), 86400 * $heroAtteMeta['validTime']),
'is_old' => $row['is_old'], 'is_old' => $row['is_old'],
"current_times" => myself()->_getDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,0),
"total_times" => $heroAtteMeta['roundPerDay'],
); );
// $nft_address = ''; // $nft_address = '';
@ -359,6 +364,8 @@ class Hero extends BaseModel {
'ability' => self::abilityInfo($row), 'ability' => self::abilityInfo($row),
'valid_time' => max(0, 'valid_time' => max(0,
86400 * $heroAtteMeta['validTime']), 86400 * $heroAtteMeta['validTime']),
"current_times" => myself()->_getDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,0),
"total_times" => $heroAtteMeta['roundPerDay'],
); );
} }

View File

@ -9,6 +9,7 @@ require_once('models/Season.php');
require_once('mt/MapMode.php'); require_once('mt/MapMode.php');
require_once('mt/Rank.php'); require_once('mt/Rank.php');
require_once('mt/RankSeason.php'); require_once('mt/RankSeason.php');
require_once('mt/EconomyAttribute.php');
require_once('services/AwardService.php'); require_once('services/AwardService.php');
require_once('services/PropertyChgService.php'); require_once('services/PropertyChgService.php');
@ -142,6 +143,8 @@ class RoomBattleDataService extends BaseService {
$battleSingleData['new_elo'] = $member['new_elo']; $battleSingleData['new_elo'] = $member['new_elo'];
BattleSettlement::addSingle($battleSingleDb['battle_uuid'],$battleSingleDb['room_uuid'],$battleSingleData); BattleSettlement::addSingle($battleSingleDb['battle_uuid'],$battleSingleDb['room_uuid'],$battleSingleData);
} }
}else{
error_log('User :'.$account .' Error Or Hero Error');
} }
} }
@ -168,13 +171,16 @@ class RoomBattleDataService extends BaseService {
return ; return ;
} }
$goldModeTimes = myself()->_getDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,0); $goldModeTimes = myself()->_getDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,0);
$heroMeta = \mt\Item::get($heroDb['hero_id']);
$heroAtteMeta = mt\EconomyAttribute::findByGrade($heroMeta['relationship'],$heroDb['quality']);
$maxTimes = $heroAtteMeta['roundPerDay'];
if ($this->mapMode == mt\MapMode::GOLD_MODE){ if ($this->mapMode == mt\MapMode::GOLD_MODE){
myself()->_incDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,0,1); myself()->_incDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,0,1);
} }
//金币模式检验 //金币模式检验
if ($this->mapMode == mt\MapMode::GOLD_MODE && if ($this->mapMode == mt\MapMode::GOLD_MODE &&
// ($goldModeTimes >= $mapModeMeta['rewards_max_time'] )){ // ($goldModeTimes >= $mapModeMeta['rewards_max_time'] )){
(!Hero::verifyValid($heroDb) || $goldModeTimes >= $mapModeMeta['rewards_max_time'] )){ (!Hero::verifyValid($heroDb) || $goldModeTimes >= $maxTimes )){
error_log("金币模式:出战英雄没有打金时间或每日打金场次上限"); error_log("金币模式:出战英雄没有打金时间或每日打金场次上限");
}else{ }else{
if (!empty($rewardMeta['goldLoot'])){ if (!empty($rewardMeta['goldLoot'])){
@ -259,8 +265,10 @@ class RoomBattleDataService extends BaseService {
} }
//宝箱掉落 //宝箱掉落
if ($rewardMeta['chestLootProb'] > 0){ $chestLootProbArr = explode(";",$rewardMeta['chestLootProb']);
$rand = $rewardMeta['chestLootProb'] * 100; $rate = isset($chestLootProbArr[$teamRank-1]) ? $chestLootProbArr[$teamRank-1] : 0;
if ($rate > 0){
$rand = $rate * 100;
$rnd = rand(1,100); $rnd = rand(1,100);
if ($rnd <= $rand){ if ($rnd <= $rand){
$chestItems = LootService::dropOutItem($rewardMeta['chestLoot']); $chestItems = LootService::dropOutItem($rewardMeta['chestLoot']);