diff --git a/Source/missiles.cpp b/Source/missiles.cpp index ed5797936..c55d94150 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -2504,6 +2504,7 @@ void MI_Golem(int i) { int CrawlNum[6] = { 0, 3, 12, 45, 94, 159 }; int tx, ty, dp, l, m, src, k, tid; + char *ct; src = missile[i]._misource; if (monster[src]._mx == 1 && !monster[src]._my) { @@ -2511,8 +2512,9 @@ void MI_Golem(int i) k = CrawlNum[l]; tid = k + 2; for (m = (BYTE)CrawlTable[k]; m > 0; m--) { - tx = missile[i]._miVar4 + CrawlTable[tid - 1]; - ty = missile[i]._miVar5 + CrawlTable[tid]; + ct = &CrawlTable[tid]; + tx = missile[i]._miVar4 + *(ct - 1); + ty = missile[i]._miVar5 + *ct; if (0 < tx && tx < MAXDUNX && 0 < ty && ty < MAXDUNY) { dp = dPiece[tx][ty]; if (LineClear(missile[i]._miVar1, missile[i]._miVar2, tx, ty)) {