+string waypoint_get_type_name(entity wp)
+{
+ if (wp.wpflags & WAYPOINTFLAG_ITEM) return "^1Item waypoint";
+ else if (wp.wpflags & WAYPOINTFLAG_CROUCH) return "^5Crouch waypoint";
+ else if (wp.wpflags & WAYPOINTFLAG_JUMP) return "^xf80Jump waypoint";
+ else if (wp.wpflags & WAYPOINTFLAG_SUPPORT) return "^2Support waypoint";
+ else if (waypoint_has_hardwiredlinks(wp)) return "^x80fHardwired waypoint";
+ else if (wp.wpflags & WAYPOINTFLAG_LADDER) return "^3Ladder waypoint";
+ else if (wp.wpflags & WAYPOINTFLAG_TELEPORT)
+ {
+ if (!wp.wpisbox) return "^3Warpzone waypoint";
+ else if (wp.wpflags & WAYPOINTFLAG_CUSTOM_JP) return "^3Custom jumppad waypoint";
+ else
+ {
+ IL_EACH(g_jumppads, boxesoverlap(wp.absmin, wp.absmax, it.absmin, it.absmax),
+ { return "^3Jumppad waypoint"; });
+ return "^3Teleport waypoint";
+ }
+ }
+
+ return "^7Waypoint";
+}
+