Esempio n. 1
0
        public virtual void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target)
        {
            if (IsSafeCasting()) //Todo: check if it will instant double-toggle toggleable spells like garenE
            {
                _castAction();
            }

            if (OnlyUpdateIfTargetValid && !target.IsValidTarget())
            {
                return;
            }
            if (OnlyUpdateIfCastable && (!CanBeCast() || IsSafeCasting()))
            {
                return;
            }

            if (mode == Orbwalking.OrbwalkingMode.None)
            {
                return;
            }
            if (mode == Orbwalking.OrbwalkingMode.LaneClear && SwitchClearToHarassOnTarget && target != null && HarassEnabled)
            {
                mode = Orbwalking.OrbwalkingMode.Mixed;
            }
            if (UseManaManager && !ManaManager.CanUseMana(mode))
            {
                return;
            }

            Spell.MinHitChance = mode == Orbwalking.OrbwalkingMode.Combo ? MinComboHitchance : MinHarassHitchance;

            switch (mode)
            {
            case Orbwalking.OrbwalkingMode.Combo:
                if (ComboEnabled)
                {
                    Combo(combo, target);
                }
                break;

            case Orbwalking.OrbwalkingMode.LaneClear:
                if (LaneclearEnabled)
                {
                    LaneClear(combo, target);
                }
                break;

            case Orbwalking.OrbwalkingMode.Mixed:
                if (HarassEnabled)
                {
                    Harass(combo, target);
                }
                break;
            }
        }
Esempio n. 2
0
 public virtual void Interruptable(ComboProvider combo, Obj_AI_Hero sender, ComboProvider.InterruptableSpell interruptableSpell)
 {
 }
Esempio n. 3
0
 public virtual void Gapcloser(ComboProvider combo, ActiveGapcloser gapcloser)
 {
 }
Esempio n. 4
0
 public virtual void Harass(ComboProvider combo, Obj_AI_Hero target)
 {
     Cast(target);
 }
Esempio n. 5
0
 public virtual void LaneClear(ComboProvider combo, Obj_AI_Hero target)
 {
 }
Esempio n. 6
0
 /// <summary>
 /// Add Initialisation logic in sub class. Called by ComboProvider.SetActive(skill)
 /// </summary>
 /// <param name="combo"></param>
 public virtual void Initialize(ComboProvider combo)
 {
     Provider = combo;
 }
Esempio n. 7
0
 /// <summary>
 /// Add Initialisation logic in sub class. Called by ComboProvider.SetActive(skill)
 /// </summary>
 /// <param name="combo"></param>
 public virtual void Initialize(IMainContext context, ComboProvider combo)
 {
     Provider = combo;
     Context  = context;
 }
Esempio n. 8
0
 public virtual void Gapcloser(IMainContext context, ComboProvider combo, ActiveGapcloser gapcloser)
 {
 }
Esempio n. 9
0
 public virtual void Harass(IMainContext context, ComboProvider combo, Obj_AI_Hero target)
 {
     Cast(target);
 }
Esempio n. 10
0
 public virtual void LaneClear(IMainContext context, ComboProvider combo, Obj_AI_Hero target)
 {
 }
Esempio n. 11
0
        public virtual void Update(Orbwalking.OrbwalkingMode mode, IMainContext context, ComboProvider combo, Obj_AI_Hero target)
        {
            if (mode == Orbwalking.OrbwalkingMode.None)
            {
                return;
            }
            if (mode == Orbwalking.OrbwalkingMode.LaneClear && SwitchClearToHarassOnTarget && target != null && HarassEnabled)
            {
                mode = Orbwalking.OrbwalkingMode.Mixed;
            }
            if (UseManaManager && !ManaManager.CanUseMana(mode))
            {
                return;
            }
            switch (mode)
            {
            case Orbwalking.OrbwalkingMode.Combo:
                if (ComboEnabled)
                {
                    Combo(context, combo, target);
                }
                break;

            case Orbwalking.OrbwalkingMode.LaneClear:
                if (LaneclearEnabled)
                {
                    LaneClear(context, combo, target);
                }
                break;

            case Orbwalking.OrbwalkingMode.Mixed:
                if (HarassEnabled)
                {
                    Harass(context, combo, target);
                }
                break;
            }
        }