技能实现

This commit is contained in:
1
2025-10-05 07:13:43 +00:00
parent 4e2073e185
commit b93a4dd1a2
6 changed files with 12 additions and 31 deletions

View File

@@ -13,7 +13,7 @@ type Effect10 struct {
func newp(t1 info.EnumBattleStatus) *Effect10 {
t := &Effect10{
Status: info.PetStatus.Paralysis,
Status: t1,
}
t.Effect = t
return t

View File

@@ -1,7 +1,6 @@
package effect
import (
"blazing/logic/service/fight/info"
"blazing/logic/service/fight/input"
"blazing/logic/service/fight/node"
)
@@ -32,8 +31,9 @@ func init() {
Max: 180,
})
}
func (e *Effect61) PreSkill(opp *input.Input, skill *info.SkillEntity) {
func (e *Effect61) Skill_Hit(ctx input.Ctx) bool {
skill.Power = int(e.Input.FightC.GetRand().Int31n(int32(e.Max)-int32(e.Min)+1) + int32(e.Min))
ctx.SkillEntity.Power = int(e.Input.FightC.GetRand().Int31n(int32(e.Max)-int32(e.Min)+1) + int32(e.Min))
return true
}

View File

@@ -2,7 +2,6 @@ package effect
import (
"blazing/common/utils"
"blazing/logic/service/fight/info"
"blazing/logic/service/fight/input"
"blazing/logic/service/fight/node"
)
@@ -24,18 +23,18 @@ type Effect9 struct {
UseSkillCount int //技能使用了多少次切换后置0
}
func (e *Effect9) PreSkill(opp *input.Input, skill *info.SkillEntity) {
if e.Skillid != 0 && skill.ID != e.Skillid {
func (e *Effect9) Skill_Hit(ctx input.Ctx) bool {
if e.Skillid != 0 && ctx.SkillEntity.ID != e.Skillid {
e.NotALive()
e.UseSkillCount = 0
return
return true
}
e.Skillid = skill.ID
e.Skillid = ctx.SkillEntity.ID
add := e.EffectNode.SideEffectArgs[0] * e.UseSkillCount
skill.Power += utils.Min(add, e.EffectNode.SideEffectArgs[1])
ctx.SkillEntity.Power += utils.Min(add, e.EffectNode.SideEffectArgs[1])
e.UseSkillCount++
return true
}

View File

@@ -113,7 +113,7 @@ func (u *Input) Damage(ctx Ctx) {
}
ctx.Input.DamageZone.BeforeLocked = ctx.DamageZone.Damage
if ok {
ok = u.Exec(func(t Effect) bool {
u.Exec(func(t Effect) bool {
t.Damage_Locked(ctx)

View File

@@ -4,7 +4,6 @@ import (
"blazing/logic/service/fight/info"
"blazing/modules/blazing/model"
"reflect"
"github.com/brunoga/deep"
"github.com/tnnmigga/enum"
@@ -104,23 +103,6 @@ func (c *Input) GetCurrAttr(id int) *model.PetInfo {
//todo 获取后GetEffect
}
func getTypeName(v interface{}) string {
// 获取类型信息
t := reflect.TypeOf(v)
// 如果是指针类型,需要先获取其指向的元素类型
if t.Kind() == reflect.Ptr {
t = t.Elem()
}
// 如果是结构体类型,返回其名称
if t.Kind() == reflect.Struct {
return t.Name()
}
// 非结构体类型返回空或对应的类型名
return t.Kind().String()
}
func (c *Input) AddEffect(e *EffectID) {
if e.ID == 0 {

View File

@@ -11,7 +11,7 @@ func (e *EffectNode) OnSwitchIn(ctx input.Ctx) bool {
func (e *EffectNode) OnSwitchOut(ctx input.Ctx) bool {
//下场默认清除effect
if e.Owner { //清除对方的我方施加uff
if e.GetInput().UserID == ctx.Player.GetInfo().UserID { //清除对方的我方施加uff
e.NotALive()
}
return true