diff --git a/Source/monstdat.cpp b/Source/monstdat.cpp index 41a587b8c..a7eea5f9f 100644 --- a/Source/monstdat.cpp +++ b/Source/monstdat.cpp @@ -257,33 +257,32 @@ BYTE MonstConvTbl[] = { MT_NZOMBIE, MT_BIGFALL, MT_DARKMAGE, - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire - 0, // Reserved for Hellfire + 0, // Hellfire: Hellboar + 0, // Hellfire: Stinger + 0, // Hellfire: Psychorb + 0, // Hellfire: Arachnon + 0, // Hellfire: Felltwin + 0, // Hellfire: Hork Spawn + 0, // Hellfire: Stinger (duplicate) + 0, // Hellfire: Psychorb (duplicate) + 0, // Hellfire: Arachnon (duplicate) + 0, // Hellfire: Lashworm + 0, // Hellfire: Torchant + 0, // Hellfire: Hork Demon + 0, // Hellfire: Hell Bug + 0, // Hellfire: Gravedigger + 0, // Hellfire: Tomb Rat + 0, // Hellfire: Firebat + 0, // Hellfire: Skullwing + 0, // Hellfire: Lich + 0, // Hellfire: Crypt Demon + 0, // Hellfire: Firebat (duplicate) + 0, // Hellfire: Skullwing (duplicate) + 0, // Hellfire: Lich (duplicate) + 0, // Hellfire: Biclops + 0, // Hellfire: Flesh Thing + 0, // Hellfire: Reaper + 0, // Hellfire: Na-Krul MT_CLEAVER, MT_INVILORD, MT_LRDSAYTR, diff --git a/Source/objdat.cpp b/Source/objdat.cpp index 0b1082595..3d709cead 100644 --- a/Source/objdat.cpp +++ b/Source/objdat.cpp @@ -127,12 +127,8 @@ int ObjTypeConv[] = { OBJ_BOOKSHELF, OBJ_BOOKCASEL, OBJ_BOOKCASER, - OBJ_ARMORSTAND, OBJ_ARMORSTANDN, - OBJ_WEAPONRACK, OBJ_WEAPONRACKN, - OBJ_SLAINHERO, - OBJ_WATER, OBJ_BLOODFTN, OBJ_PURIFYINGFTN, OBJ_SHRINEL, @@ -141,17 +137,11 @@ int ObjTypeConv[] = { OBJ_MURKYFTN, OBJ_TEARFTN, OBJ_DECAP, + OBJ_TCHEST1, OBJ_TCHEST2, - OBJ_STORYBOOK, - OBJ_L1LDOOR, - OBJ_L1RDOOR, - OBJ_L2LDOOR, - OBJ_L2RDOOR, - OBJ_L3LDOOR, - OBJ_L3RDOOR, - OBJ_BLINDBOOK, - OBJ_BLOODBOOK, + OBJ_TCHEST3, OBJ_LAZSTAND, + OBJ_BOOKSTAND, }; /** Contains the data related to each object ID. */ @@ -172,7 +162,7 @@ ObjDataStruct AllObjects[99] = { { 3, OFILE_BANNER, 0, 0, DTYPE_TOWN, THEME_SKELROOM, -1, 0, 2, 0, 96, TRUE, TRUE, TRUE, 0, 0, FALSE }, { 3, OFILE_BANNER, 0, 0, DTYPE_TOWN, THEME_SKELROOM, -1, 0, 1, 0, 96, TRUE, TRUE, TRUE, 0, 0, FALSE }, { 3, OFILE_BANNER, 0, 0, DTYPE_TOWN, THEME_SKELROOM, -1, 0, 3, 0, 96, TRUE, TRUE, TRUE, 0, 0, FALSE }, - { 2, OFILE_SKULPILE, 1, 4, DTYPE_TOWN, THEME_NONE, -1, 0, 0, 1, 96, TRUE, TRUE, TRUE, 0, 0, FALSE }, + { 2, OFILE_SKULPILE, 1, 4, DTYPE_TOWN, THEME_NONE, -1, 0, 1, 1, 96, TRUE, TRUE, TRUE, 0, 0, FALSE }, { 2, OFILE_L1BRAZ, 0, 0, DTYPE_TOWN, THEME_NONE, -1, 0, 0, 0, 0, FALSE, FALSE, FALSE, 0, 0, FALSE }, { 2, OFILE_L1BRAZ, 0, 0, DTYPE_TOWN, THEME_NONE, -1, 0, 0, 0, 0, FALSE, FALSE, FALSE, 0, 0, FALSE }, { 2, OFILE_L1BRAZ, 0, 0, DTYPE_TOWN, THEME_NONE, -1, 0, 0, 0, 0, FALSE, FALSE, FALSE, 0, 0, FALSE }, diff --git a/Source/objects.cpp b/Source/objects.cpp index 9593b1f86..10e63432d 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -1622,6 +1622,18 @@ void Obj_FlameTrap(int i) if (object[i]._oVar4) ActivateTrapLine(object[i]._otype, object[i]._oVar1); } else { + int damage[4] = { 6, 8, 10, 12 }; + + int mindam = damage[leveltype - 1]; + int maxdam = mindam * 2; + + x = object[i]._ox; + y = object[i]._oy; + if (dMonster[x][y] > 0) + MonsterTrapHit(dMonster[x][y] - 1, mindam / 2, maxdam / 2, 0, MIS_FIREWALLC, FALSE); + if (dPlayer[x][y] > 0) + PlayerMHit(dPlayer[x][y] - 1, -1, 0, mindam, maxdam, MIS_FIREWALLC, FALSE, 0); + if (object[i]._oAnimFrame == object[i]._oAnimLen) object[i]._oAnimFrame = 11; if (object[i]._oAnimFrame <= 5) @@ -2672,6 +2684,9 @@ void OperateTrapLvr(int i) frame = object[i]._oAnimFrame; j = 0; + if (!deltaload) + PlaySfxLoc(IS_LEVER, object[i]._ox, object[i]._oy); + if (frame == 1) { object[i]._oAnimFrame = 2; for (; j < nobjects; j++) {