From 3f1cdf9bc8ad2290229d8a2bb23a5802e7d682a8 Mon Sep 17 00:00:00 2001 From: qndel Date: Mon, 7 Oct 2019 23:10:51 +0200 Subject: [PATCH 1/2] [hellfire] GetDamageAmt bin exact --- Source/missiles.cpp | 47 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 4 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 4d2a76e07..c8fbe329b 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -30,10 +30,18 @@ void GetDamageAmt(int i, int *mind, int *maxd) break; case SPL_HEAL: /// BUGFIX: healing calculation is unused *mind = plr[myplr]._pLevel + sl + 1; +#ifdef HELLFIRE + if (plr[myplr]._pClass == PC_WARRIOR || plr[myplr]._pClass == PC_MONK || plr[myplr]._pClass == PC_BARBARIAN) { +#else if (plr[myplr]._pClass == PC_WARRIOR) { - *mind *= 2; +#endif + *mind <<= 1; } +#ifdef HELLFIRE + else if (plr[myplr]._pClass == PC_ROGUE || plr[myplr]._pClass == PC_BARD) { +#else if (plr[myplr]._pClass == PC_ROGUE) { +#endif *mind += *mind >> 1; } *maxd = 10; @@ -43,10 +51,18 @@ void GetDamageAmt(int i, int *mind, int *maxd) for (k = 0; k < sl; k++) { *maxd += 6; } +#ifdef HELLFIRE + if (plr[myplr]._pClass == PC_WARRIOR || plr[myplr]._pClass == PC_MONK || plr[myplr]._pClass == PC_BARBARIAN) { +#else if (plr[myplr]._pClass == PC_WARRIOR) { - *maxd *= 2; +#endif + *maxd <<= 1; } +#ifdef HELLFIRE + else if (plr[myplr]._pClass == PC_ROGUE || plr[myplr]._pClass == PC_BARD) { +#else if (plr[myplr]._pClass == PC_ROGUE) { +#endif *maxd += *maxd >> 1; } *mind = -1; @@ -82,6 +98,13 @@ void GetDamageAmt(int i, int *mind, int *maxd) case SPL_RESURRECT: case SPL_TELEKINESIS: case SPL_BONESPIRIT: +#ifdef HELLFIRE: + case SPL_WARP: + case SPL_REFLECT: + case SPL_BERSERK: + case SPL_SEARCH: + case SPL_RUNESTONE: +#endif *mind = -1; *maxd = -1; break; @@ -170,10 +193,18 @@ void GetDamageAmt(int i, int *mind, int *maxd) break; case SPL_HEALOTHER: /// BUGFIX: healing calculation is unused *mind = plr[myplr]._pLevel + sl + 1; +#ifdef HELLFIRE + if (plr[myplr]._pClass == PC_WARRIOR || plr[myplr]._pClass == PC_MONK || plr[myplr]._pClass == PC_BARBARIAN) { +#else if (plr[myplr]._pClass == PC_WARRIOR) { - *mind *= 2; +#endif + *mind <<= 1; } +#ifdef HELLFIRE + if (plr[myplr]._pClass == PC_ROGUE || plr[myplr]._pClass == PC_BARD) { +#else if (plr[myplr]._pClass == PC_ROGUE) { +#endif *mind += *mind >> 1; } *maxd = 10; @@ -183,10 +214,18 @@ void GetDamageAmt(int i, int *mind, int *maxd) for (k = 0; k < sl; k++) { *maxd += 6; } +#ifdef HELLFIRE + if (plr[myplr]._pClass == PC_WARRIOR || plr[myplr]._pClass == PC_MONK || plr[myplr]._pClass == PC_BARBARIAN) { +#else if (plr[myplr]._pClass == PC_WARRIOR) { - *maxd *= 2; +#endif + *maxd <<= 1; } +#ifdef HELLFIRE + if (plr[myplr]._pClass == PC_ROGUE || plr[myplr]._pClass == PC_BARD) { +#else if (plr[myplr]._pClass == PC_ROGUE) { +#endif *maxd += *maxd >> 1; } *mind = -1; From a4852904be141bbc88812b291dc5d9b564878532 Mon Sep 17 00:00:00 2001 From: qndel Date: Mon, 7 Oct 2019 23:46:43 +0200 Subject: [PATCH 2/2] sneaky bug --- Source/missiles.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index a26c30a04..ccb021eeb 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -98,7 +98,7 @@ void GetDamageAmt(int i, int *mind, int *maxd) case SPL_RESURRECT: case SPL_TELEKINESIS: case SPL_BONESPIRIT: -#ifdef HELLFIRE: +#ifdef HELLFIRE case SPL_WARP: case SPL_REFLECT: case SPL_BERSERK: