Exemplo n.º 1
0
    public override void Handle(GameSession session, PacketReader packet)
    {
        RequestTaxiMode mode = (RequestTaxiMode) packet.ReadByte();

        int mapId = 0;
        long meretPrice = 15;

        if (mode != RequestTaxiMode.DiscoverTaxi)
        {
            mapId = packet.ReadInt();
        }

        switch (mode)
        {
            case RequestTaxiMode.Car:
                HandleCarTaxi(session, mapId);
                break;
            case RequestTaxiMode.RotorsMeso:
                HandleRotorMeso(session, mapId);
                break;
            case RequestTaxiMode.RotorsMeret:
                HandleRotorMeret(session, mapId, meretPrice);
                break;
            case RequestTaxiMode.DiscoverTaxi:
                HandleDiscoverTaxi(session);
                break;
            default:
                LogUnknownMode(mode);
                break;
        }
    }
        public override void Handle(GameSession session, PacketReader packet)
        {
            RequestTaxiMode mode = (RequestTaxiMode)packet.ReadByte();

            int  mapId     = 0;
            long mesoPrice = 60000;

            if (mode != RequestTaxiMode.DiscoverTaxi)
            {
                mapId = packet.ReadInt();
            }

            switch (mode)
            {
            case RequestTaxiMode.Car:
                mesoPrice = 5000;     //For now make all car taxis cost 5k, as we don't know the formula to calculate it yet.
                goto case RequestTaxiMode.RotorsMeso;

            case RequestTaxiMode.RotorsMeso:
                if (session.Player.Wallet.Meso.Modify(-mesoPrice))
                {
                    HandleTeleport(session, mapId);
                }
                else
                {
                    // TODO: Reject packets
                }
                break;

            case RequestTaxiMode.RotorsMeret:
                if (session.Player.Wallet.Meret.Modify(-15))
                {
                    HandleTeleport(session, mapId);
                }
                else
                {
                    // TODO: Reject packets
                }
                break;

            case RequestTaxiMode.DiscoverTaxi:
                //TODO: Save somewhere and load somewhere? Perhaps on login.
                session.Send(TaxiPacket.DiscoverTaxi(session.Player.MapId));
                break;

            default:
                IPacketHandler <GameSession> .LogUnknownMode(mode);

                break;
            }
        }
Exemplo n.º 3
0
        public override void Handle(GameSession session, PacketReader packet)
        {
            RequestTaxiMode mode = (RequestTaxiMode)packet.ReadByte();

            int  mapId      = 0;
            long mesoPrice  = 30000;
            long meretPrice = 15;

            if (mode != RequestTaxiMode.DiscoverTaxi)
            {
                mapId = packet.ReadInt();
            }

            switch (mode)
            {
            case RequestTaxiMode.Car:
                mesoPrice = 5000;     //For now make all car taxis cost 5k, as we don't know the formula to calculate it yet.
                goto case RequestTaxiMode.RotorsMeso;

            case RequestTaxiMode.RotorsMeso:
                HandleRotorMeso(session, mapId, mesoPrice);
                break;

            case RequestTaxiMode.RotorsMeret:
                HandleRotorMeret(session, mapId, meretPrice);
                break;

            case RequestTaxiMode.DiscoverTaxi:
                HandleDiscoverTaxi(session);
                break;

            default:
                IPacketHandler <GameSession> .LogUnknownMode(mode);

                break;
            }
        }