diff --git a/CHANGELOG.md b/CHANGELOG.md index b773366..8cb2899 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +# 2.0.2 + # 2.0.1 - Fixed a bug that was causing the Favoured Enemy - Archer perk to not refund. Many thanks to Emo Used HM01 for reporting the bug! - Coding convention: renamed hook filename to match the original file it is hooking diff --git a/mod_legends_favoured_enemy_refund/hooks/entity/tactical/actor/actor.nut b/mod_legends_favoured_enemy_refund/hooks/entity/tactical/actor/actor.nut new file mode 100644 index 0000000..b629ffd --- /dev/null +++ b/mod_legends_favoured_enemy_refund/hooks/entity/tactical/actor/actor.nut @@ -0,0 +1,20 @@ +::mods_hookExactClass("entity/tactical/actor", function(o) { + + local old_resetPerks = o.resetPerks; + + o.resetPerks = function(){ + + old_resetPerks(); + + // Remove all flags related to Favoured Enemy Perks + local flags = this.getFlags(); + foreach (flag in flags.m) { + if (flag.Key.find("favoured_enemy") != null) { + ::LegendsFavouredEnemyRefund.Mod.Debug.printLog("Removing flag \"" + flag.Key + "\" for " + this.getName()); + flags.remove(flag.Key); + } + } + + }; + +}); \ No newline at end of file diff --git a/scripts/!mods_preload/mod_legends_favoured_enemy_refund.nut b/scripts/!mods_preload/mod_legends_favoured_enemy_refund.nut index efb4e14..3bb1271 100644 --- a/scripts/!mods_preload/mod_legends_favoured_enemy_refund.nut +++ b/scripts/!mods_preload/mod_legends_favoured_enemy_refund.nut @@ -1,7 +1,7 @@ // Create the object representing this mod // First we populate basic information about this mod ::LegendsFavouredEnemyRefund <- { - Version = "2.0.1", + Version = "2.0.2", ID = "mod_legends_favoured_enemy_refund", Name = "Legends Favoured Enemy Perk Point Refund", }; @@ -33,6 +33,8 @@ ::include("mod_legends_favoured_enemy_refund/hooks/skills/legend_favoured_enemy_skill.nut"); // Hook existing perk_legend_favoured_enemy_master_archer object specifically because it overrides the inherited onUpdate() function from legend_favoured_enemy_skill ::include("mod_legends_favoured_enemy_refund/hooks/skills/perks/perk_legend_favoured_enemy_master_archer.nut"); + // Hook existing actor object to handle resetPerks scenarios + ::include("mod_legends_favoured_enemy_refund/hooks/entity/tactical/actor/actor.nut"); // Add Mod Settings page // Note: This script must be triggered within /scripts/!mods_preload directory, otherwise MSU will not add the mod settings page