CCCPaste

AllHarmonyPatches.txt

════════════════════════════════════════════════════
Harmony Patch Scanner — Full Patch List
════════════════════════════════════════════════════
Scan Time : 2026-04-18 16:19:58

════════════════════════════════════════════════════
Launcher Load Order (authoritative DLL load sequence)
════════════════════════════════════════════════════
#1 Harmony (Bannerlord.Harmony) [community lib]
#2 BetterExceptionWindow (BetterExceptionWindow) [community lib]
#3 ButterLib (Bannerlord.ButterLib) [community lib]
#4 UIExtenderEx (Bannerlord.UIExtenderEx) [community lib]
#5 Mod Configuration Menu v5 (Bannerlord.MBOptionScreen) [community lib]
#6 Native (Native) [official]
#7 SandBox Core (SandBoxCore) [official]
#8 Birth and Aging Options (BirthAndDeath) [official]
#9 CustomBattle (CustomBattle) [official]
#10 Fast Mode (FastMode) [official]
#11 Sandbox (Sandbox) [official]
#12 StoryMode (StoryMode) [official]
#13 NavalDLC (NavalDLC) [official]
#14 Useful Skips (UsefulSkips)
#15 Better Save/Load (BetterSaveLoad)
#16 Better Time (BetterTime)
#17 FixForRaidingCultureInfluence (FixForRaidingCultureInfluence)
#18 Banner Fix Performance (BannerFix)
#19 BannerColorPersistence with BannerPaste (BannerColorPersistence)
#20 Banner Editor (BannerEditor)
#21 Historical Banner Icons (HistoricalBannerIcons)
#22 BetterPartyTooltip (BetterPartyTooltip)
#23 Mounts & Herd Manager (Bakou.HerdManager)
#24 Equipment UI Helper (EquipmentUIHelper)
#25 ItemQualityVisuals (ItemQualityVisuals)
#26 Show Skill Limit (ShowSkillLimit)
#27 True Cultural Names (TrueCulturalNames)
#28 Noble Titles Plus (NobleTitlesPlus)
#29 ArtemCore (ArtemCore)
#30 Find Hero (FindHero)
#31 Character Reload (CharacterReload)
#32 Governors Gonna Govern (GovernorsGonnaGovern)
#33 Player Execution (PlayerExecuteEdit)
#34 ShadowTweaks (ShadowTweaks)
#35 TrueController (TrueController)
#36 TrueNobleOpinion (TrueNobleOpinion)
#37 TrueRelations (TrueRelations)
#38 TrueArmyCosts (TrueArmyCosts)
#39 DefendYourself (DefendYourself)
#40 ArtemsLivelyAnimations (ArtemsLivelyAnimations)
#41 RTS Camera (RTSCamera)
#42 RTS Camera Command System (RTSCamera.CommandSystem)
#43 (RBM) Realistic Battle Mod Bannerlord (RBM)
#44 (RBM WS) Realistic Battle Mod War Sails Submod (RBM_WS)
#45 Adonnay's Troop Changer - MCM (AdonnaysTroopChanger)
#46 Troops Prefer Spears (SpearPreference)
#47 Better Pikes (BetterPikes)
#48 Breakable Polearms (BreakablePolearms)
#49 Immersive Battlefields (ImmersiveBattlefields)
#50 ImmersiveCombat (ImmersiveCombat)
#51 Raise your Banner (RaiseYourBanner)
#52 Realistic Blood (RealisticBlood)
#53 Improved Combat AI (ImprovedCombatAI)
#54 Realistic Combat Adjustments (RealisticCombatAdjustments)
#55 Realistic Combat Sounds (RealisticCombatSounds)
#56 IWantMoreMusic (IWantMoreMusic)
#57 Reinforcement System (ReinforcementSystem)
#58 Ancient Civilization (Ancient Civilization)
#59 EOE_Armoury (EOE_Armoury)
#60 EOE_Horse_Armoury (EOE_Horse_Armoury)
#61 EOE_Weaponry (EOE_Weaponry)
#62 Norman Armory Reworked for Vanilla (Norman Armory Reworked for Vanilla)
#63 Open Source Weaponry (OpenSourceWeaponry)
#64 Open Source Saddlery (OpenSourceSaddlery)
#65 Open Source Saddlery: RBM Patch (OpenSourceSaddleryRBM)
#66 BL.Terra_Armarium.UniversalCore (BL.Terra_Armarium.UniversalCore)
#67 BL.Terra_Armarium.Byzantine (BL.Terra_Armarium.Byzantine)
#68 BL.Terra_Armarium.RusMongols (BL.Terra_Armarium.RusMongols)
#69 Rus Helmets OSP (Rus Helmets OSP)
#70 Rus Helmets OSP SRBM PATCH (RusHelmetsOSPSRBMPATCH)
#71 Vaegir Armoury (Vaegir Armoury)
#72 Better Native Armors (BetterNativeArmors)
#73 TA.Weapons_and_Shields (TA.Weapons_and_Shields)
#74 Anno Domini Dark Ages (Tim_2023_AD_Assets)
#75 BeefierBows (BeefierBows)
#76 Helmet Hair Cover Tweaks Expanded (HelmetHairColorXSLT)
#77 Helmet Hair Cover Continued Plus (HelmetHairContinuedPlus)
#78 PracticalHolsters (PracticalHolsters)
#79 LeftHandJavs (LeftHandJavs)
#80 Smart Item Culture Assigner (SmartItemCultureAssigner)
#81 Calradia Age of Blood Troops (CAB_TROOPS_REWORK)
#82 Calradia Age of Blood Troops War Sail add (CAB_TROOPS_REWORK_WARSAILS)
#83 Smart RBM patch (SmartRBMpatch)
#84 SmartRBMpatchSaddlery (SmartRBMpatchSaddlery)
#85 SmartRBMpatchWeaponry (SmartRBMpatchWeaponry)
#86 WeaponGapFix (WeaponGapFix)
#87 Better Smithing Continued (BetterSmithingContinued)
#88 BannerCraft (Bannerlord.BannerCraft)
#89 CraftingPieceSorter (CraftingPieceSorter)
#90 Bannerlord.CraftingWeaponDetails (Bannerlord.CraftingWeaponDetails)
#91 Rii Old Ways Smithing Plus (RiiOldWaysSmithingPlus)
#92 Rii Mountain Blade - It's Sword of Long (RiiMountainBladeItsSwordOfLong)
#93 VisibleSmithingStaminaWhileWaiting (VisibleSmithingStaminaWhileWaiting)
#94 Culture Diversity Mod (CultureDiversityMod)
#95 WanderersInParties (WanderersInParties)
#96 AIExecutioner (AIExecutioner)
#97 AIValuesLife (AIValuesLife)
#98 AutoBestRole (AutoBestRole)
#99 Bandit Black Hole (BanditBlackHole)
#100 Naval DLC Balance Fix (NavalDLCBalanceFix)
#101 RealisticPrisoner (RealisticPrisoner)
#102 Attribute Point Fix (AttributePointFix)
#103 WeaponLodFix (WeaponLodFix)
#104 Auto Equip Companions (AutoEquipCompanions)
#105 Bannerlord Expanded - Spouses Expanded (BannerlordExpanded.SpousesExpanded)
#106 BetterPartyControl (BetterPartyControl)
#107 Bodyguards (Bodyguards)
#108 Realistic Cavalry Costs (CavalryLogisticsOverhaul)
#109 Choose Your Troops (ChooseYourTroops)
#110 Choose Equipment Before Battle (ChooseEquipmentBeforeBattle)
#111 Realistic Party Composition (CulturalParty)
#112 Death for All (DeathForAll)
#113 Fast Inventory UI (FastInventoryUI)
#114 Designer225's Miscellaneous Fixes (FixedBanditSpawning)
#115 Give Horse Back On Upgrade (GiveHorseBackOnUpgrade)
#116 HorsesDie (HorsesDie)
#117 Houses of Calradia (HousesCalradia)
#118 Inventory Enhancer (InventoryEnhancer)
#119 LifelongLearning (LifelongLearning)
#120 Family Tree (Bannerlord.FamilyTree)
#121 FiefFlippers (FiefFlippers)
#122 PartySizeReunited (PartySizeReunited)
#123 Performance Tweaks (PerformanceTweaks)
#124 POC Color Randomizer mod (PocColor)
#125 DynaCulture (DynaCulture)
#126 Promoted (Promoted)
#127 AdvancedBattleResolve (AdvancedBattleResolve)
#128 Realistic Cavalry Limits (RealisticCavalryLimits)
#129 RealisticHorsesHPHardcore (RealisticHorsesHPHardcore)
#130 RealisticScouting (RealisticScouting)
#131 Rentable Storage In Town (RentableStorageInTown)
#132 Saving Grace (SavingGrace)
#133 SettlementMap (SettlementMap)
#134 BanditsDontDropEpicLoot (BanditsDontDropEpicLoot)
#135 CompanionRecruiter (CompanionRecruiter)
#136 VassalBarons (VassalBarons)
#137 Happy's Improved Mercenaries (LongerMercenaryContracts)
#138 Lowborn (Lowborn)
#139 Recruit Slot Modifiers (RecruitSlotModifiers)
#140 Population And Recruitment (PopulationAndRecruitment)
#141 Harvest and Production (HarvestAndProduction)
#142 Garrison Auto Recruitment Fix (GarrisonAutoRecruitmentFix)
#143 Army Anytime (ArmyAnytime)
#144 AstralJarl - SiegeKeeper (AstralJarl_SiegeKeeper)
#145 WarAndAiTweaks-exp (WarAndAiTweaks)
#146 Diplomacy (Bannerlord.Diplomacy)
#147 Diplomacy War Sails Patch (Bannerlord.DiplomacyNavalDLCPatch)
#148 Bellum Civile (BellumCivile)
#149 Party AI Controls (PartyAIControls)
#150 ShipCargo (ShipCargo)
#151 Siege Loadout (SiegeLoadout)
#152 Party Screen Enhancements for War Sails (PartyScreenEnhancements)
#153 SubClans (SubClans)
#154 Realistic Genders (RealisticGenders)
#155 TrainWhileWaiting (TrainWhileWaiting)
#156 EpicSieges (EpicSieges)
#157 SiegeEngines_Extended_Vanilla+ (SiegeEngines_Extended_Vanilla+)
#158 Vanilla Ai Tactics for RBM (VanillaAiTacticsforRBM)
#159 Vanilla AI Sieges for RBM (VanillaAISiegesforRBM)
#160 Stamina System (StaminaSystem)
#161 Frontline Mod (FrontlineMod)
#162 Mounts Stamina And Fear (MSAF)
#163 (RMS) Realistic Morale System (RMS)
#164 Workshop Saver (WorkshopSaver)
#165 Fiefless Clan Fix (FieflessClanFix)
#166 Docks (Docks)
#167 CanFightWounded (CanFightWounded)
#168 Hideout Reborn (HideoutReborn)
#169 Bannerlord.GameMaster (Bannerlord.GameMaster)
#170 GCCommandsExtender (GCCommandsExtender)
#171 No Relation (NoRelation)
#172 KingdomBorders (KingdomBorders)
#173 ArtemsBetterMapVisuals (ArtemsBetterMapVisuals)
#174 I Don't Care - Campaign Log Filter (IDontCare)
#175 PartyDestroyCommand (PartyDestroyCommand)
#176 MBFastDialogue (MBFastDialogue)
#177 Hotkeys (Hotkeys)
#178 Fix Your Save File (SaveRescueMapEventPatch)
#179 SameKeyFix (SameKeyFix)
#180 HarmonyPatchScanner (HarmonyPatchScanner)

