diff --git a/src/common/kernel/battle.c b/src/common/kernel/battle.c index 9e7d57d0e..7c38d5e3a 100644 --- a/src/common/kernel/battle.c +++ b/src/common/kernel/battle.c @@ -3083,7 +3083,10 @@ join_battle(battle * b, unit * u, boolean attack) { fighter *c = NULL; fighter *fig; - + attrib * a = a_find(u->attribs, &at_fleechance); + + if (a!=NULL) return NULL; + cv_foreach(fig, b->fighters) { if (fig->unit == u) { c = fig; diff --git a/src/common/kernel/movement.c b/src/common/kernel/movement.c index 659012cb5..8b186e7ab 100644 --- a/src/common/kernel/movement.c +++ b/src/common/kernel/movement.c @@ -660,6 +660,7 @@ drifting_ships(region * r) if (rnext->terrain != T_OCEAN && !flying_ship(sh)) { sh->coast = reldirection(rnext, r); + assert(rterrain(r)==T_OCEAN); } else { sh->coast = NODIRECTION; } @@ -1608,6 +1609,7 @@ sail(unit * u, region * next_point, boolean move_on_land) set_order(&u->thisorder, NULL); if (current_point->terrain != T_OCEAN && !is_cursed(sh->attribs, C_SHIP_FLYING, 0)) { sh->coast = reldirection(current_point, last_point); + assert(rterrain(last_point)==T_OCEAN); } else { sh->coast = NODIRECTION; }