26
29
**************************************************************************/
27
30
Player *api_find_player(int player_id)
29
return valid_player_by_number(player_id);
32
return player_by_number(player_id);
32
35
/**************************************************************************
35
38
City *api_find_city(Player *pplayer, int city_id)
38
return player_find_city_by_id(pplayer, city_id);
41
return player_city_by_number(pplayer, city_id);
40
43
return idex_lookup_city(city_id);
47
50
Unit *api_find_unit(Player *pplayer, int unit_id)
50
return player_find_unit_by_id(pplayer, unit_id);
53
return player_unit_by_number(pplayer, unit_id);
52
55
return idex_lookup_unit(unit_id);
59
/**************************************************************************
60
Return a unit that can transport ptype at a given ptile.
61
**************************************************************************/
62
Unit *api_find_transport_unit(Player *pplayer, Unit_Type *ptype,
65
SCRIPT_CHECK_ARG_NIL(pplayer, 1, Player, NULL);
66
SCRIPT_CHECK_ARG_NIL(ptype, 2, Unit_Type, NULL);
67
SCRIPT_CHECK_ARG_NIL(ptile, 3, Tile, NULL);
70
struct unit *ptransport;
71
struct unit *pvirt = create_unit_virtual(pplayer, NULL, ptype, 0);
74
ptransport = transport_from_tile(pvirt, ptile);
75
destroy_unit_virtual(pvirt);
56
80
/**************************************************************************
57
81
Return a unit type for given role.
58
82
**************************************************************************/
59
83
Unit_Type *api_find_role_unit_type(const char *role_name, Player *pplayer)
61
SCRIPT_ASSERT(NULL != role_name, NULL);
64
enum unit_role_id role = find_unit_role_by_rule_name(role_name);
71
return best_role_unit_for_player(pplayer, role);
72
} else if (num_role_units(role) > 0) {
73
return get_role_unit(role, 0);
85
enum unit_role_id role;
86
SCRIPT_CHECK_ARG_NIL(role_name, 1, string, NULL);
88
role = unit_role_by_rule_name(role_name);
95
return best_role_unit_for_player(pplayer, role);
96
} else if (num_role_units(role) > 0) {
97
return get_role_unit(role, 0);
106
129
**************************************************************************/
107
130
Government *api_find_government_by_name(const char *name_orig)
109
SCRIPT_ASSERT(NULL != name_orig, NULL);
110
return find_government_by_rule_name(name_orig);
132
SCRIPT_CHECK_ARG_NIL(name_orig, 1, string, NULL);
133
return government_by_rule_name(name_orig);
113
136
/**************************************************************************
123
146
**************************************************************************/
124
147
Nation_Type *api_find_nation_type_by_name(const char *name_orig)
126
SCRIPT_ASSERT(NULL != name_orig, NULL);
127
return find_nation_by_rule_name(name_orig);
149
SCRIPT_CHECK_ARG_NIL(name_orig, 1, string, NULL);
150
return nation_by_rule_name(name_orig);
130
153
/**************************************************************************
140
163
**************************************************************************/
141
164
Building_Type *api_find_building_type_by_name(const char *name_orig)
143
SCRIPT_ASSERT(NULL != name_orig, NULL);
144
return find_improvement_by_rule_name(name_orig);
166
SCRIPT_CHECK_ARG_NIL(name_orig, 1, string, NULL);
167
return improvement_by_rule_name(name_orig);
147
170
/**************************************************************************
157
180
**************************************************************************/
158
181
Unit_Type *api_find_unit_type_by_name(const char *name_orig)
160
SCRIPT_ASSERT(NULL != name_orig, NULL);
161
return find_unit_type_by_rule_name(name_orig);
183
SCRIPT_CHECK_ARG_NIL(name_orig, 1, string, NULL);
184
return unit_type_by_rule_name(name_orig);
164
187
/**************************************************************************
174
197
**************************************************************************/
175
198
Tech_Type *api_find_tech_type_by_name(const char *name_orig)
177
SCRIPT_ASSERT(NULL != name_orig, NULL);
178
return find_advance_by_rule_name(name_orig);
200
SCRIPT_CHECK_ARG_NIL(name_orig, 1, string, NULL);
201
return advance_by_rule_name(name_orig);
181
204
/**************************************************************************
191
214
**************************************************************************/
192
215
Terrain *api_find_terrain_by_name(const char *name_orig)
194
SCRIPT_ASSERT(NULL != name_orig, NULL);
195
return find_terrain_by_rule_name(name_orig);
217
SCRIPT_CHECK_ARG_NIL(name_orig, 1, string, NULL);
218
return terrain_by_rule_name(name_orig);
198
221
/**************************************************************************