X-Git-Url: http://git.pond.sub.org/?p=empserver;a=blobdiff_plain;f=src%2Flib%2Fcommands%2Fsail.c;h=de602b509dea19d066d6831cdc2bd2a4f102b96d;hp=ad6ed7e9b349ffe922451855b49dae83315e5cbd;hb=9b7adfbe;hpb=5f263a7753dc728809ff85c993af975f6c76e61e diff --git a/src/lib/commands/sail.c b/src/lib/commands/sail.c index ad6ed7e9b..de602b509 100644 --- a/src/lib/commands/sail.c +++ b/src/lib/commands/sail.c @@ -48,136 +48,132 @@ static int show_sail(struct nstr_item *nstr) { - register int count=0; - struct shpstr ship; + register int count = 0; + struct shpstr ship; - while (nxtitem(nstr, (s_char *)&ship)) { - if (!player->owner || ship.shp_own==0) - continue; - if (ship.shp_type < 0 || ship.shp_type > shp_maxno) { - pr("bad ship type %d (#%d)\n", - ship.shp_type, nstr->cur); - continue; - } - if (count++==0) { - if (player->god) - pr("own "); - pr("shp# ship type x,y "); - pr("mobil mobquota follows path\n"); - } + while (nxtitem(nstr, (s_char *)&ship)) { + if (!player->owner || ship.shp_own == 0) + continue; + if (ship.shp_type < 0 || ship.shp_type > shp_maxno) { + pr("bad ship type %d (#%d)\n", ship.shp_type, nstr->cur); + continue; + } + if (count++ == 0) { + if (player->god) + pr("own "); + pr("shp# ship type x,y "); + pr("mobil mobquota follows path\n"); + } + if (player->god) + pr("%3d ", ship.shp_own); + pr("%4d ", ship.shp_uid); + pr("%-16.16s ", mchr[(int)ship.shp_type].m_name); + prxy("%4d,%-4d ", ship.shp_x, ship.shp_y, player->cnum); + pr("%3d ", ship.shp_mobil); + pr(" %3d ", ship.shp_mobquota); + pr(" %3d ", ship.shp_follow); + if (ship.shp_path[0]) { + pr(ship.shp_path); + } else if ((ship.shp_autonav & AN_AUTONAV)) { + pr("Has orders"); + } + pr("\n"); + if (opt_SHIPNAMES) { + if (ship.shp_name[0] != 0) { if (player->god) - pr("%3d ",ship.shp_own); - pr("%4d ", ship.shp_uid); - pr("%-16.16s ", mchr[(int)ship.shp_type].m_name); - prxy("%4d,%-4d ", ship.shp_x, ship.shp_y, player->cnum); - pr("%3d ",ship.shp_mobil); - pr(" %3d ",ship.shp_mobquota); - pr(" %3d ",ship.shp_follow); - if (ship.shp_path[0]) { - pr(ship.shp_path); - } else if ((ship.shp_autonav & AN_AUTONAV)) { - pr("Has orders"); - } - pr("\n"); - if (opt_SHIPNAMES) { - if (ship.shp_name[0] != 0) { - if (player->god) - pr(" "); - pr(" %s\n",ship.shp_name); - } - } + pr(" "); + pr(" %s\n", ship.shp_name); + } } - if (count == 0) { - if (player->argp[1]) - pr("%s: No ship(s)\n", player->argp[1]); - else - pr("%s: No ship(s)\n", ""); - return RET_FAIL; - }else - pr("%d ship%s\n", count, splur(count)); - return RET_OK; + } + if (count == 0) { + if (player->argp[1]) + pr("%s: No ship(s)\n", player->argp[1]); + else + pr("%s: No ship(s)\n", ""); + return RET_FAIL; + } else + pr("%d ship%s\n", count, splur(count)); + return RET_OK; } static int cmd_unsail_ship(struct nstr_item *nstr) { - struct shpstr ship; - int count = 0; + struct shpstr ship; + int count = 0; - while (nxtitem(nstr, (s_char *)&ship)) { - if (!player->owner || ship.shp_own==0) - continue; - if (ship.shp_type < 0 || ship.shp_type > shp_maxno) { - pr("bad ship type %d (#%d)\n", - ship.shp_type, nstr->cur); - continue; - } - if (ship.shp_path[0]) { - pr("Ship #%d unsailed\n",ship.shp_uid); - count++; - ship.shp_path[0] = 0; - putship(ship.shp_uid, &ship); - } + while (nxtitem(nstr, (s_char *)&ship)) { + if (!player->owner || ship.shp_own == 0) + continue; + if (ship.shp_type < 0 || ship.shp_type > shp_maxno) { + pr("bad ship type %d (#%d)\n", ship.shp_type, nstr->cur); + continue; + } + if (ship.shp_path[0]) { + pr("Ship #%d unsailed\n", ship.shp_uid); + count++; + ship.shp_path[0] = 0; + putship(ship.shp_uid, &ship); } - return RET_OK; + } + return RET_OK; } static int cmd_sail_ship(struct nstr_item *nstr) { - s_char *cp; - struct shpstr ship; - char navpath[MAX_PATH_LEN]; + s_char *cp; + struct shpstr ship; + char navpath[MAX_PATH_LEN]; - while (!player->aborted && nxtitem(nstr, (s_char *)&ship)) { - if (!player->owner || ship.shp_own==0) - continue; - if (ship.shp_type < 0 || ship.shp_type > shp_maxno) { - pr("bad ship type %d (#%d)\n", - ship.shp_type, nstr->cur); - continue; - } - if ((ship.shp_autonav & AN_AUTONAV) && - !(ship.shp_autonav & AN_STANDBY)) { - pr("Ship #%d has other orders!\n", - ship.shp_uid); - continue; - } + while (!player->aborted && nxtitem(nstr, (s_char *)&ship)) { + if (!player->owner || ship.shp_own == 0) + continue; + if (ship.shp_type < 0 || ship.shp_type > shp_maxno) { + pr("bad ship type %d (#%d)\n", ship.shp_type, nstr->cur); + continue; + } + if ((ship.shp_autonav & AN_AUTONAV) && + !(ship.shp_autonav & AN_STANDBY)) { + pr("Ship #%d has other orders!\n", ship.shp_uid); + continue; + } - pr("Ship #%d at %s\n", ship.shp_uid, - xyas(ship.shp_x,ship.shp_y,ship.shp_own)); - cp = getpath(navpath, player->argp[2], - ship.shp_x, ship.shp_y, 0, 0, 0, P_SAILING); - if (!check_ship_ok(&ship)) - continue; - if (!player->aborted) { - bzero(ship.shp_path, sizeof(ship.shp_path)); - strncpy(ship.shp_path, cp, sizeof(ship.shp_path)-2); - ship.shp_mission = 0; - putship(ship.shp_uid, &ship); - } + pr("Ship #%d at %s\n", ship.shp_uid, + xyas(ship.shp_x, ship.shp_y, ship.shp_own)); + cp = getpath(navpath, player->argp[2], + ship.shp_x, ship.shp_y, 0, 0, 0, P_SAILING); + if (!check_ship_ok(&ship)) + continue; + if (!player->aborted) { + bzero(ship.shp_path, sizeof(ship.shp_path)); + strncpy(ship.shp_path, cp, sizeof(ship.shp_path) - 2); + ship.shp_mission = 0; + putship(ship.shp_uid, &ship); } - return RET_OK; + } + return RET_OK; } int sail(void) { - s_char *cp; - struct nstr_item nstr; + s_char *cp; + struct nstr_item nstr; - if (!opt_SAIL) { - pr("The SAIL option is not enabled, so this command is not valid.\n"); - return RET_FAIL; - } - if (!snxtitem(&nstr, EF_SHIP, player->argp[1])) - return RET_SYN; - cp = player->argp[2]; - if ( (*player->argp[0]=='q')/*qsail command*/ || (cp && *cp=='q') ) { - return(show_sail(&nstr)); - } else if ( *player->argp[0]=='u' /*unsail command*/ || (cp && *cp=='-')) { - return(cmd_unsail_ship(&nstr)); - } else - return(cmd_sail_ship(&nstr)); + if (!opt_SAIL) { + pr("The SAIL option is not enabled, so this command is not valid.\n"); + return RET_FAIL; + } + if (!snxtitem(&nstr, EF_SHIP, player->argp[1])) + return RET_SYN; + cp = player->argp[2]; + if ((*player->argp[0] == 'q') /*qsail command */ ||(cp && *cp == 'q')) { + return (show_sail(&nstr)); + } else if (*player->argp[0] == 'u' /*unsail command */ + || (cp && *cp == '-')) { + return (cmd_unsail_ship(&nstr)); + } else + return (cmd_sail_ship(&nstr)); } -