Exemplo n.º 1
0
        public override void OnLoad()
        {
            Q = new Spell.Active(SpellSlot.Q, 425, DamageType.Physical)
            {
                CastDelay = 750
            };
            W = new Spell.Active(SpellSlot.W, 100, DamageType.Physical)
            {
                CastDelay = 300
            };
            E = new Spell.Skillshot(SpellSlot.E, 510, SkillShotType.Cone, 250, int.MaxValue, 80, DamageType.Physical)
            {
                ConeAngleDegrees = 50
            };
            R = new Spell.Targeted(SpellSlot.R, 460, DamageType.True)
            {
                CastDelay = 250
            };

            new Config();

            Q.AddRawDamage(new RawDamage
            {
                PreCalculatedDamage = () =>
                {
                    var dmgs       = new[] { 20f, 35f, 50f, 65f, 80f };
                    var mods       = new[] { 0.5f, 0.55f, 0.6f, 0.65f, 0.7f };
                    var scale      = Player.Instance.TotalAttackDamage;
                    var currentDmg = dmgs.GetCurrentDamage(mods, SpellSlot.Q, scale);
                    return(currentDmg);
                },
                Spell  = Q,
                Source = Player.Instance,
                Stage  = 1
            });

            W.AddRawDamage(new RawDamage
            {
                PreCalculatedDamage = () => Player.Instance.TotalAttackDamage * 0.4f,
                Spell  = W,
                Source = Player.Instance,
                Stage  = 1
            });

            R.AddRawDamage(new RawDamage
            {
                PreCalculatedDamage = () =>
                {
                    var index = R.Level - 1;

                    if (index < 0)
                    {
                        return(0);
                    }

                    var baseDmg       = new[] { 100f, 200f, 300f }[index];
                    var mod           = 0.75f;
                    var scale         = Player.Instance.FlatPhysicalDamageMod;
                    var currentDamage = baseDmg + (scale * mod);
                    return(currentDamage);
                },
                Spell  = R,
                Source = Player.Instance,
                Stage  = 1
            });

            Drawing.OnEndScene                += this.Drawing_OnEndScene;
            Obj_AI_Base.OnProcessSpellCast    += this.Obj_AI_Base_OnProcessSpellCast;
            Orbwalker.OverrideOrbwalkPosition += this.OverrideOrbwalkPosition;
            Orbwalker.OnPostAttack            += this.Orbwalker_OnPostAttack;
            Gapcloser.OnGapcloser             += this.Gapcloser_OnGapcloser;
            Dash.OnDash += this.Dash_OnDash;
            Interrupter.OnInterruptableSpell += this.Interrupter_OnInterruptableSpell;
            Spellbook.OnStopCast             += this.Spellbook_OnStopCast;
            Obj_AI_Base.OnBuffGain           += this.Obj_AI_Base_OnBuffGain;
            Orbwalker.OnUnkillableMinion     += this.Orbwalker_OnUnkillableMinion;
        }