mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-25 01:20:37 +00:00
fixed single-land Camelot
This commit is contained in:
parent
0f27c86614
commit
f3b359940e
@ -1548,7 +1548,7 @@ EX void build_walls(cell *c, cell *from) {
|
|||||||
|
|
||||||
EX void start_camelot(cell *c) {
|
EX void start_camelot(cell *c) {
|
||||||
int rtr = newRoundTableRadius();
|
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) {
|
if(alt) {
|
||||||
alt->emeraldval = rtr;
|
alt->emeraldval = rtr;
|
||||||
alt->fiftyval = c->land;
|
alt->fiftyval = c->land;
|
||||||
|
4
cell.cpp
4
cell.cpp
@ -515,9 +515,9 @@ EX int celldistAlt(cell *c) {
|
|||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
#if CAP_BT
|
#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
|
#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 CAP_CRYSTAL
|
||||||
if(cryst)
|
if(cryst)
|
||||||
return crystal::dist_alt(c);
|
return crystal::dist_alt(c);
|
||||||
|
2
game.cpp
2
game.cpp
@ -237,7 +237,7 @@ EX void teleportToLand(eLand l, bool make_it_safe) {
|
|||||||
if(l == laClearing) l = laOvergrown;
|
if(l == laClearing) l = laOvergrown;
|
||||||
if(l == laWhirlpool) l = laOcean;
|
if(l == laWhirlpool) l = laOcean;
|
||||||
if(l == laCrossroads5) l = laCrossroads2; // could not fit!
|
if(l == laCrossroads5) l = laCrossroads2; // could not fit!
|
||||||
if(l == laCamelot && !(tactic::on && specialland == laCamelot))
|
if(l == laCamelot && !ls::single())
|
||||||
l = laCrossroads;
|
l = laCrossroads;
|
||||||
firstland = l;
|
firstland = l;
|
||||||
safetyland = l;
|
safetyland = l;
|
||||||
|
@ -2505,7 +2505,7 @@ EX void giantLandSwitch(cell *c, int d, cell *from) {
|
|||||||
|
|
||||||
case laCamelot:
|
case laCamelot:
|
||||||
// generated mostly in moreBigStuff
|
// generated mostly in moreBigStuff
|
||||||
if(tactic::on && d == 0) {
|
if(ls::single() && d == 0) {
|
||||||
int r = roundTableRadius(c);
|
int r = roundTableRadius(c);
|
||||||
if(r > 28 + 3 * items[itHolyGrail])
|
if(r > 28 + 3 * items[itHolyGrail])
|
||||||
items[itHolyGrail]++;
|
items[itHolyGrail]++;
|
||||||
|
Loading…
Reference in New Issue
Block a user