(carriersatxy): Remove parameters wantflags, nowantflags, and use

carrier_planes() instead, ignoring carriers that can only operate
x-light planes.  No functional change.
(carrier_planes): External linkage.
This commit is contained in:
Markus Armbruster 2007-11-04 16:05:06 +00:00
parent d5afd757a9
commit 6992bcfe9a
3 changed files with 6 additions and 17 deletions

View file

@ -482,7 +482,7 @@ extern double fortrange(struct sctstr *);
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 *,
@ -558,6 +558,7 @@ extern void pln_dropoff(struct emp_qelem *, struct ichrstr *,
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 *,

View file

@ -85,12 +85,11 @@ shipsatxy(coord x, coord y, int wantflags, int nowantflags)
/* 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;
@ -102,17 +101,8 @@ carriersatxy(coord x, coord y, int wantflags, int nowantflags, natid own)
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;

View file

@ -55,7 +55,6 @@
#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 *);
@ -113,8 +112,7 @@ pln_onewaymission(struct sctstr *target, int *shipno, int *flagp)
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)
@ -384,7 +382,7 @@ pln_capable(struct plnstr *pp, int wantflags, int nowantflags)
* 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;