1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-24 09:00:34 +00:00

Fixed some bugs with Alchemist's land copying

This commit is contained in:
Zeno Rogue 2017-08-18 02:07:56 +02:00
parent e77dfa7b56
commit 3b154d5038
2 changed files with 14 additions and 4 deletions

View File

@ -6754,7 +6754,12 @@ bool movepcto(int d, int subdir, bool checkonly) {
boatjump: boatjump:
statuejump: statuejump:
flipplayer = true; if(multi::players > 1) multi::flipped[multi::cpid] = true; flipplayer = true; if(multi::players > 1) multi::flipped[multi::cpid] = true;
if(c2->item && c2->land == laAlchemist) c2->wall = cwt.c->wall; if(c2->item && isAlch(c2)) {
if(cwt.c->wall == waBoat)
c2->wall = waNone;
else
c2->wall = cwt.c->wall;
}
if(c2->wall == waRoundTable) { if(c2->wall == waRoundTable) {
addMessage(XLAT("You jump over the table!")); addMessage(XLAT("You jump over the table!"));
} }

View File

@ -2325,8 +2325,6 @@ void setcolors(cell *c, int& wcol, int &fcol) {
case laAlchemist: case laAlchemist:
fcol = 0x202020; fcol = 0x202020;
if(c->item && !(conformal::includeHistory && eq(c->aitmp, sval)))
fcol = wcol = iinf[c->item].color;
break; break;
case laReptile: case laReptile:
fcol = reptilecolor(c); fcol = reptilecolor(c);
@ -2549,9 +2547,16 @@ void setcolors(cell *c, int& wcol, int &fcol) {
fcol = wcol = winf[c->wall].color; */ fcol = wcol = winf[c->wall].color; */
// floors become fcol // floors become fcol
if(c->wall == waSulphur || c->wall == waSulphurC || isAlch(c) || c->wall == waPlatform) if(c->wall == waSulphur || c->wall == waSulphurC || c->wall == waPlatform)
fcol = wcol; fcol = wcol;
if(isAlch(c)) {
if(c->item && !(conformal::includeHistory && eq(c->aitmp, sval)))
fcol = wcol = iinf[c->item].color;
else
fcol = wcol;
}
if(c->wall == waDeadTroll2 || c->wall == waPetrified) { if(c->wall == waDeadTroll2 || c->wall == waPetrified) {
eMonster m = eMonster(c->wparam); eMonster m = eMonster(c->wparam);
if(c->wall == waPetrified) if(c->wall == waPetrified)