Exemple #1
0
        public void execute(GameSession gameSession, string[] args)
        {
            var player      = gameSession.Player;
            var portals     = gameSession.Player.Range.Objects.ToList().Where(x => x.Value is Jumpgate);
            var portalArray = portals as KeyValuePair <int, Object>[] ?? portals.ToArray();

            if (portalArray.Count() > 1)
            {
                Jumpgate closestJumpgate = null;
                foreach (var portal in portalArray)
                {
                    var _portal = portal.Value as Jumpgate;
                    if (closestJumpgate == null)
                    {
                        closestJumpgate = _portal;
                    }
                    else
                    {
                        if (_portal != null && closestJumpgate.Position.DistanceTo(player.Position) >
                            _portal.Position.DistanceTo(player.Position))
                        {
                            closestJumpgate = _portal;
                        }
                    }
                }
                closestJumpgate?.click(player);
            }
            else
            {
                foreach (var portal in portalArray)
                {
                    (portal.Value as Jumpgate)?.click(player);
                }
            }
        }
        public void LoadPortals()
        {
            var map = World.StorageManager.Spacemaps[16];

            MmoPortal = map.Objects.FirstOrDefault(x => x.Value is Jumpgate gate && gate.DestinationMapId == 17).Value as Jumpgate;
            EicPortal = map.Objects.FirstOrDefault(x => x.Value is Jumpgate gate && gate.DestinationMapId == 21).Value as Jumpgate;
            VruPortal = map.Objects.FirstOrDefault(x => x.Value is Jumpgate gate && gate.DestinationMapId == 25).Value as Jumpgate;
        }
Exemple #3
0
        public void UnloadPortal(Jumpgate portal)
        {
            var gameSession = World.StorageManager.GetGameSession(Player.Id);

            if (LoadedObjects.ContainsKey(portal.Id))
            {
                LoadedObjects.TryRemove(portal.Id, out Object output);
            }
            Packet.Builder.JumpgateRemoveCommand(gameSession, portal);
        }
Exemple #4
0
        public void LoadPortal(Jumpgate portal)
        {
            var gameSession = World.StorageManager.GetGameSession(Player.Id);

            if (!LoadedObjects.ContainsKey(portal.Id))
            {
                LoadedObjects.Add(portal.Id, portal);
            }

            if (portal.Owner != null && portal.Owner != Player)
            {
                return;
            }
            //Packet.Builder.JumpgateCreateCommand(gameSession, portal);
        }
Exemple #5
0
    void GetJumpgateDataFromGDS()
    {
        Jumpgate jg = gds.SDS.FindJumpgateByID(jumpgateID);

        if (jg != null)
        {
            sectorID              = jg.Sector_ID;
            name                  = jg.Name;
            description           = jg.Description;
            base_toll             = jg.Base_Toll;
            faction_id            = jg.Faction_ID;
            destination_sector_id = jg.Destination_Sector_ID;
            destination_sector    = gds.SDS.FindJumpgateByID(jg.Destination_Gate_ID).Name;
            destination_gate_id   = jg.Destination_Gate_ID;
        }
    }
Exemple #6
0
        public void Score(Faction faction, Jumpgate portal)
        {
            switch (faction)
            {
            case Faction.MMO:
                MMOScore++;
                foreach (var session in World.StorageManager.GameSessions.Values)
                {
                    if (session == null || !session.Player.Controller.Active)
                    {
                        continue;
                    }
                    Packet.Builder.SpaceBallUpdateScoreCommand(session, faction, MMOScore, portal.Id);
                }
                break;

            case Faction.EIC:
                EICScore++;
                foreach (var session in World.StorageManager.GameSessions.Values)
                {
                    if (session == null || !session.Player.Controller.Active)
                    {
                        continue;
                    }
                    Packet.Builder.SpaceBallUpdateScoreCommand(session, faction, EICScore, portal.Id);
                }
                break;

            case Faction.VRU:
                VRUScore++;
                foreach (var session in World.StorageManager.GameSessions.Values)
                {
                    if (session == null || !session.Player.Controller.Active)
                    {
                        continue;
                    }
                    Packet.Builder.SpaceBallUpdateScoreCommand(session, faction, VRUScore, portal.Id);
                }
                break;
            }

            for (var i = 0; i < 50; i++)
            {
                Spacemap.CreateLootBox(Vector.GetPosOnCircle(portal.Position, 50 * i), new Reward(RewardType.URIDIUM, 750), Types.BIG_PUMPKIN, 25000);
            }
        }
 public void ScoreGoal(Faction faction, Jumpgate portal)
 {
     Npc.Score(faction, portal);
     Restart();
 }