#pragma once #include "CNShardServer.hpp" #include "NPCManager.hpp" #include const int SLIDER_SPEED = 1200; const int SLIDER_STOP_TICKS = 16; const int SLIDER_GAP_SIZE = 45000; struct WarpLocation; struct TransportRoute { int type, start, end, cost, mssSpeed, mssRouteNum; }; struct TransportLocation { int npcID, x, y, z; }; namespace TransportManager { extern std::map Routes; extern std::map Locations; extern std::map> SkywayPaths; // predefined skyway paths with points extern std::unordered_map> SkywayQueues; // player sockets with queued broomstick points extern std::unordered_map> NPCQueues; // NPC ids with queued pathing points void init(); void testMssRoute(CNSocket *sock, std::vector* route); void lerp(std::queue*, WarpLocation, WarpLocation, int, float); void lerp(std::queue*, WarpLocation, WarpLocation, int); }