X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fbot%2Fapi.qh;h=cfe3e42c0c5bc08fb9da76b9e36b630a841c1acb;hb=87706b876262cc304b11006c79612295d8cb9d38;hp=7a43efa852e0f52012cacdc62fe2ef13a4ac9bed;hpb=bc6fe08d1d10d513d52efb1ab57a27d6086b8397;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/bot/api.qh b/qcsrc/server/bot/api.qh index 7a43efa85..cfe3e42c0 100644 --- a/qcsrc/server/bot/api.qh +++ b/qcsrc/server/bot/api.qh @@ -10,6 +10,7 @@ const int WAYPOINTFLAG_PERSONAL = BIT(19); const int WAYPOINTFLAG_PROTECTED = BIT(18); // Useless WP detection never kills these. const int WAYPOINTFLAG_USEFUL = BIT(17); // Useless WP detection temporary flag. const int WAYPOINTFLAG_DEAD_END = BIT(16); // Useless WP detection temporary flag. +const int WAYPOINTFLAG_LADDER = BIT(15); entity kh_worldkeylist; .entity kh_worldkeynext; @@ -44,6 +45,7 @@ float skill; .float wp24mincost, wp25mincost, wp26mincost, wp27mincost, wp28mincost, wp29mincost, wp30mincost, wp31mincost; .float wpconsidered; .float wpcost; +.float wphardwired; .int wpflags; bool bot_aim(entity this, .entity weaponentity, float shotspeed, float shotspeedupward, float maxshottime, float applygravity); @@ -54,6 +56,7 @@ void bot_endgame(); bool bot_fixcount(); void bot_list_commands(); void bot_queuecommand(entity bot, string cmdstring); +void bot_clear(entity this); void bot_relinkplayerlist(); void bot_resetqueues(); void bot_serverframe(); @@ -65,7 +68,17 @@ entity find_bot_by_number(float number); void havocbot_goalrating_enemyplayers(entity this, float ratingscale, vector org, float sradius); void havocbot_goalrating_items(entity this, float ratingscale, vector org, float sradius); +void havocbot_goalrating_waypoints(entity this, float ratingscale, vector org, float sradius); +vector havocbot_middlepoint; +float havocbot_middlepoint_radius; +vector havocbot_symmetryaxis_equation; + +.entity bot_basewaypoint; +.bool navigation_dynamicgoal; +void navigation_dynamicgoal_init(entity this, bool initially_static); +void navigation_dynamicgoal_set(entity this); +void navigation_dynamicgoal_unset(entity this); entity navigation_findnearestwaypoint(entity ent, float walkfromwp); void navigation_goalrating_end(entity this); void navigation_goalrating_start(entity this); @@ -73,14 +86,20 @@ void navigation_markroutes(entity this, entity fixed_source_waypoint); void navigation_markroutes_inverted(entity fixed_source_waypoint); void navigation_routerating(entity this, entity e, float f, float rangebias); -bool tracewalk(entity e, vector start, vector m1, vector m2, vector end, float movemode); +bool tracewalk(entity e, vector start, vector m1, vector m2, vector end, float end_height, float movemode); -void waypoint_remove(entity e); +void waypoint_remove_fromeditor(entity pl); +void waypoint_remove(entity wp); void waypoint_saveall(); void waypoint_schedulerelinkall(); void waypoint_schedulerelink(entity wp); void waypoint_spawnforitem(entity e); void waypoint_spawnforitem_force(entity e, vector org); -void waypoint_spawnforteleporter(entity e, vector destination, float timetaken); -void waypoint_spawnforteleporter_v(entity e, vector org, vector destination, float timetaken); +void waypoint_spawnforteleporter(entity e, vector destination, float timetaken, entity tracetest_ent); +void waypoint_spawnforteleporter_wz(entity e, vector org, vector destination, float timetaken, entity tracetest_ent); +void waypoint_spawn_fromeditor(entity pl); entity waypoint_spawn(vector m1, vector m2, float f); +void waypoint_unreachable(entity pl); + +.entity goalcurrent; +void navigation_clearroute(entity this);