예제 #1
0
 protected EvadableAbility(Ability ability)
 {
     AbilityOwner         = (Unit)ability.Owner;
     OwnerHandle          = AbilityOwner.Handle;
     Handle               = ability.Handle;
     Ability              = ability;
     CastPoint            = (float)ability.FindCastPoint();
     Name                 = ability.Name;
     OwnerClassID         = AbilityOwner.ClassID;
     IsDisable            = ability.IsDisable() || ability.IsSilence();
     PiercesMagicImmunity = ability.PiercesMagicImmunity();
     if (IsDisable)
     {
         DisableAbilities.AddRange(AbilityNames.DisableAbilityNames);
         BlinkAbilities.AddRange(AbilityNames.BlinkAbilityNames);
     }
     Debugger.WriteLine("///////// Evadable ability // " + GetType().Name + " (" + Name + ")");
     Debugger.WriteLine("// Cast point: " + CastPoint);
     Debugger.WriteLine("// Owner: " + AbilityOwner.GetName());
     Debugger.WriteLine("// Is disable: " + IsDisable);
     Debugger.WriteLine("// Pierces Magic Immunity: " + PiercesMagicImmunity);
 }