悬赏BUG
This commit is contained in:
parent
52bc929de1
commit
c5aebbbaa8
@ -151,6 +151,8 @@ CREATE TABLE `t_hero` (
|
|||||||
`last_get_gold_time` int(11) NOT NULL DEFAULT '0' COMMENT '最后获取金币的时间',
|
`last_get_gold_time` int(11) NOT NULL DEFAULT '0' COMMENT '最后获取金币的时间',
|
||||||
`today_pve_get_ceg` bigint NOT NULL DEFAULT '0' COMMENT 'pve金币',
|
`today_pve_get_ceg` bigint NOT NULL DEFAULT '0' COMMENT 'pve金币',
|
||||||
`last_pve_get_ceg_time` bigint NOT NULL DEFAULT '0' COMMENT '最后pve获取金币的时间',
|
`last_pve_get_ceg_time` bigint NOT NULL DEFAULT '0' COMMENT '最后pve获取金币的时间',
|
||||||
|
`today_mission_get_ceg` bigint NOT NULL DEFAULT '0' COMMENT '悬赏任务获得金币',
|
||||||
|
`last_mission_get_ceg_time` bigint NOT NULL DEFAULT '0' COMMENT '最后悬赏任务获取金币的时间',
|
||||||
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
|
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
|
||||||
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
|
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
|
||||||
`chip_ids` varchar(100) NOT NULL DEFAULT '' COMMENT '已镶嵌的芯片idx组',
|
`chip_ids` varchar(100) NOT NULL DEFAULT '' COMMENT '已镶嵌的芯片idx组',
|
||||||
@ -289,6 +291,8 @@ CREATE TABLE `t_gun` (
|
|||||||
`last_get_gold_time` int(11) NOT NULL DEFAULT '0' COMMENT '最后获取金币的时间',
|
`last_get_gold_time` int(11) NOT NULL DEFAULT '0' COMMENT '最后获取金币的时间',
|
||||||
`today_pve_get_ceg` bigint NOT NULL DEFAULT '0' COMMENT 'pve金币',
|
`today_pve_get_ceg` bigint NOT NULL DEFAULT '0' COMMENT 'pve金币',
|
||||||
`last_pve_get_ceg_time` bigint NOT NULL DEFAULT '0' COMMENT '最后pve获取金币的时间',
|
`last_pve_get_ceg_time` bigint NOT NULL DEFAULT '0' COMMENT '最后pve获取金币的时间',
|
||||||
|
`today_mission_get_ceg` bigint NOT NULL DEFAULT '0' COMMENT '悬赏任务获得金币',
|
||||||
|
`last_mission_get_ceg_time` bigint NOT NULL DEFAULT '0' COMMENT '最后悬赏任务获取金币的时间',
|
||||||
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
|
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
|
||||||
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
|
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
|
||||||
`chip_ids` varchar(100) NOT NULL DEFAULT '' COMMENT '已镶嵌的芯片idx组',
|
`chip_ids` varchar(100) NOT NULL DEFAULT '' COMMENT '已镶嵌的芯片idx组',
|
||||||
@ -493,7 +497,7 @@ CREATE TABLE `t_season_card` (
|
|||||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table structure for table `t_season_card`
|
-- Table structure for table `t_used_name`
|
||||||
--
|
--
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `t_used_name`;
|
DROP TABLE IF EXISTS `t_used_name`;
|
||||||
|
@ -101,7 +101,7 @@ class MissionController extends BaseAuthedController {
|
|||||||
if ($specMissionDto &&
|
if ($specMissionDto &&
|
||||||
$specMissionDto['state'] == Mission::NOT_FINISHED_STATE &&
|
$specMissionDto['state'] == Mission::NOT_FINISHED_STATE &&
|
||||||
$notFinishedCount <= 1) {
|
$notFinishedCount <= 1) {
|
||||||
$specMissionDto['state'] == Mission::RECEIVEABLE_STATE;
|
$specMissionDto['state'] = Mission::RECEIVEABLE_STATE;
|
||||||
}
|
}
|
||||||
$this->_rspData(array(
|
$this->_rspData(array(
|
||||||
'current_active_value' => min($this->_getV(TN_ACTIVE, 0), mt\Parameter::getVal('max_activity', 0)),
|
'current_active_value' => min($this->_getV(TN_ACTIVE, 0), mt\Parameter::getVal('max_activity', 0)),
|
||||||
@ -156,7 +156,7 @@ class MissionController extends BaseAuthedController {
|
|||||||
$this->_rspErr(10, 'server internal error:' . $missionMeta['reward']);
|
$this->_rspErr(10, 'server internal error:' . $missionMeta['reward']);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$this->_scatterDrop('mission:' . $missionId, $dropMeta, $this->awardService, $this->propertyChgService);print_r($missionDto);die;
|
$this->_scatterDrop('mission:' . $missionId, $dropMeta, $this->awardService, $this->propertyChgService);
|
||||||
$this->procSpecMissionCommit($missionDto, $missionMeta);
|
$this->procSpecMissionCommit($missionDto, $missionMeta);
|
||||||
Mission::add($missionId);
|
Mission::add($missionId);
|
||||||
$missionDb = Mission::find($missionId);
|
$missionDb = Mission::find($missionId);
|
||||||
@ -292,8 +292,8 @@ class MissionController extends BaseAuthedController {
|
|||||||
'count' => $count,
|
'count' => $count,
|
||||||
'ceg' => $gold
|
'ceg' => $gold
|
||||||
)));
|
)));
|
||||||
myself()->_addVirtualItem(V_ITEM_GOLD, round($gold));
|
myself()->_addVirtualItem(V_ITEM_GOLD, round($gold,2));
|
||||||
$this->awardService->addItem(V_ITEM_GOLD, round($gold));
|
$this->awardService->addItem(V_ITEM_GOLD, round($gold,2));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case mt\Task::OFFER_REWARD_MISSON_TYPE:
|
case mt\Task::OFFER_REWARD_MISSON_TYPE:
|
||||||
|
@ -171,6 +171,11 @@ class Gun extends BaseModel {
|
|||||||
myself()->_getNowDaySeconds()) {
|
myself()->_getNowDaySeconds()) {
|
||||||
$todayPveGetCeg = 0;
|
$todayPveGetCeg = 0;
|
||||||
}
|
}
|
||||||
|
$todayMissionGetCeg = $row['today_mission_get_ceg'];
|
||||||
|
$lastMissionGetCegTime = $row['last_mission_get_ceg_time'];
|
||||||
|
if (myself()->_getDaySeconds($lastMissionGetCegTime) < myself()->_getNowDaySeconds()) {
|
||||||
|
$todayMissionGetCeg = 0;
|
||||||
|
}
|
||||||
$gunLucky = \services\FormulaService::Weapon_Advanced_Lucky_Value($row['quality']);
|
$gunLucky = \services\FormulaService::Weapon_Advanced_Lucky_Value($row['quality']);
|
||||||
$dto = array(
|
$dto = array(
|
||||||
'idx' => $row['idx'],
|
'idx' => $row['idx'],
|
||||||
@ -193,6 +198,8 @@ class Gun extends BaseModel {
|
|||||||
'last_pvp_get_ceg_time' => $lastGetGoldTime,
|
'last_pvp_get_ceg_time' => $lastGetGoldTime,
|
||||||
'current_pve_get_ceg' => $todayPveGetCeg / 100,
|
'current_pve_get_ceg' => $todayPveGetCeg / 100,
|
||||||
'last_pve_get_ceg_time' => $lastPveGetCegTime,
|
'last_pve_get_ceg_time' => $lastPveGetCegTime,
|
||||||
|
'current_mission_get_ceg' => $todayMissionGetCeg / 100,
|
||||||
|
'last_mission_get_ceg_time' => $lastMissionGetCegTime,
|
||||||
'lock_type' => $lockType,
|
'lock_type' => $lockType,
|
||||||
'unlock_time' => $unlockTime,
|
'unlock_time' => $unlockTime,
|
||||||
'unlock_lefttime' => max(0,
|
'unlock_lefttime' => max(0,
|
||||||
@ -205,6 +212,7 @@ class Gun extends BaseModel {
|
|||||||
$dto['durability_max'] = strval(round(FormulaService::Weapon_NFT_Maximum_Durability($dto['quality'],$dto['lucky']),3));
|
$dto['durability_max'] = strval(round(FormulaService::Weapon_NFT_Maximum_Durability($dto['quality'],$dto['lucky']),3));
|
||||||
$dto['pvp_ceg_uplimit'] = strval( round(FormulaService::getWeaponPvpDailyCegUpLimit($dto),2) );
|
$dto['pvp_ceg_uplimit'] = strval( round(FormulaService::getWeaponPvpDailyCegUpLimit($dto),2) );
|
||||||
$dto['pve_ceg_uplimit'] = strval( round(FormulaService::getWeaponPveDailyCegUpLimit($dto),2) );
|
$dto['pve_ceg_uplimit'] = strval( round(FormulaService::getWeaponPveDailyCegUpLimit($dto),2) );
|
||||||
|
$dto['mission_ceg_uplimit'] = strval( round(FormulaService::getWeaponMissionDailyCegUpLimit($dto),2) );
|
||||||
return $dto;
|
return $dto;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -488,6 +496,33 @@ class Gun extends BaseModel {
|
|||||||
return $newAttrPro;
|
return $newAttrPro;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function calcMissionGainGold($gunDto, $count)
|
||||||
|
{
|
||||||
|
if ($count <= 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
$newGold = min($gunDto['mission_ceg_uplimit'],
|
||||||
|
$gunDto['current_mission_get_ceg'] +
|
||||||
|
$gunDto['mission_ceg_uplimit'] / $count);
|
||||||
|
$finalyAddGold = max(0, $newGold - $gunDto['current_mission_get_ceg']);
|
||||||
|
return $finalyAddGold;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function gainGoldMission($gunDto, $addGold)
|
||||||
|
{
|
||||||
|
$newGold = min($gunDto['mission_ceg_uplimit'],
|
||||||
|
$gunDto['current_mission_get_ceg'] + $addGold);
|
||||||
|
$finalyAddGold = max(0, $newGold - $gunDto['current_mission_get_ceg']);
|
||||||
|
if ($finalyAddGold > 0) {
|
||||||
|
self::update($gunDto['gun_uniid'],
|
||||||
|
array(
|
||||||
|
'today_mission_get_ceg' => $newGold * 100,
|
||||||
|
'last_mission_get_ceg_time' => myself()->_getNowTime()
|
||||||
|
));
|
||||||
|
}
|
||||||
|
return $finalyAddGold;
|
||||||
|
}
|
||||||
|
|
||||||
public static function calcPveGainGold($gunDto, $count)
|
public static function calcPveGainGold($gunDto, $count)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -153,6 +153,11 @@ class Hero extends BaseModel {
|
|||||||
myself()->_getNowDaySeconds()) {
|
myself()->_getNowDaySeconds()) {
|
||||||
$todayPveGetCeg = 0;
|
$todayPveGetCeg = 0;
|
||||||
}
|
}
|
||||||
|
$todayMissionGetCeg = $row['today_mission_get_ceg'];
|
||||||
|
$lastMissionGetCegTime = $row['last_mission_get_ceg_time'];
|
||||||
|
if (myself()->_getDaySeconds($lastMissionGetCegTime) < myself()->_getNowDaySeconds()) {
|
||||||
|
$todayMissionGetCeg = 0;
|
||||||
|
}
|
||||||
$baseAttr=[];
|
$baseAttr=[];
|
||||||
$attrPro=[];
|
$attrPro=[];
|
||||||
$heroMeta = mt\Hero::get($row['hero_id']);
|
$heroMeta = mt\Hero::get($row['hero_id']);
|
||||||
@ -204,6 +209,8 @@ class Hero extends BaseModel {
|
|||||||
'last_pvp_get_ceg_time' => $lastGetGoldTime,
|
'last_pvp_get_ceg_time' => $lastGetGoldTime,
|
||||||
'current_pve_get_ceg' => $todayPveGetCeg / 100,
|
'current_pve_get_ceg' => $todayPveGetCeg / 100,
|
||||||
'last_pve_get_ceg_time' => $lastPveGetCegTime,
|
'last_pve_get_ceg_time' => $lastPveGetCegTime,
|
||||||
|
'current_mission_get_ceg' => $todayMissionGetCeg / 100,
|
||||||
|
'last_mission_get_ceg_time' => $lastMissionGetCegTime,
|
||||||
'unlock_trade_time' => $row['unlock_trade_time'],
|
'unlock_trade_time' => $row['unlock_trade_time'],
|
||||||
'advanced_count' => $row['advanced_count'],
|
'advanced_count' => $row['advanced_count'],
|
||||||
'lucky' => $heroLucky,
|
'lucky' => $heroLucky,
|
||||||
@ -216,6 +223,7 @@ class Hero extends BaseModel {
|
|||||||
$dto['hero_tili_max'] = strval(round(FormulaService::Hero_NFT_Maximum_Physical_Strength($dto['quality'],$dto['lucky']),3));
|
$dto['hero_tili_max'] = strval(round(FormulaService::Hero_NFT_Maximum_Physical_Strength($dto['quality'],$dto['lucky']),3));
|
||||||
$dto['pvp_ceg_uplimit'] =strval( round(FormulaService::getHeroPvpDailyCegUpLimit($dto),2) );
|
$dto['pvp_ceg_uplimit'] =strval( round(FormulaService::getHeroPvpDailyCegUpLimit($dto),2) );
|
||||||
$dto['pve_ceg_uplimit'] = strval( round(FormulaService::getHeroPveDailyCegUpLimit($dto),2) );
|
$dto['pve_ceg_uplimit'] = strval( round(FormulaService::getHeroPveDailyCegUpLimit($dto),2) );
|
||||||
|
$dto['mission_ceg_uplimit'] = strval( round(FormulaService::getHeroMissionDailyCegUpLimit($dto),2) );
|
||||||
|
|
||||||
return $dto;
|
return $dto;
|
||||||
}
|
}
|
||||||
@ -406,15 +414,30 @@ class Hero extends BaseModel {
|
|||||||
return $finalyAddGold;
|
return $finalyAddGold;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function calcPveGainGold($heroDto, $count)
|
public static function gainGoldMission($heroDto, $addGold)
|
||||||
|
{
|
||||||
|
$newGold = min($heroDto['mission_ceg_uplimit'],
|
||||||
|
$heroDto['current_mission_get_ceg'] + $addGold);
|
||||||
|
$finalyAddGold = max(0, $newGold - $heroDto['current_mission_get_ceg']);
|
||||||
|
if ($finalyAddGold > 0) {
|
||||||
|
self::update($heroDto['hero_uniid'],
|
||||||
|
array(
|
||||||
|
'today_mission_get_ceg' => $newGold * 100,
|
||||||
|
'last_mission_get_ceg_time' => myself()->_getNowTime()
|
||||||
|
));
|
||||||
|
}
|
||||||
|
return $finalyAddGold;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function calcMissionGainGold($heroDto, $count)
|
||||||
{
|
{
|
||||||
if ($count <= 0) {
|
if ($count <= 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
$newGold = min($heroDto['pve_ceg_uplimit'],
|
$newGold = min($heroDto['mission_ceg_uplimit'],
|
||||||
$heroDto['current_pve_get_ceg'] +
|
$heroDto['current_mission_get_ceg'] +
|
||||||
round($heroDto['pve_ceg_uplimit'] / $count));
|
$heroDto['mission_ceg_uplimit'] / $count);
|
||||||
$finalyAddGold = max(0, $newGold - $heroDto['current_pve_get_ceg']);
|
$finalyAddGold = max(0, $newGold - $heroDto['current_mission_get_ceg']);
|
||||||
return $finalyAddGold;
|
return $finalyAddGold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -921,7 +921,8 @@ class MissionService extends BaseService {
|
|||||||
$gunDb = Gun::find($obj['id']);
|
$gunDb = Gun::find($obj['id']);
|
||||||
if ($gunDb) {
|
if ($gunDb) {
|
||||||
$gunDto = Gun::toDto($gunDb);
|
$gunDto = Gun::toDto($gunDb);
|
||||||
$totalGunUpLimit += Gun::pveGainGold($gunDto, $count);
|
$addGold = Gun::calcMissionGainGold($gunDto,$count);
|
||||||
|
$totalGunUpLimit += Gun::gainGoldMission($gunDto, $addGold);
|
||||||
Gun::Update
|
Gun::Update
|
||||||
($obj['id'],
|
($obj['id'],
|
||||||
array(
|
array(
|
||||||
@ -937,7 +938,8 @@ class MissionService extends BaseService {
|
|||||||
$heroDb = Hero::find($obj['id']);
|
$heroDb = Hero::find($obj['id']);
|
||||||
if ($heroDb) {
|
if ($heroDb) {
|
||||||
$heroDto = Hero::toDto($heroDb);
|
$heroDto = Hero::toDto($heroDb);
|
||||||
$totalHeroUpLimit += Hero::pveGainGold($heroDto, $count);
|
$addGold = Hero::calcMissionGainGold($heroDto,$count);
|
||||||
|
$totalHeroUpLimit += Hero::gainGoldMission($heroDto, $addGold);
|
||||||
Hero::Update
|
Hero::Update
|
||||||
($obj['id'],
|
($obj['id'],
|
||||||
array(
|
array(
|
||||||
@ -955,8 +957,8 @@ class MissionService extends BaseService {
|
|||||||
}//end foreach
|
}//end foreach
|
||||||
$ceg = $totalHeroUpLimit + $totalGunUpLimit;
|
$ceg = $totalHeroUpLimit + $totalGunUpLimit;
|
||||||
if ($count > 0 && $ceg > 0) {
|
if ($count > 0 && $ceg > 0) {
|
||||||
myself()->_addVirtualItem(V_ITEM_GOLD, round($ceg));
|
myself()->_addVirtualItem(V_ITEM_GOLD, round($ceg,2));
|
||||||
$awardService->addItem(V_ITEM_GOLD, round($ceg));
|
$awardService->addItem(V_ITEM_GOLD, round($ceg,2));
|
||||||
}
|
}
|
||||||
$this->updateOfferRewardMission($missionId);
|
$this->updateOfferRewardMission($missionId);
|
||||||
$this->saveOfferRewardMission();
|
$this->saveOfferRewardMission();
|
||||||
@ -992,7 +994,7 @@ class MissionService extends BaseService {
|
|||||||
$gunDb = Gun::find($id);
|
$gunDb = Gun::find($id);
|
||||||
if ($gunDb) {
|
if ($gunDb) {
|
||||||
$gunDto = Gun::toDto($gunDb);
|
$gunDto = Gun::toDto($gunDb);
|
||||||
$cegNum += Gun::calcPveGainGold($gunDto, $count);
|
$cegNum += Gun::calcMissionGainGold($gunDto, $count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1002,7 +1004,7 @@ class MissionService extends BaseService {
|
|||||||
$heroDb = Hero::find($id);
|
$heroDb = Hero::find($id);
|
||||||
if ($heroDb) {
|
if ($heroDb) {
|
||||||
$heroDto = Hero::toDto($heroDb);
|
$heroDto = Hero::toDto($heroDb);
|
||||||
$cegNum += Hero::calcPveGainGold($heroDto, $count);
|
$cegNum += Hero::calcMissionGainGold($heroDto, $count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user