From 3b154d5038f330c4461ea0be28f8049a8de6756c Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Fri, 18 Aug 2017 02:07:56 +0200 Subject: [PATCH] Fixed some bugs with Alchemist's land copying --- game.cpp | 7 ++++++- graph.cpp | 11 ++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/game.cpp b/game.cpp index 8ccf157b..d71de4d8 100644 --- a/game.cpp +++ b/game.cpp @@ -6754,7 +6754,12 @@ bool movepcto(int d, int subdir, bool checkonly) { boatjump: statuejump: 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) { addMessage(XLAT("You jump over the table!")); } diff --git a/graph.cpp b/graph.cpp index f947f720..cf350388 100644 --- a/graph.cpp +++ b/graph.cpp @@ -2325,8 +2325,6 @@ void setcolors(cell *c, int& wcol, int &fcol) { case laAlchemist: fcol = 0x202020; - if(c->item && !(conformal::includeHistory && eq(c->aitmp, sval))) - fcol = wcol = iinf[c->item].color; break; case laReptile: fcol = reptilecolor(c); @@ -2549,9 +2547,16 @@ void setcolors(cell *c, int& wcol, int &fcol) { fcol = wcol = winf[c->wall].color; */ // 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; + 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) { eMonster m = eMonster(c->wparam); if(c->wall == waPetrified)