Note: Common lifecycle method patches are excluded from this scan.

Note: Community library patches (Harmony, ButterLib, UIExtenderEx, MCM, BetterExceptionWindow) are excluded from this scan.

Total Patched Methods : 1274
Total Mods with Patches : 99
Total Patches : 1259
— Transpilers : 29 (highest risk patch type)
— Prefixes (short-circuit): 455 (can skip original method)
— Target official code : 1030

────────────────────────────────────────────────────
Mod : 2898072717 (RealisticGenders)
Patches : 2 (transpilers: 0 | short-circuit prefixes: 0 | targets official code: 2)
────────────────────────────────────────────────────

Target : HeroCreator.CreateSpecialHero [official code]
Type : Prefix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #154
Patch Method : AvoidQuestHeroChangesPatch.Prefix
Harmony ID : RealisticGenders
Before : none
After : none

Type : Postfix
Priority : 400 (Normal)
Harmony Index : #2 (index 1)
Launcher Pos : Launcher position #154
Patch Method : AvoidQuestHeroChangesPatch.Postfix
Harmony ID : RealisticGenders
Before : none
After : none

────────────────────────────────────────────────────
Mod : AdonnaysTroopChanger (AdonnaysTroopChanger)
Patches : 1 (transpilers: 0 | short-circuit prefixes: 0 | targets official code: 1)
────────────────────────────────────────────────────

