```
feat(config): 更新服务器配置字段注释并修复VIP标识逻辑 - 修改config.go中IsVip字段注释,明确其表示测试服状态 - 添加isdebug字段注释说明本地服标识 - 从.gitignore添加login-login-linux-amd64到忽略列表 - 移除已废弃的coolconfig.SetTest函数 fix(item_buy): 注释掉金币购买功能代码 - 将BuyGoldItem方法注释掉,暂时禁用金币购买商品功能 - 移除未使用的gconv导入包 fix(server): 修正调试模式判断条件 - 将server.go中的IsVip判断改为IsDebug,确保调试模式正确启用 refactor(item_service): 优化模型调用并添加VIP标识 - 修复ItemService.UPDATE方法中模型调用的一致性问题 - 添加is_vip字段到数据记录中用于区分服务器类型 feat(pet_service): 为宠物数据添加VIP标识 - 在宠物服务中为新捕捉的宠物添加IsVip字段设置 ```
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -44,3 +44,4 @@ logic/logic1
|
||||
public/logic-linux-amd64
|
||||
public/login-linux-amd64
|
||||
|
||||
public/login-login-linux-amd64
|
||||
|
||||
@@ -31,8 +31,9 @@ type ServerList struct {
|
||||
//密码
|
||||
Password string `gorm:"type:string;comment:'密码'" json:"password"`
|
||||
CanPort []uint32 `gorm:"type:jsonb;comment:'可连接端口'" json:"can_port"`
|
||||
IsVip uint32 `gorm:"default:0;not null;comment:'是否为VIP服务器'" json:"is_vip"`
|
||||
//isdebug
|
||||
//是否测试服
|
||||
IsVip uint32 `gorm:"default:0;not null;comment:'是否为VIP服务器'" json:"is_vip"`
|
||||
//isdebug 是否本地服
|
||||
IsDebug uint8 `gorm:"default:0;comment:'是否为调试模式'" json:"is_debug"`
|
||||
//服务器异色概率设定ServerList
|
||||
ShinyRate uint8 `gorm:"default:0;comment:'异色概率'" json:"shiny_rate"`
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
package cool
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
)
|
||||
|
||||
func SetTest(m g.Map) g.Map {
|
||||
if Config.ServerInfo.IsVip != 0 {
|
||||
m["is_vip"] = Config.ServerInfo.IsVip
|
||||
}
|
||||
return m
|
||||
}
|
||||
@@ -6,8 +6,6 @@ import (
|
||||
|
||||
"blazing/logic/service/item"
|
||||
"blazing/logic/service/player"
|
||||
|
||||
"github.com/gogf/gf/v2/util/gconv"
|
||||
)
|
||||
|
||||
// 防止封包通过领取来获取道具
|
||||
@@ -92,34 +90,34 @@ func (h Controller) BuyMultipleItems(data *item.BuyMultiInboundInfo, player *pla
|
||||
// data: 包含金豆购买商品信息的输入数据
|
||||
// player: 当前玩家对象
|
||||
// 返回: 金豆购买结果和错误码
|
||||
func (h Controller) BuyGoldItem(data *item.C2S_GOLD_BUY_PRODUCT, player *player.Player) (result *item.S2C_GoldBuyProductInfo, err errorcode.ErrorCode) {
|
||||
product, exists := xmlres.GoldProductMap[int(data.ProductID)]
|
||||
if !exists {
|
||||
return nil, errorcode.ErrorCodes.ErrSystemError
|
||||
}
|
||||
// func (h Controller) BuyGoldItem(data *item.C2S_GOLD_BUY_PRODUCT, player *player.Player) (result *item.S2C_GoldBuyProductInfo, err errorcode.ErrorCode) {
|
||||
// product, exists := xmlres.GoldProductMap[int(data.ProductID)]
|
||||
// if !exists {
|
||||
// return nil, errorcode.ErrorCodes.ErrSystemError
|
||||
// }
|
||||
|
||||
useGold := uint32(data.Count) * uint32(gconv.Float64(product.Price)*100)
|
||||
if !player.UseGold(useGold) {
|
||||
return &item.S2C_GoldBuyProductInfo{
|
||||
Gold: player.User.GetGold(uint(player.Info.UserID)),
|
||||
PayGold: 0,
|
||||
Reserved: 0,
|
||||
}, errorcode.ErrorCodes.ErrXinDouInsufficient
|
||||
}
|
||||
// useGold := uint32(data.Count) * uint32(gconv.Float64(product.Price)*100)
|
||||
// if !player.UseGold(useGold) {
|
||||
// return &item.S2C_GoldBuyProductInfo{
|
||||
// Gold: player.User.GetGold(uint(player.Info.UserID)),
|
||||
// PayGold: 0,
|
||||
// Reserved: 0,
|
||||
// }, errorcode.ErrorCodes.ErrXinDouInsufficient
|
||||
// }
|
||||
|
||||
addSuccess := player.ItemAdd(uint32(gconv.Uint32(product.ItemID)), uint32(data.Count))
|
||||
if addSuccess {
|
||||
player.User.UpdateGold(player.Info.UserID, -int64(useGold))
|
||||
return &item.S2C_GoldBuyProductInfo{
|
||||
Gold: player.User.GetGold(uint(player.Info.UserID)),
|
||||
PayGold: useGold,
|
||||
Reserved: 0,
|
||||
}, 0
|
||||
}
|
||||
// addSuccess := player.ItemAdd(uint32(gconv.Uint32(product.ItemID)), uint32(data.Count))
|
||||
// if addSuccess {
|
||||
// player.User.UpdateGold(player.Info.UserID, -int64(useGold))
|
||||
// return &item.S2C_GoldBuyProductInfo{
|
||||
// Gold: player.User.GetGold(uint(player.Info.UserID)),
|
||||
// PayGold: useGold,
|
||||
// Reserved: 0,
|
||||
// }, 0
|
||||
// }
|
||||
|
||||
return &item.S2C_GoldBuyProductInfo{
|
||||
Gold: player.User.GetGold(uint(player.Info.UserID)),
|
||||
PayGold: 0,
|
||||
Reserved: 0,
|
||||
}, errorcode.ErrorCodes.ErrSystemError
|
||||
}
|
||||
// return &item.S2C_GoldBuyProductInfo{
|
||||
// Gold: player.User.GetGold(uint(player.Info.UserID)),
|
||||
// PayGold: 0,
|
||||
// Reserved: 0,
|
||||
// }, errorcode.ErrorCodes.ErrSystemError
|
||||
// }
|
||||
|
||||
@@ -58,7 +58,7 @@ func Start() {
|
||||
serverID := cool.Config.GameOnlineID
|
||||
cool.Config.ServerInfo = config.NewServerService().GetServerID(serverID).ServerList
|
||||
|
||||
if cool.Config.ServerInfo.IsVip == 1 {
|
||||
if cool.Config.ServerInfo.IsDebug == 1 {
|
||||
g.DB().SetDebug(true)
|
||||
}
|
||||
|
||||
|
||||
39
logic/service/fight/boss/NewSeIdx_112.go
Normal file
39
logic/service/fight/boss/NewSeIdx_112.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package effect
|
||||
|
||||
import (
|
||||
"blazing/logic/service/fight/info"
|
||||
"blazing/logic/service/fight/input"
|
||||
)
|
||||
|
||||
// NewSel112 受到物理时使自身的一种 battle_lv 提升1个等级,可提升n次;(a1: which blv, a2: max_blv_up_times)
|
||||
// TODO: 实现受到物理时使自身的一种 battle_lv 提升1个等级,可提升n次;(a1: which blv, a2: max_blv_up_times)的核心逻辑
|
||||
type NewSel112 struct {
|
||||
NewSel0
|
||||
count int
|
||||
}
|
||||
|
||||
func (e *NewSel112) DamageDivEx(t *info.DamageZone) bool {
|
||||
|
||||
// fmt.Println(e.ID().GetCatchTime(), e.Ctx().Our.CurrentPet.Info.CatchTime)
|
||||
if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime {
|
||||
return true
|
||||
}
|
||||
// 2. 技能为空或非物理攻击,不触发
|
||||
skill := e.Ctx().SkillEntity
|
||||
if skill == nil {
|
||||
return true
|
||||
}
|
||||
if skill.Category() != info.Category.PHYSICAL {
|
||||
return true
|
||||
}
|
||||
if e.count >= int(e.Args()[1].IntPart()) {
|
||||
return true
|
||||
}
|
||||
|
||||
e.Ctx().Our.SetProp(e.Ctx().Our, int8(e.Args()[0].IntPart()), 1, info.AbilityOpType.ADD)
|
||||
e.count++
|
||||
return true
|
||||
}
|
||||
func init() {
|
||||
input.InitEffect(input.EffectType.NewSel, 112, &NewSel112{})
|
||||
}
|
||||
15
logic/service/fight/boss/NewSeIdx_113.go
Normal file
15
logic/service/fight/boss/NewSeIdx_113.go
Normal file
@@ -0,0 +1,15 @@
|
||||
package effect
|
||||
|
||||
import (
|
||||
"blazing/logic/service/fight/input"
|
||||
)
|
||||
|
||||
// todo "只有当自己处于异常状态时才会受到伤害"
|
||||
type NewSel113 struct {
|
||||
NewSel0
|
||||
count int
|
||||
}
|
||||
|
||||
func init() {
|
||||
input.InitEffect(input.EffectType.NewSel, 113, &NewSel113{})
|
||||
}
|
||||
@@ -28,7 +28,7 @@ func (s *ItemService) UPDATE(id uint32, count int) {
|
||||
m := s.TestModel(s.Model)
|
||||
|
||||
if t, _ := m.Where("item_id", id).Exist(); t {
|
||||
_, err := m.Where("item_id", id).Increment("item_cnt", count)
|
||||
_, err := s.TestModel(s.Model).Where("item_id", id).Increment("item_cnt", count)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
@@ -38,8 +38,8 @@ func (s *ItemService) UPDATE(id uint32, count int) {
|
||||
"player_id": s.userid,
|
||||
"item_id": id,
|
||||
"item_cnt": count,
|
||||
"is_vip": cool.Config.ServerInfo.IsVip,
|
||||
}
|
||||
data = cool.SetTest(data)
|
||||
|
||||
m.Data(data).Insert()
|
||||
}
|
||||
|
||||
@@ -117,6 +117,7 @@ RETURNING max_ts;
|
||||
player.Data = *y
|
||||
player.CatchTime = y.CatchTime
|
||||
player.Free = 0
|
||||
player.IsVip = cool.Config.ServerInfo.IsVip
|
||||
|
||||
_, err = m1.Insert(player)
|
||||
if err != nil {
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user