|
@@ -61,7 +61,7 @@ class StoreProc {
|
|
return self::YanlingUpgrade();
|
|
return self::YanlingUpgrade();
|
|
case CmdCode::cmd_store__weapon_upgrade: # 6421武器升级
|
|
case CmdCode::cmd_store__weapon_upgrade: # 6421武器升级
|
|
return self::weaponUpgrade();
|
|
return self::weaponUpgrade();
|
|
- case CmdCode::cmd_store__weapon_tupo: # 6421武器升级
|
|
|
|
|
|
+ case CmdCode::cmd_store__weapon_tupo: # 6422武器突破
|
|
return self::weaponTupo();
|
|
return self::weaponTupo();
|
|
default:
|
|
default:
|
|
Err(ErrCode::cmd_err);
|
|
Err(ErrCode::cmd_err);
|
|
@@ -75,7 +75,7 @@ class StoreProc {
|
|
$user = req()->userInfo->game;
|
|
$user = req()->userInfo->game;
|
|
$equipment = $user->store->equipment;
|
|
$equipment = $user->store->equipment;
|
|
|
|
|
|
- my_Assert(CommUtil::isPropertyExists($equipment, $uid), ErrCode::hero_no); # 玩家拥有此英雄
|
|
|
|
|
|
+ my_Assert(CommUtil::isPropertyExists($equipment, $uid), ErrCode::store_weapon_err); # 玩家拥有此英雄
|
|
$myPacketItems = $user->store->items;
|
|
$myPacketItems = $user->store->items;
|
|
$list = explode(';', $prizeCtx);
|
|
$list = explode(';', $prizeCtx);
|
|
$total = 0;
|
|
$total = 0;
|
|
@@ -102,11 +102,12 @@ class StoreProc {
|
|
|
|
|
|
UserProc::updateUserInfo(); # 回写玩家数据
|
|
UserProc::updateUserInfo(); # 回写玩家数据
|
|
return Resp::ok(array(
|
|
return Resp::ok(array(
|
|
- "store" => $user->store, # # 目前来看只涉及到items变化
|
|
|
|
|
|
+ "store" => $user->store, # # 目前来看只涉及到items变化
|
|
));
|
|
));
|
|
}
|
|
}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
- *
|
|
|
|
|
|
+ * 武器升级计算
|
|
* @param type $xp
|
|
* @param type $xp
|
|
* @param type $type
|
|
* @param type $type
|
|
* @return type
|
|
* @return type
|
|
@@ -131,13 +132,42 @@ class StoreProc {
|
|
return $curLv;
|
|
return $curLv;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* 武器突破
|
|
* 武器突破
|
|
*/
|
|
*/
|
|
static function weaponTupo() {
|
|
static function weaponTupo() {
|
|
- list($yanlingUid) = req()->paras; # 参数 言灵uid(指定进阶的言灵实例id)
|
|
|
|
|
|
+ list($uid) = req()->paras; # 参数 言灵uid(指定进阶的言灵实例id)
|
|
$user = req()->userInfo->game;
|
|
$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);
|
|
|
|
+ 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);
|
|
|
|
+ $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);
|
|
|
|
+ foreach ($costItemsList as $value) {
|
|
|
|
+ $list = explode(',', $value);
|
|
|
|
+ StoreProc::removeItemFromStore($user->store, $list[0], $list[1]);
|
|
|
|
+ }
|
|
|
|
+ $user->store->items->$segID -= $mo->segNum;
|
|
|
|
+ $user->baseInfo->gold -= $mo->gold;
|
|
|
|
+ $equipment->$uid->starLevel += 1;
|
|
|
|
+
|
|
|
|
+ NormalEventProc::OnWeaponLvTuPo($uid, $equipment->$uid->starLevel); # 广播英雄升级事件
|
|
|
|
+
|
|
|
|
+ $user->store->equipment = $equipment;
|
|
|
|
+ req()->userInfo->game = $user;
|
|
|
|
|
|
UserProc::updateUserInfo(); # 回写玩家数据
|
|
UserProc::updateUserInfo(); # 回写玩家数据
|
|
return Resp::ok(array(
|
|
return Resp::ok(array(
|