|
@@ -355,72 +355,7 @@ class ShopProc {
|
|
|
*/
|
|
|
public static function BuyShop_BujiBox($type, $typeId, $buyNum) {
|
|
|
$equip = array();
|
|
|
-
|
|
|
- $mo = GameConfig::shop_supply_getItem($typeId);
|
|
|
- my_Assert($mo != null, ErrCode::err_const_no);
|
|
|
-
|
|
|
- $list = explode(',', $mo->cost);
|
|
|
- my_Assert(StlUtil::dictHasProperty(ctx()->store->items, $list[0]), ErrCode::notenough_item);
|
|
|
-
|
|
|
- ctx()->store->removeItem($list[0], $list[1]);
|
|
|
- ctx()->baseInfo->Add_Gold($mo->gold);
|
|
|
- if (!StlUtil::dictHasProperty(ctx()->privateState->junbeiShopNumRecord, $typeId)) {
|
|
|
- ctx()->privateState->junbeiShopNumRecord->$typeId = 0;
|
|
|
- }
|
|
|
- $num = ctx()->privateState->junbeiShopNumRecord->$typeId += 1;
|
|
|
-
|
|
|
- if (!StlUtil::dictHasProperty(ctx()->privateState->supplyBichuDic, $typeId)) {
|
|
|
- ctx()->privateState->supplyBichuDic->$typeId = 0;
|
|
|
- }
|
|
|
- ctx()->privateState->supplyBichuDic->$typeId += 1;
|
|
|
-
|
|
|
- my_Assert($num <= $mo->limitNum, ErrCode::user_shop_LimitNum);
|
|
|
- $plist = explode(';', $mo->percent);
|
|
|
- $randNum = rand(0, 10000);
|
|
|
- $start = 0;
|
|
|
- $end = 0;
|
|
|
- $qual = null;
|
|
|
- foreach ($plist as $item) {
|
|
|
- $arr = explode(',', $item);
|
|
|
-
|
|
|
- $per = $arr[2] * 100;
|
|
|
- $end += $per;
|
|
|
- if ($randNum >= $start && $randNum < $end) {
|
|
|
- $qual = $arr[0] . ',' . $arr[1]; //品阶,稀有度
|
|
|
- break;
|
|
|
- }
|
|
|
- $start = $end;
|
|
|
- }
|
|
|
- //必出
|
|
|
- $bichu = explode(',', $mo->bichu);
|
|
|
- $qArr = explode(',', $qual);
|
|
|
- if ($qArr[0] == $bichu[1] && $qArr[1] == $bichu[2]) {//得到必出,重置数量记录
|
|
|
- ctx()->privateState->supplyBichuDic->$typeId = 0;
|
|
|
- $qual = $bichu[1] . ',' . $bichu[2];
|
|
|
- } else {
|
|
|
- if (ctx()->privateState->supplyBichuDic->$typeId == $bichu[0]) {
|
|
|
- $qual = $bichu[1] . ',' . $bichu[2];
|
|
|
- ctx()->privateState->supplyBichuDic->$typeId = 0;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if ($qual != null) {
|
|
|
- $str = explode(',', $qual);
|
|
|
-
|
|
|
- $equipList = array();
|
|
|
- $dic = GameConfig::equip();
|
|
|
- foreach ($dic as $tid => $item) {
|
|
|
- if ($item->qual == $str[0] && $item->rarity == $str[1]) {
|
|
|
- $equipList[] = $item->typeId;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- $rNum = rand(0, count($equipList) - 1);
|
|
|
- $equipId = $equipList[$rNum];
|
|
|
- StoreProc::PutEquipInStore($equipId, 1);
|
|
|
- $equip[] = $equipId;
|
|
|
- }
|
|
|
-
|
|
|
+
|
|
|
return $equip;
|
|
|
}
|
|
|
|
|
@@ -577,8 +512,7 @@ class ShopProc {
|
|
|
ctx()->privateState->goldShop_CoolDownTs_1 = 0;
|
|
|
ctx()->privateState->goldShop_GuangGaoNum = 0;
|
|
|
|
|
|
- ctx()->privateState->junbeiShopNumRecord = new \stdClass();
|
|
|
-
|
|
|
+
|
|
|
ctx()->privateState->dailyShop_GuangGaoNum = 0;
|
|
|
ctx()->privateState->dailyShop_GuangGaoTs = 0;
|
|
|
|