package effect import ( "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "github.com/alpacahq/alpacadecimal" ) // 47. 敌我双方伤害降低n%(a1: n) type NewSel47 struct { NewSel0 } func (e *NewSel47) DamageAdd(t *info.DamageZone) bool { if t.Type != info.DamageType.Red { return true } ratio := alpacadecimal.NewFromInt(100).Sub(e.Args()[0]).Div(alpacadecimal.NewFromInt(100)) t.Damage = t.Damage.Mul(ratio) return true } func (e *NewSel47) DamageDivEx(t *info.DamageZone) bool { if !e.IsOwner() { return true } if t.Type != info.DamageType.Red { return true } ratio := alpacadecimal.NewFromInt(100).Sub(e.Args()[0]).Div(alpacadecimal.NewFromInt(100)) t.Damage = t.Damage.Mul(ratio) return true } func init() { input.InitEffect(input.EffectType.NewSel, 47, &NewSel47{}) }