1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-27 14:37:16 +00:00

some flavor messages no longer display in special modes if they are inappropriate for them

This commit is contained in:
Zeno Rogue 2019-04-13 13:29:30 +02:00
parent 562f43dc1f
commit ddf43101b2
2 changed files with 24 additions and 22 deletions

View File

@ -2547,12 +2547,12 @@ bool attackMonster(cell *c, flagtype flags, eMonster killer) {
int ntk = tkills(); int ntk = tkills();
int ntkt = killtypes(); int ntkt = killtypes();
if(tkt < R20 && ntkt >= R20) { if(tkt < R20 && ntkt >= R20 && in_full_game()) {
addMessage(XLAT("You hear a distant roar!")); addMessage(XLAT("You hear a distant roar!"));
playSound(NULL, "message-roar"); playSound(NULL, "message-roar");
} }
if(tk == 0 && ntk > 0 && !tactic::on && !euclid && !sphere && !cheater) { if(tk == 0 && ntk > 0 && in_full_game() && !cheater) {
if(notthateasy(m)) if(notthateasy(m))
addMessage(XLAT("Quite tough, for your first fight.")); addMessage(XLAT("Quite tough, for your first fight."));
else { else {
@ -2564,24 +2564,24 @@ bool attackMonster(cell *c, flagtype flags, eMonster killer) {
} }
} }
if(tk < 10 && ntk >= 10 && !tactic::on && !euclid && !sphere && !inv::on) if(tk < 10 && ntk >= 10 && in_full_game() && !inv::on)
addMessage(XLAT("Good to know that your fighting skills serve you well in this strange world.")); addMessage(XLAT("Good to know that your fighting skills serve you well in this strange world."));
if(tk < R100/2 && ntk >= R100/2 && !euclid && !sphere) if(tk < R100/2 && ntk >= R100/2 && in_full_game())
addMessage(XLAT("You wonder where all these monsters go, after their death...")); addMessage(XLAT("You wonder where all these monsters go, after their death..."));
if(tk < R100 && ntk >= R100 && !euclid && !sphere) if(tk < R100 && ntk >= R100 && in_full_game())
addMessage(XLAT("You feel that the souls of slain enemies pull you to the Graveyard...")); addMessage(XLAT("You feel that the souls of slain enemies pull you to the Graveyard..."));
if(!tu && landUnlocked(laTrollheim)) { if(!tu && landUnlocked(laTrollheim) && in_full_game()) {
playSound(c, "message-troll"); playSound(c, "message-troll");
addMessage(XLAT("%The1 says, \"I die, but my clan in Trollheim will avenge me!\"", m)); addMessage(XLAT("%The1 says, \"I die, but my clan in Trollheim will avenge me!\"", m));
} }
if(!eu && landUnlocked(laElementalWall)) if(!eu && landUnlocked(laElementalWall) && in_full_game())
addMessage(XLAT("After killing %the1, you feel able to reach the Elemental Planes!", m)); addMessage(XLAT("After killing %the1, you feel able to reach the Elemental Planes!", m));
if(m == moVizier && c->monst != moVizier && kills[moVizier] == 1) { if(m == moVizier && c->monst != moVizier && kills[moVizier] == 1 && in_full_game()) {
addMessage(XLAT("Hmm, he has been training in the Emerald Mine. Interesting...")); addMessage(XLAT("Hmm, he has been training in the Emerald Mine. Interesting..."));
princess::forceMouse = true; princess::forceMouse = true;
} }
@ -6625,8 +6625,7 @@ void gainLife() {
} }
void collectMessage(cell *c2, eItem which) { void collectMessage(cell *c2, eItem which) {
bool specialmode = bool specialmode = yendor::on || princess::challenge || cheater || !in_full_game();
yendor::on || tactic::on || princess::challenge || euclid || sphere;
if(which == itDodeca && peace::on) return; if(which == itDodeca && peace::on) return;
if(which == itTreat) ; if(which == itTreat) ;
@ -6685,9 +6684,9 @@ void collectMessage(cell *c2, eItem which) {
} }
else if(which == itHunting && items[itHunting] == 4 && !specialmode && !ISMOBWEB) else if(which == itHunting && items[itHunting] == 4 && !specialmode && !ISMOBWEB)
addMessage(XLAT("Hint: hold Alt to highlights enemies and other important features.")); addMessage(XLAT("Hint: hold Alt to highlights enemies and other important features."));
else if(which == itSpice && items[itSpice] == U10*7/10 && !specialmode) else if(which == itSpice && items[itSpice] == U10*7/10 && !specialmode && isLandIngame(laHell))
addMessage(XLAT("You have a vision of the future, fighting demons in Hell...")); addMessage(XLAT("You have a vision of the future, fighting demons in Hell..."));
else if(which == itSpice && items[itSpice] == U10-1 && !specialmode) else if(which == itSpice && items[itSpice] == U10-1 && !specialmode && isLandIngame(laRedRock))
addMessage(XLAT("You will be fighting red rock snakes, too...")); addMessage(XLAT("You will be fighting red rock snakes, too..."));
else if(which == itKraken && items[itKraken] == U10-1 && !specialmode) else if(which == itKraken && items[itKraken] == U10-1 && !specialmode)
addMessage(XLAT("You feel that a magical weapon is waiting for you...")); addMessage(XLAT("You feel that a magical weapon is waiting for you..."));
@ -6695,10 +6694,10 @@ void collectMessage(cell *c2, eItem which) {
// addMessage(XLAT("There should be a Palace somewhere nearby...")); // addMessage(XLAT("There should be a Palace somewhere nearby..."));
else if(which == itElixir && items[itElixir] == U5-1 && !specialmode) else if(which == itElixir && items[itElixir] == U5-1 && !specialmode)
addMessage(XLAT("With this Elixir, your life should be long and prosperous...")); addMessage(XLAT("With this Elixir, your life should be long and prosperous..."));
else if(which == itRuby && items[itRuby] == U5-1 && !specialmode) { else if(which == itRuby && items[itRuby] == U5-1 && !specialmode && isLandIngame(laMountain)) {
addMessage(XLAT("You feel something strange about gravity here...")); addMessage(XLAT("You feel something strange about gravity here..."));
} }
else if(which == itPalace && items[itPalace] == U5-1 && !specialmode) { else if(which == itPalace && items[itPalace] == U5-1 && !specialmode && isLandIngame(laDungeon)) {
addMessage(XLAT("The rug depicts a man in a deep dungeon, unable to leave.")); addMessage(XLAT("The rug depicts a man in a deep dungeon, unable to leave."));
} }
else if(which == itFeather && items[itFeather] == 25-1 && !specialmode && inv::on) else if(which == itFeather && items[itFeather] == 25-1 && !specialmode && inv::on)
@ -6713,22 +6712,22 @@ void collectMessage(cell *c2, eItem which) {
addMessage(XLAT("You have gained an offensive power!")); addMessage(XLAT("You have gained an offensive power!"));
else if(which == itHell && items[itHell] >= 100 && items[itHell] % 25 == 24 && !specialmode && inv::on) else if(which == itHell && items[itHell] >= 100 && items[itHell] % 25 == 24 && !specialmode && inv::on)
addMessage(XLAT("A small reward for braving the Hell.")); addMessage(XLAT("A small reward for braving the Hell."));
else if(which == itIvory && items[itIvory] == U5-1 && !specialmode) { else if(which == itIvory && items[itIvory] == U5-1 && !specialmode && (isLandIngame(laMountain) || isLandIngame(laDungeon))) {
addMessage(XLAT("You feel attuned to gravity, ready to face mountains and dungeons.")); addMessage(XLAT("You feel attuned to gravity, ready to face mountains and dungeons."));
} }
else if(which == itBone && items[itBone] == U5+1 && !specialmode) else if(which == itBone && items[itBone] == U5+1 && !specialmode && isLandIngame(laHell))
addMessage(XLAT("The Necromancer's Totem contains hellish incantations...")); addMessage(XLAT("The Necromancer's Totem contains hellish incantations..."));
else if(which == itStatue && items[itStatue] == U5+1 && !specialmode) else if(which == itStatue && items[itStatue] == U5+1 && !specialmode)
addMessage(XLAT("The inscriptions on the Statue of Cthulhu point you toward your destiny...")); addMessage(XLAT("The inscriptions on the Statue of Cthulhu point you toward your destiny..."));
else if(which == itStatue && items[itStatue] == U5-1 && !specialmode) else if(which == itStatue && items[itStatue] == U5-1 && isLandIngame(laTemple))
addMessage(XLAT("There must be some temples of Cthulhu in R'Lyeh...")); addMessage(XLAT("There must be some temples of Cthulhu in R'Lyeh..."));
else if(which == itDiamond && items[itDiamond] == U10-2 && !specialmode) else if(which == itDiamond && items[itDiamond] == U10-2 && !specialmode)
addMessage(XLAT("Still, even greater treasures lie ahead...")); addMessage(XLAT("Still, even greater treasures lie ahead..."));
else if(which == itFernFlower && items[itFernFlower] == U5-1 && !specialmode) else if(which == itFernFlower && items[itFernFlower] == U5-1 && isLandIngame(laEmerald))
addMessage(XLAT("You overheard Hedgehog Warriors talking about emeralds...")); addMessage(XLAT("You overheard Hedgehog Warriors talking about emeralds..."));
else if(which == itEmerald && items[itEmerald] == U5-1 && !specialmode && !chaosmode) else if(which == itEmerald && items[itEmerald] == U5-1 && !specialmode && isLandIngame(laCamelot))
addMessage(XLAT("You overhear miners talking about a castle...")); addMessage(XLAT("You overhear miners talking about a castle..."));
else if(which == itEmerald && items[itEmerald] == U5 && !specialmode && !chaosmode) else if(which == itEmerald && items[itEmerald] == U5 && !specialmode && isLandIngame(laCamelot))
addMessage(XLAT("A castle in the Crossroads...")); addMessage(XLAT("A castle in the Crossroads..."));
else if(which == itShard) ; else if(which == itShard) ;
else { else {
@ -7231,8 +7230,10 @@ void roundTableMessage(cell *c2) {
} }
bool in_full_game() { bool in_full_game() {
if(tactic::on) return false;
if(princess::challenge) return false;
if(chaosmode) return true; if(chaosmode) return true;
if(geometry == gEuclid && isCrossroads(specialland)) return true; if(euclid && isCrossroads(specialland)) return true;
if(weirdhyperbolic && specialland == laCrossroads4) return true; if(weirdhyperbolic && specialland == laCrossroads4) return true;
if(geometry == gCrystal && isCrossroads(specialland)) return true; if(geometry == gCrystal && isCrossroads(specialland)) return true;
if(geometry == gNormal && !NONSTDVAR) return true; if(geometry == gNormal && !NONSTDVAR) return true;

View File

@ -4996,6 +4996,7 @@ bool normal_gravity_at(cell *c);
void build_pool(cell *c, bool with_boat); void build_pool(cell *c, bool with_boat);
void createArrowTrapAt(cell *c, eLand land); void createArrowTrapAt(cell *c, eLand land);
bool no_barriers_in_radius(cell *c, int rad); bool no_barriers_in_radius(cell *c, int rad);
bool in_full_game();
extern ld extra_generation_distance; extern ld extra_generation_distance;