From ca3f59ad1eeb60725ffcadbc4dea9c33cfaa2516 Mon Sep 17 00:00:00 2001 From: NovaRain Date: Tue, 2 Jan 2018 09:58:30 +0800 Subject: [PATCH] Fixed a bug in NPC combat control that kept increasing the perk rank of Gecko Skinning after the combat ended. Condensed the code in ApplyHeaveHoFix a bit. --- artifacts/mods/gl_partycontrol.int | Bin 1732 -> 1746 bytes artifacts/mods/gl_partycontrol.ssl | 1 + sfall/Modules/Perks.cpp | 3 +-- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/artifacts/mods/gl_partycontrol.int b/artifacts/mods/gl_partycontrol.int index 411a48b738e405d0a39368569720e72a28e69d69..d26092946da9d2578603f0172bd64009781092f9 100644 GIT binary patch delta 76 zcmX@Ydx>|$PFBWUlXtNy2rzgaU}RumU~H@e(QG`E@387KT21C*Qr03l@)g#Z8m delta 44 zcmcb_dxUqxPFBV>lXtNyFtPrd{EAhdQD?Fgn=0d)$qsDdjA@f2*o+zHP3~cH0{~o; B4l4iv diff --git a/artifacts/mods/gl_partycontrol.ssl b/artifacts/mods/gl_partycontrol.ssl index db75ccfc..378f966e 100644 --- a/artifacts/mods/gl_partycontrol.ssl +++ b/artifacts/mods/gl_partycontrol.ssl @@ -42,6 +42,7 @@ end procedure start begin if game_loaded and (sfall_ver_major >= 4) then begin + set_perk_ranks(PERK_gecko_skinning_perk, 1); controlMode := GetConfig("CombatControl", "Mode", 0); if (controlMode > 2) then controlMode := 0; if (controlMode > 0) then begin diff --git a/sfall/Modules/Perks.cpp b/sfall/Modules/Perks.cpp index ea9c0141..169c6d0e 100644 --- a/sfall/Modules/Perks.cpp +++ b/sfall/Modules/Perks.cpp @@ -613,8 +613,7 @@ lower: } void _stdcall ApplyHeaveHoFix() { - SafeWrite8(0x478AC4, 0xE9); - HookCall(0x478AC4, HeaveHoHook); + MakeJump(0x478AC4, HeaveHoHook); perks[PERK_heave_ho].strengthMin = 0; }