#include "unit.h"
#include "xy.h"
+static int lnd_check_one_mines(struct ulist *, int);
static void lnd_stays(natid, char *, struct ulist *);
static int lnd_hit_mine(struct lndstr *);
static int has_helpful_engineer(coord, coord, natid);
* a player. Else it's an automatic "on the move" sweep.
* If TAKEMOB is non-zero, require and charge mobility.
*/
-void
+int
lnd_sweep(struct emp_qelem *land_list, int explicit, int takemob,
natid actor)
{
struct ulist *llp;
struct sctstr sect;
int mines, m, max, sshells, lshells;
+ int stopping = 0;
for (qp = land_list->q_back; qp != land_list; qp = next) {
next = qp->q_back;
sect.sct_item[I_SHELL] = sshells;
putland(llp->unit.land.lnd_uid, &llp->unit.land);
putsect(§);
+ if (lnd_check_one_mines(llp, 1)) {
+ stopping = 1;
+ emp_remque(qp);
+ free(qp);
+ }
}
+ return stopping;
}
static int
}
if (QEMPTY(list))
return stopping;
- lnd_sweep(list, 0, 1, actor);
+ stopping |= lnd_sweep(list, 0, 1, actor);
+ if (QEMPTY(list))
+ return stopping;
stopping |= lnd_check_mines(list);
if (QEMPTY(list))
return stopping;
1 2 6 10 100 0 0 0 0 0 0 0 0 2 6 0 0 0 0 10 0 0 0 0 0 1 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
1 4 6 10 100 0 0 0 0 0 0 0 0 4 6 0 0 0 0 10 0 0 0 0 0 1 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
1 6 6 10 100 0 0 0 0 0 0 0 0 6 6 0 0 0 0 10 0 0 0 0 0 1 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 healthy 0 0 0 0 0 0 0 0
-1 8 6 10 100 0 0 0 0 0 0 0 0 8 6 0 0 0 0 10 0 0 0 0 0 0 100 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 58 healthy 0 0 0 0 0 0 0 0
+1 8 6 10 100 0 0 0 0 0 0 0 0 8 6 0 0 0 0 10 0 0 0 0 0 0 100 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 healthy 0 0 0 0 0 0 0 0
0 10 6 10 100 0 0 0 0 0 0 0 0 10 6 0 0 0 0 10 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
0 12 6 10 100 0 0 0 0 0 0 0 0 12 6 0 0 0 0 10 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
0 14 6 10 100 0 0 0 0 0 0 0 0 14 6 0 0 0 0 10 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0
120 1 2 0 15 100 127 0 130 2 0 none 1 "" -1 0 42 () "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
121 1 7 7 15 100 52 0 130 7 7 none 1 "" -1 0 42 () "" 0 5 3 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
128 1 9 7 15 100 -23 0 130 7 7 none 1 "" -1 0 42 () "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
-130 1 8 6 15 94 52 0 130 6 6 none 1 "" -1 0 42 () "" 0 4 3 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
-131 1 8 6 15 100 52 0 130 6 6 none 1 "" -1 0 42 () "" 0 5 3 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
-135 1 8 6 0 85 104 0 30 6 6 none 3 "" -1 0 42 () "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
-136 1 8 6 0 83 104 0 30 6 6 none 3 "" -1 0 42 () "" 0 4 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
-137 1 8 6 0 55 90 0 30 6 6 none 3 "" -1 0 42 () "" 0 3 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
-138 1 8 6 0 76 104 0 30 6 6 none 3 "" -1 0 42 () "" 0 4 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
-139 1 8 6 0 100 104 0 30 6 6 none 3 "" -1 0 42 () "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
+130 1 8 6 15 94 52 0 130 6 6 none 1 "" -1 0 42 () "" 0 5 3 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
+131 1 8 6 15 96 48 0 130 6 6 none 1 "" -1 0 42 () "" 0 5 3 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
+135 1 8 6 0 100 104 0 30 6 6 none 3 "" -1 0 42 () "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
+136 1 8 6 0 100 104 0 30 6 6 none 3 "" -1 0 42 () "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
+137 1 8 6 0 100 104 0 30 6 6 none 3 "" -1 0 42 () "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
+138 1 8 6 0 100 104 0 30 6 6 none 3 "" -1 0 42 () "" 0 5 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
+139 1 8 6 0 84 88 0 30 6 6 none 3 "" -1 0 42 () "" 0 4 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
149 0 0 0 0 0 0 0 0 0 0 none 0 "" -1 0 0 () "" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 -1 0
/config
config nuke
config news
actor action victim times duration time
1 25 0 21 0 0
-1 56 0 15 0 0
+1 56 0 11 0 0
/config
config trade
uid owner type unitid price maxbidder markettime xloc yloc
Play#1 output Play#1 1 Sweep...
Play#1 output Play#1 1 Sweep...
Play#1 output Play#1 1 Blammo! Landmines detected in 8,6!
- Play#1 output Play#1 1 cav cavalry #137 takes 14
+ Play#1 output Play#1 1 eng engineer #131 takes 4
+ Play#1 output Play#1 1 Blammo! Landmines detected in 8,6!
+ Play#1 output Play#1 1 cav cavalry #139 takes 16
Play#1 output Play#1 1 m m
Play#1 output Play#1 1 m m m
Play#1 output Play#1 1 m m
- Play#1 output Play#1 4 <104.7:89.7: 8,6>
+ Play#1 output Play#1 4 <104.7:86.0: 8,6>
Play#1 input mmmh
Play#1 output Play#1 1 cav cavalry #135 is not an engineer!
Play#1 output Play#1 1 Sweep...
Play#1 output Play#1 1 cav cavalry #137 is not an engineer!
Play#1 output Play#1 1 cav cavalry #138 is not an engineer!
Play#1 output Play#1 1 cav cavalry #139 is not an engineer!
- Play#1 output Play#1 1 Blammo! Landmines detected in 8,6!
- Play#1 output Play#1 1 cav cavalry #137 takes 18
Play#1 output Play#1 1 cav cavalry #135 is not an engineer!
Play#1 output Play#1 1 Sweep...
Play#1 output Play#1 1 Sweep...
- Play#1 output Play#1 1 Sweep...
+ Play#1 output Play#1 1 Blammo! Landmines detected in 8,6!
+ Play#1 output Play#1 1 eng engineer #130 takes 6
Play#1 output Play#1 1 Sweep...
Play#1 output Play#1 1 Sweep...
Play#1 output Play#1 1 Sweep...
Play#1 output Play#1 1 cav cavalry #137 is not an engineer!
Play#1 output Play#1 1 cav cavalry #138 is not an engineer!
Play#1 output Play#1 1 cav cavalry #139 is not an engineer!
- Play#1 output Play#1 1 Blammo! Landmines detected in 8,6!
- Play#1 output Play#1 1 cav cavalry #137 takes 22
- Play#1 output Play#1 1 Blammo! Landmines detected in 8,6!
- Play#1 output Play#1 1 cav cavalry #138 takes 24
Play#1 output Play#1 1 cav cavalry #135 is not an engineer!
Play#1 output Play#1 1 Sweep...
Play#1 output Play#1 1 Sweep...
Play#1 output Play#1 1 Sweep...
Play#1 output Play#1 1 Sweep...
Play#1 output Play#1 1 Sweep...
+ Play#1 output Play#1 1 Sweep...
+ Play#1 output Play#1 1 Sweep...
Play#1 output Play#1 1 cav cavalry #136 is not an engineer!
Play#1 output Play#1 1 cav cavalry #137 is not an engineer!
Play#1 output Play#1 1 cav cavalry #138 is not an engineer!
Play#1 output Play#1 1 cav cavalry #139 is not an engineer!
- Play#1 output Play#1 1 Blammo! Landmines detected in 8,6!
- Play#1 output Play#1 1 cav cavalry #135 takes 15
- Play#1 output Play#1 1 Blammo! Landmines detected in 8,6!
- Play#1 output Play#1 1 eng engineer #130 takes 6
- Play#1 output Play#1 1 Blammo! Landmines detected in 8,6!
- Play#1 output Play#1 1 cav cavalry #136 takes 17
Play#1 output Play#1 1 cav cavalry #135 stopped at 8,6
Play#1 output Play#1 1 eng engineer #130 stopped at 8,6
Play#1 output Play#1 1 eng engineer #131 stopped at 8,6
Play#0 output Play#0 1 1 120 eng engineer 2,0 100% 5 0 127 0 130 42% 0 0
Play#0 output Play#0 1 1 121 eng engineer 7,7 100% 5 0 52 0 130 42% 0 0
Play#0 output Play#0 1 1 128 eng engineer 9,7 100% 5 0 -23 0 130 42% 0 0
- Play#0 output Play#0 1 1 130 eng engineer 8,6 94% 4 0 52 0 130 42% 0 0
- Play#0 output Play#0 1 1 131 eng engineer 8,6 100% 5 0 52 0 130 42% 0 0
- Play#0 output Play#0 1 1 135 cav cavalry 8,6 85% 5 0 104 0 30 42% 0 0
- Play#0 output Play#0 1 1 136 cav cavalry 8,6 83% 4 0 104 0 30 42% 0 0
- Play#0 output Play#0 1 1 137 cav cavalry 8,6 55% 3 0 90 0 30 42% 0 0
- Play#0 output Play#0 1 1 138 cav cavalry 8,6 76% 4 0 104 0 30 42% 0 0
- Play#0 output Play#0 1 1 139 cav cavalry 8,6 100% 5 0 104 0 30 42% 0 0
+ Play#0 output Play#0 1 1 130 eng engineer 8,6 94% 5 0 52 0 130 42% 0 0
+ Play#0 output Play#0 1 1 131 eng engineer 8,6 96% 5 0 48 0 130 42% 0 0
+ Play#0 output Play#0 1 1 135 cav cavalry 8,6 100% 5 0 104 0 30 42% 0 0
+ Play#0 output Play#0 1 1 136 cav cavalry 8,6 100% 5 0 104 0 30 42% 0 0
+ Play#0 output Play#0 1 1 137 cav cavalry 8,6 100% 5 0 104 0 30 42% 0 0
+ Play#0 output Play#0 1 1 138 cav cavalry 8,6 100% 5 0 104 0 30 42% 0 0
+ Play#0 output Play#0 1 1 139 cav cavalry 8,6 84% 4 0 88 0 30 42% 0 0
Play#0 output Play#0 1 68 units
Play#0 output Play#0 6 0 637
Play#0 input lcar * ?shell#0
Play#0 output Play#0 1 lnd# unit x,y a eff civ mil uw sh gun pet irn dst bar oil lcm hcm rad
Play#0 output Play#0 1 111 eng 6,6 100% 0 5 0 1 0 0 0 0 0 0 0 0 0
Play#0 output Play#0 1 121 eng 7,7 100% 0 5 0 3 0 0 0 0 0 0 0 0 0
- Play#0 output Play#0 1 130 eng 8,6 94% 0 4 0 3 0 0 0 0 0 0 0 0 0
- Play#0 output Play#0 1 131 eng 8,6 100% 0 5 0 3 0 0 0 0 0 0 0 0 0
+ Play#0 output Play#0 1 130 eng 8,6 94% 0 5 0 3 0 0 0 0 0 0 0 0 0
+ Play#0 output Play#0 1 131 eng 8,6 96% 0 5 0 3 0 0 0 0 0 0 0 0 0
Play#0 output Play#0 1 4 units
Play#0 output Play#0 6 0 637
Play#0 input lret * ?rflags#0