package effect import ( "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" ) // 513 - 处在烧伤、中毒、冻伤状态时威力翻倍,命中后解除这些异常状态 type Effect513 struct { node.EffectNode } func (e *Effect513) SkillHit() bool { if e.Ctx().SkillEntity == nil { return true } stas := []info.EnumPetStatus{ info.PetStatus.Burned, info.PetStatus.Poisoned, info.PetStatus.Frozen, } var hasSpecificStatus bool for _, sta := range stas { if e.Ctx().Our.StatEffect_Exist(sta) { hasSpecificStatus = true r := e.Ctx().Our.GetEffect(input.EffectType.Status, int(sta)) r.Alive(false) } } if hasSpecificStatus { // 威力翻倍 e.Ctx().SkillEntity.XML.Power *= 2 } return true } func init() { input.InitEffect(input.EffectType.Skill, 513, &Effect513{}) }