mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-03-01 00:35:36 +08:00
整理代码,私有变量接口化访问
This commit is contained in:
+33
-33
@@ -119,34 +119,34 @@ func (g *GameManager) WeaponAwakenReq(player *model.Player, payloadMsg pb.Messag
|
||||
// 确保精炼的武器与精炼材料不是同一个
|
||||
if req.TargetWeaponGuid == req.ItemGuid {
|
||||
logger.Error("weapon awaken guid equal, guid: %v", req.TargetWeaponGuid)
|
||||
g.CommonRetError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_ITEM_INVALID_TARGET)
|
||||
g.SendError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_ITEM_INVALID_TARGET)
|
||||
return
|
||||
}
|
||||
// 是否拥有武器
|
||||
weapon, ok := player.WeaponMap[player.GetWeaponIdByGuid(req.TargetWeaponGuid)]
|
||||
if !ok {
|
||||
logger.Error("weapon error, weaponGuid: %v", req.TargetWeaponGuid)
|
||||
g.CommonRetError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
g.SendError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
return
|
||||
}
|
||||
// 获取武器物品配置表
|
||||
weaponConfig, ok := gdconf.CONF.ItemDataMap[int32(weapon.ItemId)]
|
||||
if !ok {
|
||||
logger.Error("weapon config error, itemId: %v", weapon.ItemId)
|
||||
g.CommonRetError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
g.SendError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
return
|
||||
}
|
||||
// 摩拉数量是否足够
|
||||
if player.GetItemCount(constant.ItemConstantConst.SCOIN) < weaponConfig.AwakenCoinCostList[weapon.Refinement] {
|
||||
logger.Error("item count not enough, itemId: %v", constant.ItemConstantConst.SCOIN)
|
||||
g.CommonRetError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_SCOIN_NOT_ENOUGH)
|
||||
g.SendError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_SCOIN_NOT_ENOUGH)
|
||||
return
|
||||
}
|
||||
// 武器精炼等级是否不超过限制
|
||||
// 暂时精炼等级是写死的 应该最大精炼等级就是5级
|
||||
if weapon.Refinement >= 4 {
|
||||
logger.Error("weapon refinement ge 4, refinement: %v", weapon.Refinement)
|
||||
g.CommonRetError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_AWAKEN_LEVEL_MAX)
|
||||
g.SendError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_AWAKEN_LEVEL_MAX)
|
||||
return
|
||||
}
|
||||
// 获取精炼材料物品配置表
|
||||
@@ -154,7 +154,7 @@ func (g *GameManager) WeaponAwakenReq(player *model.Player, payloadMsg pb.Messag
|
||||
itemDataConfig, ok := gdconf.CONF.ItemDataMap[int32(player.GetItemIdByItemAndWeaponGuid(req.ItemGuid))]
|
||||
if !ok {
|
||||
logger.Error("item data config error, itemGuid: %v", req.ItemGuid)
|
||||
g.CommonRetError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
g.SendError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
return
|
||||
}
|
||||
// 根据精炼材料的类型做不同操作
|
||||
@@ -165,13 +165,13 @@ func (g *GameManager) WeaponAwakenReq(player *model.Player, payloadMsg pb.Messag
|
||||
foodWeapon, ok := player.WeaponMap[player.GetWeaponIdByGuid(req.ItemGuid)]
|
||||
if !ok {
|
||||
logger.Error("weapon error, weaponGuid: %v", req.TargetWeaponGuid)
|
||||
g.CommonRetError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
g.SendError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
return
|
||||
}
|
||||
// 确保被精炼武器没有被任何角色装备
|
||||
if foodWeapon.AvatarId != 0 {
|
||||
logger.Error("food weapon has been wear, weaponGuid: %v", req.ItemGuid)
|
||||
g.CommonRetError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_EQUIP_HAS_BEEN_WEARED)
|
||||
g.SendError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_EQUIP_HAS_BEEN_WEARED)
|
||||
return
|
||||
}
|
||||
// 消耗作为精炼材料的武器
|
||||
@@ -182,13 +182,13 @@ func (g *GameManager) WeaponAwakenReq(player *model.Player, payloadMsg pb.Messag
|
||||
item, ok := player.ItemMap[player.GetItemIdByGuid(req.ItemGuid)]
|
||||
if !ok {
|
||||
logger.Error("item error, itemGuid: %v", req.ItemGuid)
|
||||
g.CommonRetError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
g.SendError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
return
|
||||
}
|
||||
// 武器的精炼材料是否为这个
|
||||
if item.ItemId != uint32(weaponConfig.AwakenMaterial) {
|
||||
logger.Error("awaken material item error, itemId: %v", item.ItemId)
|
||||
g.CommonRetError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_ITEM_INVALID_TARGET)
|
||||
g.SendError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{}, proto.Retcode_RET_ITEM_INVALID_TARGET)
|
||||
return
|
||||
}
|
||||
// 消耗作为精炼材料的道具
|
||||
@@ -200,7 +200,7 @@ func (g *GameManager) WeaponAwakenReq(player *model.Player, payloadMsg pb.Messag
|
||||
})
|
||||
default:
|
||||
logger.Error("weapon awaken item type error, itemType: %v", itemDataConfig.Type)
|
||||
g.CommonRetError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{})
|
||||
g.SendError(cmd.WeaponAwakenRsp, player, &proto.WeaponAwakenRsp{})
|
||||
return
|
||||
}
|
||||
// 消耗摩拉
|
||||
@@ -252,41 +252,41 @@ func (g *GameManager) WeaponPromoteReq(player *model.Player, payloadMsg pb.Messa
|
||||
weapon, ok := player.WeaponMap[player.GetWeaponIdByGuid(req.TargetWeaponGuid)]
|
||||
if !ok {
|
||||
logger.Error("weapon error, weaponGuid: %v", req.TargetWeaponGuid)
|
||||
g.CommonRetError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
g.SendError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
return
|
||||
}
|
||||
// 获取武器配置表
|
||||
weaponConfig, ok := gdconf.CONF.ItemDataMap[int32(weapon.ItemId)]
|
||||
if !ok {
|
||||
logger.Error("weapon config error, itemId: %v", weapon.ItemId)
|
||||
g.CommonRetError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{})
|
||||
g.SendError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{})
|
||||
return
|
||||
}
|
||||
// 获取武器突破配置表
|
||||
weaponPromoteDataMap, ok := gdconf.CONF.WeaponPromoteDataMap[weaponConfig.PromoteId]
|
||||
if !ok {
|
||||
logger.Error("weapon promote config error, promoteId: %v", weaponConfig.PromoteId)
|
||||
g.CommonRetError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{})
|
||||
g.SendError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{})
|
||||
return
|
||||
}
|
||||
// 获取武器突破等级的配置表
|
||||
weaponPromoteConfig, ok := weaponPromoteDataMap[int32(weapon.Promote)]
|
||||
if !ok {
|
||||
logger.Error("weapon promote config error, promoteLevel: %v", weapon.Promote)
|
||||
g.CommonRetError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{})
|
||||
g.SendError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{})
|
||||
return
|
||||
}
|
||||
// 武器等级是否达到限制
|
||||
if weapon.Level < uint8(weaponPromoteConfig.LevelLimit) {
|
||||
logger.Error("weapon level le level limit, level: %v", weapon.Level)
|
||||
g.CommonRetError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{}, proto.Retcode_RET_WEAPON_LEVEL_INVALID)
|
||||
g.SendError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{}, proto.Retcode_RET_WEAPON_LEVEL_INVALID)
|
||||
return
|
||||
}
|
||||
// 获取武器突破下一级的配置表
|
||||
weaponPromoteConfig, ok = weaponPromoteDataMap[int32(weapon.Promote+1)]
|
||||
if !ok {
|
||||
logger.Error("weapon promote config error, next promoteLevel: %v", weapon.Promote+1)
|
||||
g.CommonRetError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{}, proto.Retcode_RET_WEAPON_PROMOTE_LEVEL_EXCEED_LIMIT)
|
||||
g.SendError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{}, proto.Retcode_RET_WEAPON_PROMOTE_LEVEL_EXCEED_LIMIT)
|
||||
return
|
||||
}
|
||||
// 将被消耗的物品列表
|
||||
@@ -309,16 +309,16 @@ func (g *GameManager) WeaponPromoteReq(player *model.Player, payloadMsg pb.Messa
|
||||
logger.Error("item count not enough, itemId: %v", item.ItemId)
|
||||
// 摩拉的错误提示与材料不同
|
||||
if item.ItemId == constant.ItemConstantConst.SCOIN {
|
||||
g.CommonRetError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{}, proto.Retcode_RET_SCOIN_NOT_ENOUGH)
|
||||
g.SendError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{}, proto.Retcode_RET_SCOIN_NOT_ENOUGH)
|
||||
}
|
||||
g.CommonRetError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{}, proto.Retcode_RET_ITEM_COUNT_NOT_ENOUGH)
|
||||
g.SendError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{}, proto.Retcode_RET_ITEM_COUNT_NOT_ENOUGH)
|
||||
return
|
||||
}
|
||||
}
|
||||
// 冒险等级是否符合要求
|
||||
if player.PropertiesMap[constant.PlayerPropertyConst.PROP_PLAYER_LEVEL] < uint32(weaponPromoteConfig.MinPlayerLevel) {
|
||||
logger.Error("player level not enough, level: %v", player.PropertiesMap[constant.PlayerPropertyConst.PROP_PLAYER_LEVEL])
|
||||
g.CommonRetError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{}, proto.Retcode_RET_PLAYER_LEVEL_LESS_THAN)
|
||||
g.SendError(cmd.WeaponPromoteRsp, player, &proto.WeaponPromoteRsp{}, proto.Retcode_RET_PLAYER_LEVEL_LESS_THAN)
|
||||
return
|
||||
}
|
||||
// 消耗突破材料和摩拉
|
||||
@@ -533,34 +533,34 @@ func (g *GameManager) WeaponUpgradeReq(player *model.Player, payloadMsg pb.Messa
|
||||
weapon, ok := player.WeaponMap[player.GetWeaponIdByGuid(req.TargetWeaponGuid)]
|
||||
if !ok {
|
||||
logger.Error("weapon error, weaponGuid: %v", req.TargetWeaponGuid)
|
||||
g.CommonRetError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
g.SendError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
return
|
||||
}
|
||||
// 获取武器配置表
|
||||
weaponConfig, ok := gdconf.CONF.ItemDataMap[int32(weapon.ItemId)]
|
||||
if !ok {
|
||||
logger.Error("weapon config error, itemId: %v", weapon.ItemId)
|
||||
g.CommonRetError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{})
|
||||
g.SendError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{})
|
||||
return
|
||||
}
|
||||
// 获取武器突破配置表
|
||||
weaponPromoteDataMap, ok := gdconf.CONF.WeaponPromoteDataMap[weaponConfig.PromoteId]
|
||||
if !ok {
|
||||
logger.Error("weapon promote config error, promoteId: %v", weaponConfig.PromoteId)
|
||||
g.CommonRetError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{})
|
||||
g.SendError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{})
|
||||
return
|
||||
}
|
||||
// 获取武器突破等级对应的配置表
|
||||
weaponPromoteConfig, ok := weaponPromoteDataMap[int32(weapon.Promote)]
|
||||
if !ok {
|
||||
logger.Error("weapon promote config error, promoteLevel: %v", weapon.Promote)
|
||||
g.CommonRetError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{})
|
||||
g.SendError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{})
|
||||
return
|
||||
}
|
||||
// 武器等级是否达到限制
|
||||
if weapon.Level >= uint8(weaponPromoteConfig.LevelLimit) {
|
||||
logger.Error("weapon level ge level limit, level: %v", weapon.Level)
|
||||
g.CommonRetError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{}, proto.Retcode_RET_WEAPON_PROMOTE_LEVEL_EXCEED_LIMIT)
|
||||
g.SendError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{}, proto.Retcode_RET_WEAPON_PROMOTE_LEVEL_EXCEED_LIMIT)
|
||||
return
|
||||
}
|
||||
// 将被消耗的物品列表
|
||||
@@ -576,7 +576,7 @@ func (g *GameManager) WeaponUpgradeReq(player *model.Player, payloadMsg pb.Messa
|
||||
expCount, coinCost, success := g.CalcWeaponUpgradeExpAndCoin(player, req.ItemParamList, req.FoodWeaponGuidList)
|
||||
if !success {
|
||||
logger.Error("calc weapon upgrade exp and coin error, uid: %v", player.PlayerID)
|
||||
g.CommonRetError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{})
|
||||
g.SendError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{})
|
||||
return
|
||||
}
|
||||
// 消耗列表添加摩拉的消耗
|
||||
@@ -590,9 +590,9 @@ func (g *GameManager) WeaponUpgradeReq(player *model.Player, payloadMsg pb.Messa
|
||||
logger.Error("item count not enough, itemId: %v", item.ItemId)
|
||||
// 摩拉的错误提示与材料不同
|
||||
if item.ItemId == constant.ItemConstantConst.SCOIN {
|
||||
g.CommonRetError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{}, proto.Retcode_RET_SCOIN_NOT_ENOUGH)
|
||||
g.SendError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{}, proto.Retcode_RET_SCOIN_NOT_ENOUGH)
|
||||
}
|
||||
g.CommonRetError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{}, proto.Retcode_RET_ITEM_COUNT_NOT_ENOUGH)
|
||||
g.SendError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{}, proto.Retcode_RET_ITEM_COUNT_NOT_ENOUGH)
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -602,7 +602,7 @@ func (g *GameManager) WeaponUpgradeReq(player *model.Player, payloadMsg pb.Messa
|
||||
foodWeapon, ok := player.WeaponMap[player.GetWeaponIdByGuid(weaponGuid)]
|
||||
if !ok {
|
||||
logger.Error("food weapon error, weaponGuid: %v", weaponGuid)
|
||||
g.CommonRetError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
g.SendError(cmd.WeaponUpgradeRsp, player, &proto.WeaponUpgradeRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
}
|
||||
costWeaponIdList = append(costWeaponIdList, foodWeapon.WeaponId)
|
||||
}
|
||||
@@ -617,7 +617,7 @@ func (g *GameManager) WeaponUpgradeReq(player *model.Player, payloadMsg pb.Messa
|
||||
weaponLevel, weaponExp, returnItemList, success := g.CalcWeaponUpgrade(weapon, expCount)
|
||||
if !success {
|
||||
logger.Error("calc weapon upgrade error, uid: %v", player.PlayerID)
|
||||
g.CommonRetError(cmd.CalcWeaponUpgradeReturnItemsRsp, player, &proto.CalcWeaponUpgradeReturnItemsRsp{})
|
||||
g.SendError(cmd.CalcWeaponUpgradeReturnItemsRsp, player, &proto.CalcWeaponUpgradeReturnItemsRsp{})
|
||||
return
|
||||
}
|
||||
|
||||
@@ -663,21 +663,21 @@ func (g *GameManager) CalcWeaponUpgradeReturnItemsReq(player *model.Player, payl
|
||||
weapon, ok := player.WeaponMap[player.GetWeaponIdByGuid(req.TargetWeaponGuid)]
|
||||
if !ok {
|
||||
logger.Error("weapon error, weaponGuid: %v", req.TargetWeaponGuid)
|
||||
g.CommonRetError(cmd.CalcWeaponUpgradeReturnItemsRsp, player, &proto.CalcWeaponUpgradeReturnItemsRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
g.SendError(cmd.CalcWeaponUpgradeReturnItemsRsp, player, &proto.CalcWeaponUpgradeReturnItemsRsp{}, proto.Retcode_RET_ITEM_NOT_EXIST)
|
||||
return
|
||||
}
|
||||
// 计算使用材料强化武器后将会获得的经验数
|
||||
expCount, _, success := g.CalcWeaponUpgradeExpAndCoin(player, req.ItemParamList, req.FoodWeaponGuidList)
|
||||
if !success {
|
||||
logger.Error("calc weapon upgrade exp and coin error, uid: %v", player.PlayerID)
|
||||
g.CommonRetError(cmd.CalcWeaponUpgradeReturnItemsRsp, player, &proto.CalcWeaponUpgradeReturnItemsRsp{})
|
||||
g.SendError(cmd.CalcWeaponUpgradeReturnItemsRsp, player, &proto.CalcWeaponUpgradeReturnItemsRsp{})
|
||||
return
|
||||
}
|
||||
// 计算武器使用材料升级后的等级经验以及返回的矿石
|
||||
_, _, returnItemList, success := g.CalcWeaponUpgrade(weapon, expCount)
|
||||
if !success {
|
||||
logger.Error("calc weapon upgrade error, weaponGuid: %v", req.TargetWeaponGuid)
|
||||
g.CommonRetError(cmd.CalcWeaponUpgradeReturnItemsRsp, player, &proto.CalcWeaponUpgradeReturnItemsRsp{})
|
||||
g.SendError(cmd.CalcWeaponUpgradeReturnItemsRsp, player, &proto.CalcWeaponUpgradeReturnItemsRsp{})
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user