2025-08-27 14:41:06 +00:00
|
|
|
|
package effect
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
2025-09-24 20:01:12 +00:00
|
|
|
|
"blazing/logic/service/fight/info"
|
2025-09-14 03:36:26 +08:00
|
|
|
|
"blazing/logic/service/fight/input"
|
2025-09-14 01:35:16 +08:00
|
|
|
|
"blazing/logic/service/fight/node"
|
2025-08-27 14:41:06 +00:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* n回合内没有击败,则对方死亡
|
|
|
|
|
|
*/
|
|
|
|
|
|
type Effect62 struct {
|
|
|
|
|
|
node.EffectNode
|
2025-08-27 15:29:34 +00:00
|
|
|
|
Hide bool // 是否隐藏 正常是命中就可用,镇魂歌是回合数到才可用
|
2025-09-24 19:47:01 +00:00
|
|
|
|
|
2025-08-27 14:41:06 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func init() {
|
2025-09-24 16:36:32 +00:00
|
|
|
|
input.InitEffect(input.EffectType.Skill, 62, &Effect62{
|
2025-09-06 00:31:08 +08:00
|
|
|
|
EffectNode: node.EffectNode{
|
2025-09-23 17:34:58 +00:00
|
|
|
|
Owner: true,
|
2025-09-06 00:31:08 +08:00
|
|
|
|
},
|
|
|
|
|
|
})
|
2025-08-27 14:41:06 +00:00
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-09-24 20:01:12 +00:00
|
|
|
|
func (e *Effect62) AfterHit(*input.Input, *info.SkillEntity) {
|
2025-09-24 19:47:01 +00:00
|
|
|
|
if e.Duration() != 1 { //说明还没到生效节点
|
2025-09-24 18:53:54 +00:00
|
|
|
|
e.Hide = true //隐藏效果
|
2025-09-24 19:47:01 +00:00
|
|
|
|
} else {
|
|
|
|
|
|
e.Hide = false
|
2025-08-27 15:29:34 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-09-24 19:47:01 +00:00
|
|
|
|
if !e.Hide && e.Hit() { //说明是自身回合//如果还在隐藏,就直接返回
|
2025-09-24 18:53:54 +00:00
|
|
|
|
|
|
|
|
|
|
//defer e.EffectNode.NotALive() //失效
|
2025-09-24 16:36:32 +00:00
|
|
|
|
//应该是对方固定伤害等于自身血量
|
|
|
|
|
|
//e.Input.Death() //本只死亡
|
2025-09-23 19:38:08 +00:00
|
|
|
|
|
2025-09-24 18:53:54 +00:00
|
|
|
|
//否则触发秒杀 在对面使用技能后
|
|
|
|
|
|
//return true
|
2025-09-03 01:30:26 +08:00
|
|
|
|
}
|
2025-09-23 19:38:08 +00:00
|
|
|
|
|
2025-09-03 01:30:26 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-09-24 16:36:32 +00:00
|
|
|
|
// 默认添加回合
|
|
|
|
|
|
func (e *Effect62) SetArgs(t *input.Input, a ...int) {
|
2025-09-23 23:05:23 +00:00
|
|
|
|
|
2025-09-24 16:36:32 +00:00
|
|
|
|
e.EffectNode.SetArgs(t, a...)
|
2025-09-24 20:17:44 +00:00
|
|
|
|
e.EffectNode.Duration(e.EffectNode.SideEffectArgs[0])
|
2025-09-23 23:05:23 +00:00
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-09-03 01:30:26 +08:00
|
|
|
|
// 因为对方切精灵,这个效果也要无效掉
|
|
|
|
|
|
func (this *Effect62) OnSwitchIn() bool {
|
|
|
|
|
|
if this.Hide { //如果还在隐藏,就直接返回
|
|
|
|
|
|
return true
|
|
|
|
|
|
}
|
2025-09-06 00:31:08 +08:00
|
|
|
|
//this.GetBattle().Effects[this.GetInput().UserID].RemoveEffect(this)
|
2025-09-03 01:30:26 +08:00
|
|
|
|
//否则触发秒杀 在对面使用技能后
|
|
|
|
|
|
return true
|
|
|
|
|
|
|
2025-08-27 15:29:34 +00:00
|
|
|
|
}
|