This commit is contained in:
hujiabin 2024-07-09 11:12:27 +08:00
parent 360a1ed1e0
commit abc4bab88e
3 changed files with 36 additions and 11 deletions

View File

@ -28,4 +28,22 @@ class TicketConsumeRecord extends BaseModel {
);
}
public static function getRecord($matchRoomUuid){
if (!self::$matchRoomUuid || self::$matchRoomUuid != $matchRoomUuid){
self::$matchRoomUuid = $matchRoomUuid;
$rows = SqlHelper::ormSelect(
myself()->_getSelfMysql(),
't_ticket_consume_record',
array(
'match_room_uuid' => $matchRoomUuid,
)
);
self::$ticketNum = count($rows);
}
return self::$ticketNum;
}
private static $matchRoomUuid = null;
private static $ticketNum = 0;
}

View File

@ -5,6 +5,7 @@ require_once('models/BattleSettlement.php');
require_once('models/Hero.php');
require_once('models/HashRate.php');
require_once('models/Season.php');
require_once('models/TicketConsumeRecord.php');
require_once('mt/MapMode.php');
require_once('mt/Rank.php');
@ -16,6 +17,7 @@ require_once('services/PropertyChgService.php');
require_once('services/LogService.php');
require_once('phpcommon/tglog.php');
use models\TicketConsumeRecord;
use mt;
use services;
use phpcommon;
@ -47,6 +49,7 @@ class RoomBattleDataService extends BaseService {
public $maxLevel= 0;
public $maxAlive= 0;
public $realUserCount= 0;
public $matchRoomUuid= 0;
public $logData = array();
@ -73,6 +76,7 @@ class RoomBattleDataService extends BaseService {
$member['battle_score'] = round($battleScore,4);
// //验证非机器人
$this->matchRoomUuid = getXVal($member,'match_room_uuid', 0);
$teamRanked = getXVal($member,'pvp_team_rank', 0);
$winningPro = getXVal($member,'winningPro', 0);
$account = getXVal($member,'account_id', 0);
@ -196,17 +200,18 @@ class RoomBattleDataService extends BaseService {
}
}
}
if ($gold > 0){
// $strArr = explode("|",$rewardMeta['goldParam']);
$coefficientArr = explode(";",$rewardMeta['goldParam']);
$coefficient = isset($coefficientArr[$teamRank-1]) ? $coefficientArr[$teamRank-1] : 0;
if ($this->mapMode == mt\MapMode::GOLD_MODE){
$gold = floor($gold * $coefficient * ($battleScore / $teamScoreAvg));
}
if ($this->mapMode == mt\MapMode::BET_MODE){
$gold = floor($gold * $this->realUserCount * $coefficient * ($battleScore / $teamScore));
}
$coefficientArr = explode(";",$rewardMeta['goldParam']);
$coefficient = isset($coefficientArr[$teamRank-1]) ? $coefficientArr[$teamRank-1] : 0;
if ($this->mapMode == mt\MapMode::GOLD_MODE){
$gold = floor($gold * $coefficient * ($battleScore / $teamScoreAvg));
}
if ($this->mapMode == mt\MapMode::BET_MODE){
$ticketMeta = \mt\Item::get(900006);
$baseGold = $ticketMeta['gold'];
$ticketNum = TicketConsumeRecord::getRecord($this->matchRoomUuid);
$gold = floor($ticketMeta['gold'] * $ticketNum * $coefficient * ($battleScore / $teamScore));
}
$baseValue = $gold;
if ($this->mapMode == mt\MapMode::GOLD_MODE){
myself()->_incDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,(int)$heroDb['idx'],1);
@ -306,6 +311,7 @@ class RoomBattleDataService extends BaseService {
),
'betInfo' => array(
'realUser' => $this->realUserCount,
'ticketNum' => isset($ticketNum) ? $ticketNum : 0,
'coefficient' => isset($coefficient) ? $coefficient : 0,
'battleScore' => round($battleScore,9),
'teamScore' => round($teamScore,9),

View File

@ -722,7 +722,8 @@ class TameBattleDataService extends BaseService {
'dead_times'=> getXVal($info,'dead_times', 0),
'battle_score'=> 0,
'reward' => $rewards,
'winningPro' => $winningPro
'winningPro' => $winningPro,
'match_room_uuid' => getXVal($info,'match_room_uuid', 0),
);
array_push($data['members'],$temp);
}