Skip to content

Commit

Permalink
Merge pull request #1725 from Daztek/fix-tweak
Browse files Browse the repository at this point in the history
Tweaks: UncapDamageResistanceDamageFlags: check for added parameter
  • Loading branch information
Daztek committed Jan 17, 2024
2 parents 69b2bfa + 96fa983 commit b12b114
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions Plugins/Tweaks/UncapDamageResistanceDamageFlags.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,19 @@ void UncapDamageResistanceDamageFlags()

static Hooks::Hook s_ExecuteCommandEffectDamageResistanceHook =
Hooks::HookFunction(&CNWSVirtualMachineCommands::ExecuteCommandEffectDamageResistance,
+[](CNWSVirtualMachineCommands *thisPtr, int32_t, int32_t) -> int32_t
+[](CNWSVirtualMachineCommands *thisPtr, int32_t, int32_t nParameters) -> int32_t
{
auto *pVM = Globals::VirtualMachine();
int32_t nDamageFlags, nAmount, nLimit;
int32_t nDamageFlags, nAmount, nLimit, bRangedOnly = 0;

if (!pVM->StackPopInteger(&nDamageFlags) ||
!pVM->StackPopInteger(&nAmount) ||
!pVM->StackPopInteger(&nLimit))
return Constants::VMError::StackUnderflow;

if (nParameters >= 4 && !pVM->StackPopInteger(&bRangedOnly))
return Constants::VMError::StackUnderflow;

if (nDamageFlags < 0)
nDamageFlags = Constants::DamageType::Magical;

Expand All @@ -40,6 +43,7 @@ void UncapDamageResistanceDamageFlags()
pEffect->SetInteger(0, nDamageFlags);
pEffect->SetInteger(1, nAmount);
pEffect->SetInteger(2, nLimit);
pEffect->SetInteger(3, bRangedOnly);

if (auto *pGO = Utils::GetGameObject(thisPtr->m_oidObjectRunScript))
pEffect->SetCreator(pGO->m_idSelf);
Expand Down

0 comments on commit b12b114

Please sign in to comment.