extern int roundrange(double);
/* list.c */
extern int shipsatxy(coord, coord, int, int);
-extern int carriersatxy(coord, coord, int, int, natid);
+extern int carriersatxy(coord, coord, natid);
extern int unitsatxy(coord, coord, int, int);
extern int planesatxy(coord, coord, int, int, struct emp_qelem *);
extern int asw_shipsatxy(coord, coord, int, int, struct plnstr *,
extern void pln_mine(struct emp_qelem *list, struct sctstr *sectp);
extern int pln_capable(struct plnstr *, int, int);
extern int pln_airbase_ok(struct plnstr *, int, int);
+extern int carrier_planes(struct shpstr *);
extern void pln_sel(struct nstr_item *, struct emp_qelem *,
struct sctstr *, int, int, int, int);
extern int pln_arm(struct emp_qelem *, int, char, struct ichrstr *,
/* This one only shows owned or allied ships */
int
-carriersatxy(coord x, coord y, int wantflags, int nowantflags, natid own)
+carriersatxy(coord x, coord y, natid own)
{
int first;
int ships;
struct nstr_item ni;
- struct mchrstr *mp;
struct shpstr ship;
first = 1;
if (ship.shp_own != own
&& getrel(getnatp(ship.shp_own), own) != ALLIED)
continue;
- if (ship.shp_effic < SHP_AIROPS_EFF)
+ if ((carrier_planes(&ship) & (P_L | P_K)) == 0)
continue;
- mp = &mchr[(int)ship.shp_type];
- if (wantflags) {
- if ((mp->m_flags & wantflags) == 0)
- continue;
- }
- if (nowantflags) {
- if (mp->m_flags & nowantflags)
- continue;
- }
if (first) {
pr(" # owner eff type\n");
first = 0;
#include "ship.h"
#include "xy.h"
-static int carrier_planes(struct shpstr *);
static int pln_equip(struct plist *, struct ichrstr *, int, char);
static int fit_plane_on_ship(struct plnstr *, struct shpstr *);
flags = *flagp;
/* offer carriers */
- nships = carriersatxy(target->sct_x, target->sct_y,
- M_FLY | M_CHOPPER, 0, player->cnum);
+ nships = carriersatxy(target->sct_x, target->sct_y, player->cnum);
if (nships) {
for (;;) {
if (!(p = getstarg(0, "Carrier #? ", buf)) || !*p)
* It's zero if SP can't support air operations due to its type or
* state (low efficiency).
*/
-static int
+int
carrier_planes(struct shpstr *sp)
{
struct mchrstr *mcp = mchr + sp->shp_type;