diff --git a/logic/service/fight/boss/NewSeIdx_11.go b/logic/service/fight/boss/NewSeIdx_11.go index ee6bb5084..ca3683bb7 100644 --- a/logic/service/fight/boss/NewSeIdx_11.go +++ b/logic/service/fight/boss/NewSeIdx_11.go @@ -1,7 +1,10 @@ package effect import ( + "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" + + "github.com/shopspring/decimal" ) // 11. 受到任何攻击都会反弹1/n的伤害给对方;(a1: n) @@ -10,6 +13,25 @@ type NewSel11 struct { NewSel0 } +func (e *NewSel11) Skill_Use_ex() bool { + + if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { + return true + } + + //不是技能 + if e.Ctx().SkillEntity == nil { + return true + } + + e.Ctx().Opp.Damage(e.Ctx().Our, &info.DamageZone{ + + Type: info.DamageType.Fixed, + Damage: decimal.NewFromInt(int64(e.Ctx().Opp.SumDamage.IntPart())).Div(decimal.NewFromInt(int64(e.SideEffectArgs[0]))), + }) + return true +} + func init() { input.InitEffect(input.EffectType.NewSel, 11, &NewSel11{}) } diff --git a/logic/service/fight/boss/NewSeIdx_17.go b/logic/service/fight/boss/NewSeIdx_17.go index 9ae42a992..c03ffa07e 100644 --- a/logic/service/fight/boss/NewSeIdx_17.go +++ b/logic/service/fight/boss/NewSeIdx_17.go @@ -1,6 +1,8 @@ package effect import ( + "blazing/logic/service/fight/action" + "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" ) @@ -10,6 +12,24 @@ type NewSel17 struct { NewSel0 } +func (e *NewSel17) Action_start(a, b *action.SelectSkillAction) bool { + if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { + return true + } + //fmt.Println(e.Ctx().SkillEntity) + if e.Ctx().SkillEntity == nil { + return true + } + if e.Ctx().SkillEntity.Category() == info.Category.STATUS { + return true + } + full32 := int64(e.Args()[0])<<32 | int64(e.Args()[1]) + if e.Ctx().Our.CurrentPet.HP <= int(full32) { + e.Ctx().SkillEntity.CritRate = 16 + } + + return true +} func init() { input.InitEffect(input.EffectType.NewSel, 17, &NewSel17{}) } diff --git a/logic/service/fight/boss/NewSeIdx_18.go b/logic/service/fight/boss/NewSeIdx_18.go index 0c68d88ad..989166e7e 100644 --- a/logic/service/fight/boss/NewSeIdx_18.go +++ b/logic/service/fight/boss/NewSeIdx_18.go @@ -1,6 +1,8 @@ package effect import ( + "blazing/logic/service/fight/action" + "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" ) @@ -10,6 +12,20 @@ type NewSel18 struct { NewSel0 } +func (e *NewSel18) Action_start(a, b *action.SelectSkillAction) bool { + if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { + return true + } + //fmt.Println(e.Ctx().SkillEntity) + if e.Ctx().SkillEntity == nil { + return true + } + if e.Ctx().SkillEntity.Category() == info.Category.STATUS { + return true + } + e.Ctx().SkillEntity.MustHit = 1 + return true +} func init() { input.InitEffect(input.EffectType.NewSel, 18, &NewSel18{}) } diff --git a/logic/service/fight/boss/NewSeIdx_19.go b/logic/service/fight/boss/NewSeIdx_19.go index 9ea136ce5..f24932d24 100644 --- a/logic/service/fight/boss/NewSeIdx_19.go +++ b/logic/service/fight/boss/NewSeIdx_19.go @@ -1,7 +1,9 @@ package effect import ( + "blazing/logic/service/fight/action" "blazing/logic/service/fight/input" + "math" ) // 19. 自身所有技能必先出手; @@ -10,6 +12,32 @@ type NewSel19 struct { NewSel0 } +func (e *NewSel19) Compare_Pre(fattack *action.SelectSkillAction, sattack *action.SelectSkillAction) bool { + + if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { + return true + } + + if fattack == nil { + return true + } + //先手是自己 + if fattack.PlayerID == e.Ctx().Our.UserID { + return true + } + if sattack == nil { + return true + } + if sattack == nil { + return true + } + if sattack.SkillEntity == nil { + return true + } + //对调 + sattack.SkillEntity.Priority = math.MaxInt + return true +} func init() { input.InitEffect(input.EffectType.NewSel, 19, &NewSel19{}) } diff --git a/logic/service/fight/boss/NewSeIdx_22.go b/logic/service/fight/boss/NewSeIdx_22.go index b13bcf3a0..cc474c5ae 100644 --- a/logic/service/fight/boss/NewSeIdx_22.go +++ b/logic/service/fight/boss/NewSeIdx_22.go @@ -18,6 +18,9 @@ func (e *NewSel22) Damage_DIV_ex(t *info.DamageZone) bool { if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { return true } + if t.Type != info.DamageType.Red { + return true + } t.Damage = t.Damage.Mul(decimal.NewFromInt(int64(e.Args()[0]))) return true diff --git a/logic/service/fight/boss/NewSeIdx_23.go b/logic/service/fight/boss/NewSeIdx_23.go index 49b76cada..ebdd8fd31 100644 --- a/logic/service/fight/boss/NewSeIdx_23.go +++ b/logic/service/fight/boss/NewSeIdx_23.go @@ -1,7 +1,12 @@ package effect import ( + "blazing/logic/service/fight/action" + "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" + "math" + + "github.com/shopspring/decimal" ) // 23. 自身体力降到N以下时, 每次(针对多宠)攻击必定秒杀对方, 且必定先手;(a1: high 16, a2: low 16) @@ -10,6 +15,46 @@ type NewSel23 struct { NewSel0 } +func (e *NewSel23) Compare_Pre(fattack *action.SelectSkillAction, sattack *action.SelectSkillAction) bool { + + if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { + return true + } + + if fattack == nil { + return true + } + //先手是自己 + if fattack.PlayerID == e.Ctx().Our.UserID { + return true + } + if sattack == nil { + return true + } + if sattack.SkillEntity == nil { + return true + } + + full32 := int(e.Args()[0])<<16 | int(e.Args()[1]) + if int(e.Ctx().Our.CurrentPet.Info.Hp) <= full32 { + sattack.SkillEntity.Priority = math.MaxInt + } + + return true +} + +func (e *NewSel23) OnSkill() bool { + full32 := int(e.Args()[0])<<16 | int(e.Args()[1]) + if int(e.Ctx().Our.CurrentPet.Info.Hp) <= full32 { + e.Ctx().Opp.Damage(e.Ctx().Our, &info.DamageZone{ + + Type: info.DamageType.Red, + Damage: decimal.NewFromInt(int64(e.Ctx().Opp.GetPetInfo().Info.MaxHp)), + }) + + } + return true +} func init() { input.InitEffect(input.EffectType.NewSel, 23, &NewSel23{}) } diff --git a/logic/service/fight/boss/NewSeIdx_25.go b/logic/service/fight/boss/NewSeIdx_25.go index 11a549d0f..210ea4653 100644 --- a/logic/service/fight/boss/NewSeIdx_25.go +++ b/logic/service/fight/boss/NewSeIdx_25.go @@ -2,6 +2,8 @@ package effect import ( "blazing/logic/service/fight/input" + + "github.com/shopspring/decimal" ) // 25. 如果 hp 被打成 0, 则立刻增加一些hp @@ -10,6 +12,18 @@ type NewSel25 struct { NewSel0 } +func (e *NewSel25) Action_end_ex() bool { + if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { + return true + } + if e.Ctx().Our.CurrentPet.Info.Hp == 0 { + + e.Ctx().Our.Heal(e.Ctx().Our, nil, decimal.NewFromInt(1)) + + } + + return true +} func init() { input.InitEffect(input.EffectType.NewSel, 25, &NewSel25{}) } diff --git a/logic/service/fight/boss/NewSeIdx_27.go b/logic/service/fight/boss/NewSeIdx_27.go index 5f3d401bb..d939ea83c 100644 --- a/logic/service/fight/boss/NewSeIdx_27.go +++ b/logic/service/fight/boss/NewSeIdx_27.go @@ -23,16 +23,15 @@ func (e *NewSel27) Damage_DIV_ex(t *info.DamageZone) bool { if e.Ctx().SkillEntity == nil { return true } - - if e.Args()[e.index] == e.Ctx().SkillEntity.Type { - return true - } - - e.index++ if e.index >= len(e.Args()) { e.index = 0 } + if e.Args()[e.index] == e.Ctx().SkillEntity.Type { + e.index++ + return true + } + t.Damage = decimal.NewFromInt(0) return true diff --git a/logic/service/fight/boss/NewSeIdx_31.go b/logic/service/fight/boss/NewSeIdx_31.go index 9502afb67..699a24406 100644 --- a/logic/service/fight/boss/NewSeIdx_31.go +++ b/logic/service/fight/boss/NewSeIdx_31.go @@ -10,6 +10,24 @@ type NewSel31 struct { NewSel0 } +func (e *NewSel31) Action_end_ex() bool { + if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { + return true + } + // 3. 概率判定(Args()[1]为触发概率) + success, _, _ := e.Input.Player.Roll(e.Args()[0], 100) + if !success { + return true + } + + if e.Ctx().Our.CurrentPet.Info.Hp == 0 { + + e.Ctx().Our.CurrentPet.Info.Hp = uint32(e.Args()[1]) + + } + + return true +} func init() { input.InitEffect(input.EffectType.NewSel, 31, &NewSel31{}) } diff --git a/logic/service/fight/boss/NewSeIdx_33.go b/logic/service/fight/boss/NewSeIdx_33.go index b179efade..1f3b0edc0 100644 --- a/logic/service/fight/boss/NewSeIdx_33.go +++ b/logic/service/fight/boss/NewSeIdx_33.go @@ -10,6 +10,24 @@ type NewSel33 struct { NewSel0 } +func (e *NewSel33) Action_end_ex() bool { + if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { + return true + } + // 3. 概率判定(Args()[1]为触发概率) + success, _, _ := e.Input.Player.Roll(e.Args()[0], 100) + if !success { + return true + } + + if e.Ctx().Our.CurrentPet.Info.Hp == 0 { + + e.Ctx().Our.Heal(e.Ctx().Our, nil, e.Ctx().Our.GetPetInfo().GetMaxHP()) + + } + + return true +} func init() { input.InitEffect(input.EffectType.NewSel, 33, &NewSel33{}) } diff --git a/logic/service/fight/boss/NewSeIdx_34.go b/logic/service/fight/boss/NewSeIdx_34.go index 6537c37b8..de24bdc86 100644 --- a/logic/service/fight/boss/NewSeIdx_34.go +++ b/logic/service/fight/boss/NewSeIdx_34.go @@ -30,7 +30,7 @@ func (e *NewSel34) Damage_DIV_ex(t *info.DamageZone) bool { return true } - e.Ctx().Opp.SetProp(e.Ctx().Our, int8(e.Args()[0]), 1, info.AbilityOpType.SUB) + e.Ctx().Opp.SetProp(e.Ctx().Opp, int8(e.Args()[0]), -1, info.AbilityOpType.SUB) return true } func init() { diff --git a/logic/service/fight/boss/NewSeIdx_35.go b/logic/service/fight/boss/NewSeIdx_35.go index b31508e08..7fe28416e 100644 --- a/logic/service/fight/boss/NewSeIdx_35.go +++ b/logic/service/fight/boss/NewSeIdx_35.go @@ -12,6 +12,8 @@ type NewSel35 struct { } func (e *NewSel35) Damage_DIV_ex(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 } diff --git a/logic/service/fight/boss/NewSeIdx_37.go b/logic/service/fight/boss/NewSeIdx_37.go index 190d80a1e..c7f813b89 100644 --- a/logic/service/fight/boss/NewSeIdx_37.go +++ b/logic/service/fight/boss/NewSeIdx_37.go @@ -1,6 +1,7 @@ package effect import ( + "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" ) @@ -10,6 +11,19 @@ type NewSel37 struct { NewSel0 } +func (e *NewSel37) Damage_Lock_ex(t *info.DamageZone) bool { + if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { + return true + } + + if t.Damage.IntPart() > int64(e.Args()[0]) { + + e.Ctx().Opp.CurrentPet.Info.Hp = 0 + + } + + return true +} func init() { input.InitEffect(input.EffectType.NewSel, 37, &NewSel37{}) } diff --git a/logic/service/fight/boss/NewSeIdx_38.go b/logic/service/fight/boss/NewSeIdx_38.go index e8277d364..f36681f48 100644 --- a/logic/service/fight/boss/NewSeIdx_38.go +++ b/logic/service/fight/boss/NewSeIdx_38.go @@ -1,7 +1,10 @@ package effect import ( + "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" + + "github.com/shopspring/decimal" ) // 38. 自身造成的伤害增加n%;(a1: n 百分比) @@ -10,6 +13,16 @@ type NewSel38 struct { NewSel0 } +func (e *NewSel39) Damage_ADD(t *info.DamageZone) bool { + + if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { + return true + } + + t.Damage = t.Damage.Add(t.Damage.Mul(decimal.NewFromInt(int64(e.Args()[0])))) + + return true +} func init() { input.InitEffect(input.EffectType.NewSel, 38, &NewSel38{}) } diff --git a/logic/service/fight/boss/NewSeIdx_39.go b/logic/service/fight/boss/NewSeIdx_39.go index a0ad1b623..737cbd9b7 100644 --- a/logic/service/fight/boss/NewSeIdx_39.go +++ b/logic/service/fight/boss/NewSeIdx_39.go @@ -1,7 +1,10 @@ package effect import ( + "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" + + "github.com/shopspring/decimal" ) // 39. 偶数伤害(dmg) 提升到 n * dmg;(a1: n) @@ -10,6 +13,19 @@ type NewSel39 struct { NewSel0 } +func (e *NewSel39) Damage_Floor(t *info.DamageZone) bool { + + if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { + return true + } + + if t.Damage.IntPart()%2 == 0 { + + t.Damage = t.Damage.Mul(decimal.NewFromInt(int64(e.Args()[0]))) + + } + return true +} func init() { input.InitEffect(input.EffectType.NewSel, 39, &NewSel39{}) } diff --git a/logic/service/fight/boss/NewSeIdx_40.go b/logic/service/fight/boss/NewSeIdx_40.go index 6a5f1105f..9f6586344 100644 --- a/logic/service/fight/boss/NewSeIdx_40.go +++ b/logic/service/fight/boss/NewSeIdx_40.go @@ -1,7 +1,10 @@ package effect import ( + "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" + + "github.com/shopspring/decimal" ) // 40. 奇数伤害(dmg) 改为 1/n * dmg;(a1: n) @@ -10,6 +13,19 @@ type NewSel40 struct { NewSel0 } +func (e *NewSel40) Damage_Floor(t *info.DamageZone) bool { + + if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { + return true + } + + if t.Damage.IntPart()%2 != 0 { + + t.Damage = t.Damage.Mul(decimal.NewFromInt(1 / int64(e.Args()[0]))) + + } + return true +} func init() { input.InitEffect(input.EffectType.NewSel, 40, &NewSel40{}) } diff --git a/logic/service/fight/boss/NewSeIdx_41.go b/logic/service/fight/boss/NewSeIdx_41.go index 3e01c920a..fd0c0d574 100644 --- a/logic/service/fight/boss/NewSeIdx_41.go +++ b/logic/service/fight/boss/NewSeIdx_41.go @@ -2,6 +2,8 @@ package effect import ( "blazing/logic/service/fight/input" + + "github.com/shopspring/decimal" ) // 41. 每回合恢复自身n点体力;(a1: n) @@ -10,6 +12,11 @@ type NewSel41 struct { NewSel0 } +func (e *NewSel41) Turn_End() { + + e.Ctx().Our.Heal(e.Ctx().Our, nil, decimal.NewFromInt(int64(e.Args()[0]))) + +} func init() { input.InitEffect(input.EffectType.NewSel, 41, &NewSel41{}) } diff --git a/logic/service/fight/boss/NewSeIdx_45.go b/logic/service/fight/boss/NewSeIdx_45.go index 979a2abad..3c1e0d1bc 100644 --- a/logic/service/fight/boss/NewSeIdx_45.go +++ b/logic/service/fight/boss/NewSeIdx_45.go @@ -1,6 +1,8 @@ package effect import ( + "blazing/logic/service/fight/action" + "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" ) @@ -10,6 +12,21 @@ type NewSel45 struct { NewSel0 } +func (e *NewSel45) Action_start(a, b *action.SelectSkillAction) bool { + if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { + return true + } + //fmt.Println(e.Ctx().SkillEntity) + if e.Ctx().SkillEntity == nil { + return true + } + if e.Ctx().SkillEntity.Category() == info.Category.STATUS { + return true + } + e.Ctx().SkillEntity.CritRate = e.Args()[0] + + return true +} func init() { input.InitEffect(input.EffectType.NewSel, 45, &NewSel45{}) } diff --git a/logic/service/fight/boss/NewSeIdx_6.go b/logic/service/fight/boss/NewSeIdx_6.go index b7af8a6c1..c345a5233 100644 --- a/logic/service/fight/boss/NewSeIdx_6.go +++ b/logic/service/fight/boss/NewSeIdx_6.go @@ -1,6 +1,7 @@ package effect import ( + element "blazing/common/data/Element" "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" ) @@ -19,6 +20,9 @@ func (e *NewSel6) Damage_Lock_ex(t *info.DamageZone) bool { if e.Ctx().SkillEntity == nil { return true } + if e.Ctx().SkillEntity.Type != int(element.ElementTypeNormal) { + return true + } // 3. 概率判定(Args()[1]为触发概率) success, _, _ := e.Input.Player.Roll(e.Args()[1], 100) diff --git a/logic/service/fight/boss/NewSeIdx_9.go b/logic/service/fight/boss/NewSeIdx_9.go index e50d9eeb1..4a8577324 100644 --- a/logic/service/fight/boss/NewSeIdx_9.go +++ b/logic/service/fight/boss/NewSeIdx_9.go @@ -10,6 +10,19 @@ type NewSel9 struct { NewSel0 } +func (e *NewSel9) Action_end_ex() bool { + if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime { + return true + } + full32 := int64(e.Args()[0])<<32 | int64(e.Args()[1]) + if e.Ctx().Our.CurrentPet.Info.Hp > uint32(e.Args()[0]) && e.Ctx().Our.CurrentPet.Info.Hp < uint32(full32) { + + e.Ctx().Our.Heal(e.Ctx().Our, nil, e.Ctx().Our.CurrentPet.GetMaxHP()) + + } + + return true +} func init() { input.InitEffect(input.EffectType.NewSel, 9, &NewSel9{}) } diff --git a/logic/service/fight/effect/effect_83.go b/logic/service/fight/effect/effect_83.go index ff8d12616..c4b459003 100644 --- a/logic/service/fight/effect/effect_83.go +++ b/logic/service/fight/effect/effect_83.go @@ -5,6 +5,7 @@ import ( "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" + "math" ) /** @@ -49,8 +50,14 @@ func (e *Effect83) Compare_Pre(fattack *action.SelectSkillAction, sattack *actio if fattack.PlayerID == e.Ctx().Our.UserID { return true } + if sattack == nil { + return true + } + if sattack.SkillEntity == nil { + return true + } //对调 - *fattack, *sattack = *sattack, *fattack + sattack.SkillEntity.Priority = math.MaxInt return true } diff --git a/logic/service/fight/fightc.go b/logic/service/fight/fightc.go index 2f6515df4..a3256dca7 100644 --- a/logic/service/fight/fightc.go +++ b/logic/service/fight/fightc.go @@ -6,6 +6,7 @@ import ( "blazing/logic/service/fight/action" "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" + "blazing/logic/service/player" "blazing/modules/blazing/model" "fmt" "reflect" @@ -299,6 +300,13 @@ func (f *FightC) enterturn(fattack, sattack *action.SelectSkillAction) { f.closefight = true // break } + if f.Info.Status == info.BattleMode.FIGHT_WITH_NPC { + if _, ok := defender.Player.(*player.AI_player); ok { + defender.GetAction(f.Our) + //panic("AI自动技能") + } + + } attacker.CanChange = true break } @@ -325,8 +333,11 @@ func (f *FightC) enterturn(fattack, sattack *action.SelectSkillAction) { } else { if f.Info.Status == info.BattleMode.FIGHT_WITH_NPC { - defender.GetAction(f.Our) - //panic("AI自动技能") + if _, ok := defender.Player.(*player.AI_player); ok { + defender.GetAction(f.Our) + //panic("AI自动技能") + } + } } break diff --git a/logic/service/fight/input/id.go b/logic/service/fight/input/id.go index 44c309472..bb07c7f27 100644 --- a/logic/service/fight/input/id.go +++ b/logic/service/fight/input/id.go @@ -69,7 +69,7 @@ func (e EffectIDCombiner) GetEffectType() EnumEffectType { // 参数t:可选,传入则替换当前CatchTime;不传则仅读取 // 返回:当前的CatchTime值 func (e *EffectIDCombiner) SetCatchTime(t ...uint32) { - + e.Base = (e.Base & ^catchMask) | (int64(t[0]) << catchOffset) } func (e EffectIDCombiner) GetCatchTime() uint32 { diff --git a/logic/service/fight/input/input.go b/logic/service/fight/input/input.go index 1f743e4f8..90f65b020 100644 --- a/logic/service/fight/input/input.go +++ b/logic/service/fight/input/input.go @@ -81,8 +81,11 @@ func (our *Input) SortPet() { t := Geteffect(EffectType.NewSel, e1.EID) if t != nil { ef := t.ID() + ef.SetCatchTime(v.Info.CatchTime) + t.ID(ef) + t.Duration(-1) t.SetArgs(our, e1.Args...) //设置入参,施加方永远是我方 our.AddEffect(our, t) diff --git a/logic/service/fight/loop.go b/logic/service/fight/loop.go index 5fee130a3..b23a47925 100644 --- a/logic/service/fight/loop.go +++ b/logic/service/fight/loop.go @@ -307,17 +307,22 @@ func (f *FightC) handleSkillActions(a1, a2 action.BattleActionI) { switch { case s1 == nil || s1.SkillEntity == nil: - if s2.CD != nil { - f.waittime = *s2.CD + if s2.SkillEntity != nil { + if s2.CD != nil { + f.waittime = *s2.CD + } } + f.enterturn(s2, nil) - fmt.Println("1 空过 2玩家执行技能:", s2.PlayerID, s2.Info.ID) + // fmt.Println("1 空过 2玩家执行技能:", s2.PlayerID, s2.Info.ID) case s2 == nil || s2.SkillEntity == nil: - if s1.CD != nil { - f.waittime = *s1.CD + if s1.SkillEntity != nil { + if s1.CD != nil { + f.waittime = *s1.CD + } } f.enterturn(s1, nil) - fmt.Println("2 空过 玩家执行技能:", s1.PlayerID, s1.Info.ID) + //fmt.Println("2 空过 玩家执行技能:", s1.PlayerID, s1.Info.ID) default: if s1.CD != nil { f.waittime = *s1.CD diff --git a/public/config/地图配置野怪.xml b/public/config/地图配置野怪.xml index 50461476f..b5a90f39a 100644 --- a/public/config/地图配置野怪.xml +++ b/public/config/地图配置野怪.xml @@ -384,6 +384,7 @@ eg: + @@ -413,6 +414,8 @@ eg: + + @@ -1802,6 +1805,7 @@ eg: +