Target : RecruitmentCampaignBehavior.GetRecruitVolunteerFromIndividual [official code]
Type : Prefix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #45
Patch Method : PatchRecruitActionFromIndividual.Prefix
Harmony ID : mod.bannerlord.adonnay
Before : none
After : none

────────────────────────────────────────────────────
Mod : AdvancedBattleResolve (AdvancedBattleResolve)
Patches : 14 (transpilers: 0 | short-circuit prefixes: 10 | targets official code: 13)
────────────────────────────────────────────────────

Target : NavalDLCCombatSimulationModel.SimulateHit
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #127
Patch Method : VanillaCombatSimulationPatches+Patch_SimulateHit_Ship.Prefix
Harmony ID : com.yourname.advancedbattleresolve
Before : none
After : none

Target : DefaultCombatSimulationModel.GetBattleAdvantage [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #127
Patch Method : VanillaCombatSimulationPatches+Patch_GetBattleAdvantage.Prefix
Harmony ID : com.yourname.advancedbattleresolve
Before : none
After : none

Target : DefaultCombatSimulationModel.GetBluntDamageChance [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #127
Patch Method : VanillaCombatSimulationPatches+Patch_GetBluntDamageChance.Prefix
Harmony ID : com.yourname.advancedbattleresolve
Before : none
After : none

Target : DefaultCombatSimulationModel.GetMaximumSiegeEquipmentProgress [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #127
Patch Method : VanillaCombatSimulationPatches+Patch_GetMaximumSiegeEquipmentProgress.Prefix
Harmony ID : com.yourname.advancedbattleresolve
Before : none
After : none

Target : DefaultCombatSimulationModel.GetNumberOfEquipmentsBuilt [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #127
Patch Method : VanillaCombatSimulationPatches+Patch_GetNumberOfEquipmentsBuilt.Prefix
Harmony ID : com.yourname.advancedbattleresolve
Before : none
After : none

Target : DefaultCombatSimulationModel.GetPursuitRoundCount [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #127
Patch Method : VanillaCombatSimulationPatches+Patch_GetPursuitRoundCount.Prefix
Harmony ID : com.yourname.advancedbattleresolve
Before : none
After : none

Target : DefaultCombatSimulationModel.GetSettlementAdvantage [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #127
Patch Method : VanillaCombatSimulationPatches+Patch_GetSettlementAdvantage.Prefix
Harmony ID : com.yourname.advancedbattleresolve
Before : none
After : none

Target : DefaultCombatSimulationModel.GetShipSiegeEngineHitChance [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #127
Patch Method : VanillaCombatSimulationPatches+Patch_GetShipSiegeEngineHitChance.Prefix
Harmony ID : com.yourname.advancedbattleresolve
Before : none
After : none

Target : DefaultCombatSimulationModel.GetSimulationTicksForBattleRound [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #127
Patch Method : VanillaCombatSimulationPatches+Patch_GetSimulationTicksForBattleRound.Prefix
Harmony ID : com.yourname.advancedbattleresolve
Before : none
After : none

Target : DefaultCombatSimulationModel.SimulateHit [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #2 (index 1)
Launcher Pos : Launcher position #127
Patch Method : VanillaCombatSimulationPatches+Patch_SimulateHit.Prefix
Harmony ID : com.yourname.advancedbattleresolve
Before : none
After : none

Target : DefaultMilitaryPowerModel.GetTroopPower [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #127
Patch Method : VanillaCombatSimulationPatches+Patch_GetTroopPower.Postfix
Harmony ID : com.yourname.advancedbattleresolve
Before : none
After : none

Target : MapEvent.SimulateBattleRound [official code]
Type : Prefix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #127
Patch Method : VanillaCombatSimulationPatches+Patch_SimulateBattleRound.Prefix
Harmony ID : com.yourname.advancedbattleresolve
Before : none
After : none

Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #127
Patch Method : VanillaCombatSimulationPatches+Patch_SimulateBattleRound.Postfix
Harmony ID : com.yourname.advancedbattleresolve
Before : none
After : none

Target : PartyBase.CalculateCurrentStrength [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #127
Patch Method : VanillaCombatSimulationPatches+Patch_CalculateCurrentStrength.Postfix
Harmony ID : com.yourname.advancedbattleresolve
Before : none
After : none

────────────────────────────────────────────────────
Mod : AIValuesLife (AIValuesLife)
Patches : 16 (transpilers: 0 | short-circuit prefixes: 16 | targets official code: 16)
────────────────────────────────────────────────────

Target : KillCharacterAction.ApplyByBattle [official code]
Type : Prefix [can skip original]
Priority : 600 (High)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : KillCharacterActionPatch.ApplyByBattlePrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : BanditInteractionsCampaignBehavior.conversation_bandits_surrender_on_condition [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : BanditInteractionsCampaignBehaviorPatch.conversation_bandits_surrender_on_conditionPrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : BanditInteractionsCampaignBehavior.conversation_bandits_will_join_player_on_condition [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : BanditInteractionsCampaignBehaviorPatch.conversation_bandits_will_join_player_on_conditionPrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : CaravansCampaignBehavior.IsBribeFeasible [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : CaravansCampaignBehaviorPatch.IsBribeFeasiblePrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : CaravansCampaignBehavior.IsSurrenderFeasible [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : CaravansCampaignBehaviorPatch.IsSurrenderFeasiblePrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : CommentOnCharacterKilledBehavior.OnBeforeHeroKilled [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : CommentOnCharacterKilledBehaviorPatch.OnBeforeHeroKilledPrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : EncounterGameMenuBehavior.game_menu_castle_outside_on_init [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : EncounterGameMenuBehaviorPatch.game_menu_town_outside_on_initPrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : EncounterGameMenuBehavior.game_menu_town_outside_on_init [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : EncounterGameMenuBehaviorPatch.game_menu_town_outside_on_initPrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : SiegeEventCampaignBehavior.game_menu_siege_strategies_lead_assault_on_condition [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : SiegeEventCampaignBehaviorPatch.game_menu_siege_strategies_lead_assault_on_conditionPrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : SiegeEventCampaignBehavior.game_menu_siege_strategies_order_assault_on_condition [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : SiegeEventCampaignBehaviorPatch.game_menu_siege_strategies_lead_assault_on_conditionPrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : VillagerCampaignBehavior.IsBribeFeasible [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : VillagerCampaignBehaviorPatch.IsBribeFeasiblePrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : VillagerCampaignBehavior.IsSurrenderFeasible [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : VillagerCampaignBehaviorPatch.IsSurrenderFeasiblePrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : DefaultCombatSimulationModel.SimulateHit [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : DefaultCombatSimulationModelPatch.SimulateHitPrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : DefaultPartyHealingModel.GetSurvivalChance [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : DefaultPartyHealingModelPatch.GetSurvivalChancePrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : WarPartyComponent.OnFinalize [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : WarPartyComponentPatch.OnFinalizePrefix
Harmony ID : AIValuesLife
Before : none
After : none

Target : TroopRoster.AddToCountsAtIndex [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #97
Patch Method : TroopRosterPatch.AddToCountsAtIndexPrefix
Harmony ID : AIValuesLife
Before : none
After : none

────────────────────────────────────────────────────
Mod : ArmyAnytime (ArmyAnytime)
Patches : 15 (transpilers: 0 | short-circuit prefixes: 8 | targets official code: 15)
────────────────────────────────────────────────────

Target : LordConversationsCampaignBehavior.conversation_player_is_leaving_faction_on_condition [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : LordConversations_BlockLeaveFactionOathWhileMercenary_Patch.Prefix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

Target : LordConversationsCampaignBehavior.conversation_player_want_to_end_service_as_mercenary_on_condition [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : LordConversations_EndMercenaryService_Patch.Prefix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

Target : VassalAndMercenaryOfferCampaignBehavior.invalid_vassal_offer_start_condition [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : VassalAndMercenaryOffer_BlockVassalOfferWhileMercenary_Invalid_Patch.Postfix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

Target : VassalAndMercenaryOfferCampaignBehavior.valid_vassal_offer_start_condition [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : VassalAndMercenaryOffer_BlockVassalOfferWhileMercenary_Valid_Patch.Postfix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

Target : DefaultArmyManagementCalculationModel.CalculateDailyCohesionChange [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : DefaultArmyManagementCalculationModel_CalculateDailyCohesionChange_Patch.Postfix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

Target : DefaultArmyManagementCalculationModel.CanPlayerCreateArmy [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : DefaultArmyManagementCalculationModel_CanPlayerCreateArmy_Patch.Postfix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

Target : .ctor [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : ArmyManagementVM_Constructor_Patch.Postfix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

Target : ArmyManagementVM.ExecuteDone [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : ArmyManagementVM_ExecuteDone_Patch.Prefix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

Target : KingdomArmyVM.get_CanCreateArmy [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : KingdomArmyVM_get_CanCreateArmy_Patch.Postfix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

Target : KingdomArmyVM.GetCanDisbandCurrentArmyWithReason [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : KingdomArmyVM_GetCanDisbandCurrentArmyWithReason_Patch.Prefix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

Target : KingdomArmyVM.GetCanManageCurrentArmyWithReason [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : KingdomArmyVM_GetCanManageCurrentArmyWithReason_Patch.Prefix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

Target : KingdomArmyVM.RefreshCanManageArmy [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : KingdomArmyVM_RefreshCanManageArmy_Patch.Prefix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

Target : KingdomArmyVM.RefreshValues [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : KingdomArmyVM_RefreshValues_Patch.Postfix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

Target : MapBarVM.GetIsGatherArmyVisible [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : MapBarVM_GetIsGatherArmyVisible_Patch.Prefix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

Target : MapBarVM.UpdateCanGatherArmyAndReason [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #143
Patch Method : MapBarVM_UpdateCanGatherArmyAndReason_Patch.Prefix
Harmony ID : mod.bannerlord.armyanytime
Before : none
After : none

────────────────────────────────────────────────────
Mod : ArtemsBetterMapVisuals (ArtemsBetterMapVisuals)
Patches : 13 (transpilers: 0 | short-circuit prefixes: 3 | targets official code: 13)
────────────────────────────────────────────────────

Target : MobilePartyVisual.AddMobileIconComponents [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #173
Patch Method : BetterPartyVisualsPatches+Patch_MobilePartyVisual_Postfix.Postfix
Harmony ID : mod.bannerlord.bettermapvisuals
Before : none
After : none

Target : MobilePartyVisual.Tick [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #173
Patch Method : BetterPartyVisualsPatches+PartyVisual_Tick_Patch.Postfix
Harmony ID : mod.bannerlord.bettermapvisuals
Before : none
After : none

Target : PartyNameplateVM.RefreshDynamicProperties [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #173
Patch Method : BetterPartyVisualsPatches.PartyNameplateVM_RefreshDynamicProperties_Postfix
Harmony ID : com.yourmod.alliancetooltips
Before : none
After : none

Target : .ctor [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #173
Patch Method : BetterPartyVisualsPatches+SettlementNameplatesVM_Patch.Postfix
Harmony ID : mod.bannerlord.bettermapvisuals
Before : none
After : none

Target : SettlementNameplateVM.RefreshRelationStatus [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #173
Patch Method : BetterPartyVisualsPatches+Patch_SettlementNameplateVM_RefreshRelationStatus.Prefix
Harmony ID : mod.bannerlord.bettermapvisuals
Before : none
After : none

Target : TooltipRefresherCollection.RefreshArmyTooltip [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #2 (index 1)
Launcher Pos : Launcher position #173
Patch Method : BetterPartyVisualsPatches.GeneralRefresherPostfix
Harmony ID : com.yourmod.alliancetooltips
Before : none
After : none

Target : TooltipRefresherCollection.RefreshClanTooltip [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #173
Patch Method : BetterPartyVisualsPatches.GeneralRefresherPostfix
Harmony ID : com.yourmod.alliancetooltips
Before : none
After : none

Target : TooltipRefresherCollection.RefreshKingdomTooltip [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #173
Patch Method : BetterPartyVisualsPatches.GeneralRefresherPostfix
Harmony ID : com.yourmod.alliancetooltips
Before : none
After : none

Target : TooltipRefresherCollection.RefreshMobilePartyTooltip [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #3 (index 2)
Launcher Pos : Launcher position #173
Patch Method : BetterPartyVisualsPatches.GeneralRefresherPostfix
Harmony ID : com.yourmod.alliancetooltips
Before : none
After : none

Target : TooltipRefresherCollection.RefreshSettlementTooltip [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #2 (index 1)
Launcher Pos : Launcher position #173
Patch Method : BetterPartyVisualsPatches.GeneralRefresherPostfix
Harmony ID : com.yourmod.alliancetooltips
Before : none
After : none

Target : PropertyBasedTooltipWidget.OnLateUpdate [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #173
Patch Method : BetterPartyVisualsPatches.PropertyBasedTooltipWidget_OnLateUpdate_Postfix
Harmony ID : com.yourmod.alliancetooltips
Before : none
After : none

Target : SettlementNameplateWidget.SetNameplateRelationType [official code]
⚠ Short-circuit chain: a prefix here can return false, which
skips the original AND all lower-priority prefixes.
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #173
Patch Method : BetterPartyVisualsPatches.SettlementNameplatePrefix
Harmony ID : com.yourmod.alliancetooltips
Before : none
After : none

Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #2 (index 1)
Launcher Pos : Launcher position #173
Patch Method : BetterPartyVisualsPatches+PatchSettlementNameplateColor.Prefix
Harmony ID : mod.bannerlord.bettermapvisuals
Before : none
After : none

────────────────────────────────────────────────────
Mod : AstralJarl_SiegeKeeper (AstralJarl_SiegeKeeper)
Patches : 2 (transpilers: 0 | short-circuit prefixes: 2 | targets official code: 2)
────────────────────────────────────────────────────

Target : SiegeEventCampaignBehavior.menu_siege_leave_on_consequence [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #144
Patch Method : SiegeLeaveHandoffPatch.Prefix
Harmony ID : AstralJarl.SiegeKeeper
Before : none
After : none

Target : DefaultEncounterModel.GetLeaderOfSiegeEvent [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #2 (index 1)
Launcher Pos : Launcher position #144
Patch Method : BesiegerCampLeaderPatch.Prefix
Harmony ID : AstralJarl.SiegeKeeper
Before : none
After : none

────────────────────────────────────────────────────
Mod : AttributePointFix (AttributePointFix)
Patches : 1 (transpilers: 0 | short-circuit prefixes: 1 | targets official code: 1)
────────────────────────────────────────────────────

Target : HeroDeveloper.SetupDefaultPoints [official code]
Type : Prefix [can skip original]
Priority : 1000 (Custom)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #102
Patch Method : SetupDefaultPointsPatch.Prefix
Harmony ID : mod.attributepointfix
Before : none
After : none

────────────────────────────────────────────────────
Mod : AutoBestRole (AutoBestRole)
Patches : 5 (transpilers: 0 | short-circuit prefixes: 0 | targets official code: 5)
────────────────────────────────────────────────────

Target : DefaultEncounterModel.GetLeaderOfSiegeEvent [official code]
Type : Prefix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #98
Patch Method : GetLeaderOfSiegeEventPatch.Prefix
Harmony ID : com.nabil_dz.auto_best_role
Before : none
After : none

Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #98
Patch Method : GetLeaderOfSiegeEventPatch.Postfix
Harmony ID : com.nabil_dz.auto_best_role
Before : none
After : none

Target : AssignPlayerRoleInTeamMissionController.AfterStart [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #98
Patch Method : ForcePlayerGeneralPatch.Postfix
Harmony ID : com.nabil_dz.auto_best_role
Before : none
After : none

Target : OrderOfBattleVM.Initialize [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #98
Patch Method : OrderOfBattlePatch.InitializePostfix
Harmony ID : com.nabil_dz.auto_best_role
Before : none
After : none

Target : OrderOfBattleVM.Tick [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #98
Patch Method : OrderOfBattlePatch.TickPostfix
Harmony ID : com.nabil_dz.auto_best_role
Before : none
After : none

────────────────────────────────────────────────────
Mod : AutoEquipCompanions (AutoEquipCompanions)
Patches : 1 (transpilers: 0 | short-circuit prefixes: 0 | targets official code: 1)
────────────────────────────────────────────────────

Target : SPInventoryVM.ExecuteCompleteTranstactions [official code]
Type : Prefix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #104
Patch Method : InventoryPatch.Prefix
Harmony ID : top.boom.patch.autoequipcompanions
Before : none
After : none

────────────────────────────────────────────────────
Mod : Bakou.HerdManager (HerdManager)
Patches : 3 (transpilers: 0 | short-circuit prefixes: 0 | targets official code: 3)
────────────────────────────────────────────────────

Target : InventoryLogic.OnAfterTransfer [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #23
Patch Method : SPInventoryHook.InventoryLogic_OnAfterTransfer_Postfix
Harmony ID : herd-manager-hook
Before : none
After : none

Target : ItemRoster.OnRosterUpdated [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #23
Patch Method : SPInventoryHook.ItemRoster_OnRosterUpdated_Postfix
Harmony ID : herd-manager-hook
Before : none
After : none

Target : .ctor [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #23
Patch Method : MapInfoInjector+MapInfoVMPatch.Postfix
Harmony ID : herd-manager-hook
Before : none
After : none

────────────────────────────────────────────────────
Mod : BannerColorPersistence (BannerColorPersistence)
Patches : 16 (transpilers: 2 | short-circuit prefixes: 3 | targets official code: 16)
────────────────────────────────────────────────────

Target : BannerEditorView.OnTick [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : BannerPaste.Postfix
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : MobilePartyVisual.AddCharacterToPartyIcon [official code]
Type : Prefix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : PersistClothingColorWorldMap.Prefix
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : SandBoxUIHelper.GetCharacterCode [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : UIHeadshotClothingPersistenceSandbox.Postfix
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : Clan.UpdateBannerColor [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : UpdateKingdomColorOnBannerChange.Postfix
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : Clan.UpdateBannerColorsAccordingToKingdom [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #2 (index 1)
Launcher Pos : Launcher position #19
Patch Method : PreventBannerColorUpdates.Prefix
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : CampaignSceneNotificationHelper.CreateNotificationCharacterFromHero [official code]
Type : Transpiler
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : ExecutionScenePersistence.Transpiler
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : CampaignUIHelper.GetCharacterCode [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : UIHeadshotClothingPersistence.Postfix
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : ClanPartyItemVM.GetCharacterCode [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : ClanViewPersistence.Postfix
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : HeroViewModel.FillFrom [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : CharacterSheetPersistence.Postfix
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : SPInventoryVM.UpdateCurrentCharacterIfPossible [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : InventoryColorPersistence.Postfix
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : PartyCharacterVM.GetCharacterCode [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : PartyHeadshotPersistence.Postfix
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : PartyVM.RefreshCurrentCharacterInformation [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : PartyColorPersistence.Postfix
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : Banner.GetFirstIconColor [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : AssignUniqueSecondaryBannerColor.Prefix
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : Banner.TryGetBannerDataFromCode [official code]
Type : Transpiler
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : RemoveBannerSizeLimitation.Transpiler
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : .ctor [official code]
Type : Prefix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : ClearBannerCode.Prefix
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

Target : Mission.SpawnAgent [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #19
Patch Method : SceneColorPersistence.Prefix
Harmony ID : BannerColorPersistance with BannerPaste
Before : none
After : none

────────────────────────────────────────────────────
Mod : BannerEditor (BannerEditor)
Patches : 12 (transpilers: 0 | short-circuit prefixes: 9 | targets official code: 12)
────────────────────────────────────────────────────

Target : GauntletClanScreen.OpenBannerEditorWithPlayerClan [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #20
Patch Method : PatchNativeCaller+Patch_OpenBannerEditorWithPlayerClan.Prefix
Harmony ID : com.bloc.betterbannereditor
Before : none
After : none

Target : MapScreen.OpenBannerEditorScreen [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #20
Patch Method : PatchNativeCaller+Patch_MapScreen_OpenBannerEditorScreen.Prefix
Harmony ID : com.bloc.betterbannereditor
Before : none
After : none

Target : MissionSingleplayerViewHandler.OnMissionScreenTick [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #20
Patch Method : PatchNativeCaller+Patch_MissionSingleplayerViewHandler_OnMissionScreenTick.Prefix
Harmony ID : com.bloc.betterbannereditor
Before : none
After : none

Target : FirstPhaseCampaignBehavior.OpenBannerSelectionScreen [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #20
Patch Method : PatchNativeCaller+Patch_FirstPhaseCampaignBehavior_OpenBannerSelectionScreen.Prefix
Harmony ID : com.bloc.betterbannereditor
Before : none
After : none

Target : StoryModeCharacterCreationCampaignBehavior.InitializeCharacterCreationStages [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #20
Patch Method : PatchNativeCaller+Patch_StoryModeCharacterCreationCampaignBehavior_InitializeCharacterCreationStages.Postfix
Harmony ID : com.bloc.betterbannereditor
Before : none
After : none

Target : FindHideoutTutorialQuest.OpenBannerSelectionScreen [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #20
Patch Method : PatchNativeCaller+Patch_FindHideoutTutorialQuest_OpenBannerSelectionScreen.Prefix
Harmony ID : com.bloc.betterbannereditor
Before : none
After : none

Target : CharacterCreationCampaignBehavior.InitializeCharacterCreationStages [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #20
Patch Method : PatchNativeCaller+Patch_CharacterCreationCampaignBehavior_InitializeCharacterCreationStages.Postfix
Harmony ID : com.bloc.betterbannereditor
Before : none
After : none

Target : Clan.UpdateBannerColorsAccordingToKingdom [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #20
Patch Method : PatchNativeCaller+Patch_Clan_UpdateBannerColorsAccordingToKingdom.Prefix
Harmony ID : com.bloc.betterbannereditor
Before : none
After : none

Target : .ctor [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #20
Patch Method : PatchNativeCaller+Patch_CharacterCreationReviewStageVM_Const.Postfix
Harmony ID : com.bloc.betterbannereditor
Before : none
After : none

Target : Banner.AddIconData [official code]
⚠ Short-circuit chain: a prefix here can return false, which
skips the original AND all lower-priority prefixes.
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #20
Patch Method : PatchNativeCaller+Patch_AddIconData_Simple.Prefix
Harmony ID : com.bloc.betterbannereditor
Before : none
After : none

Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #20
Patch Method : PatchNativeCaller+Patch_AddIconData_WithIndex.Prefix
Harmony ID : com.bloc.betterbannereditor
Before : none
After : none

Target : Banner.TryGetBannerDataFromCode [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position #20
Patch Method : PatchNativeCaller+Patch_TryGetBannerDataFromCode.Prefix
Harmony ID : com.bloc.betterbannereditor
Before : none
After : none

────────────────────────────────────────────────────
Mod : Bannerlord.BannerCraft (Bannerlord.BannerCraft.1.3.13)
Patches : 10 (transpilers: 1 | short-circuit prefixes: 3 | targets official code: 8)
────────────────────────────────────────────────────

Target : SmeltingItemRosterWrapper.GetCraftedItemList
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position unknown
Patch Method : BetterSmithingPatches+SmeltingItemRosterWrapperPatch.Postfix
Harmony ID : Bannerlord.BannerCraft
Before : none
After : none

Target : BetterSmeltingVM.ItemIsVisible
Type : Transpiler
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position unknown
Patch Method : BetterSmithingPatches+BetterSmeltingVMPatch.Transpiler
Harmony ID : Bannerlord.BannerCraft
Before : none
After : none

Target : GauntletCraftingScreen.OnCraftingLogicRefreshed [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position unknown
Patch Method : GauntletCraftingScreenPatch.Postfix
Harmony ID : Bannerlord.BannerCraft
Before : none
After : none

Target : CraftingCampaignBehavior.DoSmelting [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position unknown
Patch Method : CraftingCampaignBehaviorPatch.Prefix
Harmony ID : Bannerlord.BannerCraft
Before : none
After : none

Target : CampaignGameStarter.AddModel [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position unknown
Patch Method : CampaignGameStarterPatch.Prefix
Harmony ID : Bannerlord.BannerCraft
Before : none
After : none

Target : CraftingVM.ExecuteMainAction [official code]
Type : Prefix [can skip original]
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position unknown
Patch Method : CraftingVMPatch.Prefix
Harmony ID : Bannerlord.BannerCraft
Before : none
After : none

Target : CraftingVM.set_IsInCraftingMode [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position unknown
Patch Method : CraftingMixin.ModePropertiesPostfix
Harmony ID : Bannerlord.BannerCraft
Before : none
After : none

Target : CraftingVM.set_IsInRefinementMode [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position unknown
Patch Method : CraftingMixin.ModePropertiesPostfix
Harmony ID : Bannerlord.BannerCraft
Before : none
After : none

Target : CraftingVM.set_IsInSmeltingMode [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position unknown
Patch Method : CraftingMixin.ModePropertiesPostfix
Harmony ID : Bannerlord.BannerCraft
Before : none
After : none

Target : SmeltingVM.RefreshList [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position unknown
Patch Method : SmeltingVMPatch.Postfix
Harmony ID : Bannerlord.BannerCraft
Before : none
After : none

────────────────────────────────────────────────────
Mod : Bannerlord.ButterLib (Bannerlord.ButterLib.Implementation.1.3.9)
Patches : 15 (transpilers: 0 | short-circuit prefixes: 11 | targets official code: 15)
────────────────────────────────────────────────────

Target : .ctor [official code]
Type : Postfix
Priority : 400 (Normal)
Harmony Index : #1 (index 0)
Launcher Pos : Launcher position unknown
Patch Method : BehaviourNamePatch.CampaignBehaviorBaseCtorPostfix
Harmony ID : Bannerlord.ButterLib.SaveSystem
Before : none
After : none

Target : CampaignBehaviorManager.LoadBehaviorData [official code]
Type : Prefix