Ejemplo n.º 1
0
        public void SlowdownAttack()
        {
            var enemy = Character.SelectedCharacter;

            if (!AssembleEnemy(enemy) || Character.Cooldowns.CooldownDictionary.Any(c => c.Value is SlowdownAttackCooldown))
            {
                return;
            }

            GameClient.SendToPlayerView(Character, netty.commands.old_client.LegacyModule.write("0|n|SAB_SHOT|" + Character.Id + "|" + enemy.Id), true);
            GameClient.SendToPlayerView(Character, netty.commands.new_client.LegacyModule.write("0|n|SAB_SHOT|" + Character.Id + "|" + enemy.Id), true);

            Character.Cooldowns.Add(new SlowdownAttackCooldown());

            var decEffect = new DecelerationEffect();

            decEffect.OnStart(enemy);
            enemy.Cooldowns.Add(decEffect);
        }
Ejemplo n.º 2
0
        public override void Effect()
        {
            var area = Spacemap.Entities.Where(x => x.Value.Position.DistanceTo(Position) <= 1000 && x.Value is Player);

            foreach (var entry in area)
            {
                if (entry.Value.Cooldowns.CooldownDictionary.Any(x => x.Value is DecelerationEffect))
                {
                    var dc = entry.Value.Cooldowns.CooldownDictionary.FirstOrDefault(x => x.Value is DecelerationEffect);
                    dc.Value.EndTime = dc.Value.EndTime.AddSeconds(3);
                }
                else
                {
                    var effect = new DecelerationEffect();
                    effect.OnStart(entry.Value);
                    entry.Value.Cooldowns.Add(effect);
                }
            }
        }
Ejemplo n.º 3
0
        public void Decelerate(Character target)
        {
            if (!(target is Player))
            {
                return;
            }

            var decCooldown = new DecelerationCooldown();

            if (Character is Player)
            {
                decCooldown.Send(World.StorageManager.GetGameSession(Character.Id));
            }
            Character.Cooldowns.Add(new DecelerationCooldown());

            var decEffect = new DecelerationEffect();

            decEffect.OnStart(target);
            target.Cooldowns.Add(new DecelerationEffect());
        }
Ejemplo n.º 4
0
        public void Decelerate(Character target)
        {
            if (!(target is Player))
            {
                return;
            }

            var decCooldown = new DecelerationCooldown();

            if (Character is Player)
            {
                decCooldown.Send(World.StorageManager.GetGameSession(Character.Id));
            }
            Character.Cooldowns.Add(decCooldown);

            var decEffect = new DecelerationEffect();

            decEffect.OnStart(target);
            target.Cooldowns.Add(decEffect);

            GameClient.SendToPlayerView(Character, netty.commands.old_client.LegacyModule.write("0|v|" + Character.Id + "|" + target.Id + "|H|" + 7 + "|1|" + (Character is Player && ((Player)Character).Storage.PrecisionTargeterActivated ? 1 : 0)), true);
            GameClient.SendToPlayerView(Character, netty.commands.new_client.LegacyModule.write("0|v|" + Character.Id + "|" + target.Id + "|H|" + 7 + "|1|" + (Character is Player && ((Player)Character).Storage.PrecisionTargeterActivated ? 1 : 0)), true);
        }