- if (getnuke(nuk_uid, &nuke) == 0) {
- ef_extend(EF_NUKE, 10);
- bzero((s_char *)&nuke, sizeof(struct nukstr));
- nuke.nuk_uid = nuk_uid;
- nuke.nuk_ship = -1;
- nuke.nuk_n = 0;
- makenotlost(EF_NUKE, nuke.nuk_own, nuke.nuk_uid, nuke.nuk_x, nuke.nuk_y);
- }
- nuke.nuk_x = x;
- nuke.nuk_y = y;
- nuke.nuk_own = own;
- nuke.nuk_types[type] += num;
- nuke.nuk_n += num;
-
- if (!putnuke(nuke.nuk_uid, &nuke))
- pr("Problem with the nuclear stockpiles, tell the deity.\n");
+ }
+ if (nuk_uid == -1)
+ nuk_uid = n;
+ if (getnuke(nuk_uid, &nuke) == 0) {
+ ef_extend(EF_NUKE, 10);
+ bzero((s_char *)&nuke, sizeof(struct nukstr));
+ nuke.nuk_uid = nuk_uid;
+ nuke.nuk_ship = -1;
+ nuke.nuk_n = 0;
+ makenotlost(EF_NUKE, nuke.nuk_own, nuke.nuk_uid, nuke.nuk_x,
+ nuke.nuk_y);
+ }
+ nuke.nuk_x = x;
+ nuke.nuk_y = y;
+ nuke.nuk_own = own;
+ nuke.nuk_types[type] += num;
+ nuke.nuk_n += num;
+
+ if (!putnuke(nuke.nuk_uid, &nuke))
+ pr("Problem with the nuclear stockpiles, tell the deity.\n");