1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-18 11:14:49 +00:00
This commit is contained in:
Zeno Rogue 2024-03-14 20:39:34 +01:00
commit ef936d7b0e
2 changed files with 9 additions and 4 deletions

View File

@ -166,7 +166,7 @@ EX void achievement_gain_once(const string& s, char flags IS(0)) {
namespace rg {
char check(bool b, char val = special_geometry) { return b ? val : fail; }
};
}
EX char specgeom_zebra() { return rg::check(geometry == gZebraQuotient && !disksize && BITRUNCATED && firstland == laDesert); }
EX char specgeom_lovasz() { return rg::check(geometry == gKleinQuartic && variation == eVariation::untruncated && gp::param == gp::loc(1,1) && !disksize && in_lovasz()); }

View File

@ -446,7 +446,7 @@ EX namespace scores {
/** \brief the amount of boxes reserved for each hr::score item */
#define MAXBOX 500
/** \brief currently used boxes in hr::score */
#define POSSCORE 410
#define POSSCORE 412
/** \brief a struct to keep local score from an earlier game */
struct score {
/** \brief version used */
@ -598,17 +598,19 @@ EX void applyBoxes() {
for(int i=0; i<43; i++) {
if(loading) kills[i] = 0;
bool fake = (i == moREMOVED || i == moLesserM || i == moTentacletail);
if(i == moWormtail) applyBoxM(moCrystalSage);
else if(i == moWormwait) applyBoxM(moFireFairy);
else if(i == moTentacleEscaping) applyBoxM(moMiner);
else if(i == moREMOVED) applyBoxI(itFatigue);
else if(i == moGolemMoved) applyBoxM(moIllusion);
else if(i == moTentacletail) applyBoxI(itSnake);
else if(i == moTentaclewait) applyBoxOrb(itOrbThorns);
else if(i == moGreater) applyBoxOrb(itOrbDragon);
else if(i == moGreaterM) applyBoxOrb(itOrbIllusion);
else if(i == moLesserM) applyBoxM(moFriendlyGhost);
else if(i == moWolfMoved) applyBoxM(moWorldTurtle);
else if(i == moNone) applyBoxNum(kills[i], "icewalls melted");
else applyBoxM(eMonster(i), fake);
else applyBoxM(eMonster(i));
}
if(saving) {
@ -949,6 +951,9 @@ EX void applyBoxes() {
applyBoxOrb(itOrbFish);
list_invorb();
applyBoxNum(items[itCrossbow]);
applyBoxNum(items[itRevolver]);
if(POSSCORE != boxid) printf("ERROR: %d boxes\n", boxid);
if(isize(invorb)) { println(hlog, "ERROR: Orbs not taken into account"); exit(1); }
}