public SpellFailedReason FindAllTargets() { this.IsInitialized = true; WorldObject casterObject = this.Cast.CasterObject; if (casterObject == null) { SpellTargetCollection.log.Warn("Invalid SpellCast - Tried to find targets, without Caster set: {0}", (object)casterObject); return(SpellFailedReason.Error); } SpellEffect effect = this.FirstHandler.Effect; if (effect.Spell.IsPreventionDebuff) { SpellFailedReason spellFailedReason = SpellFailedReason.Ok; foreach (SpellEffectHandler handler in this.m_handlers) { spellFailedReason = handler.ValidateAndInitializeTarget(casterObject); if (spellFailedReason != SpellFailedReason.Ok) { return(spellFailedReason); } } this.Add(casterObject); return(spellFailedReason); } SpellFailedReason spellFailedReason1 = SpellFailedReason.Ok; TargetDefinition targetDefinition = effect.GetTargetDefinition(); if (targetDefinition != null) { SpellFailedReason failReason = SpellFailedReason.Ok; targetDefinition.Collect(this, ref failReason); } else { if (effect.ImplicitTargetA != ImplicitSpellTargetType.None) { spellFailedReason1 = this.FindTargets(effect.ImplicitTargetA); if (spellFailedReason1 != SpellFailedReason.Ok) { return(spellFailedReason1); } } if (effect.ImplicitTargetB != ImplicitSpellTargetType.None) { spellFailedReason1 = this.FindTargets(effect.ImplicitTargetB); } } return(spellFailedReason1); }
public SpellFailedReason FindTargets(ImplicitSpellTargetType targetType) { SpellFailedReason failReason = SpellFailedReason.Ok; TargetDefinition targetDefinition = DefaultTargetDefinitions.GetTargetDefinition(targetType); if (targetDefinition != null) { targetDefinition.Collect(this, ref failReason); } return(failReason); }