1
This commit is contained in:
parent
7d25340642
commit
6cad7e6809
@ -55,6 +55,7 @@ class GunController extends BaseAuthedController {
|
|||||||
$this->_rspErr(1, "You don't have the gun yet");
|
$this->_rspErr(1, "You don't have the gun yet");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$gun = Gun::toDto($gunDb);
|
$gun = Gun::toDto($gunDb);
|
||||||
$this->_rspData(array(
|
$this->_rspData(array(
|
||||||
'data' => $gun
|
'data' => $gun
|
||||||
@ -116,6 +117,7 @@ class GunController extends BaseAuthedController {
|
|||||||
Gun::getGunList(function ($row) use(&$gunList) {
|
Gun::getGunList(function ($row) use(&$gunList) {
|
||||||
array_push($gunList, Gun::toDto($row));
|
array_push($gunList, Gun::toDto($row));
|
||||||
});
|
});
|
||||||
|
|
||||||
$this->_rspData(array(
|
$this->_rspData(array(
|
||||||
'gun_list' => $gunList
|
'gun_list' => $gunList
|
||||||
));
|
));
|
||||||
@ -464,8 +466,8 @@ class GunController extends BaseAuthedController {
|
|||||||
}
|
}
|
||||||
$this->_rspData(array(
|
$this->_rspData(array(
|
||||||
'property_chg' => $propertyChgService->toDto(),
|
'property_chg' => $propertyChgService->toDto(),
|
||||||
'old_hero' => $oldGun,
|
'old_gun' => $oldGun,
|
||||||
'new_hero' => $newGun,
|
'new_gun' => $newGun,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -513,18 +515,20 @@ class GunController extends BaseAuthedController {
|
|||||||
'errcode' => 0,
|
'errcode' => 0,
|
||||||
'errmsg' => '',
|
'errmsg' => '',
|
||||||
'state' => 0,
|
'state' => 0,
|
||||||
'old_hero' => $oldGun,
|
'old_gun' => $oldGun,
|
||||||
'new_hero' => $newGun,
|
'new_gun' => $newGun,
|
||||||
//'errmsg' => 'advance failed',
|
//'errmsg' => 'advance failed',
|
||||||
'property_chg' => $propertyChgService->toDto(),
|
'property_chg' => $propertyChgService->toDto(),
|
||||||
));
|
));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$gunLucky = \services\FormulaService::Weapon_Advanced_Lucky_Value($gunDb['quality'] + 1);
|
$gunLucky = \services\FormulaService::Weapon_Advanced_Lucky_Value($gunDb['quality']);
|
||||||
$durability = \services\FormulaService::Weapon_NFT_Maximum_Durability($gunDb['quality'] + 1,$gunLucky);
|
$nextGunLucky = \services\FormulaService::Weapon_Advanced_Lucky_Value($gunDb['quality'] + 1);
|
||||||
|
$durability = \services\FormulaService::Weapon_NFT_Maximum_Durability($gunDb['quality'],$gunLucky);
|
||||||
|
$nextDurability = \services\FormulaService::Weapon_NFT_Maximum_Durability($gunDb['quality'] + 1,$nextGunLucky);
|
||||||
Gun::update($gunUniId,
|
Gun::update($gunUniId,
|
||||||
array(
|
array(
|
||||||
'durability' => $durability,
|
'durability' => $gunDb['durability']+($nextDurability-$durability),
|
||||||
'quality' => $gunDb['quality'] + 1,
|
'quality' => $gunDb['quality'] + 1,
|
||||||
'lock_type' => 0,
|
'lock_type' => 0,
|
||||||
'unlock_time' => 0,
|
'unlock_time' => 0,
|
||||||
|
@ -360,11 +360,13 @@ class HeroController extends BaseAuthedController {
|
|||||||
));
|
));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$heroLucky = \services\FormulaService::Hero_Advanced_Lucky_Value($heroDb['quality'] + 1);
|
$heroLucky = \services\FormulaService::Hero_Advanced_Lucky_Value($heroDb['quality']);
|
||||||
$heroTili = \services\FormulaService::Hero_NFT_Maximum_Physical_Strength($heroDb['quality'] + 1,$heroLucky);
|
$nextHeroLucky = \services\FormulaService::Hero_Advanced_Lucky_Value($heroDb['quality'] + 1);
|
||||||
|
$heroTili = \services\FormulaService::Hero_NFT_Maximum_Physical_Strength($heroDb['quality'],$heroLucky);
|
||||||
|
$nextHeroTili = \services\FormulaService::Hero_NFT_Maximum_Physical_Strength($heroDb['quality'] + 1,$nextHeroLucky);
|
||||||
Hero::update($heroUniId,
|
Hero::update($heroUniId,
|
||||||
array(
|
array(
|
||||||
'hero_tili' => $heroTili,
|
'hero_tili' => $heroDb['hero_tili']+($nextHeroTili-$heroTili),
|
||||||
'skill_points' => $heroDb['skill_points'] + $nextQualityMeta['skill_point'],
|
'skill_points' => $heroDb['skill_points'] + $nextQualityMeta['skill_point'],
|
||||||
'quality' => $heroDb['quality'] + 1,
|
'quality' => $heroDb['quality'] + 1,
|
||||||
'advanced_count' => $heroDb['advanced_count'] + 1,
|
'advanced_count' => $heroDb['advanced_count'] + 1,
|
||||||
|
@ -283,6 +283,16 @@ class FormulaService extends BaseService {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//英雄劳力值
|
||||||
|
public static function Hero_Labor_Value(){
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//武器劳力值
|
||||||
|
public static function Weapon_Labor_Value(){
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
//英雄芯片劳力值
|
//英雄芯片劳力值
|
||||||
public static function Hero_Chip_Labor_Value(){
|
public static function Hero_Chip_Labor_Value(){
|
||||||
return 1;
|
return 1;
|
||||||
@ -354,6 +364,12 @@ class FormulaService extends BaseService {
|
|||||||
return ($grand>=5?1:0)*($grand<=10?1:0)*round(91*$grand*($grand-6.06)/100+1000/100,0)*100+($grand>=11?1:0)*($grand<=15?1:0)*round(364.29*$grand*($grand-17.847)/100+33446/100,0)*100*self::CEG_Discount_Rate();
|
return ($grand>=5?1:0)*($grand<=10?1:0)*round(91*$grand*($grand-6.06)/100+1000/100,0)*100+($grand>=11?1:0)*($grand<=15?1:0)*round(364.29*$grand*($grand-17.847)/100+33446/100,0)*100*self::CEG_Discount_Rate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//芯片镶嵌MINT费用
|
||||||
|
public static function Chip_Inlay_Mint($grand){
|
||||||
|
//SIGN(芯片等级 >= 5) * ROUND((10+7*(芯片星级-1))*CEG_Discount_Rate,2)
|
||||||
|
return ($grand>=5?1:0)*round((10+7*($grand-1))*self::CEG_Discount_Rate(),2);
|
||||||
|
}
|
||||||
|
|
||||||
//芯片NFT拆卸MINT费用
|
//芯片NFT拆卸MINT费用
|
||||||
public static function Chip_Demount_Mint($tili){
|
public static function Chip_Demount_Mint($tili){
|
||||||
return round($tili*10*self::CEG_Discount_Rate());
|
return round($tili*10*self::CEG_Discount_Rate());
|
||||||
@ -460,4 +476,40 @@ class FormulaService extends BaseService {
|
|||||||
//ROUND(每日新增1阶枪械NFT数量(前1天官方商城正价购买)*6%,0)*30%*600*CEG折扣比率
|
//ROUND(每日新增1阶枪械NFT数量(前1天官方商城正价购买)*6%,0)*30%*600*CEG折扣比率
|
||||||
return round($gun_count*0.06,0)*0.3*600*self::CEG_Discount_Rate();
|
return round($gun_count*0.06,0)*0.3*600*self::CEG_Discount_Rate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//每日英雄体力值衰减百分比
|
||||||
|
public static function Hero_PSA_Value($quality){
|
||||||
|
//MAX(0,ROUND((Hero_Payback_Period-Hero_Attenuation_Parameter* Hero_Labor_Value)/((1-Hero_Attenuation_Parameter/2)* Hero_Payback_Period^2)/ROUND(1.1714+0.0286*英雄阶数,3),4))*(1+0.1*ROUND(SIN(Hero_Labor_Value),2))
|
||||||
|
return max(0,round((self::Hero_Payback_Period($quality)-self::Hero_Attenuation_Parameter($quality)*self::Hero_Labor_Value())/((1-self::Hero_Attenuation_Parameter($quality)/2)*pow(self::Hero_Payback_Period($quality),2))/round(1.1714+0.0286*$quality,3),4))*(1+0.1*round(sin(self::Hero_Labor_Value()),2));
|
||||||
|
}
|
||||||
|
|
||||||
|
//每日武器耐久度衰减百分比
|
||||||
|
public static function Weapon_DA_Value($quality){
|
||||||
|
//MAX(0,ROUND((Weapon_Payback_Period-Weapon_Attenuation_Parameter* Weapon_Labor_Value)/((1-Weapon_Attenuation_Parameter/2)* Weapon_Payback_Period ^2)/ROUND(1.1714+0.0286*武器阶数,3),4))*(1+0.1*ROUND(SIN(Weapon_Labor_Value),2))
|
||||||
|
return max(0,round((self::Weapon_Payback_Period($quality)-self::Weapon_Attenuation_Parameter($quality)*self::Weapon_Labor_Value())/((1-self::Weapon_Attenuation_Parameter($quality)/2)*pow(self::Weapon_Payback_Period($quality),2))/round(1.1714+0.0286*$quality,3),4))*(1+0.1*round(sin(self::Weapon_Labor_Value()),2));
|
||||||
|
}
|
||||||
|
|
||||||
|
//英雄回本周期(参数单位:天)
|
||||||
|
public static function Hero_Payback_Period($quality){
|
||||||
|
//ROUND(-0.019*英雄阶数^3+0.1884*英雄阶数^2+11.685*英雄阶数+48.765,0)
|
||||||
|
return round(-0.019*pow($quality,3)+0.1884*pow($quality,2)+11.685*$quality+48.765,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//英雄衰减参数
|
||||||
|
public static function Hero_Attenuation_Parameter($quality){
|
||||||
|
//ROUND(-0.000015*英雄阶数^3+0.0008*英雄阶数^2-0.02325*英雄阶数+0.606,3)
|
||||||
|
return round(-0.000015*pow($quality,3)+0.0008*pow($quality,2)-0.02325*$quality+0.606,3);
|
||||||
|
}
|
||||||
|
|
||||||
|
//枪械回本周期(参数单位:天)
|
||||||
|
public static function Weapon_Payback_Period($quality){
|
||||||
|
//ROUND(-0.019*武器阶数^3+0.1884*武器阶数^2+11.685*武器阶数+48.765,0)
|
||||||
|
return round(-0.019*pow($quality,3)+0.1884*pow($quality,2)+11.685*$quality+48.765,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//枪械衰减参数
|
||||||
|
public static function Weapon_Attenuation_Parameter($quality){
|
||||||
|
//ROUND(-0.000015*武器阶数^3+0.0008*武器阶数^2-0.02325*武器阶数+0.606,3)
|
||||||
|
return round(-0.000015*pow($quality,3)+0.0008*pow($quality,2)-0.02325*$quality+0.606,3);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user