Пример #1
0
        protected UsableAbility(Ability ability, AbilityType type, AbilityCastTarget target)
        {
            Sleeper = new Sleeper();
            Type    = type;

            if (ability == null)
            {
                //Gold spender
                return;
            }

            Ability              = ability;
            CastPoint            = (float)ability.FindCastPoint();
            Name                 = ability.Name;
            Handle               = ability.Handle;
            IsItem               = ability is Item;
            ClassId              = ability.ClassId;
            IgnoresLinkensSphere = ability.IsAbilityBehavior(AbilityBehavior.NoTarget) ||
                                   ability.IsAbilityBehavior(AbilityBehavior.AreaOfEffect);
            PiercesMagicImmunity = ability.PiercesMagicImmunity();
            CanBeUsedOnEnemy     = target.HasFlag(AbilityCastTarget.Enemy) || type == AbilityType.Disable;
            CanBeUsedOnAlly      = target.HasFlag(AbilityCastTarget.Ally);

            Debugger.WriteLine("///////// UsableAbility // " + Name);
            Debugger.WriteLine("// Type: " + Type);
            Debugger.WriteLine("// Cast point: " + CastPoint);
            Debugger.WriteLine("// Cast range: " + Ability.GetRealCastRange());
            Debugger.WriteLine("// Ignores linkens sphere: " + IgnoresLinkensSphere);
            Debugger.WriteLine("// Pierces magic immunity: " + PiercesMagicImmunity);
            Debugger.WriteLine("// Can be used on ally: " + CanBeUsedOnAlly);
            Debugger.WriteLine("// Can be used on enemy: " + CanBeUsedOnEnemy);
        }
Пример #2
0
 public DarkRift(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
     fountain =
         ObjectManager.GetEntities<Unit>()
             .First(x => x.ClassID == ClassID.CDOTA_Unit_Fountain && x.Team == HeroTeam);
 }
Пример #3
0
        protected UsableAbility(Ability ability, AbilityType type, AbilityCastTarget target)
        {
            Sleeper = new Sleeper();
            Type = type;

            if (ability == null)
            {
                //Gold spender
                return;
            }

            Ability = ability;
            CastPoint = (float)ability.FindCastPoint();
            Name = ability.Name;
            Handle = ability.Handle;
            IsItem = ability is Item;
            ClassID = ability.ClassID;
            IgnoresLinkensSphere = ability.IsAbilityBehavior(AbilityBehavior.NoTarget)
                                   || ability.IsAbilityBehavior(AbilityBehavior.AreaOfEffect);
            PiercesMagicImmunity = ability.PiercesMagicImmunity();
            CanBeUsedOnEnemy = target.HasFlag(AbilityCastTarget.Enemy) || type == AbilityType.Disable;
            CanBeUsedOnAlly = target.HasFlag(AbilityCastTarget.Ally);

            Debugger.WriteLine("///////// UsableAbility // " + Name);
            Debugger.WriteLine("// Type: " + Type);
            Debugger.WriteLine("// Cast point: " + CastPoint);
            Debugger.WriteLine("// Cast range: " + Ability.GetRealCastRange());
            Debugger.WriteLine("// Ignores linkens sphere: " + IgnoresLinkensSphere);
            Debugger.WriteLine("// Pierces magic immunity: " + PiercesMagicImmunity);
            Debugger.WriteLine("// Can be used on ally: " + CanBeUsedOnAlly);
            Debugger.WriteLine("// Can be used on enemy: " + CanBeUsedOnEnemy);
        }
Пример #4
0
 public DarkRift(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
     fountain =
         ObjectManager.GetEntities <Unit>()
         .First(x => x.ClassId == ClassId.CDOTA_Unit_Fountain && x.Team == HeroTeam);
 }
Пример #5
0
 public TimeWalk(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
     talent = Hero.GetAbilityById(AbilityId.special_bonus_unique_faceless_void);
     if (talent != null)
     {
         bonus = talent.AbilitySpecialData.First(x => x.Name == "value").Value;
     }
 }
