diff --git a/common/rpc/rpc.go b/common/rpc/rpc.go index 564076c56..9ec114180 100644 --- a/common/rpc/rpc.go +++ b/common/rpc/rpc.go @@ -95,7 +95,7 @@ func StartClient(id, port uint16, callback any) *struct { "ws://"+rpcaddr+rpcport, "", []interface{}{ &RPCClient, }, nil, jsonrpc.WithClientHandler("", callback), - jsonrpc.WithReconnFun(func() { RPCClient.RegisterLogic(id, port) }), //TODO ,这里会出现server0注册? + jsonrpc.WithReconnFun(func() { RPCClient.RegisterLogic(id, port) }), ) if err != nil { log.Fatalf("Failed to create client: %v", err) diff --git a/logic/service/fight/effect/effect_20.go b/logic/service/fight/effect/effect_20.go index b592cba5f..4f109e82d 100644 --- a/logic/service/fight/effect/effect_20.go +++ b/logic/service/fight/effect/effect_20.go @@ -20,7 +20,7 @@ type Effect20 struct { } // 使用技能时,不可被继承,继承Miss和Hit就行 -func (e *Effect20) OnSkill(input.Ctx) { +func (e *Effect20) OnSkill(input.Ctx) bool { e.Input.AddEffect(input.Geteffect(input.EffectType.Status, int(info.PetStatus.Tired))) - + return true } diff --git a/logic/service/fight/effect/effect_power_doblue.go b/logic/service/fight/effect/effect_power_doblue.go index bf1320198..7d7783ddf 100644 --- a/logic/service/fight/effect/effect_power_doblue.go +++ b/logic/service/fight/effect/effect_power_doblue.go @@ -28,7 +28,7 @@ func init() { EffectNode: node.EffectNode{}, Status: func(i, o *input.Input) bool { - return !i.First + return !i.FightC.IsFirst(i.Player) }, }) //先出手的话威力为2倍 @@ -36,7 +36,7 @@ func init() { EffectNode: node.EffectNode{}, Status: func(i, o *input.Input) bool { - return i.First + return i.FightC.IsFirst(i.Player) }, }) //对手处于烧伤状态时,威力翻倍 diff --git a/logic/service/fight/fightc.go b/logic/service/fight/fightc.go index c76bc815c..9c90fe9d3 100644 --- a/logic/service/fight/fightc.go +++ b/logic/service/fight/fightc.go @@ -394,26 +394,15 @@ func (f *FightC) battleLoop() { // 处理技能攻击逻辑 func (f *FightC) processSkillAttack(attacker, defender *input.Input, a *action.SelectSkillAction) { - a.Skill.AttackTimeC(attacker.GetProp(5, true)) //计算命中 - - defender.Exec(func(t input.Effect) bool { //计算闪避 ,然后修改对方命中),同时相当于计算属性无效这种 - t.Skill_Hit_to(input.Ctx{ - Input: attacker, - SkillEntity: a.Skill, //相当于先调整基础命中,不光调整命中,这里还能调整技能属性,暴击率 - }) - - return true - }) attacker.Exec(func(t input.Effect) bool { //计算命中 miss改命中 - t.Skill_Hit(input.Ctx{ //计算变威力 + t.Skill_Hit_Pre(input.Ctx{ //调基础命中 Input: attacker, SkillEntity: a.Skill, }) //相当于先调整基础命中,不光调整命中,这里还能调整技能属性,暴击率 return true }) - a.Skill.AttackTimeC(attacker.GetProp(5, true)) //计算命中 defender.Exec(func(t input.Effect) bool { //计算闪避 ,然后修改对方命中),同时相当于计算属性无效这种 t.Skill_Hit_to(input.Ctx{ //计算命中后,我方强制改命中效果 @@ -424,19 +413,34 @@ func (f *FightC) processSkillAttack(attacker, defender *input.Input, a *action.S return true }) - f.parseskill(attacker, defender, a) //是否miss都应该施加解析effect - // 记录技能信息 - attacker.AttackValue.SkillID = uint32(a.Skill.ID) //获取技能ID + attacker.AttackValue.AttackTime = a.Skill.AttackTime //是否命中赋值 + attacker.Exec(func(t input.Effect) bool { //计算命中 miss改命中 - attacker.UseSkill(defender, a.Skill) //攻击方计算技能使用 - - attacker.AttackValue.AttackTime = a.Skill.AttackTime + t.Skill_Hit(input.Ctx{ //计算变威力 + Input: attacker, + SkillEntity: a.Skill, + }) //相当于先调整基础命中,不光调整命中,这里还能调整技能属性,暴击率 + return true + }) + //技能命中+效果失效 这里就是修改效果命中为false + //技能miss+效果生效 这里属于强制改命中效果,但是正常来说,技能miss掉后效果也应该失效 + //技能失效+效果失效 if attacker.AttackValue.AttackTime > 0 { //如果命中 - - attacker.DamageZone.Damage = attacker.CalculatePower(defender, a.Skill) - + attacker.UseSkill(defender, a.Skill) //暴击计算 attacker.AttackValue.IsCritical = a.Skill.Crit + attacker.Exec(func(t input.Effect) bool { //计算命中 miss改命中 + + t.Calculate_Pre(input.Ctx{ //计算视为效果 + Input: defender, + SkillEntity: a.Skill, + }) //相当于先调整基础命中,不光调整命中,这里还能调整技能属性,暴击率 + + return true + }) + attacker.DamageZone.Damage = attacker.CalculatePower(defender, a.Skill) + // 记录技能信息 + attacker.AttackValue.SkillID = uint32(a.Skill.ID) //获取技能ID if attacker.AttackValue.IsCritical == 1 { @@ -445,23 +449,21 @@ func (f *FightC) processSkillAttack(attacker, defender *input.Input, a *action.S } - attacker.Exec(func(t input.Effect) bool { - //这里实现应该参考本地技能是否命中,然后 - t.Hit(true) //我方效果命中 - - return true - }) - defender.Exec(func(t input.Effect) bool { - - if t.GetInput() == attacker { //如果取反,说明是给对方添加的回合效果 - t.Hit(true) - } - return true - }) - // 扣减防御方血量 + } else { } + for _, e := range attacker.EffectCache { + //这里实现应该参考本地技能是否命中,然后 + e.Hit(a.Skill.AttackTime != 0) //我方效果命中 + } + for _, t := range defender.EffectCache { + if t.GetInput() == attacker { //如果取反,说明是给对方添加的回合效果 + t.Hit(a.Skill.AttackTime != 0) + } + } + + // 扣减防御方血量 attacker.Exec(func(t input.Effect) bool { t.OnSkill(input.Ctx{ @@ -509,7 +511,7 @@ func (f *FightC) enterturn(fattack, sattack *action.SelectSkillAction) { fmt.Println("先手", f.First.CurrentPet.Info.CatchTime, "后手", f.Second.CurrentPet.Info.CatchTime) //是否miss都应该施加解析effect - f.First.Parseskill(f.Second, fattack) + f.First.Parseskill(f.Second, fattack) //解析到临时数据 f.First.Exec(func(t input.Effect) bool { //回合开始前 @@ -550,32 +552,32 @@ func (f *FightC) enterturn(fattack, sattack *action.SelectSkillAction) { canuseskill := true // 实际上攻击方 还有系统选择放弃出手的 - if fattack.Skill == nil || attacker.CurrentPet.Info.Hp <= 0 { + if fattack.Skill == nil || attacker.CurrentPet.Info.Hp <= 0 || !fattack.Skill.CanUse() { attacker.AttackValue.SkillID = 0 canuseskill = false } var oldskill interface{} - if ok { - oldskill, _ = deepcopy.Anything(skill.Skill) //备份技能 - canuseskillok := attacker.Exec(func(t input.Effect) bool { //这个是能否使用技能 - //结算状态 - //然后这里还可以处理自爆类 - return t.Skill_Hit_Pre(input.Ctx{ - Input: attacker, - SkillEntity: skill.Skill, - }) //返回本身结算,如果false,说明不能使用技能了 - }) - if !canuseskill || !canuseskillok { //可以使用技能 + oldskill, _ = deepcopy.Anything(fattack.Skill) //备份技能 + canuseskillok := attacker.Exec(func(t input.Effect) bool { //这个是能否使用技能 + //结算状态 + //然后这里还可以处理自爆类 + return t.Skill_Hit_Pre(input.Ctx{ + Input: attacker, + SkillEntity: fattack.Skill, + }) //返回本身结算,如果false,说明不能使用技能了 - f.processSkillAttack(attacker, defender, skill) - skill.Skill = oldskill.(*info.SkillEntity) //还原技能效果 + }) + if canuseskill && canuseskillok { //可以使用技能 + + f.processSkillAttack(attacker, defender, fattack) + fattack.Skill = oldskill.(*info.SkillEntity) //还原技能效果 - } - skill.Skill.Info.PP-- //减少PP } + fattack.Skill.Info.PP-- //减少PP + //技能使用后 defender.Exec(func(t input.Effect) bool { t.Skill_Use(input.Ctx{Input: attacker}) diff --git a/logic/service/fight/input/effecti.go b/logic/service/fight/input/effecti.go index d6253684b..6acbaf22c 100644 --- a/logic/service/fight/input/effecti.go +++ b/logic/service/fight/input/effecti.go @@ -14,6 +14,8 @@ type Effect interface { Skill_Hit_Pre(ctx Ctx) bool //对技能修改 行动开始前,注入视为等参数在这里实现 Skill_Hit(ctx Ctx) bool //这是是命中后的对技能的修改,比如变威力 Skill_Hit_to(ctx Ctx) bool // 技能命中前触发//预处理受击技能 被攻击方效果,比如受击时无效技能这样 + + Calculate_Pre(ctx Ctx) bool //视为 无视效果,相当于这里对敌方的修改 OnSkill(ctx Ctx) bool // 触发on miss onhit //Skill_Can(ctx Ctx) bool //使用技能 可以取消用技能节点 技能无效节点锁定伤害加上 diff --git a/logic/service/fight/input/input.go b/logic/service/fight/input/input.go index 2b928e56d..078a9336a 100644 --- a/logic/service/fight/input/input.go +++ b/logic/service/fight/input/input.go @@ -103,6 +103,7 @@ func (i *Input) GetStatusBonus() float64 { // 解析并 施加effect func (i *Input) Parseskill(defender *Input, skill *action.SelectSkillAction) { + i.EffectCache = make([]Effect, 0) //先把上一回合数据清空 temparg := skill.Skill.SideEffectArgS for _, v := range skill.Skill.SideEffectS { @@ -110,19 +111,21 @@ func (i *Input) Parseskill(defender *Input, skill *action.SelectSkillAction) { t := Geteffect(EffectType.Skill, v) args := xmlres.EffectArgs[v] + //这里是给双方添加buff if t.ID != 0 { t.Effect.SetArgs(i, temparg[:args]...) //设置入参,施加方永远是我方 - // if t.Effect.GetOwner() { //如果取反,说明是给对方添加的回合效果 - // //实际上,owner永远为反,说明是对方给我添加的 - // t.Effect.SetArgs(attacker, temparg[:args]...) //设置入参,施加方永远是我方 - // //给双方添加 - // defender.AddEffect(t) - // } else { - // t.Effect.SetArgs(attacker, temparg[:args]...) //设置入参 - // attacker.AddEffect(t) - // } - //ret = append(ret, t.Effect) + if t.Effect.GetOwner() { //如果取反,说明是给对方添加的回合效果 + //实际上,owner永远为反,说明是对方给我添加的 + t.Effect.SetArgs(i, temparg[:args]...) //设置入参,施加方永远是我方 + //给双方添加 + defender.AddEffect(t) + } else { + t.Effect.SetArgs(i, temparg[:args]...) //设置入参 + i.AddEffect(t) + } + //这里是临时缓存buff,后面确认命中后修改HIT状态 + i.EffectCache = append(i.EffectCache, t.Effect) } diff --git a/logic/service/fight/node/Turn.go b/logic/service/fight/node/Turn.go index 367962685..aa1486601 100644 --- a/logic/service/fight/node/Turn.go +++ b/logic/service/fight/node/Turn.go @@ -1,10 +1,14 @@ package node import ( + "blazing/logic/service/fight/action" "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" ) +func (e *EffectNode) Compare_Pre(fattack, sattack *action.SelectSkillAction) bool { + return false +} func (e *EffectNode) Turn_Start(ctx input.Ctx) { panic("not implemented") // TODO: Implement } diff --git a/logic/service/fight/node/skill.go b/logic/service/fight/node/skill.go index 42f2ed38f..fd8caf0e6 100644 --- a/logic/service/fight/node/skill.go +++ b/logic/service/fight/node/skill.go @@ -8,11 +8,19 @@ import ( func (e *EffectNode) Skill_Pre(ctx input.Ctx) bool { return true } - -func (e *EffectNode) Skill_PreUse(ctx input.Ctx) bool { +func (e *EffectNode) Calculate_Pre(ctx input.Ctx) bool { return true } +func (e *EffectNode) Skill_Hit_Pre(ctx input.Ctx) bool { + return true +} +func (e *EffectNode) Skill_Hit(ctx input.Ctx) bool { + return true +} +func (e *EffectNode) Skill_Hit_to(ctx input.Ctx) bool { + return true +} func (e *EffectNode) OnSkill(ctx input.Ctx) bool { if e.Effect != nil { if e.Hit() { //没命中 diff --git a/logic/service/fight/playeraction.go b/logic/service/fight/playeraction.go index 9ba26e5b7..67299c077 100644 --- a/logic/service/fight/playeraction.go +++ b/logic/service/fight/playeraction.go @@ -83,7 +83,7 @@ func (f *FightC) ChangePet(c common.PlayerI, id uint32) { func (f *FightC) UseSkill(c common.PlayerI, id int32) { ret := &action.SelectSkillAction{ - PlayerID: c.GetInfo().UserID, + BaseAction: action.NewBaseAction(c.GetInfo().UserID), } //ret.PetInfo = f.GetInputByPlayer(c, false).CurrentPet diff --git a/logic/service/player/player.go b/logic/service/player/player.go index 6de89651d..7a0f861f4 100644 --- a/logic/service/player/player.go +++ b/logic/service/player/player.go @@ -42,7 +42,7 @@ type ClientData struct { Player *Player //客户实体 //UserID uint32 ERROR_CONNUT int - Wsmsg *WsCodec + Wsmsg *WsCodec } func NewClientData() *ClientData { @@ -278,22 +278,21 @@ func (p *Player) Save() { return } - - LeaveMap(p) - close(p.StopChan) //停止刷怪 - p.IsLogin = false - Mainplayer.Delete(p.Info.UserID) - share.ShareManager.DeleteUserOnline(p.Info.UserID) //设置用户登录服务器 if p.FightC != nil { p.FightC.Over(p, info.BattleOverReason.PlayerOffline) //玩家逃跑 } - p.Info.TimeToday = p.Info.TimeToday + uint32(time.Now().Unix()) - uint32(p.Onlinetime) //保存电池时间 p.Onlinetime = uint32(time.Now().Unix()) p.Service.Save(p.Info) + LeaveMap(p) + close(p.StopChan) //停止刷怪 + p.IsLogin = false + share.ShareManager.DeleteUserOnline(p.Info.UserID) //设置用户登录服务器 + + Mainplayer.Delete(p.Info.UserID) } // 是否可以获得经验 diff --git a/logic/service/player/server.go b/logic/service/player/server.go index 7e28ed28c..6dd23fdb1 100644 --- a/logic/service/player/server.go +++ b/logic/service/player/server.go @@ -31,10 +31,10 @@ func KickPlayer(userid uint32) { //踢出玩家 //var player *entity.Player if player1, ok := Mainplayer.Load(userid); ok { //取成功,否则创建 + player1.Save() //先保存数据再返回 head := NewTomeeHeader(1001, userid) head.Result = uint32(errorcode.ErrorCodes.ErrAccountLoggedInElsewhere) //实际上这里有个问题,会造成重复保存问题 - player1.Save() //先保存数据再返回 player1.SendPack(head.Pack(nil)) player1.MainConn.MainConn.Close() diff --git a/modules/blazing/go.mod b/modules/blazing/go.mod index 9f2fbad64..c87843189 100644 --- a/modules/blazing/go.mod +++ b/modules/blazing/go.mod @@ -4,7 +4,10 @@ go 1.18 require github.com/gogf/gf/v2 v2.6.3 -require github.com/stretchr/testify v1.11.1 // indirect +require ( + github.com/dlclark/regexp2 v1.11.4 // indirect + github.com/stretchr/testify v1.11.1 // indirect +) require ( github.com/BurntSushi/toml v1.4.0 // indirect diff --git a/modules/blazing/go.sum b/modules/blazing/go.sum index 04bad1221..6e4279a15 100644 --- a/modules/blazing/go.sum +++ b/modules/blazing/go.sum @@ -1,15 +1,21 @@ github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= +github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/clbanning/mxj/v2 v2.7.0 h1:WA/La7UGCanFe5NpHF0Q3DNtnCsVoxbPKuyBNHWRyME= github.com/clbanning/mxj/v2 v2.7.0/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creasty/defaults v1.8.0 h1:z27FJxCAa0JKt3utc0sCImAEb+spPucmKoOdLHvHYKk= github.com/creasty/defaults v1.8.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dlclark/regexp2 v1.11.4 h1:rPYF9/LECdNymJufQKmri9gV604RvvABwgOA8un7yAo= +github.com/dlclark/regexp2 v1.11.4/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= +github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/gogf/gf/v2 v2.6.3 h1:DoqeuwU98wotpFoDSQEx8RZbmJdK8KdGiJtzJeqpyIo= @@ -21,7 +27,9 @@ github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/ github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= github.com/grokify/html-strip-tags-go v0.1.0 h1:03UrQLjAny8xci+R+qjCce/MYnpNXCtgzltlQbOBae4= github.com/grokify/html-strip-tags-go v0.1.0/go.mod h1:ZdzgfHEzAfz9X6Xe5eBLVblWIxXfYSQ40S/VKrAOGpc= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -38,12 +46,17 @@ github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZ github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= @@ -53,11 +66,15 @@ go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35 go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= +golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= +golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=