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; } }
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; } }