(L_XLIGHT, lchr[], land_chr_flags[], take_plane_off_land,
put_plane_on_land, load_plane_land, can_fly): Remove L_XLIGHT flag and replace with checks of lnd_maxlight. Closes #758459.
This commit is contained in:
parent
cf384676e8
commit
e28c14f023
6 changed files with 6 additions and 16 deletions
|
@ -128,7 +128,6 @@ struct lchrstr {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Land unit ability flags */
|
/* Land unit ability flags */
|
||||||
#define L_XLIGHT bit(0) /* Hold xlight planes */
|
|
||||||
#define L_ENGINEER bit(1) /* Do engineering things */
|
#define L_ENGINEER bit(1) /* Do engineering things */
|
||||||
#define L_SUPPLY bit(2) /* supply other units/sects */
|
#define L_SUPPLY bit(2) /* supply other units/sects */
|
||||||
#define L_SECURITY bit(3) /* anti-terrorist troops */
|
#define L_SECURITY bit(3) /* anti-terrorist troops */
|
||||||
|
|
|
@ -821,7 +821,7 @@ load_plane_land(struct sctstr *sectp, struct lndstr *lp, int noisy,
|
||||||
s_char prompt[512];
|
s_char prompt[512];
|
||||||
s_char buf[1024];
|
s_char buf[1024];
|
||||||
|
|
||||||
if (!(lchr[(int)lp->lnd_type].l_flags & L_XLIGHT)) {
|
if (!lp->lnd_maxlight) {
|
||||||
if (noisy)
|
if (noisy)
|
||||||
pr("%s cannot carry extra-light planes.\n", prland(lp));
|
pr("%s cannot carry extra-light planes.\n", prland(lp));
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -100,7 +100,7 @@ struct lchrstr lchr[] = {
|
||||||
"tra train",
|
"tra train",
|
||||||
100, 50, 0, 0, 0, 40, 3500,
|
100, 50, 0, 0, 0, 40, 3500,
|
||||||
0.0, 0.0, 120, 10, 25, 3, 0, 0, 0, 0, 0, 0, 0, 0, 5, 12,
|
0.0, 0.0, 120, 10, 25, 3, 0, 0, 0, 0, 0, 0, 0, 0, 5, 12,
|
||||||
L_XLIGHT | L_TRAIN | L_HEAVY | L_SUPPLY,
|
L_TRAIN | L_HEAVY | L_SUPPLY,
|
||||||
},
|
},
|
||||||
|
|
||||||
{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
||||||
|
@ -198,7 +198,7 @@ struct lchrstr lchr[] = {
|
||||||
"rad radar unit",
|
"rad radar unit",
|
||||||
10, 5, 0, 0, 0, 270, 1000,
|
10, 5, 0, 0, 0, 270, 1000,
|
||||||
0.0, 0.0, 50, 33, 15, 3, 0, 0, 0, 0, 0, 2, 25, 2, 1, 0,
|
0.0, 0.0, 50, 33, 15, 3, 0, 0, 0, 0, 0, 2, 25, 2, 1, 0,
|
||||||
L_XLIGHT | L_RADAR | L_LIGHT,
|
L_RADAR | L_LIGHT,
|
||||||
},
|
},
|
||||||
|
|
||||||
/* name
|
/* name
|
||||||
|
|
|
@ -580,7 +580,6 @@ struct symbol ship_chr_flags[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct symbol land_chr_flags[] = {
|
struct symbol land_chr_flags[] = {
|
||||||
{L_XLIGHT, "xlight"},
|
|
||||||
{L_ENGINEER, "engineer"},
|
{L_ENGINEER, "engineer"},
|
||||||
{L_SUPPLY, "supply"},
|
{L_SUPPLY, "supply"},
|
||||||
{L_SECURITY, "security"},
|
{L_SECURITY, "security"},
|
||||||
|
|
|
@ -1112,7 +1112,6 @@ can_fly(int p)
|
||||||
struct lndstr land;
|
struct lndstr land;
|
||||||
struct plchrstr *pcp;
|
struct plchrstr *pcp;
|
||||||
struct mchrstr *scp;
|
struct mchrstr *scp;
|
||||||
struct lchrstr *lcp;
|
|
||||||
|
|
||||||
getplane(p, &plane);
|
getplane(p, &plane);
|
||||||
pcp = &plchr[(int)plane.pln_type];
|
pcp = &plchr[(int)plane.pln_type];
|
||||||
|
@ -1149,9 +1148,8 @@ can_fly(int p)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
getland(plane.pln_land, &land);
|
getland(plane.pln_land, &land);
|
||||||
lcp = &lchr[(int)land.lnd_type];
|
|
||||||
|
|
||||||
if ((pcp->pl_flags & P_E) && (lcp->l_flags & L_XLIGHT)) {
|
if ((pcp->pl_flags & P_E) && land.lnd_maxlight) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -922,14 +922,11 @@ int
|
||||||
take_plane_off_land(struct plnstr *plane, struct lndstr *land)
|
take_plane_off_land(struct plnstr *plane, struct lndstr *land)
|
||||||
{
|
{
|
||||||
struct plchrstr *pcp;
|
struct plchrstr *pcp;
|
||||||
struct lchrstr *lcp;
|
|
||||||
|
|
||||||
pcp = &plchr[(int)plane->pln_type];
|
pcp = &plchr[(int)plane->pln_type];
|
||||||
lcp = &lchr[(int)land->lnd_type];
|
|
||||||
|
|
||||||
/* Try to take off ship as an xlight plane */
|
/* Try to take off ship as an xlight plane */
|
||||||
if ((pcp->pl_flags & P_E) &&
|
if ((pcp->pl_flags & P_E) && land->lnd_nxlight) {
|
||||||
(lcp->l_flags & L_XLIGHT) && (land->lnd_nxlight)) {
|
|
||||||
|
|
||||||
land->lnd_nxlight--;
|
land->lnd_nxlight--;
|
||||||
plane->pln_land = -1;
|
plane->pln_land = -1;
|
||||||
|
@ -1106,18 +1103,15 @@ int
|
||||||
put_plane_on_land(struct plnstr *plane, struct lndstr *land)
|
put_plane_on_land(struct plnstr *plane, struct lndstr *land)
|
||||||
{
|
{
|
||||||
struct plchrstr *pcp;
|
struct plchrstr *pcp;
|
||||||
struct lchrstr *lcp;
|
|
||||||
|
|
||||||
pcp = &plchr[(int)plane->pln_type];
|
pcp = &plchr[(int)plane->pln_type];
|
||||||
lcp = &lchr[(int)land->lnd_type];
|
|
||||||
|
|
||||||
if (((int)plane->pln_land) == ((int)land->lnd_uid))
|
if (((int)plane->pln_land) == ((int)land->lnd_uid))
|
||||||
return 1; /* Already on unit */
|
return 1; /* Already on unit */
|
||||||
|
|
||||||
/* Try to put on unit as an xlight plane */
|
/* Try to put on unit as an xlight plane */
|
||||||
if ((pcp->pl_flags & P_E) &&
|
if ((pcp->pl_flags & P_E) &&
|
||||||
(lcp->l_flags & L_XLIGHT) &&
|
(land->lnd_nxlight < land->lnd_maxlight)) {
|
||||||
(land->lnd_nxlight < lcp->l_nxlight)) {
|
|
||||||
|
|
||||||
land->lnd_nxlight++;
|
land->lnd_nxlight++;
|
||||||
plane->pln_x = land->lnd_x;
|
plane->pln_x = land->lnd_x;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue