```
feat(fight): 更新战斗效果计算逻辑并修复宠物信息返回 - 在PetBargeListInfo中添加EnCntCnt字段并修复返回值 - 将effect_195和effect_566中的SkillHit方法重命名为CalculatePre - 在effect_566中添加can字段 - 更新fightc.go中的技能处理流程,将SkillHit调用改为CalculatePre - 在接口定义中将Calculate_Pre重命名为CalculatePre
This commit is contained in:
@@ -231,12 +231,11 @@ func (h Controller) GetPetBargeList(data *pet.PetBargeListInboundInfo, player *p
|
||||
|
||||
ret.PetBargeList = append(ret.PetBargeList, pet.PetBargeListInfo{
|
||||
PetId: v.PetId,
|
||||
EnCntCnt: 1,
|
||||
IsCatched: v.CatchedCount,
|
||||
IsKilled: v.KilledCount,
|
||||
})
|
||||
}
|
||||
|
||||
return &pet.PetBargeListOutboundInfo{
|
||||
PetBargeList: make([]pet.PetBargeListInfo, 0),
|
||||
}, 0
|
||||
return ret, 0
|
||||
}
|
||||
|
||||
@@ -20,13 +20,13 @@ func init() {
|
||||
|
||||
}
|
||||
|
||||
// 命中之后
|
||||
func (e *Effect195) OnSkill() bool {
|
||||
// // 命中之后
|
||||
// func (e *Effect195) OnSkill() bool {
|
||||
|
||||
e.Ctx().Opp.CancelTurn(e.Ctx().Our)
|
||||
return true
|
||||
}
|
||||
func (e *Effect195) SkillHit() bool {
|
||||
// e.Ctx().Opp.CancelTurn(e.Ctx().Our)
|
||||
// return true
|
||||
// }
|
||||
func (e *Effect195) CalculatePre() bool {
|
||||
|
||||
e.Ctx().Opp.Prop[1] = utils.Min(e.Ctx().Opp.Prop[1], 0)
|
||||
e.Ctx().Opp.Prop[3] = utils.Min(e.Ctx().Opp.Prop[3], 0)
|
||||
|
||||
@@ -11,6 +11,7 @@ import (
|
||||
*/
|
||||
type Effect566 struct {
|
||||
node.EffectNode
|
||||
can bool
|
||||
}
|
||||
|
||||
func init() {
|
||||
@@ -23,10 +24,10 @@ func init() {
|
||||
// 命中之后
|
||||
func (e *Effect566) OnSkill() bool {
|
||||
|
||||
e.Ctx().Opp.CancelTurn(e.Ctx().Our)
|
||||
//e.Ctx().Opp.CancelTurn(e.Ctx().Our)
|
||||
return true
|
||||
}
|
||||
func (e *Effect566) SkillHit() bool {
|
||||
func (e *Effect566) CalculatePre() bool {
|
||||
if e.Ctx().SkillEntity == nil {
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -25,6 +25,12 @@ func (f *FightC) processSkillAttack(attacker, defender *input.Input, skill *info
|
||||
return true
|
||||
})
|
||||
|
||||
attacker.Exec(func(effect input.Effect) bool {
|
||||
//计算变威力
|
||||
effect.Ctx().SkillEntity = skill
|
||||
effect.SkillHit() //相当于先调整基础命中,不光调整命中,这里还能调整技能属性,暴击率
|
||||
return true
|
||||
})
|
||||
var originalProps [2][6]int8
|
||||
var originalPetInfo [2]model.PetInfo
|
||||
originalProps[0], originalProps[1] = attacker.Prop, defender.Prop //先复制能力提升
|
||||
@@ -33,7 +39,7 @@ func (f *FightC) processSkillAttack(attacker, defender *input.Input, skill *info
|
||||
attacker.Exec(func(effect input.Effect) bool {
|
||||
//计算变威力
|
||||
effect.Ctx().SkillEntity = skill
|
||||
effect.SkillHit() //相当于先调整基础命中,不光调整命中,这里还能调整技能属性,暴击率
|
||||
effect.CalculatePre() //相当于先调整基础命中,不光调整命中,这里还能调整技能属性,暴击率
|
||||
return true
|
||||
})
|
||||
//技能命中+效果失效 这里就是修改效果命中为false
|
||||
|
||||
@@ -18,8 +18,8 @@ type Effect interface {
|
||||
SkillHit() bool //这是是命中后的对技能的修改,比如变威力
|
||||
SkillHit_ex() bool // 技能命中前触发//预处理受击技能 被攻击方效果,比如受击时无效技能这样
|
||||
|
||||
//Calculate_Pre() bool //视为 无视效果,相当于这里对敌方的修改
|
||||
OnSkill() bool // 触发on miss onhit
|
||||
CalculatePre() bool //视为 无视效果,相当于这里对敌方的修改
|
||||
OnSkill() bool // 触发on miss onhit
|
||||
|
||||
//Skill_Can() bool //使用技能 可以取消用技能节点 技能无效节点锁定伤害加上
|
||||
Damage_ADD(*info.DamageZone) bool // 攻击前触发 ,这时候就是+区间
|
||||
|
||||
@@ -19,6 +19,10 @@ func (e *EffectNode) SkillHit() bool {
|
||||
func (e *EffectNode) SkillHit_ex() bool {
|
||||
return true
|
||||
}
|
||||
func (e *EffectNode) CalculatePre() bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func (e *EffectNode) OnSkill() bool {
|
||||
// if e.Effect != nil {
|
||||
// if e.Hit() { //没命中
|
||||
|
||||
Reference in New Issue
Block a user