Merge branch 'hjb' of git.kingsome.cn:server/game2006api into hjb

This commit is contained in:
hujiabin 2022-09-20 10:23:21 +08:00
commit 21a0482018
6 changed files with 79 additions and 19 deletions

View File

@ -143,10 +143,12 @@ class BattleController extends BaseAuthedController {
} }
{ {
for ($i = 1; $i <= 2; ++$i) { for ($i = 1; $i <= 2; ++$i) {
$gunDb = Gun::findByAccountId($member['account_id'], if (isset($member['weapon_uniid' . $i])) {
$member['weapon_uniid' . $i]); $gunDb = Gun::findByAccountId($member['account_id'],
if ($gunDb) { $member['weapon_uniid' . $i]);
$info['weapon_dto' . $i] = Gun::toDto($gunDb); if ($gunDb) {
$info['weapon_dto' . $i] = Gun::toDto($gunDb);
}
} }
} }
} }

View File

@ -16,6 +16,7 @@ class FragmentPool extends BaseModel {
self::decNum($fragmentId); self::decNum($fragmentId);
return $fragmentId; return $fragmentId;
} }
return 110101;
return 0; return 0;
} }
@ -28,6 +29,7 @@ class FragmentPool extends BaseModel {
self::decNum($fragmentId); self::decNum($fragmentId);
return $fragmentId; return $fragmentId;
} }
return 110121;
return 0; return 0;
} }
@ -38,6 +40,7 @@ class FragmentPool extends BaseModel {
foreach ($items as $item) { foreach ($items as $item) {
$num += $item['fragment_num']; $num += $item['fragment_num'];
} }
return 100;
return $num; return $num;
} }
@ -48,6 +51,7 @@ class FragmentPool extends BaseModel {
foreach ($items as $item) { foreach ($items as $item) {
$num += $item['fragment_num']; $num += $item['fragment_num'];
} }
return 100;
return $num; return $num;
} }

View File

@ -391,7 +391,7 @@ class Hero extends BaseModel {
return $finalyAddGold; return $finalyAddGold;
} }
public static function gainGoldPve($heroDto, $count) public static function gainGoldPve($heroDto, $addGold)
{ {
$newGold = min($heroDto['pve_ceg_uplimit'], $newGold = min($heroDto['pve_ceg_uplimit'],
$heroDto['current_pve_get_ceg'] + $addGold); $heroDto['current_pve_get_ceg'] + $addGold);

View File

@ -249,7 +249,8 @@ class Item {
self::FUNC_TYPE, self::FUNC_TYPE,
self::MATERIAL_TYPE, self::MATERIAL_TYPE,
self::FRAGMENT_TYPE, self::FRAGMENT_TYPE,
14 14,
self::FRAGMENT_BOX_TYPE,
)); ));
} }

View File

