示例#1
0
        public void Send()
        {
            if (Player.Ship.Id == 64 && (cooldown.AddMilliseconds(TimeManager.DIMINISHER_DURATION + TimeManager.DIMINISHER_COOLDOWN) < DateTime.Now || Player.Storage.GodMode))
            {
                var enemy = Player.Selected;
                if (enemy == null || !(enemy is Player))
                {
                    return;
                }
                if (!Player.AttackManager.TargetDefinition(enemy as Player, false))
                {
                    return;
                }

                Player.Storage.Diminisher            = true;
                Player.Storage.UnderDiminisherPlayer = enemy as Player;

                Player.AddVisualModifier(new VisualModifierCommand(Player.Id, VisualModifierCommand.WEAKEN_SHIELDS, 0, true));
                (enemy as Player).AddVisualModifier(new VisualModifierCommand(enemy.Id, VisualModifierCommand.WEAKEN_SHIELDS, 0, true));
                (enemy as Player).SendCommand(AbilityStopCommand.write(2, enemy.Id, new List <int>()));

                Active   = true;
                cooldown = DateTime.Now;
            }
        }
        public void ExecuteHeal()
        {
            int heal = Maths.GetPercentage(Player.MaxHitPoints, 50);

            if (Player.Group != null)
            {
                foreach (var player in Player.Group.Members.Values)
                {
                    if (player.Spacemap != Player.Spacemap)
                    {
                        return;
                    }
                    player.Heal(heal);
                    if (player == Player)
                    {
                        return;
                    }

                    string packet = "0|SD|A|R|1|" + player.Id + "";
                    player.SendPacket(packet);
                    player.SendPacketToInRangePlayers(packet);
                    player.SendCommand(AbilityStopCommand.write(1, player.Id, new List <int>()));
                }
            }
            else
            {
                Player.Heal(heal);
            }
        }
示例#3
0
        public void Send()
        {
            if (Player.Ship.Id == 67 && (cooldown.AddMilliseconds(TimeManager.VENOM_DURATION + TimeManager.VENOM_COOLDOWN) < DateTime.Now || Player.Storage.GodMode))
            {
                var enemy = Player.Selected;
                if (enemy == null || !(enemy is Player))
                {
                    return;
                }
                if (!Player.AttackManager.TargetDefinition(enemy as Player, false))
                {
                    return;
                }

                DAMAGE = 1500;
                Player.Storage.Venom            = true;
                Player.Storage.UnderVenomPlayer = enemy as Player;

                Player.AddVisualModifier(new VisualModifierCommand(Player.Id, VisualModifierCommand.SINGULARITY, 0, true));
                (enemy as Player).AddVisualModifier(new VisualModifierCommand(enemy.Id, VisualModifierCommand.SINGULARITY, 0, true));
                (enemy as Player).SendCommand(AbilityStopCommand.write(5, enemy.Id, new List <int>()));

                Player.SendCooldown(ServerCommands.SKILL_VENOM, TimeManager.VENOM_DURATION);
                Active   = true;
                cooldown = DateTime.Now;
            }
        }
        public void Send()
        {
            if (Player.Ship.Id == 63 && (cooldown.AddMilliseconds(TimeManager.SOLACE_COOLDOWN) < DateTime.Now || Player.Storage.GodMode))
            {
                ExecuteHeal();

                string packet = "0|SD|A|R|1|" + Player.Id + "";
                Player.SendPacket(packet);
                Player.SendPacketToInRangePlayers(packet);
                Player.SendCommand(AbilityStopCommand.write(1, Player.Id, new List <int>()));

                Player.SendCooldown(ServerCommands.SKILL_SOLACE, TimeManager.SOLACE_COOLDOWN);
                cooldown = DateTime.Now;
            }
        }