diff --git a/game.cpp b/game.cpp index 944c65c9..01a5add4 100644 --- a/game.cpp +++ b/game.cpp @@ -2467,8 +2467,8 @@ void checkTide(cell *c) { if(c->land == laVolcano) { int id = lavatide(c, 0); if(id < 96) { - if(c->wall == waNone || isWateryOrBoat(c) || c->wall == waVinePlant) { - if(isWateryOrBoat(c)) + if(c->wall == waNone || isWateryOrBoat(c) || c->wall == waVinePlant || isAlch(c)) { + if(isWateryOrBoat(c) || isAlch(c)) playSound(c, "steamhiss"); c->wall = waMagma; if(itemBurns(c->item)) { @@ -7299,6 +7299,10 @@ bool movepcto(int d, int subdir, bool checkonly) { cwt.c->wall = waIcewall; } + if(items[itOrbWinter]) + forCellEx(c3, c2) if(c3->wall == waIcewall && c3->item) + markOrb(itOrbWinter), collectItem(c3); + movecost(cwt.c, c2); { diff --git a/help.cpp b/help.cpp index 6c03e42e..2e9f003d 100644 --- a/help.cpp +++ b/help.cpp @@ -219,6 +219,10 @@ string generateHelpForItem(eItem it) { help += XLAT("\n\nThis Orb protects you from attacks, scents, and insulates you " "from electricity. It does not let you go through deadly terrain, but " "if you are attacked with fire, it lets you stay in place in it."); + + if(it == itOrbWinter) + help += XLAT("\n\nThis Orb also allows you to collect items encased in ice."); + if(it == itOrbEmpathy) { int cnt = 0; for(int i=0; i