|
@@ -13,7 +13,7 @@ class StoreProc {
|
|
|
|
|
|
/**
|
|
|
* 逻辑分发
|
|
|
- * 所有的Proc中必须有这样一个方法
|
|
|
+ * 所有的Proc中必须有这样一个方法
|
|
|
*/
|
|
|
static function procMain() {
|
|
|
switch (req()->cmd) {
|
|
@@ -41,7 +41,7 @@ class StoreProc {
|
|
|
case CmdCode::cmd_store_UnWieldEquip: # 6411 将该装备从指定英雄上脱下
|
|
|
return StoreProc::UnWieldEquip();
|
|
|
|
|
|
-//
|
|
|
+//
|
|
|
case CmdCode::cmd_store_AddMaxPacketNum: # 6412 扩展包裹格子数量
|
|
|
return StoreProc::AddPacketNum();
|
|
|
// case CmdCode::cmd_store_MeltEquip: # 6413 装备融合
|
|
@@ -64,106 +64,107 @@ class StoreProc {
|
|
|
case CmdCode::cmd_store__weapon_tupo: # 6422武器突破
|
|
|
return self::weaponTupo();
|
|
|
case CmdCode::cmd_store__weaponReplace: # 6423武器替换
|
|
|
- return self::weaponReplace();
|
|
|
+ return self::weaponReplace();
|
|
|
default:
|
|
|
Err(ErrCode::cmd_err);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 武器升级
|
|
|
*/
|
|
|
static function weaponUpgrade() {
|
|
|
- list($uid,$wuqiList, $items) = req()->paras; # 参数 言灵uid(指定进阶的言灵实例id)
|
|
|
+ list($uid, $wuqiList, $items) = req()->paras; # 参数 言灵uid(指定进阶的言灵实例id)
|
|
|
$user = req()->userInfo->game;
|
|
|
- $equipment = $user->store->equipment;
|
|
|
-
|
|
|
+ $equipment = $user->store->equipment;
|
|
|
+
|
|
|
my_Assert(CommUtil::isPropertyExists($equipment, $uid), ErrCode::store_weapon_err); # 玩家拥有此英雄
|
|
|
$myPacketItems = $user->store->items;
|
|
|
//消耗材料道具
|
|
|
$total = 0;
|
|
|
$totalGold = 0;
|
|
|
- foreach ($items as $costItemId => $costNumber) {
|
|
|
- my_Assert(CommUtil::isPropertyExists($myPacketItems,$costItemId), ErrCode::store_itemnotenough); #
|
|
|
- my_Assert($myPacketItems->$costItemId >= $costNumber, ErrCode::store_itemnotenough);# 检查道具的数量,在背包中是否充足
|
|
|
+ foreach ($items as $costItemId => $costNumber) {
|
|
|
+ my_Assert(CommUtil::isPropertyExists($myPacketItems, $costItemId), ErrCode::store_itemnotenough); #
|
|
|
+ my_Assert($myPacketItems->$costItemId >= $costNumber, ErrCode::store_itemnotenough); # 检查道具的数量,在背包中是否充足
|
|
|
$mo = GameConfig::item_stones_getItem($costItemId);
|
|
|
my_Assert($mo != null, ErrCode::err_const_no);
|
|
|
-
|
|
|
- StoreProc::removeItemFromStore($user->store, $costItemId, $costNumber);
|
|
|
- $total += $mo->baseExp*$costNumber;
|
|
|
- $totalGold += $mo->costGold*$costNumber;
|
|
|
+
|
|
|
+ StoreProc::removeItemFromStore($user->store, $costItemId, $costNumber);
|
|
|
+ $total += $mo->baseExp * $costNumber;
|
|
|
+ $totalGold += $mo->costGold * $costNumber;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
$wuqiExp = 0;
|
|
|
- //消耗武器
|
|
|
+ //消耗武器
|
|
|
foreach ($wuqiList as $wuqiId) {
|
|
|
- my_Assert(CommUtil::isPropertyExists($equipment, $wuqiId), ErrCode::store_weapon_err); # 玩家拥有此英雄
|
|
|
- $mo = GameConfig::item_weapon_getItem($equipment->$wuqiId->typeId);
|
|
|
+ my_Assert(CommUtil::isPropertyExists($equipment, $wuqiId), ErrCode::store_weapon_err); # 玩家拥有此英雄
|
|
|
+ $mo = GameConfig::item_weapon_getItem($equipment->$wuqiId->typeId);
|
|
|
$baseExp = $mo->baseExp;
|
|
|
//$needExp = GameConfig::weapon_levelexp_getItem(GameConfig::item_base_getItem($equipment->$wuqiId->typeId)->quality,$equipment->$wuqiId->level)->needExp;
|
|
|
- $wuqiExp += $baseExp + $equipment->$wuqiId->exp*0.75;
|
|
|
+ $wuqiExp += $baseExp + $equipment->$wuqiId->exp * 0.75;
|
|
|
$totalGold += $mo->costGold;
|
|
|
- StlUtil::dictRemove($user->store->equipment, $wuqiId);
|
|
|
+ StlUtil::dictRemove($user->store->equipment, $wuqiId);
|
|
|
}
|
|
|
my_Assert($user->baseInfo->gold >= $totalGold, ErrCode::notenough_gold_msg);
|
|
|
-
|
|
|
- $equipVo = new Ins_Weapon($equipment->$uid);
|
|
|
+
|
|
|
+ $equipVo = new Ins_Weapon($equipment->$uid);
|
|
|
$initLevel = $equipVo->level;
|
|
|
-
|
|
|
- $equipVo->exp += $total+(int)$wuqiExp;
|
|
|
- $curlevel = self::Upgrade($equipVo->exp, GameConfig::item_base_getItem($equipVo->typeId)->quality, Enum_UpgradeType::Wuqi);
|
|
|
- $curStar = $equipVo->starLevel ; #当前星级
|
|
|
- $equipVo->level = $curlevel;
|
|
|
+
|
|
|
+ $equipVo->exp += $total + (int) $wuqiExp;
|
|
|
+ $curlevel = self::Upgrade($equipVo->exp, GameConfig::item_base_getItem($equipVo->typeId)->quality, Enum_UpgradeType::Wuqi);
|
|
|
+ $curStar = $equipVo->starLevel; #当前星级
|
|
|
+ $equipVo->level = $curlevel;
|
|
|
if ($curStar < 5) {
|
|
|
$starlimitLv = GameConfig::weaponextra_level_getItem($equipVo->typeId, $curStar + 1)->starlimitLv;
|
|
|
if ($starlimitLv < $curlevel) {
|
|
|
- $equipVo->level = $starlimitLv;
|
|
|
- $equipVo->xp = GameConfig::weapon_levelexp_getItem(GameConfig::item_base_getItem($equipVo->typeId)->quality,$starlimitLv)->requiredExp;
|
|
|
+ $equipVo->level = $starlimitLv;
|
|
|
+ $equipVo->xp = GameConfig::weapon_levelexp_getItem(GameConfig::item_base_getItem($equipVo->typeId)->quality, $starlimitLv)->requiredExp;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- $user->store->equipment->$uid = $equipVo;
|
|
|
+
|
|
|
+ $user->store->equipment->$uid = $equipVo;
|
|
|
$user->baseInfo->gold -= $totalGold;
|
|
|
req()->userInfo->game = $user;
|
|
|
req()->userInfo->game->store->items = $myPacketItems; # 更新背包数据
|
|
|
if ($equipVo->level != $initLevel) {
|
|
|
NormalEventProc::OnWeaponLvlUp($uid, $equipVo->level); # 广播英雄升级事件
|
|
|
- }
|
|
|
-
|
|
|
- UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
+ }
|
|
|
+
|
|
|
+ UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
return Resp::ok(array(
|
|
|
"store" => $user->store, # # 目前来看只涉及到items变化
|
|
|
'gold' => $user->baseInfo->gold,
|
|
|
));
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 武器升级计算
|
|
|
* @param type $xp
|
|
|
* @param type $type
|
|
|
* @return type
|
|
|
*/
|
|
|
- static function Upgrade($xp,$qual,$type) {
|
|
|
- $curLv = 0;
|
|
|
- if($type==Enum_UpgradeType::Wuqi){
|
|
|
+ static function Upgrade($xp, $qual, $type) {
|
|
|
+ $curLv = 0;
|
|
|
+ if ($type == Enum_UpgradeType::Wuqi) {
|
|
|
$heroLvDic = GameConfig::weapon_levelexp()->$qual;
|
|
|
} else {
|
|
|
$heroLvDic = GameConfig::yanlingLevel_type()->$qual;
|
|
|
}
|
|
|
-
|
|
|
- $f = (array) $heroLvDic;
|
|
|
- ksort($f);
|
|
|
- foreach ($f as $lv => $mo) {
|
|
|
- if($xp < $mo->requiredExp){
|
|
|
- $curLv = $lv-1;
|
|
|
+
|
|
|
+ $f = (array) $heroLvDic;
|
|
|
+ ksort($f);
|
|
|
+ foreach ($f as $lv => $mo) {
|
|
|
+ if ($xp < $mo->requiredExp) {
|
|
|
+ $curLv = $lv - 1;
|
|
|
break;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// if($lv>=glc()->Weapon_Upgrade_BasicMaxLevel){
|
|
|
// $curLv = glc()->Weapon_Upgrade_BasicMaxLevel;
|
|
|
// break;
|
|
|
// }
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
return $curLv;
|
|
|
}
|
|
|
|
|
@@ -175,68 +176,69 @@ class StoreProc {
|
|
|
$user = req()->userInfo->game;
|
|
|
$equipment = $user->store->equipment;
|
|
|
my_Assert(CommUtil::isPropertyExists($equipment, $uid), ErrCode::store_weapon_err); # 玩家拥有此英雄
|
|
|
-
|
|
|
+
|
|
|
$typeId = $equipment->$uid->typeId;
|
|
|
$curStar = $equipment->$uid->starLevel;
|
|
|
my_Assert($curStar < 5, ErrCode::hero_yanling_canotTupo);
|
|
|
-
|
|
|
- $mo = GameConfig::weaponextra_level_getItem($typeId, $curStar+1);
|
|
|
+
|
|
|
+ $mo = GameConfig::weaponextra_level_getItem($typeId, $curStar + 1);
|
|
|
my_Assert($mo != null, ErrCode::err_const_no);
|
|
|
-
|
|
|
+
|
|
|
my_Assert($equipment->$uid->level >= $mo->starlimitLv, ErrCode::hero_yanling_canotTupo);
|
|
|
my_Assert($user->baseInfo->level >= $mo->userlvLimit, ErrCode::hero_yanling_canotTupo);
|
|
|
- my_Assert($user->baseInfo->gold >= $mo->gold , ErrCode::notenough_gold_msg);
|
|
|
+ my_Assert($user->baseInfo->gold >= $mo->gold, ErrCode::notenough_gold_msg);
|
|
|
// $segID = $mo->segID;
|
|
|
-// my_Assert(StlUtil::dictHasProperty($user->store->items,$segID) , ErrCode::store_itemnotenough);
|
|
|
-// my_Assert($user->store->items->$segID>=$mo->segNum , ErrCode::store_itemnotenough);
|
|
|
-
|
|
|
- $costItemsList = explode(';',$mo->costItems);
|
|
|
+// my_Assert(StlUtil::dictHasProperty($user->store->items,$segID) , ErrCode::store_itemnotenough);
|
|
|
+// my_Assert($user->store->items->$segID>=$mo->segNum , ErrCode::store_itemnotenough);
|
|
|
+
|
|
|
+ $costItemsList = explode(';', $mo->costItems);
|
|
|
foreach ($costItemsList as $value) {
|
|
|
$list = explode(',', $value);
|
|
|
- StoreProc::removeItemFromStore($user->store, $list[0], $list[1]);
|
|
|
+ StoreProc::removeItemFromStore($user->store, $list[0], $list[1]);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
$user->baseInfo->gold -= $mo->gold;
|
|
|
$equipment->$uid->starLevel += 1;
|
|
|
-
|
|
|
+
|
|
|
NormalEventProc::OnWeaponLvTuPo($uid, $equipment->$uid->starLevel); # 广播英雄升级事件
|
|
|
-
|
|
|
+ TaskProc::OnWeaponStarUp($equipment->$uid->starLevel);
|
|
|
+
|
|
|
$user->store->equipment = $equipment;
|
|
|
req()->userInfo->game = $user;
|
|
|
-
|
|
|
- UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
+
|
|
|
+ UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
return Resp::ok(array(
|
|
|
"store" => $user->store, # # 目前来看只涉及到items变化
|
|
|
'gold' => $user->baseInfo->gold,
|
|
|
));
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 武器替换
|
|
|
* @return type
|
|
|
*/
|
|
|
static function weaponReplace() {
|
|
|
- list($uid ,$replaceId) = req()->paras; # 参数 言灵uid(指定进阶的言灵实例id)
|
|
|
+ list($uid, $replaceId) = req()->paras; # 参数 言灵uid(指定进阶的言灵实例id)
|
|
|
$user = req()->userInfo->game;
|
|
|
$equipment = $user->store->equipment;
|
|
|
my_Assert(property_exists($equipment, $uid), "找不到这个言灵");
|
|
|
my_Assert(property_exists($equipment, $replaceId), "找不到这个言灵");
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
$herouid = $equipment->$uid->herouid;
|
|
|
$herouid_replace = $equipment->$replaceId->herouid;
|
|
|
$equipment->$replaceId->herouid = $herouid;
|
|
|
$equipment->$uid->herouid = $herouid_replace;
|
|
|
$user->store->equipment = $equipment;
|
|
|
req()->userInfo->game = $user;
|
|
|
-
|
|
|
- UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
+
|
|
|
+ UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
return Resp::ok(array(
|
|
|
"store" => $user->store, # # 目前来看只涉及到items变化
|
|
|
));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * [6420] 言灵进阶
|
|
|
+ * [6420] 言灵进阶
|
|
|
*/
|
|
|
static function YanlingUpgrade() {
|
|
|
list($yanlingUid) = req()->paras; # 参数 言灵uid(指定进阶的言灵实例id)
|
|
@@ -248,7 +250,7 @@ class StoreProc {
|
|
|
$toGrade = $curGrade + 1; # 下一等阶
|
|
|
my_Assert($toGrade <= 5, ErrCode::store_yanlingGrade_max); # 已经进阶到最高
|
|
|
$toGradeCfg = GameConfig::yanling_upgrade_getItem($yanlingMoId, $toGrade); # 下一阶配置
|
|
|
- my_Assert(null != $toGradeCfg, ErrCode::err_const_no); # 找不到言灵进阶常量
|
|
|
+ my_Assert(null != $toGradeCfg, ErrCode::err_const_no); # 找不到言灵进阶常量
|
|
|
$costs = explode(';', $toGradeCfg->cost_materials);
|
|
|
my_Assert(count($costs) > 0, ErrCode::store_yanlingGrade_cfg); # 言灵进阶数据有误
|
|
|
foreach ($costs as $c) {
|
|
@@ -257,15 +259,15 @@ class StoreProc {
|
|
|
my_Assert(ErrCode::ok == $err, $err); # 防御扣除材料失败
|
|
|
}
|
|
|
$yanlingObj->grade = $toGrade; # 修改进阶
|
|
|
- $user->store->yanling->$yanlingUid = $yanlingObj; # 回写言灵数据
|
|
|
- UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
+ $user->store->yanling->$yanlingUid = $yanlingObj; # 回写言灵数据
|
|
|
+ UserProc::updateUserInfo(); # 回写玩家数据
|
|
|
return Resp::ok(array(
|
|
|
"store" => $user->store, # # 目前来看只涉及到items变化
|
|
|
));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * [6418] 利用言灵召唤书碎片合成召唤书
|
|
|
+ * [6418] 利用言灵召唤书碎片合成召唤书
|
|
|
*/
|
|
|
static function MergeYanlingBook() {
|
|
|
list($bookId) = req()->paras; # 参数 言灵召唤书id
|
|
@@ -276,14 +278,14 @@ class StoreProc {
|
|
|
$err = self::removeItemFromStore($user->store, $segId, $num); # 扣除 碎片
|
|
|
my_Assert(ErrCode::ok == $err, $err); # 防御扣除碎片失败
|
|
|
self::PutOverlyingItemInStore($bookId); # 添加召唤书
|
|
|
- UserProc::updateUserInfo(); # 回写数据
|
|
|
+ UserProc::updateUserInfo(); # 回写数据
|
|
|
return Resp::ok(array(
|
|
|
"store" => $user->store, # # 目前来看只涉及到items变化
|
|
|
));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * [6419] 利用言灵召唤书召唤言灵
|
|
|
+ * [6419] 利用言灵召唤书召唤言灵
|
|
|
*/
|
|
|
static function CallYanlingByBook() {
|
|
|
list($bookId) = req()->paras; # 参数 利用的言灵召唤书id
|
|
@@ -299,15 +301,15 @@ class StoreProc {
|
|
|
$err = self::removeItemFromStore($user->store, $itemId, $num); # 扣除 材料
|
|
|
my_Assert(ErrCode::ok == $err, $err); # 防御扣除材料失败
|
|
|
}
|
|
|
- self::PutYanLingInStore($bookIdCfg->yanling_id); # 添加言灵
|
|
|
- UserProc::updateUserInfo(); # 回写数据
|
|
|
+ self::PutYanLingInStore($bookIdCfg->yanling_id); # 添加言灵
|
|
|
+ UserProc::updateUserInfo(); # 回写数据
|
|
|
return Resp::ok(array(
|
|
|
"store" => $user->store, # # 目前来看只涉及到items变化
|
|
|
));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 测试方法
|
|
|
+ * 测试方法
|
|
|
* @return type
|
|
|
*/
|
|
|
static public function Test() {
|
|
@@ -315,14 +317,14 @@ class StoreProc {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * [6404] 使用仓库道具
|
|
|
+ * [6404] 使用仓库道具
|
|
|
*/
|
|
|
static function useItem() {
|
|
|
Err(ErrCode::msg_method_obsoleted, "代码需更新");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * [6405] 刷新仓库列表
|
|
|
+ * [6405] 刷新仓库列表
|
|
|
*/
|
|
|
static function refreshStore() {
|
|
|
StoreProc::CheckItemNum();
|
|
@@ -330,7 +332,7 @@ class StoreProc {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * [6406] 从仓库删除道具
|
|
|
+ * [6406] 从仓库删除道具
|
|
|
*/
|
|
|
static function delItemFromStore() {
|
|
|
list($itemId, $num) = req()->paras;
|
|
@@ -348,7 +350,7 @@ class StoreProc {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * [6409] 合成碎片(几个碎片合成获得同品质或者更高品质的新碎片)
|
|
|
+ * [6409] 合成碎片(几个碎片合成获得同品质或者更高品质的新碎片)
|
|
|
*/
|
|
|
static public function composePieces() {
|
|
|
Err(ErrCode::err_method_notimplement);
|
|
@@ -445,7 +447,7 @@ class StoreProc {
|
|
|
|
|
|
/**
|
|
|
* 解包多种物品到玩家身上 【警告】此函数的异常处理功能残废,不安全
|
|
|
- * 检测如果当前物品格子大于物品总数,则可以获取战利品,否则不可以
|
|
|
+ * 检测如果当前物品格子大于物品总数,则可以获取战利品,否则不可以
|
|
|
* @param string $goodsStr itemid,num;itemid,num;...
|
|
|
* @param int $src 1:战斗奖励, 2: 任务奖励, 3: 抽奖奖品, 4: 邮件领取, 5: 现金充值
|
|
|
* @deprecated since version 0
|
|
@@ -473,7 +475,7 @@ class StoreProc {
|
|
|
// Data_UserGame::Add_Cash($user->baseInfo, $num);
|
|
|
$user->base()->Add_Cash($num); # 增加钻石
|
|
|
break;
|
|
|
- case META_tili_ITEMID: # 体力
|
|
|
+ case META_tili_ITEMID: # 体力
|
|
|
// Data_UserGame::Add_tili($num);
|
|
|
$user->base()->Add_tili($num); # 增加体力
|
|
|
break;
|
|
@@ -491,7 +493,7 @@ class StoreProc {
|
|
|
$user->base()->Add_resPoint($num); # 增加资源点
|
|
|
// Data_UserGame::Add_resPoint($user->baseInfo, $num); # 资源点添加
|
|
|
break;
|
|
|
- case 101: # 武器
|
|
|
+ case 101: # 武器
|
|
|
for ($n = 0; $n < $num; $n++) {
|
|
|
$cid = StoreProc::PutEquipInStore($itemId);
|
|
|
}
|
|
@@ -503,7 +505,7 @@ class StoreProc {
|
|
|
}
|
|
|
CornerSignEventProc::OnBag_new_Yanling();
|
|
|
break;
|
|
|
- case 501: # 限购礼包
|
|
|
+ case 501: # 限购礼包
|
|
|
$itemMO = GameConfig::item_package_getItem($itemId);
|
|
|
my_Assert(null != $itemMO, ErrCode::err_const_no);
|
|
|
$err = StoreProc::AddMultiItemInStore($itemMO->contents); # 发放奖励
|
|
@@ -513,13 +515,13 @@ class StoreProc {
|
|
|
$cid = StoreProc::PutTaskCardInStore($itemId);
|
|
|
break;
|
|
|
case 201: # 碎片
|
|
|
- $segMo = GameConfig::item_segment_getItem($itemId);
|
|
|
- my_Assert($segMo != null, ErrCode::err_const_no);
|
|
|
- TaskProc::OnHeroSegmengNum($segMo->protoHeroID, $num);
|
|
|
- CornerSignEventProc::OnBag_new_Fragment();
|
|
|
+ $segMo = GameConfig::item_segment_getItem($itemId);
|
|
|
+ my_Assert($segMo != null, ErrCode::err_const_no);
|
|
|
+ TaskProc::OnHeroSegmengNum($segMo->protoHeroID, $num);
|
|
|
+ CornerSignEventProc::OnBag_new_Fragment();
|
|
|
StoreProc::PutOverlyingItemInStore($itemId, $num); # 直接进包裹items
|
|
|
break;
|
|
|
- case 202: # 召唤书碎片
|
|
|
+ case 202: # 召唤书碎片
|
|
|
case 351: # 言灵召唤书
|
|
|
StoreProc::PutOverlyingItemInStore($itemId, $num); # 直接进包裹items
|
|
|
$book = GameConfig::item_yanlingbook_getItem($itemId);
|
|
@@ -548,7 +550,7 @@ class StoreProc {
|
|
|
case 333:
|
|
|
case 325:
|
|
|
case 326:
|
|
|
- case 327:
|
|
|
+ case 327:
|
|
|
case 328:
|
|
|
case 329:
|
|
|
case 330:
|
|
@@ -575,7 +577,7 @@ class StoreProc {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * [6401]向包裹中添加物品
|
|
|
+ * [6401]向包裹中添加物品
|
|
|
*/
|
|
|
public static function AddItemInStore() {
|
|
|
list($rwdStr) = req()->paras;
|
|
@@ -593,7 +595,7 @@ class StoreProc {
|
|
|
|
|
|
/**
|
|
|
* 将装备放入背包
|
|
|
- * @param type $itemId
|
|
|
+ * @param type $itemId
|
|
|
*/
|
|
|
static function PutEquipInStore($itemId) {
|
|
|
$privateState = req()->userInfo->game->privateState;
|
|
@@ -602,7 +604,7 @@ class StoreProc {
|
|
|
}
|
|
|
$cid = req()->userInfo->game->privateState->currentId++;
|
|
|
//$equip = ObjectInit();
|
|
|
- $equip = new Ins_Weapon();
|
|
|
+ $equip = new Ins_Weapon();
|
|
|
$equip->typeId = $itemId;
|
|
|
req()->userInfo->game->store->equipment->$cid = $equip;
|
|
|
return $cid;
|
|
@@ -611,7 +613,7 @@ class StoreProc {
|
|
|
|
|
|
/**
|
|
|
* 将言灵放入背包
|
|
|
- * @param type $itemId
|
|
|
+ * @param type $itemId
|
|
|
*/
|
|
|
static function PutYanLingInStore($itemId) {
|
|
|
my_Assert(count((array) req()->userInfo->game->store->yanling) < 100, ErrCode::store_yanling_bagfull);
|
|
@@ -629,7 +631,7 @@ class StoreProc {
|
|
|
|
|
|
/**
|
|
|
* 将任务卡放入背包
|
|
|
- * @param type $itemId
|
|
|
+ * @param type $itemId
|
|
|
*/
|
|
|
static function PutTaskCardInStore($itemId) {
|
|
|
$privateState = req()->userInfo->game->privateState;
|
|
@@ -688,7 +690,7 @@ class StoreProc {
|
|
|
|
|
|
/**
|
|
|
* 物品包裹打散成独立道具到仓库
|
|
|
- * @param GoodsItemModel $itemModel
|
|
|
+ * @param GoodsItemModel $itemModel
|
|
|
* @deprecated since version now
|
|
|
*/
|
|
|
static function addSeprateItem($itemModel) {
|
|
@@ -700,11 +702,11 @@ class StoreProc {
|
|
|
*/
|
|
|
static function WearYanlingToHero() {
|
|
|
$user = req()->userInfo->game; # user引用
|
|
|
- list($itemtype, $yanling_uid, $herouid) = req()->paras; # 提取参数: 装备类型, 装备的UID, 英雄的UID
|
|
|
+ list($itemtype, $yanling_uid, $herouid) = req()->paras; # 提取参数: 装备类型, 装备的UID, 英雄的UID
|
|
|
my_Assert(CommUtil::isPropertyExists($user->store->yanling, $yanling_uid), ErrCode::store_itemno_err); # 检测是否存在该言灵
|
|
|
$yanlingVo = new Ins_YanLin($user->store->yanling->$yanling_uid); # 取言灵对象
|
|
|
if (isset($yanlingVo->herouid) && $yanlingVo->herouid > 0 #
|
|
|
- && $yanlingVo->herouid != $herouid) { # 检测该言灵是否装备到其他英雄身上
|
|
|
+ && $yanlingVo->herouid != $herouid) { # 检测该言灵是否装备到其他英雄身上
|
|
|
Err(ErrCode::store_equipWeared_err);
|
|
|
}
|
|
|
$collectHeros = $user->heros->collectHeros; # 英雄集合
|
|
@@ -723,18 +725,18 @@ class StoreProc {
|
|
|
UserProc::updateUserInfo(); # 5.回写数据
|
|
|
$ret = array('resp' => "succeed!",
|
|
|
'store' => $user->store);
|
|
|
- $resp = Resp::ok($ret); // 返回
|
|
|
+ $resp = Resp::ok($ret); // 返回
|
|
|
HeroProc::CalcUserFightPower(req()->zoneid, req()->uid, $user); # 更新总战力榜
|
|
|
return $resp;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * [6417] 给英雄卸下言灵
|
|
|
+ * [6417] 给英雄卸下言灵
|
|
|
* @deprecated since version 无法卸下,只能更换
|
|
|
*/
|
|
|
static function UnWieldYanling() {
|
|
|
$user = req()->userInfo->game; # user引用
|
|
|
- list($itemtype, $yanling_uid, $herouid) = req()->paras; # 提取参数: 装备类型, 装备的UID, 拥有该装备的英雄的UID
|
|
|
+ list($itemtype, $yanling_uid, $herouid) = req()->paras; # 提取参数: 装备类型, 装备的UID, 拥有该装备的英雄的UID
|
|
|
|
|
|
$collectHeros = $user->heros->collectHeros;
|
|
|
my_Assert(null != $collectHeros, ErrCode::err_innerfault); # 防御
|
|
@@ -752,20 +754,20 @@ class StoreProc {
|
|
|
$collectHeros->$herouid->yanling->$itemtype->itemuid = 0; # 卸下
|
|
|
|
|
|
UserProc::updateUserInfo(); # 回写数据
|
|
|
- $resp = Resp::ok(array('resp' => "succeed!")); // 返回
|
|
|
+ $resp = Resp::ok(array('resp' => "succeed!")); // 返回
|
|
|
// StoreProc::CheckItemNum($req);
|
|
|
return $resp;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * [6410] 给英雄穿装备
|
|
|
+ * [6410] 给英雄穿装备
|
|
|
*/
|
|
|
static function WearEquipToHero() {
|
|
|
- list($itemtype, $equipuid, $herouid) = req()->paras; # 提取参数: 装备类型, 装备的UID, 英雄的UID
|
|
|
+ list($itemtype, $equipuid, $herouid) = req()->paras; # 提取参数: 装备类型, 装备的UID, 英雄的UID
|
|
|
$user = req()->userInfo->game; # user引用
|
|
|
my_Assert(CommUtil::isPropertyExists($user->store->equipment, $equipuid), ErrCode::store_itemno_err); # 检测是否存在该装备
|
|
|
$equipVo = new Ins_Weapon($user->store->equipment->$equipuid); # 取装备对象
|
|
|
- if ($equipVo->herouid > 0) { # 检测该装备是否装备到其他英雄身上
|
|
|
+ if ($equipVo->herouid > 0) { # 检测该装备是否装备到其他英雄身上
|
|
|
my_Assert($equipVo->herouid == $herouid, ErrCode::store_equipWeared_err);
|
|
|
$user->store->equipment->$equipuid->herouid = 0; # 清理原来已经装备的言灵的反指向
|
|
|
}
|
|
@@ -777,15 +779,15 @@ class StoreProc {
|
|
|
$user->store->equipment->$equipuid->herouid = $herouid; # 装备上添加反向引用, 避免查询时的循环
|
|
|
$oldEquipId = 0;
|
|
|
switch ($itemtype) { # 添加或替换英雄该部位的装备
|
|
|
- case 1: # 武器
|
|
|
+ case 1: # 武器
|
|
|
$oldEquipId = $collectHeros->$herouid->equip->weapon->itemuid;
|
|
|
$collectHeros->$herouid->equip->weapon->itemuid = $equipuid;
|
|
|
break;
|
|
|
- case 2: # 防具
|
|
|
+ case 2: # 防具
|
|
|
$oldEquipId = $collectHeros->$herouid->equip->armor->itemuid;
|
|
|
$collectHeros->$herouid->equip->armor->itemuid = $equipuid;
|
|
|
break;
|
|
|
- case 3: # 饰品
|
|
|
+ case 3: # 饰品
|
|
|
$oldEquipId = $collectHeros->$herouid->equip->ring->itemuid;
|
|
|
$collectHeros->$herouid->equip->ring->itemuid = $equipuid;
|
|
|
break;
|
|
@@ -801,15 +803,15 @@ class StoreProc {
|
|
|
TaskProc::OnHeroWearWeapon($collectHeros->$herouid->typeId, $user->store->equipment->$equipuid->typeId);
|
|
|
HeroProc::CalcUserFightPower(req()->zoneid, req()->uid, $user); # 更新总战力榜
|
|
|
return Resp::ok(array('resp' => "succeed!",
|
|
|
- 'store' => $user->store)); // 返回
|
|
|
+ 'store' => $user->store)); // 返回
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* [6411] 给英雄脱装备
|
|
|
- * @deprecated since version 不能卸下装备, 只能更换.
|
|
|
+ * @deprecated since version 不能卸下装备, 只能更换.
|
|
|
*/
|
|
|
static function UnWieldEquip() {
|
|
|
- list($itemtype, $equipuid, $herouid) = req()->paras; # 提取参数: 装备类型, 装备的UID, 拥有该装备的英雄的UID
|
|
|
+ list($itemtype, $equipuid, $herouid) = req()->paras; # 提取参数: 装备类型, 装备的UID, 拥有该装备的英雄的UID
|
|
|
$user = req()->userInfo->game; # user引用
|
|
|
|
|
|
$collectHeros = $user->heros->collectHeros;
|
|
@@ -820,7 +822,7 @@ class StoreProc {
|
|
|
$user->store->equipment->$equipuid->herouid = 0;
|
|
|
}
|
|
|
switch ($itemtype) { # 检测该装备是否装备在该英雄身上
|
|
|
- case 1: # 武器
|
|
|
+ case 1: # 武器
|
|
|
if ($collectHeros->$herouid->equip->weapon->itemuid != $equipuid) {
|
|
|
Err(ErrCode::store_noequip_err);
|
|
|
}
|
|
@@ -841,14 +843,14 @@ class StoreProc {
|
|
|
default :
|
|
|
Err(ErrCode::store_equip_type);
|
|
|
}
|
|
|
- UserProc::updateUserInfo(); # 回写数据
|
|
|
+ UserProc::updateUserInfo(); # 回写数据
|
|
|
return Resp::ok(array('resp' => "succeed!")); // 返回
|
|
|
}
|
|
|
|
|
|
// </editor-fold>
|
|
|
//
|
|
|
// <editor-fold defaultstate="collapsed" desc=" 辅助方法 ">
|
|
|
-//
|
|
|
+//
|
|
|
|
|
|
/**
|
|
|
* 检查背包中物品的个数
|
|
@@ -927,9 +929,9 @@ class StoreProc {
|
|
|
}
|
|
|
|
|
|
// </editor-fold>
|
|
|
-//
|
|
|
+//
|
|
|
// <editor-fold defaultstate="collapsed" desc=" 出售 ">
|
|
|
-//
|
|
|
+//
|
|
|
|
|
|
/**
|
|
|
* 出售单一的物品
|
|
@@ -939,7 +941,7 @@ class StoreProc {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 卖出一堆物品时候,检测每个单个物品是否符合卖的条件
|
|
|
+ * 卖出一堆物品时候,检测每个单个物品是否符合卖的条件
|
|
|
*/
|
|
|
static function preSellSingleFromStore($type, $itemId, $count, $uid) {
|
|
|
Err(ErrCode::err_method_obsoleted, "代码需要更新");
|
|
@@ -950,7 +952,7 @@ class StoreProc {
|
|
|
*/
|
|
|
static function sellMultiItemFromStore() {
|
|
|
Err(ErrCode::err_method_obsoleted, "代码需要更新");
|
|
|
- $obj = req()->paras[0]; // 获取物品的结构数组
|
|
|
+ $obj = req()->paras[0]; // 获取物品的结构数组
|
|
|
foreach ($obj as $value) {
|
|
|
$type = $value[0];
|
|
|
$itemId = $value[1];
|