Merge branch 'hjb' of git.kingsome.cn:server/game2006api into hjb
This commit is contained in:
commit
452365ee8b
@ -10,6 +10,7 @@ require_once('models/Bag.php');
|
||||
require_once('models/Hero.php');
|
||||
require_once('models/User.php');
|
||||
require_once('models/DiamondConsumeProduct.php');
|
||||
require_once('models/RealtimeData.php');
|
||||
|
||||
|
||||
require_once('services/AwardService.php');
|
||||
@ -22,6 +23,7 @@ use phpcommon\SqlHelper;
|
||||
use models\Bag;
|
||||
use models\Hero;
|
||||
use models\User;
|
||||
use models\RealtimeData;
|
||||
use models\DiamondConsumeProduct;
|
||||
use services\LogService;
|
||||
|
||||
@ -391,33 +393,28 @@ class BagController extends BaseAuthedController {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$lootMeta = mt\LootConfig::find($itemMeta['loot']);
|
||||
if ($lootMeta['isAffected']){
|
||||
// $lucky = Hero::getAccountLucky(myself()->_getAddress());
|
||||
$lucky = Hero::getAccountLuckyTemp();
|
||||
$luckyParam = \mt\Parameter::getVal('economy_account_luck_K',0);
|
||||
|
||||
$rangeArr = explode("|",\mt\Parameter::getVal('economy_account_luck_range',0));
|
||||
$rate = ($rangeArr[1]-$rangeArr[0]) * $lucky/($lucky+$luckyParam) + $rangeArr[0];
|
||||
$rnd = rand() / (mt_getrandmax() + 1);
|
||||
$items = array();
|
||||
if ($rnd <= $rate){
|
||||
$itemsTemp = \services\LootService::dropOutItem($itemMeta['loot']);
|
||||
foreach ($itemsTemp as $itemTemp){
|
||||
array_push($items,$itemTemp);
|
||||
}
|
||||
}
|
||||
|
||||
if ($itemMeta['quality'] > 3){
|
||||
$maxCec = \mt\Parameter::getVal('CEC_ServerDailyLootMax_Special',1500);
|
||||
$nameIndex = RealtimeData::CEC_NAME_INDEX2;
|
||||
}else{
|
||||
$maxCec = \mt\Parameter::getVal('CEC_ServerDailyLootMax_Normal',500);
|
||||
$nameIndex = RealtimeData::CEC_NAME_INDEX1;
|
||||
}
|
||||
$items = array();
|
||||
for ($i=0;$i<$itemNum;$i++){
|
||||
$itemsTemp = \services\LootService::dropOutItem($itemMeta['loot']);
|
||||
foreach ($itemsTemp as $itemTemp){
|
||||
array_push($items,$itemTemp);
|
||||
if ($itemTemp['item_id'] == V_ITEM_BCEG){
|
||||
$currentOutPutCec = RealtimeData::getDailyCec($nameIndex);
|
||||
if ($currentOutPutCec + $itemTemp['item_num'] <= $maxCec){
|
||||
RealtimeData::incDailyCec($nameIndex,$itemTemp['item_num']);
|
||||
array_push($items,$itemTemp);
|
||||
}
|
||||
}else{
|
||||
array_push($items,$itemTemp);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$hashItems = array();
|
||||
foreach ($items as $item){
|
||||
if (isset($hashItems[$item['item_id']])){
|
||||
|
@ -126,4 +126,44 @@ class RealtimeData extends BaseModel {
|
||||
return $row ? $row : '';
|
||||
}
|
||||
|
||||
public static function getDailyCec($nameIndex)
|
||||
{
|
||||
$row = self::internalGet("daily_output_cec_".$nameIndex);
|
||||
if (!$row){
|
||||
return 0;
|
||||
}
|
||||
if (myself()->_getDaySeconds($row['modifytime']) < myself()->_getNowDaySeconds()) {
|
||||
$row['value1'] = 0;
|
||||
}
|
||||
return $row['value1'];
|
||||
}
|
||||
|
||||
public static function incDailyCec($nameIndex,$value){
|
||||
$oldValue = self::getDailyCec($nameIndex);
|
||||
self::internalSet('daily_output_cec_'.$nameIndex,$oldValue+$value);
|
||||
}
|
||||
|
||||
private static function internalSet($name,$value){
|
||||
SqlHelper::upsert
|
||||
(myself()->_getMysql(''),
|
||||
't_realtime_data',
|
||||
array(
|
||||
'name' => $name
|
||||
),
|
||||
array(
|
||||
'value1' => $value,
|
||||
'modifytime' => myself()->_getNowTime()
|
||||
),
|
||||
array(
|
||||
'name' => $name,
|
||||
'value1' => $value,
|
||||
'createtime' => myself()->_getNowTime(),
|
||||
'modifytime' => myself()->_getNowTime()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
const CEC_NAME_INDEX1 = "normal";
|
||||
const CEC_NAME_INDEX2 = "special";
|
||||
|
||||
}
|
||||
|
@ -5,10 +5,10 @@ namespace services;
|
||||
class ContributionService extends BaseService {
|
||||
|
||||
private static $ignoreCa = array(
|
||||
'BlockChain@mintGoldBullion',
|
||||
'InGameMall@sellS',
|
||||
'InGameMall@buyS',
|
||||
'InGameMall@shoppingCartBuyS',
|
||||
'BlockChain@mintGoldBullion'=>1,
|
||||
'InGameMall@sellS'=>2,
|
||||
'InGameMall@buyS'=>3,
|
||||
'InGameMall@shoppingCartBuyS'=>4,
|
||||
);
|
||||
|
||||
public static function onGoldConsume($params) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user