diff --git a/logic/service/fight/fightc.go b/logic/service/fight/fightc.go index 3e8798062..b58a0a955 100644 --- a/logic/service/fight/fightc.go +++ b/logic/service/fight/fightc.go @@ -33,7 +33,12 @@ func (*FightC) processSkillAttack(attacker, defender *input.Input, skill *info.S var originalProps [2][6]int8 var originalPetInfo [2]model.PetInfo originalProps[0], originalProps[1] = attacker.Prop, defender.Prop //先复制能力提升 - originalPetInfo[0], originalPetInfo[1] = attacker.CurrentPet.Info, defender.CurrentPet.Info + if attacker != nil { + originalPetInfo[0] = attacker.CurrentPet.Info + } + if defender != nil { + originalPetInfo[1] = defender.CurrentPet.Info + } attacker.Exec(func(effect input.Effect) bool { //计算变威力 @@ -53,7 +58,13 @@ func (*FightC) processSkillAttack(attacker, defender *input.Input, skill *info.S } attacker.Prop, defender.Prop = originalProps[0], originalProps[1] - attacker.CurrentPet.Info, defender.CurrentPet.Info = originalPetInfo[0], originalPetInfo[1] + if attacker != nil { + attacker.CurrentPet.Info = originalPetInfo[0] + } + if defender != nil { + defender.CurrentPet.Info = originalPetInfo[1] + } + if attacker.IsCritical == 1 { //命中了才有暴击 //暴击破防 if skill.Category() == info.Category.PHYSICAL && defender.Prop[1] > 0 {