From 862ad2ad4839f73fa09c92c4ce838476b342cefd Mon Sep 17 00:00:00 2001 From: qndel Date: Sat, 30 Nov 2019 11:08:20 +0100 Subject: [PATCH] [hellfire] OperateLever bin exact --- Source/objects.cpp | 23 ++++++++++++++++++++++- Source/objects.h | 1 + 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/Source/objects.cpp b/Source/objects.cpp index 66a5d4825..6ba2e8942 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -2439,7 +2439,7 @@ void OperateL1Door(int pnum, int i, BOOL sendflag) void OperateLever(int pnum, int i) { int j, oi; - BOOL mapflag; + DIABOOL mapflag; if (object[i]._oSelFlag != 0) { if (!deltaload) @@ -2457,6 +2457,14 @@ void OperateLever(int pnum, int i) } } } +#ifdef HELLFIRE + if (currlevel == 24) { + operate_lv24_lever(); + IsUberLeverActivated = 1; + mapflag = FALSE; + quests[QTYPE_NAKRUL]._qactive = 3; + } +#endif if (mapflag) ObjChangeMap(object[i]._oVar1, object[i]._oVar2, object[i]._oVar3, object[i]._oVar4); if (pnum == myplr) @@ -4569,6 +4577,19 @@ void GetObjectStr(int i) } #ifdef HELLFIRE +void operate_lv24_lever() +{ + if (currlevel == 24) { + PlaySfxLoc(IS_CROPEN, UberRow, UberCol); + //the part below is the same as objects_454BA8 + dPiece[UberRow][UberCol] = 298; + dPiece[UberRow][UberCol - 1] = 301; + dPiece[UberRow][UberCol - 2] = 300; + dPiece[UberRow][UberCol + 1] = 299; + SetDungeonMicros(); + } +} + void objects_454BA8() { dPiece[UberRow][UberCol] = 298; diff --git a/Source/objects.h b/Source/objects.h index fdb4d39ff..a82ffae52 100644 --- a/Source/objects.h +++ b/Source/objects.h @@ -152,6 +152,7 @@ void SyncL3Doors(int i); void SyncObjectAnim(int o); void GetObjectStr(int i); #ifdef HELLFIRE +void operate_lv24_lever(); void objects_454BA8(); #endif