From 2aee5806cb74315fb3e56f3cc1195958ce39076a Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 13 Jan 2022 16:19:08 +0800 Subject: [PATCH] 1 --- webapp/controller/GunController.class.php | 5 +++++ webapp/controller/HeroController.class.php | 4 ++++ webapp/models/Bag.php | 12 ++++++++++++ 3 files changed, 21 insertions(+) diff --git a/webapp/controller/GunController.class.php b/webapp/controller/GunController.class.php index abb40c03..fc425d62 100644 --- a/webapp/controller/GunController.class.php +++ b/webapp/controller/GunController.class.php @@ -3,11 +3,13 @@ require_once('mt/GunTalentGrow.php'); require_once('mt/GunTalent.php'); require_once('mt/Parameter.php'); +require_once('mt/AttrHelper.php'); require_once('models/GunSkin.php'); require_once('models/GunTalent.php'); require_once('models/User.php'); require_once('models/Gun.php'); +require_once('models/Bag.php'); require_once('services/PropertyChgService.php'); @@ -16,6 +18,7 @@ use models\GunSkin; use models\GunTalent; use models\User; use models\Gun; +use models\Bag; class GunController extends BaseAuthedController { @@ -175,6 +178,7 @@ class GunController extends BaseAuthedController { return; } $baseAttrs = mt\Item::getBaseAttrs($itemMeta); + $baseAttrs = mt\AttrHelper::mergeAttr($baseAttrs, Bag::getAttrs()); $attrs = emptyReplace(json_decode($gunDb['rand_attr'], true), array()); $ret = mt\GunLevel::addRandAttr($nextLevelMeta, $baseAttrs, $attrs); if (!$ret) { @@ -274,6 +278,7 @@ class GunController extends BaseAuthedController { return; } $baseAttrs = mt\Item::getBaseAttrs($itemMeta); + $baseAttrs = mt\AttrHelper::mergeAttr($baseAttrs, Bag::getAttrs()); $attrs = emptyReplace(json_decode($gunDb['rand_attr'], true), array()); { $obtainAttrs = mt\GunQuality::getRandAttr($nextQualityMeta); diff --git a/webapp/controller/HeroController.class.php b/webapp/controller/HeroController.class.php index 1e783943..d4a449cb 100644 --- a/webapp/controller/HeroController.class.php +++ b/webapp/controller/HeroController.class.php @@ -9,6 +9,7 @@ require_once('mt/AttrHelper.php'); require_once('mt/Parameter.php'); require_once('models/Hero.php'); +require_once('models/Bag.php'); require_once('models/HeroSkin.php'); require_once('services/AwardService.php'); @@ -16,6 +17,7 @@ require_once('services/PropertyChgService.php'); use phpcommon\SqlHelper; use models\Hero; +use models\Bag; use models\HeroSkin; class HeroController extends BaseAuthedController { @@ -162,6 +164,7 @@ class HeroController extends BaseAuthedController { return; } $baseAttrs = mt\Hero::getHeroAttr($heroMeta); + $baseAttrs = mt\AttrHelper::mergeAttr($baseAttrs, Bag::getAttrs()); $attrs = emptyReplace(json_decode($heroDb['rand_attr'], true), array()); $ret = mt\HeroLevel::addRandAttr($nextLevelMeta, $baseAttrs, $attrs); if (!$ret) { @@ -261,6 +264,7 @@ class HeroController extends BaseAuthedController { return; } $baseAttrs = mt\Hero::getHeroAttr($heroMeta); + $baseAttrs = mt\AttrHelper::mergeAttr($baseAttrs, Bag::getAttrs()); $attrs = emptyReplace(json_decode($heroDb['rand_attr'], true), array()); { $obtainAttrs = mt\HeroQuality::getRandAttr($nextQualityMeta); diff --git a/webapp/models/Bag.php b/webapp/models/Bag.php index 1a5cf24c..f8f83cb8 100644 --- a/webapp/models/Bag.php +++ b/webapp/models/Bag.php @@ -4,6 +4,7 @@ namespace models; require_once('mt/Item.php'); require_once('mt/ChipQuality.php'); +require_once('mt/AttrHelper.php'); use mt; use phpcommon\SqlHelper; @@ -70,6 +71,17 @@ class Bag extends BaseModel { return $itemList; } + public static function getAttrs() + { + $items = self::all(); + $attrs = array(); + foreach ($items as $item) { + $dbAttrs = emptyReplace(json_decode($row['rand_attr'], true), array()); + mt\mergeAttr($attrs, $dbAttrs); + } + return $attrs; + } + public static function getItemCount($itemId) { $itemDb = self::find($itemId);