package effect import ( "blazing/logic/service/fight/action" "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" ) // Effect 142: 损失1/{0}的体力值,下回合能较快出手 type Effect142 struct { node.EffectNode can bool } func (e *Effect142) ComparePre(fattack *action.SelectSkillAction, sattack *action.SelectSkillAction) bool { if fattack == nil { return true } //先手是自己 if fattack.PlayerID == e.Ctx().Our.UserID { return true } if sattack == nil { return true } if sattack.SkillEntity == nil { return true } //对调 sattack.SkillEntity.XML.Priority += 1 return true } func (e *Effect142) OnSkill() bool { // 损失1/n的体力值 maxHp := e.Ctx().Our.CurrentPet.GetMaxHP() damageAmount := maxHp.Div(e.Args()[0]) // 1/n damageZone := &info.DamageZone{ Type: info.DamageType.Fixed, Damage: damageAmount, } e.Ctx().Our.Damage(e.Ctx().Our, damageZone) return true } func init() { input.InitEffect(input.EffectType.Skill, 142, &Effect142{}) }