예제 #1
0
        public virtual void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, AIHeroClient target)
        {
            if (mode == Orbwalking.OrbwalkingMode.None)
            {
                return;
            }

            var targetIsValid = target.IsValidTarget();

            if (OnlyUpdateIfTargetValid && mode == Orbwalking.OrbwalkingMode.Combo && !targetIsValid)
            {
                return;
            }
            if (OnlyUpdateIfCastable && !CanBeCast())
            {
                return;                                       //Todo: check if nessecary with new comboSystem
            }
            MinHitChance = mode == Orbwalking.OrbwalkingMode.Combo ? MinComboHitchance : MinHarassHitchance;

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

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

            case Orbwalking.OrbwalkingMode.Mixed:
                if (HarassEnabled)
                {
                    if (targetIsValid || !OnlyUpdateIfTargetValid)
                    {
                        Harass(target);
                    }
                    if (LasthitEnabled)
                    {
                        Lasthit();
                    }
                }
                break;

            case Orbwalking.OrbwalkingMode.LastHit:
                if (LasthitEnabled)
                {
                    Lasthit();
                }
                break;
            }
        }
예제 #2
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;
 }
예제 #3
0
 public virtual void Gapcloser(ComboProvider combo, ActiveGapcloser gapcloser)
 {
 }
예제 #4
0
 public virtual void Interruptable(ComboProvider combo, AIHeroClient sender, ComboProvider.InterruptableSpell interruptableSpell, float endTime)
 {
 }
예제 #5
0
 public virtual void Interruptable(ComboProvider combo, Obj_AI_Hero sender, ComboProvider.InterruptableSpell interruptableSpell, float endTime)
 {
 }