예제 #1
0
        private void PerformHeal(IChampion owner, ISpell spell, IChampion target)
        {
            float healthGain = 75 + (target.Stats.Level * 15);

            if (target.HasBuffGameScriptActive("HealCheck", "HealCheck"))
            {
                healthGain *= 0.5f;
            }
            var newHealth = target.Stats.CurrentHealth + healthGain;

            target.Stats.CurrentHealth = Math.Min(newHealth, target.Stats.HealthPoints.Total);
            target.AddBuffGameScript("HealSpeed", "HealSpeed", spell, 1.0f, true);
            target.AddBuffGameScript("HealCheck", "HealCheck", spell, 35.0f, true);
            AddParticleTarget(owner, "global_ss_heal_02.troy", target);
            AddParticleTarget(owner, "global_ss_heal_speedboost.troy", target);
        }
예제 #2
0
        public void OnFinishCasting(IChampion owner, ISpell spell, IAttackableUnit target)
        {
            owner.AddBuffGameScript("YoumuusGhostblade", "YoumuusGhostblade", spell, 6.0f, true);
            var p = AddParticleTarget(owner, "spectral_fury_activate_speed.troy", owner, 2);

            CreateTimer(6.0f, () =>
            {
                RemoveParticle(p);
            });
        }
예제 #3
0
        public void OnFinishCasting(IChampion owner, ISpell spell, IAttackableUnit target)
        {
            if (!owner.IsDead)
            {
                return;
            }

            owner.Respawn();
            AddParticleTarget(owner, "Global_SS_Revive.troy", owner);
            owner.AddBuffGameScript("SummonerReviveSpeedBoost", "SummonerReviveSpeedBoost", spell, 12.0f, true);
        }
예제 #4
0
        public void OnStartCasting(IChampion owner, ISpell spell, IAttackableUnit target)
        {
            owner.AddBuffGameScript("SummonerHasteBuff", "SummonerHasteBuff", spell, 10.0f, true);
            var p1 = AddParticleTarget(owner, "Global_SS_Ghost.troy", target);
            var p2 = AddParticleTarget(owner, "Global_SS_Ghost_cas.troy", target);

            CreateTimer(10.0f, () =>
            {
                RemoveParticle(p1);
                RemoveParticle(p2);
            });
        }
예제 #5
0
파일: E.cs 프로젝트: agentran/GameServer
        public void OnFinishCasting(IChampion owner, ISpell spell, IAttackableUnit target)
        {
            var current    = new Vector2(owner.X, owner.Y);
            var to         = Vector2.Normalize(new Vector2(spell.X, spell.Y) - current);
            var range      = to * 425;
            var trueCoords = current + range;

            DashToLocation(owner, trueCoords.X, trueCoords.Y, 1200, false, "Spell3");
            owner.AddBuffGameScript("Quickdraw", "Quickdraw", spell, 4.0f, true);
            var p = AddParticleTarget(owner, "Graves_Move_OnBuffActivate.troy", owner);

            CreateTimer(4.0f, () =>
            {
                RemoveParticle(p);
            });
        }