1 /*****************************************************************************
2  Freeciv - Copyright (C) 2005 - The Freeciv Project
3    This program is free software; you can redistribute it and/or modify
4    it under the terms of the GNU General Public License as published by
5    the Free Software Foundation; either version 2, or (at your option)
6    any later version.
7 
8    This program is distributed in the hope that it will be useful,
9    but WITHOUT ANY WARRANTY; without even the implied warranty of
10    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11    GNU General Public License for more details.
12 *****************************************************************************/
13 
14 #ifndef FC__API_GAME_FIND_H
15 #define FC__API_GAME_FIND_H
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif /* __cplusplus */
20 
21 /* dependencies/lua */
22 #include "lua.h"
23 
24 /* common/scriptcore */
25 #include "luascript_types.h"
26 
27 /* Object find module. */
28 Player *api_find_player(lua_State *L, int player_id);
29 
30 City *api_find_city(lua_State *L, Player *pplayer, int city_id);
31 
32 Unit *api_find_unit(lua_State *L, Player *pplayer, int unit_id);
33 Unit *api_find_transport_unit(lua_State *L, Player *pplayer, Unit_Type *ptype,
34                               Tile *ptile);
35 Tile *api_find_tile(lua_State *L, int nat_x, int nat_y);
36 Tile *api_find_tile_by_index(lua_State *L, int tindex);
37 
38 Government *api_find_government(lua_State *L, int government_id);
39 Government *api_find_government_by_name(lua_State *L, const char *name_orig);
40 
41 Nation_Type *api_find_nation_type(lua_State *L, int nation_type_id);
42 Nation_Type *api_find_nation_type_by_name(lua_State *L,
43                                           const char *name_orig);
44 Building_Type *api_find_building_type(lua_State *L, int building_type_id);
45 Building_Type *api_find_building_type_by_name(lua_State *L,
46                                               const char *name_orig);
47 Unit_Type *api_find_unit_type(lua_State *L, int unit_type_id);
48 Unit_Type *api_find_unit_type_by_name(lua_State *L, const char *name_orig);
49 Unit_Type *api_find_role_unit_type(lua_State *L, const char *role_name,
50                                    Player *pplayer);
51 Tech_Type *api_find_tech_type(lua_State *L, int tech_type_id);
52 Tech_Type *api_find_tech_type_by_name(lua_State *L, const char *name_orig);
53 
54 Terrain *api_find_terrain(lua_State *L, int terrain_id);
55 Terrain *api_find_terrain_by_name(lua_State *L, const char *name_orig);
56 
57 Nonexistent *api_find_nonexistent(lua_State *L);
58 
59 #ifdef __cplusplus
60 }
61 #endif /* __cplusplus */
62 
63 #endif /* API_GAME_FIND */
64 
65