forked from github/server
* regatta-sichtweite gilt nur auf see.
* bei doppelter sichtweite kann man nicht durch unpassierbares terrain gucken.
This commit is contained in:
parent
a89618df87
commit
3420f58f6d
|
@ -2615,16 +2615,18 @@ view_neighbours(region * r, faction * f)
|
||||||
}
|
}
|
||||||
if (!b) {
|
if (!b) {
|
||||||
if (add_seen(r2, see_far, false)) {
|
if (add_seen(r2, see_far, false)) {
|
||||||
direction_t dir;
|
if (!(terrain[rterrain(r2)].flags & FORBIDDEN_LAND)) {
|
||||||
for (dir=0;dir!=MAXDIRECTIONS;++dir) {
|
direction_t dir;
|
||||||
region * r3 = rconnect(r2, dir);
|
for (dir=0;dir!=MAXDIRECTIONS;++dir) {
|
||||||
if (r3) {
|
region * r3 = rconnect(r2, dir);
|
||||||
border * b = get_borders(r2, r3);
|
if (r3) {
|
||||||
while (b) {
|
border * b = get_borders(r2, r3);
|
||||||
if (!b->type->transparent(b, f)) break;
|
while (b) {
|
||||||
b = b->next;
|
if (!b->type->transparent(b, f)) break;
|
||||||
|
b = b->next;
|
||||||
|
}
|
||||||
|
if (!b) add_seen(r3, see_neighbour, false);
|
||||||
}
|
}
|
||||||
if (!b) add_seen(r3, see_neighbour, false);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2643,7 +2645,7 @@ recurse_regatta(region *center, region *r, faction *f, int maxdist)
|
||||||
region * r2 = rconnect(r, dir);
|
region * r2 = rconnect(r, dir);
|
||||||
if (r2) {
|
if (r2) {
|
||||||
int ndist = distance(center, r2);
|
int ndist = distance(center, r2);
|
||||||
if (ndist>dist) {
|
if (ndist>dist && r2->terrain==T_OCEAN) {
|
||||||
border * b = get_borders(r, r2);
|
border * b = get_borders(r, r2);
|
||||||
while (b) {
|
while (b) {
|
||||||
if (!b->type->transparent(b, f)) break;
|
if (!b->type->transparent(b, f)) break;
|
||||||
|
|
Loading…
Reference in New Issue