Esempio n. 1
0
        public void SendReward()
        {
            var portal = Spacemap.Activatables.Values.FirstOrDefault(x => x is Portal && (x as Portal).Position == (SelectedFactionId == 1 ? MMOPosition : SelectedFactionId == 2 ? EICPosition : VRUPosition));

            GameManager.SendCommandToMap(Spacemap.Id, ActivatePortalCommand.write((portal as Portal).TargetSpaceMapId, portal.Id));

            switch (SelectedFactionId)
            {
            case 1:
                Mmo++;
                GameManager.SendPacketToAll($"0|A|STM|msg_spaceball_company_scored|%COMPANY%|MMO");
                break;

            case 2:
                Eic++;
                GameManager.SendPacketToAll($"0|A|STM|msg_spaceball_company_scored|%COMPANY%|EIC");
                break;

            case 3:
                Vru++;
                GameManager.SendPacketToAll($"0|A|STM|msg_spaceball_company_scored|%COMPANY%|VRU");
                break;
            }

            GameManager.SendPacketToAll($"0|n|ssi|{Mmo}|{Eic}|{Vru}");

            for (int i = 0; i <= 20; i++)
            {
                new CargoBox(Position.Random(Spacemap, Position.X - 1000, Position.X + 500, Position.Y - 1000, Position.Y + 500), Spacemap, false, true);
            }

            if (Mmo >= EventManager.Spaceball.Limit || Eic >= EventManager.Spaceball.Limit || Vru >= EventManager.Spaceball.Limit)
            {
                EventManager.Spaceball.Stop();
            }
            else
            {
                Respawn();
            }
        }
Esempio n. 2
0
        public override async void Click(GameSession gameSession)
        {
            try
            {
                var player = gameSession.Player;

                if (!Working || GameManager.GetSpacemap(TargetSpaceMapId) == null || TargetPosition == null)
                {
                    return;
                }
                if (player.Storage.Jumping)
                {
                    return;
                }

                player.Storage.Jumping = true;

                player.SendCommand(ActivatePortalCommand.write(TargetSpaceMapId, Id));
                await Task.Delay(JUMP_DELAY);

                player.LastCombatTime = DateTime.Now.AddSeconds(-999);
                player.Spacemap.RemoveCharacter(player);
                player.CurrentInRangePortalId = -1;
                player.Deselection();
                player.Storage.InRangeAssets.Clear();
                player.InRangeCharacters.Clear();
                player.SetPosition(TargetPosition);

                player.Spacemap = GameManager.GetSpacemap(TargetSpaceMapId);

                player.Spacemap.AddAndInitPlayer(player);
                player.Storage.Jumping = false;
            }
            catch (Exception e)
            {
                Out.WriteLine("Click void exception: " + e, "Portal.cs");
                Logger.Log("error_log", $"- [Portal.cs] Click void exception: {e}");
            }
        }