Factor look_at_sect() out of do_look() and ac_encounter()
This commit is contained in:
parent
2cfb124b6c
commit
8eca636c7d
3 changed files with 28 additions and 46 deletions
|
@ -73,6 +73,7 @@ extern int check_trade(void);
|
||||||
extern int ontradingblock(int, void *);
|
extern int ontradingblock(int, void *);
|
||||||
extern void trdswitchown(int, void *, int);
|
extern void trdswitchown(int, void *, int);
|
||||||
extern int do_look(int);
|
extern int do_look(int);
|
||||||
|
extern void look_at_sect(struct sctstr *, int);
|
||||||
extern int radar(int);
|
extern int radar(int);
|
||||||
extern void update_power(void);
|
extern void update_power(void);
|
||||||
extern int show_first_tel(char *);
|
extern int show_first_tel(char *);
|
||||||
|
|
|
@ -62,8 +62,6 @@ do_look(int type)
|
||||||
union empobj_storage unit;
|
union empobj_storage unit;
|
||||||
struct sctstr sect;
|
struct sctstr sect;
|
||||||
int x, y;
|
int x, y;
|
||||||
int civ;
|
|
||||||
int mil;
|
|
||||||
unsigned char *bitmap;
|
unsigned char *bitmap;
|
||||||
int changed = 0;
|
int changed = 0;
|
||||||
|
|
||||||
|
@ -103,26 +101,9 @@ do_look(int type)
|
||||||
getsect(x, y, §);
|
getsect(x, y, §);
|
||||||
if (sect.sct_type == SCT_WATER)
|
if (sect.sct_type == SCT_WATER)
|
||||||
continue;
|
continue;
|
||||||
if (sect.sct_own == player->cnum)
|
look_at_sect(§, 10);
|
||||||
pr("Your ");
|
|
||||||
else
|
|
||||||
pr("%s (#%d) ", cname(sect.sct_own), sect.sct_own);
|
|
||||||
pr("%s", dchr[sect.sct_type].d_name);
|
|
||||||
changed += map_set(player->cnum, x, y,
|
changed += map_set(player->cnum, x, y,
|
||||||
dchr[sect.sct_type].d_mnem, 0);
|
dchr[sect.sct_type].d_mnem, 0);
|
||||||
pr(" %d%% efficient ", player->owner ? sect.sct_effic :
|
|
||||||
roundintby((int)sect.sct_effic, 10));
|
|
||||||
civ = sect.sct_item[I_CIVIL];
|
|
||||||
mil = sect.sct_item[I_MILIT];
|
|
||||||
if (civ)
|
|
||||||
pr("with %s%d civ ",
|
|
||||||
player->owner ? "" : "approx ",
|
|
||||||
player->owner ? civ : roundintby(civ, 10));
|
|
||||||
if (mil)
|
|
||||||
pr("with %s%d mil ",
|
|
||||||
player->owner ? "" : "approx ",
|
|
||||||
player->owner ? mil : roundintby(mil, 10));
|
|
||||||
pr("@ %s\n", xyas(x, y, player->cnum));
|
|
||||||
if (opt_HIDDEN) {
|
if (opt_HIDDEN) {
|
||||||
setcont(player->cnum, sect.sct_own, FOUND_LOOK);
|
setcont(player->cnum, sect.sct_own, FOUND_LOOK);
|
||||||
}
|
}
|
||||||
|
@ -134,6 +115,31 @@ do_look(int type)
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void look_at_sect(struct sctstr *sp, int mult)
|
||||||
|
{
|
||||||
|
int civ, mil;
|
||||||
|
int ours = player->god || sp->sct_own == player->cnum;
|
||||||
|
|
||||||
|
if (sp->sct_own == player->cnum)
|
||||||
|
pr("Your ");
|
||||||
|
else
|
||||||
|
pr("%s (#%d) ", cname(sp->sct_own), sp->sct_own);
|
||||||
|
pr("%s", dchr[sp->sct_type].d_name);
|
||||||
|
pr(" %d%% efficient ",
|
||||||
|
ours ? sp->sct_effic : roundintby(sp->sct_effic, mult));
|
||||||
|
civ = sp->sct_item[I_CIVIL];
|
||||||
|
mil = sp->sct_item[I_MILIT];
|
||||||
|
if (civ)
|
||||||
|
pr("with %s%d civ ",
|
||||||
|
ours ? "" : "approx ",
|
||||||
|
ours ? civ : roundintby(civ, mult));
|
||||||
|
if (mil)
|
||||||
|
pr("with %s%d mil ",
|
||||||
|
ours ? "" : "approx ",
|
||||||
|
ours ? mil : roundintby(mil, mult));
|
||||||
|
pr("@ %s\n", xyas(sp->sct_x, sp->sct_y, player->cnum));
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
look_ship(struct shpstr *lookship)
|
look_ship(struct shpstr *lookship)
|
||||||
{
|
{
|
||||||
|
|
|
@ -83,7 +83,6 @@ ac_encounter(struct emp_qelem *bomb_list, struct emp_qelem *esc_list,
|
||||||
int overfly[MAXNOC];
|
int overfly[MAXNOC];
|
||||||
int flags;
|
int flags;
|
||||||
struct emp_qelem ilist[MAXNOC];
|
struct emp_qelem ilist[MAXNOC];
|
||||||
int civ, mil;
|
|
||||||
natid plane_owner;
|
natid plane_owner;
|
||||||
struct sctstr sect;
|
struct sctstr sect;
|
||||||
struct shpstr ship;
|
struct shpstr ship;
|
||||||
|
@ -155,34 +154,10 @@ ac_encounter(struct emp_qelem *bomb_list, struct emp_qelem *esc_list,
|
||||||
} else if (flags & P_S) {
|
} else if (flags & P_S) {
|
||||||
satdisp_sect(§, flags & P_I ? 10 : 50);
|
satdisp_sect(§, flags & P_I ? 10 : 50);
|
||||||
} else {
|
} else {
|
||||||
/* This is borrowed from lookout */
|
look_at_sect(§, 25);
|
||||||
if (sect.sct_own == player->cnum)
|
|
||||||
pr("Your ");
|
|
||||||
else
|
|
||||||
pr("%s (#%d) ",
|
|
||||||
cname(sect.sct_own), sect.sct_own);
|
|
||||||
pr("%s", dchr[sect.sct_type].d_name);
|
|
||||||
changed += map_set(player->cnum,
|
changed += map_set(player->cnum,
|
||||||
sect.sct_x, sect.sct_y,
|
sect.sct_x, sect.sct_y,
|
||||||
dchr[sect.sct_type].d_mnem, 0);
|
dchr[sect.sct_type].d_mnem, 0);
|
||||||
pr(" %d%% efficient ",
|
|
||||||
(sect.sct_own == player->cnum) ?
|
|
||||||
sect.sct_effic : roundintby((int)sect.sct_effic, 25));
|
|
||||||
civ = sect.sct_item[I_CIVIL];
|
|
||||||
mil = sect.sct_item[I_MILIT];
|
|
||||||
if (civ)
|
|
||||||
pr("with %s%d civ ",
|
|
||||||
(sect.sct_own == player->cnum) ?
|
|
||||||
"" : "approx ",
|
|
||||||
(sect.sct_own == player->cnum) ?
|
|
||||||
civ : roundintby(civ, 25));
|
|
||||||
if (mil)
|
|
||||||
pr("with %s%d mil ",
|
|
||||||
(sect.sct_own == player->cnum) ?
|
|
||||||
"" : "approx ",
|
|
||||||
(sect.sct_own == player->cnum) ?
|
|
||||||
mil : roundintby(mil, 25));
|
|
||||||
pr("@ %s\n", xyas(x, y, player->cnum));
|
|
||||||
}
|
}
|
||||||
if (flags & P_S)
|
if (flags & P_S)
|
||||||
satdisp_units(sect.sct_x, sect.sct_y);
|
satdisp_units(sect.sct_x, sect.sct_y);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue