|
@@ -65,9 +65,9 @@ class StoreProc {
|
|
|
return self::weaponTupo();
|
|
|
case CmdCode::cmd_store_weaponReplace: # 6423武器替换
|
|
|
return self::weaponReplace();
|
|
|
- case CmdCode::cmd_store_GemCompose: #6424
|
|
|
+ case CmdCode::cmd_store_GemCompose: #6424
|
|
|
return StoreProc::GemComposeItem();
|
|
|
- case CmdCode::cmd_store_GemResearchLvUp: # 6425
|
|
|
+ case CmdCode::cmd_store_GemResearchLvUp: # 6425
|
|
|
return StoreProc::GemResearchLvUp();
|
|
|
case CmdCode::cmd_store_GemSet:
|
|
|
return StoreProc::GemSetYanLing();
|
|
@@ -79,57 +79,57 @@ class StoreProc {
|
|
|
Err(ErrCode::cmd_err);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 扩容
|
|
|
* @return type
|
|
|
*/
|
|
|
static function unlockStore() {
|
|
|
- list() = req()->paras;
|
|
|
+ //list() = req()->paras;
|
|
|
$user = req()->userInfo->game;
|
|
|
-
|
|
|
- $mo = GameConfig::expandStoreNum_getItem($user->privateState->expandNum+1);
|
|
|
- my_Assert($mo != null, ErrCode::err_const_no);
|
|
|
- my_Assert($user->baseInfo->gold >= $mo->cost, ErrCode::notenough_gold_msg);
|
|
|
-
|
|
|
+
|
|
|
+ $mo = GameConfig::expandStoreNum_getItem($user->privateState->expandNum + 1);
|
|
|
+ my_Assert($mo != null, ErrCode::err_const_no);
|
|
|
+ my_Assert($user->baseInfo->gold >= $mo->cost, ErrCode::notenough_gold_msg);
|
|
|
+
|
|
|
$user->base(true)->Consume_Gold($mo->cost);
|
|
|
$user->privateState->expandNum += 1;
|
|
|
req()->userInfo->game = $user;
|
|
|
-
|
|
|
+
|
|
|
UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
return Resp::ok(array(
|
|
|
- "gold"=>$user->baseInfo->gold,
|
|
|
- "expandNum"=>$user->privateState->expandNum,
|
|
|
+ "gold" => $user->baseInfo->gold,
|
|
|
+ "expandNum" => $user->privateState->expandNum,
|
|
|
));
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 宝石镶嵌
|
|
|
*/
|
|
|
static function GemSetYanLing() {
|
|
|
- list($gemId,$yanlingUid) = req()->paras;
|
|
|
+ list($gemId, $yanlingUid) = req()->paras;
|
|
|
$user = req()->userInfo->game;
|
|
|
-
|
|
|
- $yanling = $user->store->yanling;
|
|
|
- my_Assert(CommUtil::isPropertyExists($yanling, $yanlingUid), ErrCode::hero_yanling_errorYanling);
|
|
|
- my_Assert(CommUtil::isPropertyExists($user->store->items,$gemId) && $user->store->items->$gemId >0, ErrCode::store_itemno_err);
|
|
|
-
|
|
|
-
|
|
|
- if(!StlUtil::dictHasProperty($yanling->$yanlingUid,"gemId")){//临时
|
|
|
+
|
|
|
+ $yanling = $user->store->yanling;
|
|
|
+ my_Assert(CommUtil::isPropertyExists($yanling, $yanlingUid), ErrCode::hero_yanling_errorYanling);
|
|
|
+ my_Assert(CommUtil::isPropertyExists($user->store->items, $gemId) && $user->store->items->$gemId > 0, ErrCode::store_itemno_err);
|
|
|
+
|
|
|
+
|
|
|
+ if (!StlUtil::dictHasProperty($yanling->$yanlingUid, "gemId")) {//临时
|
|
|
$yanling->$yanlingUid->gemId = 0;
|
|
|
}
|
|
|
-
|
|
|
- my_Assert($yanling->$yanlingUid->gemId==0, ErrCode::store_YanLingHaveGem);
|
|
|
-
|
|
|
+
|
|
|
+ my_Assert($yanling->$yanlingUid->gemId == 0, ErrCode::store_YanLingHaveGem);
|
|
|
+
|
|
|
StoreProc::removeItemFromStore($user->store, $gemId);
|
|
|
$yanling->$yanlingUid->gemId = $gemId;
|
|
|
-
|
|
|
- $user->store->yanling = $yanling;
|
|
|
+
|
|
|
+ $user->store->yanling = $yanling;
|
|
|
req()->userInfo->game = $user;
|
|
|
-
|
|
|
+
|
|
|
UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
return Resp::ok(array(
|
|
|
- "store" => $user->store, # # 目前来看只涉及到items变化
|
|
|
+ "store" => $user->store, # # 目前来看只涉及到items变化
|
|
|
));
|
|
|
}
|
|
|
|
|
@@ -137,100 +137,97 @@ class StoreProc {
|
|
|
* 从严灵上卸下宝石
|
|
|
*/
|
|
|
static function GemRemoveYanLing() {
|
|
|
- list($yanlingUid) = req()->paras;
|
|
|
+ list($yanlingUid) = req()->paras;
|
|
|
$user = req()->userInfo->game;
|
|
|
- my_Assert(CommUtil::isPropertyExists($user->store->yanling, $yanlingUid), ErrCode::hero_yanling_errorYanling);
|
|
|
+ my_Assert(CommUtil::isPropertyExists($user->store->yanling, $yanlingUid), ErrCode::hero_yanling_errorYanling);
|
|
|
$gemId = $user->store->yanling->$yanlingUid->gemId;
|
|
|
-
|
|
|
+
|
|
|
my_Assert($gemId != 0, ErrCode::store_YanLingNotGem);
|
|
|
-
|
|
|
- $goodsStr = $gemId.",1";
|
|
|
+
|
|
|
+ $goodsStr = $gemId . ",1";
|
|
|
StoreProc::AddMultiItemInStore($goodsStr);
|
|
|
$user->store->yanling->$yanlingUid->gemId = 0;
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
req()->userInfo->game = $user;
|
|
|
-
|
|
|
+
|
|
|
UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
return Resp::ok(array(
|
|
|
- "store" => $user->store, # # 目前来看只涉及到items变化
|
|
|
+ "store" => $user->store, # # 目前来看只涉及到items变化
|
|
|
));
|
|
|
-
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 宝石合成
|
|
|
*/
|
|
|
static function GemComposeItem() {
|
|
|
- list($gemId,$num) = req()->paras; # 参数 言灵uid(指定进阶的言灵实例id)
|
|
|
+ list($gemId, $num) = req()->paras; # 参数 言灵uid(指定进阶的言灵实例id)
|
|
|
$user = req()->userInfo->game;
|
|
|
//my_Assert(CommUtil::isPropertyExists($myPacketItems, $costItemId), ErrCode::store_itemnotenough); #
|
|
|
-
|
|
|
+
|
|
|
$mo = GameConfig::gem_formula_getItem($gemId);
|
|
|
my_Assert($mo != null, ErrCode::err_const_no); #
|
|
|
my_Assert($mo->levellimit <= $user->Gem->level, ErrCode::store_GemComplose_ResearchLevelLimit); #
|
|
|
$itemId = $mo->drawItem;
|
|
|
- if($itemId != ""){
|
|
|
- my_Assert(StlUtil::dictHasProperty($user->store->items,$itemId) && $user->store->items->$itemId>0 , ErrCode::store_GemComploseTuZhiNotEnough); #
|
|
|
+ if ($itemId != "") {
|
|
|
+ my_Assert(StlUtil::dictHasProperty($user->store->items, $itemId) && $user->store->items->$itemId > 0, ErrCode::store_GemComploseTuZhiNotEnough); #
|
|
|
}
|
|
|
-
|
|
|
- if($mo->composeMaterial != ""){
|
|
|
+
|
|
|
+ if ($mo->composeMaterial != "") {
|
|
|
$mList = explode(',', $mo->composeMaterial);
|
|
|
$itemId = $mList[0];
|
|
|
$num = $mList[1];
|
|
|
- my_Assert(StlUtil::dictHasProperty($user->store->items,$itemId) && $user->store->items->$itemId> $num , ErrCode::store_GemComploseMaterialNotEnough);
|
|
|
-
|
|
|
+ my_Assert(StlUtil::dictHasProperty($user->store->items, $itemId) && $user->store->items->$itemId > $num, ErrCode::store_GemComploseMaterialNotEnough);
|
|
|
+
|
|
|
//扣除材料
|
|
|
- StoreProc::removeItemFromStore($user->store, $itemId,$num);
|
|
|
+ StoreProc::removeItemFromStore($user->store, $itemId, $num);
|
|
|
}
|
|
|
-
|
|
|
- $gList = explode(',', $mo->composeGem);
|
|
|
+
|
|
|
+ $gList = explode(',', $mo->composeGem);
|
|
|
$itemId = $gList[0];
|
|
|
- my_Assert(StlUtil::dictHasProperty($user->store->items,$itemId) && $user->store->items->$itemId>$gList[1] , ErrCode::store_ComploseGemNotEnough);
|
|
|
- my_Assert($user->baseInfo->gold>=$mo->composeGold, ErrCode::notenough_gold_msg);
|
|
|
-
|
|
|
+ my_Assert(StlUtil::dictHasProperty($user->store->items, $itemId) && $user->store->items->$itemId > $gList[1], ErrCode::store_ComploseGemNotEnough);
|
|
|
+ my_Assert($user->baseInfo->gold >= $mo->composeGold, ErrCode::notenough_gold_msg);
|
|
|
+
|
|
|
//扣除配方金币 宝石
|
|
|
$user->base(true)->Consume_Gold($mo->composeGold);
|
|
|
- StoreProc::removeItemFromStore($user->store, $gList[0],$gList[1]);
|
|
|
- $goodsStr = $gemId.',1';
|
|
|
+ StoreProc::removeItemFromStore($user->store, $gList[0], $gList[1]);
|
|
|
+ $goodsStr = $gemId . ',1';
|
|
|
StoreProc::AddMultiItemInStore($goodsStr);
|
|
|
req()->userInfo->game = $user;
|
|
|
-
|
|
|
+
|
|
|
UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
return Resp::ok(array(
|
|
|
"store" => $user->store, # # 目前来看只涉及到items变化
|
|
|
'gold' => $user->baseInfo->gold,
|
|
|
));
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 宝石合成的研究等级提升
|
|
|
*/
|
|
|
- static function GemResearchLvUp() {
|
|
|
+ static function GemResearchLvUp() {
|
|
|
//list() = req()->paras; # 参数 言灵uid(指定进阶的言灵实例id)
|
|
|
$user = req()->userInfo->game;
|
|
|
- $researchLevel = $user->Gem->level;//研究等级
|
|
|
-
|
|
|
- $mo = GameConfig::gem_researchlevel_getItem($researchLevel+1);
|
|
|
-
|
|
|
- my_Assert($mo != null, ErrCode::err_const_no);
|
|
|
- my_Assert($mo->userlevelLimit <= $user->baseInfo->level, ErrCode::store_GemResearchLvUp_UserLevelLimit);
|
|
|
+ $researchLevel = $user->Gem->level; //研究等级
|
|
|
+
|
|
|
+ $mo = GameConfig::gem_researchlevel_getItem($researchLevel + 1);
|
|
|
+
|
|
|
+ my_Assert($mo != null, ErrCode::err_const_no);
|
|
|
+ my_Assert($mo->userlevelLimit <= $user->baseInfo->level, ErrCode::store_GemResearchLvUp_UserLevelLimit);
|
|
|
//$list = explode(',',$mo->unlockLevelGoldCost);
|
|
|
-
|
|
|
- my_Assert($mo->unlockLevelGoldCost<= $user->baseInfo->gold, ErrCode::notenough_gold_msg);
|
|
|
-
|
|
|
+
|
|
|
+ my_Assert($mo->unlockLevelGoldCost <= $user->baseInfo->gold, ErrCode::notenough_gold_msg);
|
|
|
+
|
|
|
$user->base(true)->Consume_Gold($mo->unlockLevelGoldCost);
|
|
|
$user->Gem->level += 1;
|
|
|
req()->userInfo->game = $user;
|
|
|
-
|
|
|
+
|
|
|
UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
return Resp::ok(array(
|
|
|
"lv" => $user->Gem->level, # # 目前来看只涉及到items变化
|
|
|
'gold' => $user->baseInfo->gold,
|
|
|
));
|
|
|
}
|
|
|
-
|
|
|
|
|
|
/**
|
|
|
* 武器升级
|
|
@@ -292,7 +289,7 @@ class StoreProc {
|
|
|
req()->userInfo->game->store->items = $myPacketItems; # 更新背包数据
|
|
|
if ($equipVo->level != $initLevel) {
|
|
|
NormalEventProc::OnWeaponLvlUp($uid, $equipVo->level); # 广播英雄升级事件
|
|
|
- StatisticsProc::TargetStatistics(Enum_TargetStatistics::WeaponIdLevel_UserNum, $equipVo->typeId,"$equipVo->level",$initLevel);
|
|
|
+ StatisticsProc::TargetStatistics(Enum_TargetStatistics::WeaponIdLevel_UserNum, $equipVo->typeId, "$equipVo->level", $initLevel);
|
|
|
}
|
|
|
|
|
|
UserProc::updateUserInfo(); # 回写玩家数据
|
|
@@ -640,7 +637,7 @@ class StoreProc {
|
|
|
* @return type
|
|
|
*/
|
|
|
public static function AddMultiItemInStore($goodsStr, $src = 1, $mask = 0) {
|
|
|
- $user = req()->userInfo->game;
|
|
|
+ $user = req()->userInfo->game;
|
|
|
$ary = explode(";", $goodsStr);
|
|
|
foreach ($ary as $value) {
|
|
|
$val = explode(",", $value);
|
|
@@ -803,9 +800,9 @@ class StoreProc {
|
|
|
$equip = new Ins_Weapon();
|
|
|
$equip->typeId = $itemId;
|
|
|
req()->userInfo->game->store->equipment->$cid = $equip;
|
|
|
-
|
|
|
+
|
|
|
StatisticsProc::TargetStatistics(Enum_TargetStatistics::WeaponId_UserNum, $itemId);
|
|
|
- StatisticsProc::TargetStatistics(Enum_TargetStatistics::WeaponIdLevel_UserNum, $itemId,"1");
|
|
|
+ StatisticsProc::TargetStatistics(Enum_TargetStatistics::WeaponIdLevel_UserNum, $itemId, "1");
|
|
|
return $cid;
|
|
|
// SystemProc::GetEquip($req->zoneid, $req->userInfo->game, $itemId); # 添加获得装备的消息
|
|
|
}
|
|
@@ -825,9 +822,9 @@ class StoreProc {
|
|
|
$equip = new Ins_YanLin();
|
|
|
$equip->typeId = $itemId;
|
|
|
req()->userInfo->game->store->yanling->$cid = $equip;
|
|
|
-
|
|
|
+
|
|
|
StatisticsProc::TargetStatistics(Enum_TargetStatistics::YanLingId_UserNum, $itemId);
|
|
|
- StatisticsProc::TargetStatistics(Enum_TargetStatistics::YanLingIdLevel_UserNum, $itemId,"1");
|
|
|
+ StatisticsProc::TargetStatistics(Enum_TargetStatistics::YanLingIdLevel_UserNum, $itemId, "1");
|
|
|
return $cid;
|
|
|
}
|
|
|
|
|
@@ -888,13 +885,13 @@ class StoreProc {
|
|
|
} else { # 如果仓库中没有这种元素,则其数目置为num
|
|
|
$items->$itemId = $num;
|
|
|
}
|
|
|
-
|
|
|
-// if (!CommUtil::isPropertyExists(req()->userInfo->game->privateState, "currentId")) {
|
|
|
+
|
|
|
+// if (!CommUtil::isPropertyExists(req()->userInfo->game->privateState, "currentId")) {
|
|
|
// req()->userInfo->game->privateState->currentId = 1;
|
|
|
// }
|
|
|
// req()->userInfo->game->privateState->currentId++;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 物品包裹打散成独立道具到仓库
|
|
|
* @param GoodsItemModel $itemModel
|