@ -25,8 +25,11 @@ require_once('models/RealtimeData.php');
require_once('services/RankActivityService.php'); require_once('services/RankActivityService.php');
require_once('services/FormulaService.php'); require_once('services/FormulaService.php');
require_once('services/AwardService.php');
require_once('services/PropertyChgService.php');
use mt; use mt;
use services;
use phpcommon\SqlHelper; use phpcommon\SqlHelper;
use models\Season; use models\Season;
use models\Battle; use models\Battle;
@ -52,9 +55,21 @@ class BattleDataService extends BaseService {
private $weapon2Dto = null; private $weapon2Dto = null;
private $reward = array( private $reward = array(
'hero' => array(), 'hero' => array(
'weapon1' => array(), 'hero_uniid' => '',
'weapon2' => array(), 'ceg_uplimit' => 0,
'obtain_ceg' => 0,
),
'weapon1' => array(
'gun_uniid' => '',
'ceg_uplimit' => 0,
'obtain_ceg' => 0,
),
'weapon2' => array(
'gun_uniid' => '',
'ceg_uplimit' => 0,
'obtain_ceg' => 0,
),
'items' => array() 'items' => array()
); );
private $rankActivityService = null; private $rankActivityService = null;
@ -133,7 +148,7 @@ class BattleDataService extends BaseService {
case self::MATCH_MODE_PVE: case self::MATCH_MODE_PVE:
{ {
//pve //pve
$this>updatePveData(); $this->updatePveData();
if ($this->pveGeminiMeta && if ($this->pveGeminiMeta &&
$this->pveGeminiMetaMode) { $this->pveGeminiMetaMode) {
$this->rewardCegPve(); $this->rewardCegPve();
@ -477,15 +492,20 @@ class BattleDataService extends BaseService {
$userInfo = myself()->_getOrmUserInfo(); $userInfo = myself()->_getOrmUserInfo();
$this->pveGeminiMeta = mt\PveGemini::get($instanceId); $this->pveGeminiMeta = mt\PveGemini::get($instanceId);
if ($this->pveGeminiMeta) { if ($this->pveGeminiMeta) {
if (!($userInfo['pve_instance_id'] == $instanceId || if (!(
$userInfo['pve_instance_id'] == $instanceId + 1)) { $instanceId == mt\PveGemini::FIRST_INSTANCE_ID ||
$userInfo['pve_instance_id'] == $instanceId ||
$userInfo['pve_instance_id'] == $instanceId + 1)
) {
$this->pveGeminiMeta = null; $this->pveGeminiMeta = null;
} }
} }
error_log(json_encode($this->pveGeminiMeta));
$this->pveGeminiMetaMode = mt\PveGeminiMode::get($instanceMode); $this->pveGeminiMetaMode = mt\PveGeminiMode::get($instanceMode);
if ($this->pveGeminiModeMeta) { if ($this->pveGeminiModeMeta) {
$this->instanceRank = mt\PveGeminiMode::calcStar($this->pveGeminiModeMeta, $pveRankScore); $this->instanceRank = mt\PveGeminiMode::calcStar($this->pveGeminiModeMeta, $pveRankScore);
} }
error_log(json_encode($this->pveGeminiMetaMode));
if (getReqVal('pve_kill_boss', 0) == 1) { if (getReqVal('pve_kill_boss', 0) == 1) {
if ($this->pveGeminiMeta) { if ($this->pveGeminiMeta) {
myself()->_updateUserInfo(array( myself()->_updateUserInfo(array(
@ -625,16 +645,28 @@ class BattleDataService extends BaseService {
private function rewardCegPve() private function rewardCegPve()
{ {
$instanceLevel = $this->pveGeminiMeta['gemini_lv']; $instanceLevel = $this->pveGeminiMeta['gemini_lv'];
$bossReward = getReqVal(pve_kill_boss) ? 1 : 0; $bossReward = getReqVal('pve_kill_boss', 0) ? 1 : 0;
$heroPveCeg = FormulaService::calcHeroPveCeg($this->heroDto, $instanceLevel, $instanceRank, $bossReward); $heroPveCeg = FormulaService::calcHeroPveCeg(
$this->heroDto,
$instanceLevel,
$this->instanceRank,
$bossReward);
$weaponPveCeg1 = 0; $weaponPveCeg1 = 0;
$weaponPveCeg2 = 0; $weaponPveCeg2 = 0;
if ($this->weapon1Dto) { if ($this->weapon1Dto) {
$weaponPveCeg1 = FormulaService::calcWeaponPveCeg($this->weapon1Dto, $instanceLevel, $instanceRank, $bossReward); $weaponPveCeg1 = FormulaService::calcWeaponPveCeg(
$this->weapon1Dto,
$instanceLevel,
$this->instanceRank,
$bossReward);
} }
if ($this->weapon2Dto) { if ($this->weapon2Dto) {
$weaponPveCeg2 = FormulaService::calcWeaponPveCeg($this->weapon2Dto, $instanceLevel, $instanceRank, $bossReward); $weaponPveCeg2 = FormulaService::calcWeaponPveCeg(
$this->weapon2Dto,
$instanceLevel,
$this->instanceRank,
$bossReward);
} }
error_log(json_encode(array( error_log(json_encode(array(
'heroPveCeg' => $heroPveCeg, 'heroPveCeg' => $heroPveCeg,
@ -666,6 +698,7 @@ class BattleDataService extends BaseService {
private function randWeight($items) private function randWeight($items)
{ {
error_log(json_encode($items));
$weights = array(); $weights = array();
{ {
$weight = 0; $weight = 0;
@ -713,6 +746,8 @@ class BattleDataService extends BaseService {
private function procDrop($dropIdx) private function procDrop($dropIdx)
{ {
$propertyChgService = new services\PropertyChgService();
$awardService = new services\AwardService();
$matchMode = getReqVal('match_mode', 0); $matchMode = getReqVal('match_mode', 0);
if ($dropIdx == 0) { if ($dropIdx == 0) {
$itemId = FragmentPool::dropHero(); $itemId = FragmentPool::dropHero();
@ -722,6 +757,15 @@ class BattleDataService extends BaseService {
'item_id' => $itemId, 'item_id' => $itemId,
'item_num' => 1 'item_num' => 1
)); ));
myself()->_addItems(
array(
array(
'item_id' => $itemId,
'item_num' => 1
)),
$awardService,
$propertyChgService
);
if ($matchMode == self::MATCH_MODE_PVE) { if ($matchMode == self::MATCH_MODE_PVE) {
myself()->_incDailyV(TN_DAILY_PVE_GET_FRAGMENT_NUM, 0, 1); myself()->_incDailyV(TN_DAILY_PVE_GET_FRAGMENT_NUM, 0, 1);
} else { } else {
@ -736,6 +780,15 @@ class BattleDataService extends BaseService {
'item_id' => $itemId, 'item_id' => $itemId,
'item_num' => 1 'item_num' => 1
)); ));
myself()->_addItems(
array(
array(
'item_id' => $itemId,
'item_num' => 1
)),
$awardService,
$propertyChgService
);
if ($matchMode == self::MATCH_MODE_PVE) { if ($matchMode == self::MATCH_MODE_PVE) {
myself()->_incDailyV(TN_DAILY_PVE_GET_FRAGMENT_NUM, 0, 1); myself()->_incDailyV(TN_DAILY_PVE_GET_FRAGMENT_NUM, 0, 1);
} else { } else {

View File

@ -53,7 +53,7 @@ class FormulaService extends BaseService {
(0.8 - ($instanceRank - 1) * 0.25 + $bossReward * 0.2) * (0.8 - ($instanceRank - 1) * 0.25 + $bossReward * 0.2) *
1/10; 1/10;
return round(ceg); return round($ceg);
} }
public static function calcWeaponPvpCeg($weaponDto, $params) public static function calcWeaponPvpCeg($weaponDto, $params)
@ -153,7 +153,7 @@ class FormulaService extends BaseService {
public static function calcHeroFragmentProbabilityPve($heroQuality, public static function calcHeroFragmentProbabilityPve($heroQuality,
$onlineNum, $onlineNum,
$heroFragmentNum, $heroFragmentNum,
$todayPvpBattleTimes, $todayPveBattleTimes,
$instanceLevel, $instanceLevel,
$instanceRank, $instanceRank,
$instanceRankRate, $instanceRankRate,
@ -172,7 +172,7 @@ class FormulaService extends BaseService {
public static function calcWeaponFragmentProbabilityPve($heroQuality, public static function calcWeaponFragmentProbabilityPve($heroQuality,
$onlineNum, $onlineNum,
$gunFragmentNum, $gunFragmentNum,
$todayPvpBattleTimes, $todayPveBattleTimes,
$instanceLevel, $instanceLevel,
$instanceRank, $instanceRank,
$instanceRankRate, $instanceRankRate,