예제 #1
0
        private static void HandleTeleport(GameSession session, PacketReader packet)
        {
            byte teleportId = packet.ReadByte();

            Map mapId;

            switch (teleportId)
            {
            case 1:
                mapId = Map.RosettaBeautySalon;
                break;

            case 3:
                mapId = Map.TriaPlasticSurgery;
                break;

            case 5:
                mapId = Map.DouglasDyeWorkshop;
                break;

            default:
                Console.WriteLine($"teleportId: {teleportId} not found");
                return;
            }

            MoveFieldHandler.HandleInstanceMove(session, (int)mapId);
        }
        public override void Handle(GameSession session, PacketReader packet)
        {
            GameEvent gameEvent = DatabaseManager.GetSingleGameEvent(GameEventType.EventFieldPopup);

            if (gameEvent == null)
            {
                return;
            }

            MoveFieldHandler.HandleInstanceMove(session, gameEvent.FieldPopupEvent.MapId);
        }
예제 #3
0
        private static void HandleEnterHouse(GameSession session)
        {
            Guild guild = GameServer.GuildManager.GetGuildById(session.Player.Guild.Id);

            if (guild == null)
            {
                return;
            }

            int fieldId = GuildHouseMetadataStorage.GetFieldId(guild.HouseRank, guild.HouseTheme);

            if (fieldId == 0)
            {
                return;
            }

            MoveFieldHandler.HandleInstanceMove(session, fieldId);
        }