diff --git a/monstermove.cpp b/monstermove.cpp index b02c2c51..2b122c68 100644 --- a/monstermove.cpp +++ b/monstermove.cpp @@ -1436,7 +1436,7 @@ EX void moveshadow() { shpos.resize(SHSIZE); for(int p: player_indices()) { - cell *c = shpos[p][cshpos]; + cell *c = shpos[cshpos][p]; if(c && c->monst == moShadow) { for(int j=0; jtype; j++) if(c->move(j) && canAttack(c, moShadow, c->move(j), c->move(j)->monst, AF_ONLY_FBUG | AF_GETPLAYER)) @@ -1444,11 +1444,11 @@ EX void moveshadow() { c->monst = moNone; shfrom = c; } - shpos[p][cshpos] = playerpos(p); + shpos[cshpos][p] = playerpos(p); } cshpos = (cshpos+1) % SHSIZE; for(int p: player_indices()) { - cell* where = shpos[p][cshpos]; + cell* where = shpos[cshpos][p]; if(where && where->monst == moNone && where->cpdist && among(where->land, laGraveyard, laCursed) && !sword::at(where)) { if(shfrom) animateMovement(match(shfrom, where), LAYER_SMALL); diff --git a/system.cpp b/system.cpp index 8177ba4a..236a7eb9 100644 --- a/system.cpp +++ b/system.cpp @@ -1657,6 +1657,6 @@ addHook(hooks_removecells, 0, [] () { eliminate_if(buggycells, is_cell_removed); eliminate_if(butterflies, [] (pair& p) { return is_cell_removed(p.first); }); for(int i=0; i