From 8a114fc269e48cdcf4ea8a6b0e4a475b8bec13b6 Mon Sep 17 00:00:00 2001 From: qndel Date: Wed, 1 Jan 2020 03:07:01 +0100 Subject: [PATCH] [hellfire] monster_some_crypt bin exact --- Source/monster.cpp | 20 ++++++++++++++++++++ Source/monster.h | 3 +++ 2 files changed, 23 insertions(+) diff --git a/Source/monster.cpp b/Source/monster.cpp index f0d2de894..4c7b9ed0c 100644 --- a/Source/monster.cpp +++ b/Source/monster.cpp @@ -631,6 +631,26 @@ BOOL MonstPlace(int xp, int yp) return !SolidLoc(xp, yp); } + +#ifdef HELLFIRE +void monster_some_crypt() +{ + MonsterStruct *mon; + int hp; + + if (currlevel == 24 && UberDiabloMonsterIndex >= 0 && UberDiabloMonsterIndex < nummonsters) { + mon = &monster[UberDiabloMonsterIndex]; + PlayEffect(UberDiabloMonsterIndex, 2); + quests[QTYPE_NAKRUL]._qlog = 0; + mon->mArmorClass -= 50; + hp = mon->_mmaxhp / 2; + mon->mMagicRes = 0; + mon->_mhitpoints = hp; + mon->_mmaxhp = hp; + } +} + +#endif void PlaceMonster(int i, int mtype, int x, int y) { int rd; diff --git a/Source/monster.h b/Source/monster.h index a0c126274..66aafe274 100644 --- a/Source/monster.h +++ b/Source/monster.h @@ -27,6 +27,9 @@ void ClearMVars(int i); void InitMonster(int i, int rd, int mtype, int x, int y); void ClrAllMonsters(); BOOL MonstPlace(int xp, int yp); +#ifdef HELLFIRE +void monster_some_crypt() +#endif void PlaceMonster(int i, int mtype, int x, int y); void PlaceUniqueMonst(int uniqindex, int miniontype, int unpackfilesize); void PlaceQuestMonsters();