|
@@ -65,10 +65,86 @@ class StoreProc {
|
|
return self::weaponTupo();
|
|
return self::weaponTupo();
|
|
case CmdCode::cmd_store__weaponReplace: # 6423武器替换
|
|
case CmdCode::cmd_store__weaponReplace: # 6423武器替换
|
|
return self::weaponReplace();
|
|
return self::weaponReplace();
|
|
|
|
+ case CmdCode::cmd_store_GemCompose: #6424
|
|
|
|
+ return StoreProc::GemComposeItem();
|
|
|
|
+ case CmdCode::cmd_store_GemResearchLvUp: # 6425
|
|
|
|
+ return StoreProc::GemResearchLvUp();
|
|
|
|
+
|
|
default:
|
|
default:
|
|
Err(ErrCode::cmd_err);
|
|
Err(ErrCode::cmd_err);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 宝石合成
|
|
|
|
+ */
|
|
|
|
+ static function GemComposeItem() {
|
|
|
|
+ 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($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);
|
|
|
|
+
|
|
|
|
+ //扣除材料
|
|
|
|
+ StoreProc::removeItemFromStore($user->store, $itemId,$num);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $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);
|
|
|
|
+
|
|
|
|
+ //扣除配方金币 宝石
|
|
|
|
+ $user->base(true)->Consume_Gold($mo->composeGold);
|
|
|
|
+ StoreProc::removeItemFromStore($user->store, $gList[0],$gList[1]);
|
|
|
|
+ req()->userInfo->game = $user;
|
|
|
|
+
|
|
|
|
+ UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
|
+ return Resp::ok(array(
|
|
|
|
+ "store" => $user->store, # # 目前来看只涉及到items变化
|
|
|
|
+ 'gold' => $user->baseInfo->gold,
|
|
|
|
+ ));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 宝石合成的研究等级提升
|
|
|
|
+ */
|
|
|
|
+ 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);
|
|
|
|
+ $list = explode(',',$mo->unlockLevelGoldCost);
|
|
|
|
+
|
|
|
|
+ my_Assert($list[1]<= $user->baseInfo->gold, ErrCode::notenough_gold_msg);
|
|
|
|
+
|
|
|
|
+ $user->base(true)->Consume_Gold($list[1]);
|
|
|
|
+ $user->Gem->level += 1;
|
|
|
|
+ req()->userInfo->game = $user;
|
|
|
|
+
|
|
|
|
+ UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
|
+ return Resp::ok(array(
|
|
|
|
+ "lv" => $user->Gem->level, # # 目前来看只涉及到items变化
|
|
|
|
+ 'gold' => $user->baseInfo->gold,
|
|
|
|
+ ));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
/**
|
|
/**
|
|
* 武器升级
|
|
* 武器升级
|