/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2011, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2016, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure, Markus Armbruster
*
* Empire is free software: you can redistribute it and/or modify
* David Sharnoff, 1987
* Ken Stevens, 1995 (rewritten)
* Steve McClure, 1998-2000
- * Markus Armbruster, 2004-2009
+ * Markus Armbruster, 2004-2014
*/
#include <config.h>
#include <ctype.h>
#include "commands.h"
-#include "empobj.h"
#include "item.h"
#include "land.h"
#include "optlist.h"
continue;
if (load_unload == LOAD) {
if (noisy)
- pr("You don't own %s \n",
+ pr("You don't own %s\n",
xyas(sect.sct_x, sect.sct_y, player->cnum));
continue;
}
move_amt = -amount - unit_amt;
else
move_amt = load_unload == LOAD ? amount : -amount;
- if (move_amt > unit_max - unit_amt)
- move_amt = unit_max - unit_amt;
- if (move_amt < -unit_amt)
- move_amt = -unit_amt;
- if (move_amt > sect_amt)
- move_amt = sect_amt;
- if (move_amt < sect_amt - ITEM_MAX)
- move_amt = sect_amt - ITEM_MAX;
+ move_amt = LIMIT_TO(move_amt, -unit_amt, unit_max - unit_amt);
+ move_amt = LIMIT_TO(move_amt, sect_amt - ITEM_MAX, sect_amt);
return move_amt;
}
-static int
+int
load_comm_ok(struct sctstr *sectp, natid unit_own,
i_type item, int move_amt)
{
gift(natid givee, natid giver, void *ptr, char *mesg)
{
if (giver != givee)
- wu(0, givee, "%s %s %s\n", cname(giver), obj_nameof(ptr), mesg);
+ wu(0, givee, "%s %s %s\n", cname(giver), unit_nameof(ptr), mesg);
unit_give_away(ptr, givee, 0);
}
} else if (sp->shp_x != pln.pln_x || sp->shp_y != pln.pln_y)
continue;
- if (!could_be_on_ship(&pln, sp, 0, 0, 0, 0)) {
+ if (!could_be_on_ship(&pln, sp)) {
if (noisy) {
if (plchr[(int)pln.pln_type].pl_flags & P_K)
p = "choppers";
int load_spy = 0;
if (load_unload == LOAD) {
- if (opt_LANDSPIES) {
- if ((mchr[(int)sp->shp_type].m_flags & M_SUB) &&
- (mchr[(int)sp->shp_type].m_nland == 0)) {
- if (shp_nland(sp) >= 2) {
- pr("Non-land unit carrying subs can only carry up to two spy units.\n");
- return 0;
- }
- /* Eh, let 'em load a spy only */
- load_spy = 1;
+ if ((mchr[(int)sp->shp_type].m_flags & M_SUB) &&
+ (mchr[(int)sp->shp_type].m_nland == 0)) {
+ if (shp_nland(sp) >= 2) {
+ pr("Non-land unit carrying subs can only carry up to two spy units.\n");
+ return 0;
}
+ /* Eh, let 'em load a spy only */
+ load_spy = 1;
}
if (!load_spy && shp_nland(sp) >= mchr[sp->shp_type].m_nland) {
if (noisy) {
/* Fit unit on ship */
if (load_unload == LOAD) {
/* We have to check again, since it may have changed */
- if (opt_LANDSPIES) {
- if ((mchr[(int)sp->shp_type].m_flags & M_SUB) &&
- (mchr[(int)sp->shp_type].m_nland == 0)) {
- if (shp_nland(sp) >= 2) {
- pr("Non-land unit carrying subs can only carry up to two spy units.\n");
- return 0;
- }
- /* Eh, let 'em load a spy only */
- load_spy = 1;
+ if ((mchr[(int)sp->shp_type].m_flags & M_SUB) &&
+ (mchr[(int)sp->shp_type].m_nland == 0)) {
+ if (shp_nland(sp) >= 2) {
+ pr("Non-land unit carrying subs can only carry up to two spy units.\n");
+ return 0;
}
+ /* Eh, let 'em load a spy only */
+ load_spy = 1;
}
if (!load_spy && shp_nland(sp) >= mchr[sp->shp_type].m_nland) {
if (noisy) {
load_unload, atoi(p));
if (!load_comm_ok(sectp, sp->shp_own, item, move_amt))
return RET_OK;
- if (!want_to_abandon(sectp, item, move_amt, NULL))
+ if (!abandon_askyn(sectp, item, move_amt, NULL))
return RET_FAIL;
if (!still_ok_ship(sectp, sp))
return RET_SYN;