package effect import ( "blazing/logic/service/fight/action" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" "github.com/alpacahq/alpacadecimal" ) // Effect 178: 造成伤害的1/{0}回复自身体力,若属性相同则造成伤害的1/{1}回复自身体力 type Effect178 struct { node.EffectNode } func (e *Effect178) Skill_Use_ex() bool { damageDone := e.CarrierInput().SumDamage var healAmount alpacadecimal.Decimal if e.CarrierInput().CurPet[0].Type == e.TargetInput().CurPet[0].Type { // 属性相同,1/m healAmount = damageDone.Div(e.Args()[1]) } else { // 属性不同,1/n healAmount = damageDone.Div(e.Args()[0]) } e.CarrierInput().Heal(e.CarrierInput(), &action.SelectSkillAction{}, healAmount) return true } func init() { input.InitEffect(input.EffectType.Skill, 178, &Effect178{}) }