From fae3c2a23721f08feb1f47e63f9119fcace9eac3 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Tue, 3 Sep 2019 23:27:58 +0200 Subject: [PATCH 01/25] Clean up AddPlrMonstExper --- Source/player.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/player.cpp b/Source/player.cpp index ab14c0153..30662e52a 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -817,8 +817,10 @@ void AddPlrMonstExper(int lvl, int exp, char pmask) } } - if (totplrs && (1 << myplr) & pmask) { - AddPlrExperience(myplr, lvl, exp / totplrs); + if (totplrs) { + exp = exp / totplrs; + if (pmask & (1 << myplr)) + AddPlrExperience(myplr, lvl, exp); } } From 0e4ebc8745fa027393976cc7ea8c45aa5997541c Mon Sep 17 00:00:00 2001 From: qndel Date: Wed, 4 Sep 2019 20:20:08 +0200 Subject: [PATCH 02/25] AddGuardian cleanup --- Source/missiles.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 27acc20ae..c7dc319a2 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1692,12 +1692,12 @@ void AddGuardian(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy pn = dPiece[tx][ty]; if (tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) { if (LineClear(sx, sy, tx, ty)) { - if (!(dMonster[tx][ty] | dObject[tx][ty] | dMissile[tx][ty] | nSolidTable[pn] | nMissileTable[pn])) { - missile[mi]._miDelFlag = FALSE; + if (!(dMonster[tx][ty] | nSolidTable[pn] | nMissileTable[pn] | dObject[tx][ty] | dMissile[tx][ty])) { missile[mi]._mix = tx; missile[mi]._miy = ty; missile[mi]._misx = tx; missile[mi]._misy = ty; + missile[mi]._miDelFlag = FALSE; UseMana(id, SPL_GUARDIAN); i = 6; break; @@ -1711,9 +1711,7 @@ void AddGuardian(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy if (missile[mi]._miDelFlag != TRUE) { missile[mi]._misource = id; missile[mi]._mlid = AddLight(missile[mi]._mix, missile[mi]._miy, 1); - - missile[mi]._mirange = plr[id]._pLevel >> 1; - missile[mi]._mirange += missile[mi]._mispllvl; + missile[mi]._mirange = missile[mi]._mispllvl + (plr[id]._pLevel >> 1); missile[mi]._mirange += (missile[mi]._mirange * plr[id]._pISplDur) >> 7; if (missile[mi]._mirange > 30) @@ -1723,8 +1721,8 @@ void AddGuardian(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy missile[mi]._mirange = 30; missile[mi]._miVar1 = missile[mi]._mirange - missile[mi]._miAnimLen; - missile[mi]._miVar3 = 1; missile[mi]._miVar2 = 0; + missile[mi]._miVar3 = 1; } } From 965edd47ff423d8da9741c00f956c3cea01e2d5b Mon Sep 17 00:00:00 2001 From: qndel Date: Wed, 4 Sep 2019 21:06:52 +0200 Subject: [PATCH 03/25] AddApoca cleanup --- Source/missiles.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index c7dc319a2..d925ce8c1 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -2209,24 +2209,24 @@ void AddApoca(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, i int i; missile[mi]._miVar1 = 8; - missile[mi]._miVar2 = sy - 8; - missile[mi]._miVar3 = sy + 8; - missile[mi]._miVar4 = sx - 8; - missile[mi]._miVar5 = sx + 8; - missile[mi]._miVar6 = sx - 8; - if (sy - 8 <= 0) + missile[mi]._miVar2 = sy - missile[mi]._miVar1; + missile[mi]._miVar3 = missile[mi]._miVar1 + sy; + missile[mi]._miVar4 = sx - missile[mi]._miVar1; + missile[mi]._miVar5 = missile[mi]._miVar1 + sx; + missile[mi]._miVar6 = missile[mi]._miVar4; + if (missile[mi]._miVar2 <= 0) missile[mi]._miVar2 = 1; - if (sy + 8 >= MAXDUNY) + if (missile[mi]._miVar3 >= MAXDUNY) missile[mi]._miVar3 = MAXDUNY - 1; - if (sx - 8 <= 0) + if (missile[mi]._miVar4 <= 0) missile[mi]._miVar4 = 1; - if (sx + 8 >= MAXDUNX) + if (missile[mi]._miVar5 >= MAXDUNX) missile[mi]._miVar5 = MAXDUNX - 1; for (i = 0; i < plr[id]._pLevel; i++) { missile[mi]._midam += random(67, 6) + 1; } - missile[mi]._miDelFlag = FALSE; missile[mi]._mirange = 255; + missile[mi]._miDelFlag = FALSE; UseMana(id, SPL_APOCA); } From 914ab1b0b3277b17c9661bd4f861d91db2a88e39 Mon Sep 17 00:00:00 2001 From: qndel Date: Wed, 4 Sep 2019 21:23:22 +0200 Subject: [PATCH 04/25] AddElement cleanup --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index d925ce8c1..b3d1d3a33 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -2058,7 +2058,7 @@ void AddElement(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, dy += YDirAdd[midir]; } missile[mi]._midam = 2 * (plr[id]._pLevel + random(60, 10) + random(60, 10)) + 4; - for (i = 0; i < missile[mi]._mispllvl; i++) { + for (i = missile[mi]._mispllvl; i > 0; i--) { missile[mi]._midam += missile[mi]._midam >> 3; } missile[mi]._midam >>= 1; From ae2bf1e3b4ec18761cb96b6e2220ea70136b7e01 Mon Sep 17 00:00:00 2001 From: qndel Date: Wed, 4 Sep 2019 22:42:23 +0200 Subject: [PATCH 05/25] AddAcidpud cleanup --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index b3d1d3a33..cb41415b8 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1878,12 +1878,12 @@ void AddAcidpud(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, { int monst; - monst = missile[mi]._misource; missile[mi]._mixvel = 0; missile[mi]._miyvel = 0; missile[mi]._mixoff = 0; missile[mi]._miyoff = 0; missile[mi]._miLightFlag = TRUE; + monst = missile[mi]._misource; missile[mi]._mirange = random(50, 15) + 40 * (monster[monst]._mint + 1); missile[mi]._miPreFlag = TRUE; } From 3fd9ab5256f5f314dd0756e1d8d2527344f303c8 Mon Sep 17 00:00:00 2001 From: qndel Date: Wed, 4 Sep 2019 23:07:09 +0200 Subject: [PATCH 06/25] AddFireball cleanup --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index cb41415b8..7e962c44c 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1432,7 +1432,7 @@ void AddFireball(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy } if (!mienemy) { missile[mi]._midam = 2 * (plr[id]._pLevel + random(60, 10) + random(60, 10)) + 4; - for (i = 0; i < missile[mi]._mispllvl; i++) { + for (i = missile[mi]._mispllvl; i > 0; i--) { missile[mi]._midam += missile[mi]._midam >> 3; } i = 2 * missile[mi]._mispllvl + 16; From d1d470ea8788fdd9ed47adaf577994130b54c9aa Mon Sep 17 00:00:00 2001 From: qndel Date: Wed, 4 Sep 2019 23:18:25 +0200 Subject: [PATCH 07/25] AddInfra cleanup --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 7e962c44c..5854ceccf 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -2132,7 +2132,7 @@ void AddInfra(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, i int i; missile[mi]._mirange = 1584; - for (i = 0; i < missile[mi]._mispllvl; i++) { + for (i = missile[mi]._mispllvl; i > 0; i--) { missile[mi]._mirange += missile[mi]._mirange >> 3; } missile[mi]._mirange += missile[mi]._mirange * plr[id]._pISplDur >> 7; From dba70750b91e3d2a7f21f4fd0e4f38f1459bbfbe Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 00:57:18 +0200 Subject: [PATCH 08/25] AddFlame cleanup --- Source/missiles.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 5854ceccf..4331cfa11 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -2235,8 +2235,9 @@ void AddFlame(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, i int i; missile[mi]._miVar2 = 0; - if (dam > 0) - missile[mi]._miVar2 = 5 * dam; + for (i = dam; i > 0; i--) { + missile[mi]._miVar2 += 5; + } missile[mi]._misx = dx; missile[mi]._misy = dy; missile[mi]._mixoff = missile[midir]._mixoff; From adf7065579bd2cf6a78bb6cc318a6eb1f3f48970 Mon Sep 17 00:00:00 2001 From: qndel Date: Wed, 4 Sep 2019 23:39:36 +0200 Subject: [PATCH 09/25] AddNova cleanup --- Source/missiles.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 4331cfa11..635c17e37 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -2158,8 +2158,10 @@ void AddNova(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, in missile[mi]._miVar1 = dx; missile[mi]._miVar2 = dy; if (id != -1) { - missile[mi]._midam = (random(66, 6) + random(66, 6) + random(66, 6) + random(66, 6) + random(66, 6) + plr[id]._pLevel + 5) >> 1; - for (k = 0; k < missile[mi]._mispllvl; k++) { + missile[mi]._midam = (random(66, 6) + random(66, 6) + random(66, 6) + random(66, 6) + random(66, 6)); + missile[mi]._midam += plr[id]._pLevel + 5; + missile[mi]._midam >>= 1; + for (k = missile[mi]._mispllvl; k > 0; k--) { missile[mi]._midam += missile[mi]._midam >> 3; } if (!mienemy) From 4654e753c867f6d46faa911136d431165fde5c60 Mon Sep 17 00:00:00 2001 From: qndel Date: Wed, 4 Sep 2019 23:43:26 +0200 Subject: [PATCH 10/25] AddEtherealize cleanup --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 635c17e37..6b3e80b1b 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1965,7 +1965,7 @@ void AddEtherealize(int mi, int sx, int sy, int dx, int dy, int midir, char mien int i; missile[mi]._mirange = 16 * plr[id]._pLevel >> 1; - for (i = 0; i < missile[mi]._mispllvl; i++) { + for (i = missile[mi]._mispllvl; i > 0; i--) { missile[mi]._mirange += missile[mi]._mirange >> 3; } missile[mi]._mirange += missile[mi]._mirange * plr[id]._pISplDur >> 7; From 5a79b3c0f152abe90eea3b7dc0b955997757cc4c Mon Sep 17 00:00:00 2001 From: qndel Date: Wed, 4 Sep 2019 23:47:03 +0200 Subject: [PATCH 11/25] AddFlash2 cleanup --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 6b3e80b1b..0dbe36365 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1635,7 +1635,7 @@ void AddFlash2(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, for (i = 0; i <= plr[id]._pLevel; i++) { missile[mi]._midam += random(56, 2) + 1; } - for (i = 0; i < missile[mi]._mispllvl; i++) { + for (i = missile[mi]._mispllvl; i > 0; i--) { missile[mi]._midam += missile[mi]._midam >> 3; } missile[mi]._midam += missile[mi]._midam >> 1; From ce9095fab2c651ca9f9e6019c300dbf223e2e9c3 Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 01:05:15 +0200 Subject: [PATCH 12/25] AddFlamec cleanup --- Source/missiles.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 0dbe36365..188d5f793 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -2265,9 +2265,9 @@ void AddFlamec(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, GetMissileVel(mi, sx, sy, dx, dy, 32); if (!mienemy) UseMana(id, SPL_FLAME); - missile[mi]._miVar3 = 0; - missile[mi]._miVar2 = sy; missile[mi]._miVar1 = sx; + missile[mi]._miVar2 = sy; + missile[mi]._miVar3 = 0; missile[mi]._mirange = 256; } From d07c8b805f0ef1cfeb36a3edc8a9acd985992140 Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 01:19:48 +0200 Subject: [PATCH 13/25] Sentfire cleanup --- Source/missiles.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 188d5f793..18fb6370a 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -2484,10 +2484,12 @@ int Sentfire(int i, int sx, int sy) missile[i]._miVar3 = missileavail[0]; AddMissile(missile[i]._mix, missile[i]._miy, sx, sy, dir, MIS_FIREBOLT, 0, missile[i]._misource, missile[i]._midam, GetSpellLevel(missile[i]._misource, SPL_FIREBOLT)); ex = -1; - SetMissDir(i, 2); - missile[i]._miVar2 = 3; } } + if (ex == -1) { + SetMissDir(i, 2); + missile[i]._miVar2 = 3; + } return ex; } From 35b5c33f00bc668651b3902e1c74b863d822084b Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 01:39:00 +0200 Subject: [PATCH 14/25] MI_Lightball cleanup --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 18fb6370a..62f587ce6 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -2731,9 +2731,9 @@ void MI_Lightball(int i) char obj; tx = missile[i]._miVar1; - missile[i]._mitxoff += missile[i]._mixvel; ty = missile[i]._miVar2; missile[i]._mirange--; + missile[i]._mitxoff += missile[i]._mixvel; missile[i]._mityoff += missile[i]._miyvel; GetMissilePos(i); j = missile[i]._mirange; From c0c2f82ab7e45eea946f3daeaebea6ac2e257a37 Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 02:02:54 +0200 Subject: [PATCH 15/25] MI_Hbolt cleanup --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 62f587ce6..2ee7a0c1a 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -3847,7 +3847,7 @@ void MI_Hbolt(int i) if (missile[i]._mix != missile[i]._miVar1 || missile[i]._miy != missile[i]._miVar2) { missile[i]._miVar1 = missile[i]._mix; missile[i]._miVar2 = missile[i]._miy; - ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, 8); + ChangeLight(missile[i]._mlid, missile[i]._miVar1, missile[i]._miVar2, 8); } } } else { From bafb09b506b8cdee1919f282f8a6910467f3dd73 Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 02:06:40 +0200 Subject: [PATCH 16/25] MI_Flame cleanup --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 2ee7a0c1a..8256708a2 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -3731,8 +3731,8 @@ void MI_Flame(int i) int k; missile[i]._mirange--; - k = missile[i]._mirange; missile[i]._miVar2--; + k = missile[i]._mirange; CheckMissileCol(i, missile[i]._midam, missile[i]._midam, 1, missile[i]._mix, missile[i]._miy, 0); if (missile[i]._mirange == 0 && missile[i]._miHitFlag == TRUE) missile[i]._mirange = k; From 0f42653b6f02c9f69a996ad4e76329e5063079b7 Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 02:09:44 +0200 Subject: [PATCH 17/25] MI_Flamec cleanup --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 8256708a2..5287101d5 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -3757,8 +3757,8 @@ void MI_Flamec(int i) int id, src; missile[i]._mirange--; - missile[i]._mitxoff += missile[i]._mixvel; src = missile[i]._misource; + missile[i]._mitxoff += missile[i]._mixvel; missile[i]._mityoff += missile[i]._miyvel; GetMissilePos(i); if (missile[i]._mix != missile[i]._miVar1 || missile[i]._miy != missile[i]._miVar2) { From c3a325bf858dc137355758d8ec5f23bb13bc275e Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 02:28:09 +0200 Subject: [PATCH 18/25] MI_Acidsplat cleanup --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 5287101d5..ae3af54c2 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -3400,9 +3400,9 @@ void MI_Acidsplat(int i) } missile[i]._mirange--; if (!missile[i]._mirange) { + missile[i]._miDelFlag = TRUE; monst = missile[i]._misource; dam = missile[i]._mispllvl; - missile[i]._miDelFlag = TRUE; AddMissile(missile[i]._mix, missile[i]._miy, i, 0, missile[i]._mimfnum, MIS_ACIDPUD, 1, monst, (monster[monst].MData->mLevel >= 2) + 1, dam); } else { PutMissile(i); From 854e73aa8245bb8bcfbafc296677962b8e603ca8 Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 02:35:55 +0200 Subject: [PATCH 19/25] MI_Teleport cleanup --- Source/missiles.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index ae3af54c2..cadb7d933 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -3422,11 +3422,11 @@ void MI_Teleport(int i) PlrClrTrans(plr[id].WorldX, plr[id].WorldY); plr[id].WorldX = missile[i]._mix; plr[id].WorldY = missile[i]._miy; - plr[id]._px = missile[i]._mix; - plr[id]._py = missile[i]._miy; - plr[id]._poldx = missile[i]._mix; - plr[id]._poldy = missile[i]._miy; - PlrDoTrans(missile[i]._mix, missile[i]._miy); + plr[id]._px = plr[id].WorldX; + plr[id]._py = plr[id].WorldY; + plr[id]._poldx = plr[id].WorldX; + plr[id]._poldy = plr[id].WorldY; + PlrDoTrans(plr[id].WorldX, plr[id].WorldY); missile[i]._miVar1 = 1; dPlayer[plr[id].WorldX][plr[id].WorldY] = id + 1; if (leveltype != DTYPE_TOWN) { From 35eedb4327037ded144e6ec5649d96d1988cd949 Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 02:49:04 +0200 Subject: [PATCH 20/25] miss_null_1D cleanup --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index cadb7d933..8263c70ac 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1867,9 +1867,9 @@ void AddAcid(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, in void miss_null_1D(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam) { missile[mi]._midam = dam; - missile[mi]._mirange = 50; missile[mi]._mixvel = 0; missile[mi]._miyvel = 0; + missile[mi]._mirange = 50; missile[mi]._miVar1 = 50 - missile[mi]._miAnimLen; missile[mi]._miVar2 = 0; } From 6b9126ba284d04b979b52675e02718b45123c0a8 Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 02:54:04 +0200 Subject: [PATCH 21/25] replace 50 with range --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 8263c70ac..8394f91cd 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1870,7 +1870,7 @@ void miss_null_1D(int mi, int sx, int sy, int dx, int dy, int midir, char mienem missile[mi]._mixvel = 0; missile[mi]._miyvel = 0; missile[mi]._mirange = 50; - missile[mi]._miVar1 = 50 - missile[mi]._miAnimLen; + missile[mi]._miVar1 = missile[mi]._mirange - missile[mi]._miAnimLen; missile[mi]._miVar2 = 0; } From 6d842cef94009c6afcc7b7d68e66190f283fd114 Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 03:06:18 +0200 Subject: [PATCH 22/25] AddTown cleanup --- Source/missiles.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 8394f91cd..e422e48c2 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1548,10 +1548,9 @@ BOOL CheckIfTrig(int x, int y) void AddTown(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam) { - int i, j, k, mx, tx, ty; + int i, j, k, mx, tx, ty, dp; int CrawlNum[6] = { 0, 3, 12, 45, 94, 159 }; - tx = dx; if (currlevel) { missile[mi]._miDelFlag = TRUE; for (j = 0; j < 6; j++) { @@ -1560,13 +1559,14 @@ void AddTown(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, in tx = dx + CrawlTable[k - 1]; ty = dy + CrawlTable[k]; if (tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) { - if (!(dObject[tx][ty] | dPlayer[tx][ty] | dMissile[tx][ty] | nSolidTable[dPiece[tx][ty]] | nMissileTable[dPiece[tx][ty]])) { + dp = dPiece[tx][ty]; + if (!(dMissile[tx][ty] | nSolidTable[dp] | nMissileTable[dp] | dObject[tx][ty] | dPlayer[tx][ty])) { if (!CheckIfTrig(tx, ty)) { - missile[mi]._miDelFlag = FALSE; missile[mi]._mix = tx; missile[mi]._miy = ty; missile[mi]._misx = tx; missile[mi]._misy = ty; + missile[mi]._miDelFlag = FALSE; j = 6; break; } @@ -1576,6 +1576,7 @@ void AddTown(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, in } } } else { + tx = dx; ty = dy; missile[mi]._mix = tx; missile[mi]._miy = ty; @@ -1584,7 +1585,7 @@ void AddTown(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, in missile[mi]._miDelFlag = FALSE; } missile[mi]._mirange = 100; - missile[mi]._miVar1 = 100 - missile[mi]._miAnimLen; + missile[mi]._miVar1 = missile[mi]._mirange - missile[mi]._miAnimLen; missile[mi]._miVar2 = 0; for (i = 0; i < nummissiles; i++) { mx = missileactive[i]; From c30daae0a418ae664feab4745ecb7433d0fd61e4 Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 03:54:57 +0200 Subject: [PATCH 23/25] MI_Firemove cleanup --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index e422e48c2..878a5caef 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -3209,7 +3209,7 @@ void MI_Firemove(int i) if (missile[i]._mix != missile[i]._miVar3 || missile[i]._miy != missile[i]._miVar4) { missile[i]._miVar3 = missile[i]._mix; missile[i]._miVar4 = missile[i]._miy; - ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, 8); + ChangeLight(missile[i]._mlid, missile[i]._miVar3, missile[i]._miVar4, 8); } } else { if (!missile[i]._miVar2) From 70726ba2aaf58fe0e9da9c6eaabc89c14528fe58 Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 04:26:43 +0200 Subject: [PATCH 24/25] Theme_Library cleanup --- Source/themes.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Source/themes.cpp b/Source/themes.cpp index 04e5b4aaf..02629f53d 100644 --- a/Source/themes.cpp +++ b/Source/themes.cpp @@ -730,9 +730,12 @@ void Theme_Library(int t) } } - if (!QuestStatus(QTYPE_ZHAR)) { + if (QuestStatus(QTYPE_ZHAR)) { + if (t == zharlib) { + return; + } PlaceThemeMonsts(t, monstrnd[leveltype]); /// BUGFIX: `leveltype - 1` - } else if (t != zharlib) { + } else { PlaceThemeMonsts(t, monstrnd[leveltype]); /// BUGFIX: `leveltype - 1` } } From e4dbac3eb1b8108a93f50fb3f041380f144da504 Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 5 Sep 2019 03:38:37 +0200 Subject: [PATCH 25/25] MI_Etherealize cleanup --- Source/missiles.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 878a5caef..4b7176db6 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -3153,8 +3153,8 @@ void MI_Etherealize(int i) { int src; - src = missile[i]._misource; missile[i]._mirange--; + src = missile[i]._misource; missile[i]._mix = plr[src].WorldX; missile[i]._miy = plr[src].WorldY; missile[i]._mitxoff = plr[src]._pxoff << 16; @@ -3163,8 +3163,8 @@ void MI_Etherealize(int i) missile[i]._misx = plr[src]._px; missile[i]._misy = plr[src]._py; } else { - missile[i]._misx = missile[i]._mix; - missile[i]._misy = missile[i]._miy; + missile[i]._misx = plr[src].WorldX; + missile[i]._misy = plr[src].WorldY; } GetMissilePos(i); if (plr[src]._pmode == PM_WALK3) {