fixed single-land Camelot

This commit is contained in:
Zeno Rogue 2021-04-23 19:14:37 +02:00
parent 0f27c86614
commit f3b359940e
4 changed files with 5 additions and 5 deletions

View File

@ -1548,7 +1548,7 @@ EX void build_walls(cell *c, cell *from) {
EX void start_camelot(cell *c) {
int rtr = newRoundTableRadius();
heptagon *alt = createAlternateMap(c, rtr+(hyperbolic && WDIM == 3 ? 11 : 14), hsOrigin);
heptagon *alt = createAlternateMap(c, ls::single() ? 2 : rtr+(hyperbolic && WDIM == 3 ? 11 : 14), ls::single() ? hsA : hsOrigin);
if(alt) {
alt->emeraldval = rtr;
alt->fiftyval = c->land;

View File

@ -515,9 +515,9 @@ EX int celldistAlt(cell *c) {
return d;
}
#if CAP_BT
if(bt::in() || sn::in()) return c->master->distance + (specialland == laCamelot && !tactic::on? 30 : 0);
if(bt::in() || sn::in()) return c->master->distance + (specialland == laCamelot && !ls::single() ? 30 : 0);
#endif
if(nil) return c->master->zebraval + abs(c->master->emeraldval) + (specialland == laCamelot && !tactic::on? 30 : 0);;
if(nil) return c->master->zebraval + abs(c->master->emeraldval) + (specialland == laCamelot && !ls::single() ? 30 : 0);;
#if CAP_CRYSTAL
if(cryst)
return crystal::dist_alt(c);

View File

@ -237,7 +237,7 @@ EX void teleportToLand(eLand l, bool make_it_safe) {
if(l == laClearing) l = laOvergrown;
if(l == laWhirlpool) l = laOcean;
if(l == laCrossroads5) l = laCrossroads2; // could not fit!
if(l == laCamelot && !(tactic::on && specialland == laCamelot))
if(l == laCamelot && !ls::single())
l = laCrossroads;
firstland = l;
safetyland = l;

View File

@ -2505,7 +2505,7 @@ EX void giantLandSwitch(cell *c, int d, cell *from) {
case laCamelot:
// generated mostly in moreBigStuff
if(tactic::on && d == 0) {
if(ls::single() && d == 0) {
int r = roundTableRadius(c);
if(r > 28 + 3 * items[itHolyGrail])
items[itHolyGrail]++;