Пример #6
0
        public ArmletOfMordiggian(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
            : base(ability, type, target)
        {
            attacking   = new MultiSleeper();
            attackStart = new MultiSleeper();

            Game.OnUpdate         += OnUpdate;
            Player.OnExecuteOrder += OnExecuteOrder;
        }
Пример #7
0
        public PhaseShift(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
            : base(ability, type, target)
        {
            sleeper = new Sleeper();
            Player.OnExecuteOrder += PlayerOnExecuteOrder;

            for (var i = 0u; i < shiftDuration.Length; i++)
            {
                shiftDuration[i] = Ability.AbilitySpecialData.First(x => x.Name == "duration").GetValue(i) * 1000;
            }
        }
Пример #8
0
        public PhaseShift(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
            : base(ability, type, target)
        {
            sleeper = new Sleeper();
            Player.OnExecuteOrder += PlayerOnExecuteOrder;

            for (var i = 0u; i < shiftDuration.Length; i++)
            {
                shiftDuration[i] = Ability.AbilitySpecialData.First(x => x.Name == "duration").GetValue(i) * 1000;
            }
        }
Пример #9
0
        public ArmletOfMordiggian(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
            : base(ability, type, target)
        {
            attacking = new MultiSleeper();
            attackStart = new MultiSleeper();
            delay = new Sleeper();

            delay.Sleep(1000);

            Game.OnUpdate += OnUpdate;
            Player.OnExecuteOrder += OnExecuteOrder;
        }
Пример #10
0
        public ArmletOfMordiggian(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
            : base(ability, type, target)
        {
            armletEnabled = Hero.Modifiers.Any(x => x.Name == ArmletModifierName);

            Game.OnUpdate                += OnUpdate;
            Player.OnExecuteOrder        += OnExecuteOrderId;
            Drawing.OnDraw               += OnDraw;
            ObjectManager.OnRemoveEntity += OnRemoveEntity;
            Entity.OnAnimationChanged    += OnAnimationChanged;
            Unit.OnModifierAdded         += OnModifierAdded;
            Unit.OnModifierRemoved       += OnModifierRemoved;
        }
Пример #11
0
 public SearingChains(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #12
0
 public Enrage(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #13
0
 public OrbAbility(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
     Unit.OnModifierAdded   += OnModifierAdded;
     Unit.OnModifierRemoved += OnModifierRemoved;
 }
Пример #14
0
 public Snowball(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
     grabRadius = Ability.AbilitySpecialData.First(x => x.Name == "snowball_grab_radius").Value;
 }
Пример #15
0
 public MedallionOfCourage(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #16
0
 public ElectricVortex(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #17
0
 public Replicate(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #18
0
 public SearingChains(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #19
0
 //todo: improve
 public SleightOfFist(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #20
0
 public FortunesEnd(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #21
0
 public NotTargetable(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #22
0
 public FireRemnant(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #23
0
 public Doppelganger(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #24
0
 public BladeMail(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #25
0
 public TreeDance(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
     fountain = ObjectManager.GetEntities <Unit>()
                .First(x => x.NetworkName == "CDOTA_Unit_Fountain" && x.Team == HeroTeam);
 }
Пример #26
0
 public Bloodstone(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
     Game.OnUpdate += OnUpdate;
 }
Пример #27
0
 public BallLightning(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
     //todo improve
     CastPoint += 0.1f;
 }
Пример #28
0
 public BallLightning(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
     //todo improve
 }
Пример #29
0
 public EchoSlam(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
     aftershockRadius = Hero.FindSpell("earthshaker_aftershock").GetRadius();
 }
Пример #30
0
 public Replicate(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #31
0
 public NotTargetable(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #32
0
 public FortunesEnd(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #33
0
 public Snowball(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #34
0
 public LinkensSphere(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #35
0
 public EchoSlam(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
     aftershockRadius = Hero.FindSpell("earthshaker_aftershock").GetRadius();
 }
Пример #36
0
 public TargetBlink(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #37
0
 public Supernova(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #38
0
 public TargetTree(Ability ability, AbilityType type, AbilityCastTarget target)
     : base(ability, type, target)
 {
 }
Пример #39
0
 public Bloodstone(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
     Game.OnUpdate += OnUpdate;
 }
Пример #40
0
 public ForceStaff(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #41
0
 public Snowball(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
     grabRadius = Ability.AbilitySpecialData.First(x => x.Name == "snowball_grab_radius").Value;
 }
Пример #42
0
 //todo: improve
 public SleightOfFist(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #43
0
 public Supernova(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #44
0
 public BlinkAbility(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #45
0
 public BlindingLight(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #46
0
 public FireRemnant(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }
Пример #47
0
 public LinkensSphere(Ability ability, AbilityType type, AbilityCastTarget target = AbilityCastTarget.Self)
     : base(ability, type, target)
 {
 }