1
This commit is contained in:
parent
421acd9abe
commit
57ccf77ce5
@ -258,4 +258,25 @@ class Gun extends BaseModel {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function gainGold($gunDto, $addGold)
|
||||||
|
{
|
||||||
|
$finalyAddGold = 0;
|
||||||
|
$goldLimit = 0;
|
||||||
|
$gunQualityMeta = mt\GunQuality::getByQuality($gunDto['quality']);
|
||||||
|
if ($gunQualityMeta) {
|
||||||
|
$attr = mt\AttrHelper::getAbsVal($gunDto['attr'], kHAT_LUCKY);
|
||||||
|
if ($attr) {
|
||||||
|
$goldLimit += $attr['val'];
|
||||||
|
}
|
||||||
|
$newGold = min($goldLimit, $gunDto['today_get_gold'] + $addGold);
|
||||||
|
$finalyAddGold = max(0, $newGold - $gunDto['today_get_gold']);
|
||||||
|
self::update($gunDto['gun_uniid'],
|
||||||
|
array(
|
||||||
|
'today_get_gold' => $newGold,
|
||||||
|
'last_get_gold_time' => myself()->_getNowTime()
|
||||||
|
));
|
||||||
|
}
|
||||||
|
return $finalyAddGold;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -306,4 +306,25 @@ class Hero extends BaseModel {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function gainGold($heroDto, $addGold)
|
||||||
|
{
|
||||||
|
$finalyAddGold = 0;
|
||||||
|
$goldLimit = 0;
|
||||||
|
$heroQualityMeta = mt\HeroQuality::getByQuality($heroDto['quality']);
|
||||||
|
if ($heroQualityMeta) {
|
||||||
|
$attr = mt\AttrHelper::getAbsVal($heroDto['attr'], kHAT_LUCKY);
|
||||||
|
if ($attr) {
|
||||||
|
$goldLimit += $attr['val'];
|
||||||
|
}
|
||||||
|
$newGold = min($goldLimit, $heroDto['today_get_gold'] + $addGold);
|
||||||
|
$finalyAddGold = max(0, $newGold - $heroDto['today_get_gold']);
|
||||||
|
self::update($heroDto['hero_uniid'],
|
||||||
|
array(
|
||||||
|
'today_get_gold' => $newGold,
|
||||||
|
'last_get_gold_time' => myself()->_getNowTime()
|
||||||
|
));
|
||||||
|
}
|
||||||
|
return $finalyAddGold;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ require_once('models/Season.php');
|
|||||||
require_once('models/Battle.php');
|
require_once('models/Battle.php');
|
||||||
require_once('models/Bag.php');
|
require_once('models/Bag.php');
|
||||||
require_once('models/Hero.php');
|
require_once('models/Hero.php');
|
||||||
|
require_once('models/Gun.php');
|
||||||
|
|
||||||
use mt;
|
use mt;
|
||||||
use phpcommon\SqlHelper;
|
use phpcommon\SqlHelper;
|
||||||
@ -23,6 +24,7 @@ use models\Season;
|
|||||||
use models\Battle;
|
use models\Battle;
|
||||||
use models\Bag;
|
use models\Bag;
|
||||||
use models\Hero;
|
use models\Hero;
|
||||||
|
use models\Gun;
|
||||||
|
|
||||||
class BattleDataService extends BaseService {
|
class BattleDataService extends BaseService {
|
||||||
|
|
||||||
@ -30,10 +32,11 @@ class BattleDataService extends BaseService {
|
|||||||
|
|
||||||
public function updateBattleData()
|
public function updateBattleData()
|
||||||
{
|
{
|
||||||
$heroDb = Hero::find(getReqVal('hero_uniid', 0));
|
$row = Hero::find(getReqVal('hero_uniid', 0));
|
||||||
if (!$heroDb) {
|
if (!$row) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
$heroDb = Hero::toDto($row);
|
||||||
error_log(json_encode($_REQUEST));
|
error_log(json_encode($_REQUEST));
|
||||||
error_log('updateBattleData1');
|
error_log('updateBattleData1');
|
||||||
if (!$this->decCost($heroDb)) {
|
if (!$this->decCost($heroDb)) {
|
||||||
@ -354,26 +357,25 @@ class BattleDataService extends BaseService {
|
|||||||
if ($gold > 0) {
|
if ($gold > 0) {
|
||||||
$addGold = floor($gold / 3);
|
$addGold = floor($gold / 3);
|
||||||
}
|
}
|
||||||
|
$finalyAddGold = 0;
|
||||||
if ($addGold) {
|
if ($addGold) {
|
||||||
$heroQualityMeta = mt\HeroQuality::getByQuality($heroDb['quality']);
|
$finalyAddGold += Hero::gainGold($heroDb, $addGold);
|
||||||
if ($heroQualityMeta) {
|
{
|
||||||
$goldLimit = $heroMeta['gold_limit'];
|
for ($i = 1; $i <= 2; ++$i) {
|
||||||
$randAttr = emptyReplace(json_decode($row['rand_attr'], true),
|
$weaponUniid = getReqVal('weapon_uuid' . $i, 0);
|
||||||
array());
|
if ($weaponUniid) {
|
||||||
if ($randAttr) {
|
$row = Gun::find($weaponUniid);
|
||||||
$attr = mt\AttrHelper::getAbsVal($randAttr, kHAT_LUCKY);
|
$gunDto = $gunDb ? Gun::toDto($row) : null;
|
||||||
if ($attr) {
|
if ($gunDto){
|
||||||
$goldLimit += $attr['val'];
|
$finalyAddGold += Gun::gainGold($gunDto, $addGold);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$newGold = min($goldLimit, $heroDb['today_get_gold'] + $addGold);
|
|
||||||
Hero::update($heroDb['hero_uniid'],
|
|
||||||
array(
|
|
||||||
'today_get_gold' => $newGold,
|
|
||||||
'last_get_gold_time' => myself()->_getNowTime()
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if ($finalyAddGold > 0) {
|
||||||
|
myself()->_addVirtualItem(V_ITEM_GOLD, $finalyAddGold);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user