package effect import ( "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" ) // Effect 1044: 吸取对手能力提升状态,吸取成功则下{0}回合造成的伤害翻倍 type Effect1044 struct { node.EffectNode damageMultiplierActive bool multiplierDuration int can bool } func (e *Effect1044) OnSkill() bool { // 检查对手是否有能力提升状态可以吸取 for i, v := range e.Ctx().Opp.Prop[:] { if v > 0 { if e.Ctx().Opp.SetProp(e.Ctx().Our, int8(i), 0) { e.can = true e.Ctx().Our.SetProp(e.Ctx().Our, int8(i), v) } } } return true } func (e *Effect1044) Damage_Mul(t *info.DamageZone) bool { if !e.can { return true } if t.Type != info.DamageType.Red { return true } t.Mul(2) return true } func init() { input.InitEffect(input.EffectType.Skill, 1044, &Effect1044{}) }