]> git.pond.sub.org Git - empserver/blobdiff - src/lib/commands/add.c
Update copyright notice
[empserver] / src / lib / commands / add.c
index 5580a903246386ab6c4709d5d995527040687888..bc4d44225082c54c005a0b4f7bfbaaba3ad90d2e 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2011, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ *  Copyright (C) 1986-2018, Dave Pare, Jeff Bailey, Thomas Ruschak,
  *                Ken Stevens, Steve McClure, Markus Armbruster
  *
  *  Empire is free software: you can redistribute it and/or modify
@@ -28,7 +28,7 @@
  *
  *  Known contributors to this file:
  *     Steve McClure, 2000
- *     Markus Armbruster, 2004-2011
+ *     Markus Armbruster, 2004-2016
  */
 
 #include <config.h>
@@ -91,10 +91,6 @@ add(void)
     case 'v':
        stat = STAT_VIS;
        break;
-    case 'n':
-       pr("Argument 'new' is deprecated and will go away in a future release.\n"
-          "Use 'player' instead.\n");
-       /* fall through */
     case 'p':
        stat = STAT_NEW;
        break;
@@ -108,12 +104,20 @@ add(void)
        pr("Illegal status\n");
        return RET_SYN;
     }
+    if (stat == STAT_UNUSED
+       ? natp->nat_stat >= STAT_SANCT : natp->nat_stat != STAT_UNUSED) {
+       pr("Country %s status is %s.\n"
+          "%s it in this state is normally a bad idea.",
+          prnat(natp), symbol_by_value(natp->nat_stat, nation_status),
+          stat == STAT_UNUSED ? "Deleting" : "Replacing");
+       if (!askyn("Are you sure? "))
+           return RET_FAIL;
+    }
     if (getplayer(natp->nat_cnum)) {
-       pr("%s (#%d) is logged in!\n",
-          natp->nat_cnam, natp->nat_cnum);
+       pr("%s is logged in!\n", prnat(natp));
        return RET_FAIL;
     }
-    nat_reset(natp, natp->nat_cnum, cntryname, pname, stat);
-    putnat(natp);
-    return 0;
+
+    nat_reset(natp->nat_cnum, cntryname, pname, stat);
+    return RET_OK;
 }