v1.2.1-v1.2.7 Changes
Greetings!v1.2.x version series has been released to Live today. The hotfixes made during the Beta involved many modding-related changes so here's an overview of them:
v1.2.7
- Removed the readonly parameter from the Multiplayer Compression Info classes.
- In response to the community request by Byako, @CaptainFracas, @Maroon, @mentalrob
Beta v1.2.5 (23/11/23)
- Fixed a crash that occurred on the resource browser.
- World Map Moddability
- Removed the hardcoded texture (main_map_snow_flowmap) previously required for Dynamic Campaign (weather) Effects (located in the Terrain Property Browser) on the world map. It is now selected from the editor as a regular texture. Modders now no longer have to use the asset override mechanism (by having the same flowmap texture name as the native flowmap texture) to add a snow layer to the world map - instead, it's recommended that you use your own texture with a different name and select it in your custom world map scene.
- Fixed a bug that prevented modded campaign maps from using high-resolution heightmaps. A low-resolution main_map_physics_heightmap texture is not required for campaign heightmaps and custom worldmaps can now be used without the Aurelian’s MapFix mod if saved as Main_map (as opposed to modded_main_map).
- Fixed a bug that prevented world map floras from appearing. Previously, you had to enter and exit a mission scene to force the flora to appear.
- Added modding support for the world map dynamic atmosphere.
- Added modding support for color grade grid for the world map.
- Added modding support for the battle scene index grid for the world map.
- Added visualization sliders to the editor for easier tweaking of the world map snow map.
- Added a console option to reduce framerate when the editor is not focused.
- Improved layer editing and visualization in the Editor.
- Overall bug fixes.
- In response to reports from various modders (@Cozur, @hunharibo, @Lemmy1916, @Le_Profyteur and others). Massive thanks to @NPC99 for his continuous detailed feedback on world map modding.
- Assertions will now be shown in the Editor Console once inside the "Editor Mode".
- In response to the community request by Poheniks and FoozleMcDoozle
- Added bulk shader compilation for mods. It's accessible via the “Compile Shaders” checkbox while publishing the module using the “Publish Module” functionality in the editor. It allows you to compile & ship the unique material shaders in your modules. This prevents long initial mod loading times.
- Added a new modding documentation page to cover the new shader compilation.
- In response to the community request by @皮w蛋, @Le_Profyteur, Irish, @Dawa, SomewhereTropical and others on Modding Discord and here: https://forums.taleworlds.com/index...es-just-like-shaders-in-native-module.457489/
- Added the ability to define and use your own decals.
- Added a new modding documentation page to cover the new ability to define and use your own decals.
- Fixed a bug that prevented texture move operations.
- Added the ability to set tickrate for dedicated custom servers using the "/tickrate" command line argument or the "set_server_tickrate" console command.
- In response to the community request by @Gotha
Beta v1.2.4 (28/09/23)
- Fixed a crash that occurred in the Cloth Editor if the cloth simulation wasn’t enabled in the config.
- Fixed a crash that occurred if a mod changed the maximum number of workshops that a player could buy through the DefaultWorkshopModel.
- In response to the community report by ing32
- Removed the ConsiderMapEventsAndSiegesInternal function and created the PartyDiplomaticHandlerCampaignBehavior class. The effects of diplomatic changes can now be controlled via the latter class.
- Fixed several issues related to the moddability of reloading ranged weapons.
- In response to the community request by @DarthKiller and @Lucon
- Allowed the defining of class divisions with no perks.
- In response to the community report by @takeoshigeru here: https://forums.taleworlds.com/index.php?threads/allow-defining-class-divisions-with-no-perks.459551/
Beta v1.2.3 (04/08/23)
- Fixed a crash that occurred on modded scenes due to a limit on the number of entities used.
- In response to the community report by @Tark here: https://forums.taleworlds.com/index...rt-on-custom-map-stable-version-1-1-5.459517/
Beta v1.2.2 (21/07/23)
- Fixed a crash that occurred when entering a town of a modded custom culture.
We continue to work on other modding-related features/issues:
- Making campaign time moddable
- In response to the community request by @MitchPTI here: https://forums.taleworlds.com/index.php?threads/please-make-campaign-time-customisable.444719/
- Add a server-side option for enabling team bump damage for horses
- In response to the community request by @Gotha
- Add a model for shield speed
- In response to the community request by @takeoshigeru
- Add a weapon flag that enables attacking while crouched
- In response to the community request by @Lucon, @Terco_Viejo and others here: https://forums.taleworlds.com/index...ile-crouching-available-in-bannerlord.453706/
- Add the ability for modders to manipulate the behavior of the melee attack after a hit
- In response to the community request by Namidaka
- Move trade bound selection in TryToAssignTradeBoundForVillage to a model
- In response to the community request by @Alexander Drakos and @svelok here: https://forums.taleworlds.com/index...nce-limit-is-breaking-custom-map-mods.453406/
- Make StaticBodyProperties setter public and add a parameter for staticbodyproperty to CreateBasicHero
- In response to the community request by RandyOglestein on the Modding Discord
- Making relationships between factions more moddable
- In response to the community request by @Spinozart1 here: https://forums.taleworlds.com/index...check-condition-for-peace-declaration.456837/
- Add functionality that allows multiple RGL logs to be stored
- In response to the community request by Poheniks
- WarmupTimeLimit in seconds
- In response to the community request by @takeoshigeru here: https://forums.taleworlds.com/index.php?threads/warmuptimelimit-in-seconds.457855/
- Score for a kill should depend on the game mode so could you make it virtual so it can be overridden.
- In response to the community request by @takeoshigeru here: https://forums.taleworlds.com/index...ltiplayergamemodebase-getscoreforkill.458202/
- Make the interpolated atmosphere moddable
- In response to the community request by @hunharibo
- Other requests in earlier stages of development.
Thank you again for all your feedback and suggestions. If you have any questions or would like to make further requests, please discuss them below (or HERE).
v1.2.0 Changes
Greetings!Patch Beta v1.2.0 came out today and it's quite chunky! Here are the modding-related changes that came with it.
Editor
- Fixed a crash that occurred when using the "Auto Generate Nav Mesh" functionality.
- Fixed a crash that occurred when opening the Cloth editor via the console without first entering Editor mode.
- Fixed a crash that occurred after closing the flora editor.
- Modified the warning message that explains soft borders need to be present on the scene or flora may not appear correctly.
- In response to the community request by @NPC99
- Path points can now be snapped to the water level.
- Fixed a bug that prevented the Max Height change option from working when using it for a single action with the Elevation or the Paint tool.
Combat
- Added two new callbacks that allow modders to manually assign targets for AI agents. Agent.SetTargetAgent() allows modders to set a target agent but if they do not disable automatic target selection, our low-level AI will try to pick a new and different target agent when possible. To avoid that, Agent.SetAutomaticTargetSelection() can be used to disable automatic target selection, giving full control over the target selection process to the modders.
- In response to the community request by @Hexnibbler here: https://forums.taleworlds.com/index.php?threads/api-request.447710/
- Added agent references to the AttackInformation struct to allow modders to use agent information in their damage calculations.
Campaign
- Pathfinding can now be used with excluded face IDs. This enables you to allow or restrict the usage of a specific nav mesh face under set conditions. For example, AI agents on foot can be allowed to enter a specific area while restricting access to mounted AI agents. This also works on the world map, allowing you to restrict access of parties to certain areas based on set conditions.
- In response to the community request by @Space_Pot8to here: https://forums.taleworlds.com/index.php?threads/more-pathfinding-options-for-mobileparty.452701/
- Batte types are now part of their map event within the map event system.
- Moved some of the MapEventHelper functions in Helpers to the MapEvent class. They’re now directly connected to their map event.
- Separated PartyVisuals from PartyBase.cs. Deleted the IPartyVisual interface. All party visuals are now stored in PartyVisualManager.cs which is part of the Sandbox.View project.
- Moved the Prosperity value from Settlement.cs to Town.cs.
- Moved the skill level requirement for epic perk calculations to the CharacterDevelopmentModel, allowing modders to override them.
- In response to the community request by gallickgunner on the Modding Discord.
- Changed the way companion skills are defined (sandboxcore_skill_sets.xml), making them more easily moddable.
- Removed the neutral faction. This used to be a catch-all faction to avoid crashes and bugs in some circumstances. The code has been refactored to work without such a design.
- Fixed a bug that caused a custom race to not be applied on save/load for heroes generated with a template from a different race. For example, if a hero named Richard is created using a hero template with an Elf race, Richard will still be an Elf after save/load.
- In response to the bug report by @hunharibo here: https://forums.taleworlds.com/index...-hero-objects-when-loading-a-savegame.454091/
Multiplayer
- Dedicated Servers
- Fixed various crashes that occurred due to warmup behavior.
- Merged the Custom Server Helper module into the base game. Players do not have to manually enable it to download maps from Dedicated Servers anymore.
- In response to a popular community request.
- Dedicated servers are now targeting .NET 6 instead of .NET Core 3.1.
- Added a new console command "set_server_bandwidth_limit_in_mbps" and launch option "serverbandwidthlimitmbps" for limiting dedicated server bandwidth usage.
- The "AutoTeamBalanceThreshold" option now accepts numbers instead of enum indices. This means that you can now set the auto team balance threshold from 0 to 30 players.
- Added a new "DisableInactivityKick" option which if set to “true” disables automatic player kicks.
- Added a new command line argument "use_parent_console” which forces the dedicated server to use the console it is launched from.
- In response to the community request by @takeoshigeru
- The welcome message is no longer displayed as a separate popup but is printed into the chat instead.
- In response to the community request by @Gotha
- Fixed a crash that occurred due to missing classes and perks of a modded faction.
- Improved moddability of the AgentStatCalculateModel. GetWeaponDamageMultiplier and GetEffectiveSkill methods now accept the relevant agent as a parameter.
- In response to the community request by @takeoshigeru here: https://forums.taleworlds.com/index...m-all-agentstatcalculatemodel-methods.457022/
- Added CalculateStrikeMagnitudeForMissile to the StrikeMagnitudeModel, making Missile damage moddable. Removed CalculateSpeedBonusMultiplierForMissile and integrated it into the default implementation of CalculateStrikeMagnitudeForMissile.
- In response to the community request by @takeoshigeru here: https://forums.taleworlds.com/index...el-calculatestrikemagnitudeformissile.457036/
- Moved some MP code into the Multiplayer module (modders might need to reference these new DLLs).
- Fixed a bug with the RoundUp calculation of the Captain mode troop counts.
- Fixed a bug that caused newly added faction banners not to show up on the Multiplayer screens.
- Fixed a bug that prevented the scoreboard from resetting after a TDM warmup.
Audio
- Added a new category called "music" to the module_sounds.xml. This allows modders to add music across all aspects of the game more easily.
Other
- Fixed a bug that caused some textures added by new modules to be rendered incorrectly.
We continue to work on other modding-related features/issues:
- Making campaign time moddable
- In response to the community request by @MitchPTI here: https://forums.taleworlds.com/index.php?threads/please-make-campaign-time-customisable.444719/
- Add a server-side option for enabling team bump damage for horses
- In response to the community request by @Gotha
- Add a model for shield speed
- In response to the community request by @takeoshigeru
- Add a weapon flag that enables attacking while crouched
- In response to the community request by @Lucon, @Terco_Viejo and others here: https://forums.taleworlds.com/index...ile-crouching-available-in-bannerlord.453706/
- Add server settings for FPS and packages per second limits
- In response to the community request by @Gotha
- We're likewise working on the known world map modding issues kindly pointed out by @NPC99 and others, more specifically around the physics height map, terrain physics, modded world map crashes,...
- Other requests in earlier stages of development.
Thank you again for all your feedback and suggestions. If you have any questions or would like to make further requests, please discuss them below (or HERE).
v1.1.0 Changes
Greetings!Patch v1.1.0 came to Beta last week. Here are the modding-related changes that came with it (apologies for posting with delay).
- Improved scene checker code (editor side) in order to detect various spawn path placement problems.
- The map camera implementation was separated from the map screen code for easier modding.
- In response to the community request by Jansen via the modding discord.
- A new attribute is_moving was added to the monster usage system. It allows specifying different actions in moving or stationary situations.
- Enabled the ability to give banner tableaus to armor pieces. This change adds native support for armor pieces to have banner textures. It works the same way as shields, banner bearer items etc.
- Fixed a bug that caused issues with asset importing if there were two modules with the same id.
- Fixed SpCultures default xml to throw warnings when it has no cultures defined.
- Animation clips can now be searched by their flags in the resource viewer.
- Increased the ModifiedDamage compression info limits from 500 to 2000 and clamped the out of limit damage numbers to the min/max values.
- AddGameMenu and GetGameMenu are now public.
- In response to the community request by @azakhi here: https://forums.taleworlds.com/index...-it-hard-to-manage-menus.452923/#post-9816318
- Game menu options can work with related objects.
- In response to the community request by @azakhi here: https://forums.taleworlds.com/index...ed-code-makes-it-hard-to-manage-menus.452923/
- Fixed a crash that happens if the main hero talks with a hero that does not have any proper conversation lines. Now he/she says a default conversation line if proper dialog lines were not added.
- More pathfinding options for MobileParty
- In response to the community request by @Space_Pot8to here: https://forums.taleworlds.com/index.php?threads/more-pathfinding-options-for-mobileparty.452701/
- Generate doxygen tagfiles from the official API documentation
- In response to the community request by @Aragas via Discord.
- Other requests in earlier stages of development.
1.9.0 Changes
Greetings!Patch e1.9.0 comes with more modding-related changes. Here they are!
- Changed Official node in SubModule.xml to ModuleType that has possible values of "Official", "OfficialOptional" and "Community". The default value is “Community”.
- Increased the number of bones defined in monsters.xml to extend modding support of the animation system.
- Hero.SetSkillValue() function is now public. Modders can now directly change the hero skill value.
- In response to the community request by @ChizuNoYama here: https://forums.taleworlds.com/index...-modifiers-changes.443896/page-8#post-9809889
- Added a "Quick Save Scene" option to the editor.
- In response to the community request by @Owenwb here: https://forums.taleworlds.com/index.php?threads/incremental-save-button.441894/
- Decreased the road generation minimum width value to 0.1 meters.
- In response to the community report by @NPC99 on the modding discord.
- The volunteer upgrade tier cap is now calculated from a model, allowing modders to change the value to their needs.
- Unsealed and removed internals from some combat related classes and methods.
- In response to the community request by @Captain_Octavius here: https://forums.taleworlds.com/index...-modifiers-changes.443896/page-8#post-9799573
- Removed the unused GameMenuSelectionBehavior.
- Fixed a visual bug in relation to tree_far trees.
- In response to the community report by @Bullero on the modding discord.
- Fixed a crash that occurred on load if an issue behavior had been removed from the game.
- Adjusted the algorithm responsible for resizing the helmets to correctly fit the different head shapes, removing the bug that caused helmets to be too large.
- Was pointed out by many community members, including @KingKilo.
- Increased the theoretical limit for concurrent players on a custom server to around 1000.
- In response to the community request by the closed custom servers group.
We continue to work on other modding-related features/issues:
- Documentation on implementing new flora
- In response to the community request @FoozleMcDoozle (will be published in the next few days).
- Add a tag to hide the horse tail
- In response to the community request by @Ellis1 here: https://forums.taleworlds.com/index.php?threads/add-command-to-hide-horse-tail-xml-files.447575/
- Other requests in earlier stages of development.
Thank you again for all your feedback and suggestions. If you have any questions or would like to make further requests, please discuss them below (or HERE).
1.8.0 Changes
Greetings!Here are the modding-related changes that came with patch 1.8.0.
- We released API documentation for Bannerlord. You can find it here: apidoc.bannerlord.com
- Modders can now define & add different races like Orcs, Elves,... through the skins.xml file. Custom skeleton support has been added for humanoid characters.
- In response to the open letter from the community.
- Fixed various issues with the implementation of a modded world map, removed the hardcoded assumption that the world map is named "Main_map", fixed the hardcoded map size,...
- In response to the reports from various community members. Special thanks to @NPC99 for his continuous testing and feedback. @hunharibo thank you for your report as well, we now fetch the terrain size from the overridden scene.
- Enabled warning & assertion texts to help modders with common errors (the Modding Kit must be installed).
- The Atmosphere Curve Editor is now available through the Atmosphere Inspector. It allows you to change the visuals of an atmosphere.
- In response to the community request by @NPC99.
- Added the Color Grade Manager script to the main map scene. It allows the dynamic color grade and atmosphere effects to be previewed within the editor. Color grade textures can be changed from worldmap_color_grades.xml file.
- In response to the community request by @NPC99.
- Added exposure compensation to materials for glow effects.
- In response to the community request by @KingKilo here: https://forums.taleworlds.com/index.php?threads/exposure-compensation-for-materials.443900/
- Changed the physics object colors of barriers that only players can pass through to green for clarity.
- Implemented a new method of using generated banner textures in item materials. A new channel called "TableauMaskMap" has been added to explicitly mark where the banner texture will be applied. This leaves the alpha channel on the original texture to be used for the item's own requirements for tassel etc. "use_tableau_mask_as_separate_texture" flag needs to be enabled for this to take effect.
- Language files are now referenced in language folders in the "language_data.xml" (they were previously automatically searched for and added).
- Added XSD for game texts, they are now added via SubModule.xml.
- In response to the community request by @Areldir here: https://forums.taleworlds.com/index...-modifiers-changes.443896/page-5#post-9752303
- Players can now override the TournamentModel.GetParticipantArmor to change the tournament participant armor.
- In response to the community request by @TheREALHayster here: https://forums.taleworlds.com/index.php?threads/tournaments.444054/
- Changed the SettlementComponent list to single SettlementComponent in Settlement.cs. Settlements can no longer have multiple SettlementComponents.
- "NonSerializedObjectTypeRecords" were removed from MBObjectManager. There are now only ObjectTypeRecords and their appropriate functions.
- Removed XML support from game menus and moved related content to code (EncounterGameMenuBehavior.cs).
- Removed XML support from conversations and moved related content to code.
- Modders can now use the OnCrimeRatingChanged event for various purposes. This event will trigger with the change amount and the faction it is related with.
- In response to the community request by @slaur4 here: https://forums.taleworlds.com/index...mpaign-event-for-crime-rating-changes.449493/
- Added IRandomOwner for easier random usages.
- Added a dev config option to show localization IDs of texts (relevant for translators).
- Enabled modders to go above the maximum tier cap for troop upgrades (above tier 6).
- In response to the community request by @Lord Boogie Blue here: https://forums.taleworlds.com/index.php?threads/please-allow-tier-7-troops-in-the-game-again.446673/
- Modders can now modify the voices of agents (via voice_definitions.xml).
- In response to the community request by @Jance here: https://forums.taleworlds.com/index...ml-file-overrideable-with-mbproj-xslt.445811/
- The skill leveling system is now fully moddable (Skill Leveling Manager).
- Removed the campaign cookie system.
- Refactored the Quest system to make every quest use only one dedicated menu instead of creating multiple menus per quest.
- Fixed a bug that prevented the navmesh grid generation on big scenes from working correctly.
- Fixed a crash that occurred when generating rivers.
- Fixed a bug that caused different instances of a model to use the same factor color.
- Fixed a bug that prevented the addition of custom troops to villager parties. Villager parties can now use different troop types.
- In response to the community report by @bfmsc here: https://forums.taleworlds.com/index...g-in-partytemplate-and-spculture-xmls.449384/
- Fixed a bug that caused decals to discard season visibility settings.
- Fixed a crash that occurred when exiting editor scenes while retreating outside of the border.
- Fixed a freeze issue on the campaign map that was caused by modded troops not having any upgrades.
- In response to the community report by @irish09 here: https://forums.taleworlds.com/index.php?threads/1-6-5-endless-freeze-on-campaign-map.449650/
- Fixed a crash that occurred when clicking on the Leave edit mode button.
- Fixed a bug that caused the second editor window to freeze.
- Fixed a crash that occurred when placing decals on an empty editor scene.
- Fixed a bug that caused civilian battle sets (for troop spawn) placed in editor scenes to be processed wrongly.
- Improved the warning messages for incorrect battle set placement.
- Added an experimental search functionality to the inventory screen. It can be enabled with "ui.set_inventory_search_enabled [1/0]" while the inventory screen is open. We think modders can use this functionality to test and find their items in-game more easily.
- Extended the functionality of the UI debug mode. Added a new command ("ui.set_screen_debug_information_enabled [True/False]") to help modders find and examine GauntletLayers more easily. This new panel will show the currently loaded GauntletLayers, list included widgets, their visual properties and more in real time.
- Added the Core.FaceGen.UpdateDeformKeys boolean. Previously, all the sliders in the body generation screen were cleared and added again after gender change. Since we don't use different deform keys between genders, we've moved this functionality to this boolean. If your mod uses different deform keys between genders, your mod should set this value to true. If not done, some deform keys might not show up as sliders in the body generation screen. Can be toggled with "facegen.toggle_update_deform_keys" command.
- Added Scene.GetAllEntitiesWithScriptComponent method to gather all entities with the given script type.
- Introduced a "CustomScale" value to font properties, used by Gauntlet. This value is used to scale the whole font. It’s used especially for fonts that generally have bigger characters compared to other fonts used in the game. Modders can use this value to make their fonts bigger or smaller across the whole font.
- Added a new boolean to the Hero tooltip, isNear. It's used to hide tooltip entries of a hero tooltip that shouldn't be visible if the main hero is not near, like available quests by hero.
- Improved the spritesheet generator performance, especially for generating numerous sheets at the same time.
- Changed the banner editor layout to support more colors. Useful for mods expanding the available color set.
- Changed how we determine singleplayer and multiplayer modules in the SubModule.xml.
- <SingleplayerModule/> and <MultiplayerModule/> have been renamed to <ModuleCategory/>
- The correct usage is now <ModuleCategory value="Singleplayer"/> or <ModuleCategory value="Multiplayer"/>
- The default ModuleCategory is Singleplayer.
- Fixed a bug that prevented mods from overwriting already existing custom widgets in Gauntlet, consistently.
We continue to work on other modding-related features/issues:
- Documentation on implementing new flora
- In response to the community request @FoozleMcDoozle.
- Incremental Save Button
- In response to the community request by @Owenwb here: https://forums.taleworlds.com/index.php?threads/incremental-save-button.441894/
- Add a tag to hide the horse tail
- In response to the community request by @Ellis1 here: https://forums.taleworlds.com/index.php?threads/add-command-to-hide-horse-tail-xml-files.447575/
- Can't use editor paths to build roads with a width less than 1 metre
- In response to the community report by @NPC99.
- Unseal, remove internals from some combat related classes, methods
- In response to the community request by @Captain_Octavius here: https://forums.taleworlds.com/index...-modifiers-changes.443896/page-8#post-9799573
- Other requests in earlier stages of development.
1.7.2 Changes
Greetings!Here are the modding-related changes that came with patch 1.7.2.
- InquiryData now supports expiration. This allows for the implementation of timed events, for example, "Click yes in 10 seconds".
- Replaced the "HeroDeveloper" field with the "IHeroDeveloper" interface. This allows modders to change HeroDeveloper of heroes with their own custom classes. As such, they can now change how skill/attribute/focus points work and how heroes gain levels.
- In response to the community request by @Midnightknight here: https://forums.taleworlds.com/index.php?threads/hero-generation.445601/
- Added the OnPartyInteraction function to the IMapEntity interface. This allows modders to use custom interaction with custom map objects.
- Fixed a bug that prevented moved texture files from being moved again in the resource browser.
- Fixed a bug that caused new Sprites to not override existing ones. Meaning if a sprite is loaded after a sprite with the same name, it wouldn't override the previous one. Because of this modders had to load their overriding sprites before Native or SandBox. This has been fixed.
- Fixed a bug that caused some GUI textures to appear as missing when launching campaign via the modding tools (also in 1.7.1 latest changes).
And updated page:
We continue to work on other modding-related features/issues:
- Automated API documentation
- In response to the modding open letter.
- Documentation on implementing new flora
- In response to the community request from @FoozleMcDoozle.
- Support for custom skins/races
- In response to the modding open letter.
- Enable the modifying of equipment of tournament participants
- In response to the community request by @TheREALHayster here: https://forums.taleworlds.com/index.php?threads/tournaments.444054/
- The addition of an Atmosphere Curve Editor button to allow for accurate viewing (colours) of the campaign map directly from the scene editor
- In response to the community request from @NPC99.
- Other requests in earlier stages of development.
1.7.0 Changes
Greetings!Here are the modding-related changes that came with v170.
- Added new dependency types in SubModule.xml & other improvements.
- <DependedModule/> Node now supports the Optional attribute. If Optional is true, the launcher will only check if the Depended module is loaded before the current submodule. If Optional is false, the launcher will also check if the Depended module is enabled or not.
- <ModulesToLoadAfterThis/> Node has been added. Modules given in this scope will be forced to load after the current submodule. Essentially an inverse dependence.
- <IncompatibleModules/> Node has been added. If any module given in this scope exists and is enabled, the module defined in the node will be disabled. Doesn't depend on load order.
- Syntax examples for <ModulesToLoadAfterThis/> and <IncompatibleModules/> have been added to the Native SubModule.xml. DependedModule-Optional syntax has been added to the rest of the SubModule.xmls.
- In response to the community request from @Pickysaurus.
- Launcher sprite sheets are now located in the Modules/Native/LauncherGUI so that modders can overwrite or add new images for the launcher.
- In response to the community request from @Lucon via the modding discord.
- Cultural feats have been moved into CultureObject and are now loaded from XMLs. This allows for much easier replacing or adding of new culture-specific advantages/disadvantages.
- Child, wanderer, notable, lord and rebel hero templates were moved into CultureObject and are now loaded from XMLs.
- Mercenary troops for each culture can now be determined in XMLs.
- In response to the community request from @Mordorsen here: https://forums.taleworlds.com/index.php?threads/tavern-mercenary-pool-in-bannerlord.447675/
- Added a new XML (weapon_descriptions.xml) to make weapon descriptions moddable.
- Removed the PartyBase.Leader, MobileParty.Leader variables. Moved the PartyLeader variable to the PartyComponent.
- Added more informative errors and warnings for invalid/missing XMLs.
- Made reload animations moddable. They now support up to 15 reload phases.
- Fixed a bug that caused the covers_head flag and its usage on helmets to crash the game.
- In response to the reports from @MFKB and @John_M here: https://forums.taleworlds.com/index...d-to-hide-head-xml-files.434623/#post-9755920
- Added TickRequirement.TickParallel to provide a multithread tick mechanism for scripts. Can be used with OnTickParallel callback.
- Added a custom base party speed set option for the custom party component.
- Added custom harness and mount set options for the custom party component.
- Added the AvoidHostileActions parameter option for custom party component which prevents the party from being hostile with the encountered party.
- Fixed a crash that occurred in the editor when closing the scene.
- Fixed a crash that occurred in the editor when trying to add the ladder spawner.
- Added slope and height filters to the smoothen brush.
- In response to the community request from @GourmetBean via the modding discord.
- Added the ability to select the relevant path by selecting any of the path nodes in the editor.
- Added a tool that checks the validity of destructible states of destructible components.
- Reinforced the scene problem checking tool with new additions to the navigation mesh controls.
- Fixed a bug that caused terrain nodes to only be visible from certain angles and distances on newly created terrains.
- In response to the reports from @Space_Pot8to, @NPC99, @Klassix, @Levante and others here and on the modding discord: https://forums.taleworlds.com/index...in-paint-layers-on-1-6-2.447149/#post-9752030
- Fixed a bug that prevented the modification of newly created terrains.
- Fixed a bug that caused the importer to create redundant mesh vertices.
- Fixed the activation delay parameter of the particle system.
We continue to work on the following issues:
- Documentation on implementing new flora.
- In response to the request from @FoozleMcDoozle.
- Other requests (in earlier stages of development).
1.6.5 Changes
Greetings,Here's an overview of all the modding-related changes that came with v165.
- MapConversationTableau's atmosphere selection is now moddable. Modders can change the SandBoxViewSubModule.MapConversationDataProvider with SetMapConversationDataProvider and set their own custom atmospheres.
- In response to the request from @NPC99.
- Modders can now add and remove additional Vec3 targets to mission namemarkers with AddGenericMarker and RemoveGenericMarker.
- Encyclopedia Home page tabs (settlements, clans, kingdoms etc.) are now moddable.
- The code that awards charm XP was moved from ChangeRelationAction.ApplyInternal to CharacterRelationCampaignBehavior.
- In response to the request from @guiskj here: https://forums.taleworlds.com/index...-applyplayerrelation-without-charm-xp.438780/
- Fixed an issue with modder-created WeaponUsageData instances not being included in the crafting templates.
- In response to the request from @KingKilo here: https://forums.taleworlds.com/index...-allow-new-usages-for-crafted-weapons.444547/
- Whether or not a hero can give out volunteers can now be changed with newly added VolunteerProductionModel.CanHaveRecruits.
- Added OnAfterSessionStart event.
- In response to a discussion on the modding discord & this request by @Space_Pot8to here: https://forums.taleworlds.com/index.php?threads/modifying-the-native-encounter-menu.446867/.
- Removed characterobjects of removed heroes.
- Errors with XMLs will now show an error with the faulty line and details (also in e1.6.4 latest changes).
- Ensured that the HostileRelationship tag works.
- In response to the bug report by @Bannerman Man here: https://forums.taleworlds.com/index...ation-tag-to-apply-will-never-trigger.430046/
- Fixed some layers not being rendered on newly created terrains.
- Fixed major memory leaks that occurred on every terrain edit operation.
- Documentation on implementing new flora.
- In response to the request from @FoozleMcDoozle.
- The addition of new attributes/dependencies to SubModule.xml & naming convention improvements.
- In response to the request from @Pickysaurus.
- Add slope and height filters for the "smoothen" brush.
- In response to the request from @GourmetBean on the modding discord.
- Other requests (in earlier stages of development).
1.6.4 Changes
Greetings,Here's an overview of all the modding-related changes that came with v164.
- Font atlas generator is now available to modders. Modders can generate new font files with custom TTF files and use these fonts in-game. We've also created documentation on how to use this tool: http://docs.modding.bannerlord.com/asset-management/how_to_add_custom_fonts/
- StoryModeEvents.RemoveListeners do not need to be explicitly called anymore. Now, StoryModeEvents is added as a CampaignEventReceiver.
We continue to work on the following issues:
- Documentation on implementing new flora.
- In response to the request from @FoozleMcDoozle
- Allow modders to add new atmosphere (backgrounds) of quick conversations
- Add an option to the ChangeRelationAction.ApplyPlayerRelation call to NOT award Charm XP
- In response to the request from @guiskj here: https://forums.taleworlds.com/index...-applyplayerrelation-without-charm-xp.438780/
- Add option to change crafted item weapon "type" (skill it gains / perks it benefits) or allow new usages for crafted weapons
- In response to the request from @KingKilo here: https://forums.taleworlds.com/index...-allow-new-usages-for-crafted-weapons.444547/
- Moddability for CanHaveRecruits and the ability to determine which notables can have recruits.
- The addition of OnAfterSessionLaunchedEvent so modders can more easily modify some campaign content.
- In response to the following community request from @Space_Pot8to: https://forums.taleworlds.com/index.php?threads/modifying-the-native-encounter-menu.446867/
- Other requests (in earlier stages of development).
1.6.3 Changes
Greetings,Patch v163 brings a number of modding-related changes as well. They've been included in the patch notes but here's an overview of them as well and some additional information.
- Heightmap selection dialogue now remembers the last used folder.
- Added a warning to catch duplicate removals of entities.
- Animations now support switching the item on the right hand to the left, and back. The appropriate flag for this is "switch_item_between_hands" which can be set in the editor. The addition of "hand_switch_data" to the animation is then also required to be set in the editor.
- In response to the animation-related request from @Lucon.
- Preview example of usage:
- Damage Particles are now moddable. A new GameModel named DamageParticleModel has been added. By creating and using a new model class inherited from DamageParticleModel and overriding needed functions modders can choose damage particles very precisely according to collision properties.
- In response to the following community request from @Jance : https://forums.taleworlds.com/index...select-a-blood-particle-system-on-hit.443913/
- banner_icons.xml is now moddable. Modders can include their own banner_icons.xml in their modules under "{MODULE_NAME}/ModuleData/banner_icons.xml". Sigils, backgrounds and colours defined in these XMLs will extend the native banner icons.
- Added editor visuals that show ranged siege weapon trajectories.
- Languages are now moddable. Modders can now change options for all languages by providing their own options file. (see Native/ModuleData/Languages/[ID]/[id]_options.xml).
- Moved occupation field to the Hero class from CharacterObject class, making occupations moddable.
- In response to a community request made via the modding discord.
- Made character creation modder friendly.
- CharacterCreationStages are now moddable. Modders can decide explicitly which stage types should be included and in what order in CharacterCreationContentBase. They can use their own stage types.
- Fixed a few bugs that could crash the game when new cultures are used in character creation.
- Exposed CharacterCreation.CharacterCreationMenus to modders.
- Most functions', fields' enums' protection levels in StoryModeCharacterCreationContent and SandboxCharacterCreationContent have been changed to protected from private.
- In response to a community request made via the modding discord.
- Fixed a crash that occurred while sieging settlements with custom cultures.
- Fixed a crash that occurred if the submodule.xml had a comment in it.
We continue to work on the following issues:
- Allow modders to add new atmosphere (backgrounds) of quick conversations
- Investigate the long modding-module loading times
- In response to the request from @KingKilo
- Add an option to the ChangeRelationAction.ApplyPlayerRelation call to NOT award Charm XP
- In response to the request from @guiskj here: https://forums.taleworlds.com/index...-applyplayerrelation-without-charm-xp.438780/
- Add option to change crafted item weapon "type" (skill it gains / perks it benefits) or allow new usages for crafted weapons
- In response to the request from @KingKilo here: https://forums.taleworlds.com/index...-allow-new-usages-for-crafted-weapons.444547/
- Make Font Atlas Generator available for modders & share documentation on How to Add Custom Fonts To Bannerlord
- Documentation on implementing new flora.
- In response to the request from @FoozleMcDoozle
- Other requests (in earlier stages of development).
We also continue to work on the world-map-related issues that prevent you from using custom maps successfully, thank you for your patience.
Thank you for all your feedback. If you have any questions or would like to make further requests, please discuss them below (or HERE).
1.6.2 Changes
Greetings,As part of the v162 patch, we released a number of modding related adjustments. They’ve been included in the patch notes but we’ll list them here as well.
- Made adjustments so that custom classes that inherit from LogEntry, Issue, Quest or InformationData should now be much less likely to break a save game when the mod is removed.
- In response to the discussion on the modding discord. Requested by [BUTR] zijistark.
- Fixed a problem that caused rebellions in settlements with a custom culture (introduced by a mod) to crash the game.
- Did preliminary work to allow modders to add to existing banner icon groups and introduce whole new groups with BannerManager.LoadBannerIcons(string xmlPath).
- MissionGauntletNameMarker (ALT key name markers in settlements etc.) is now more moddable as you’re able to add/remove new agent targets.
- Added horizontal scrolling to troop trees in the encyclopedia (if it's required).
- In response to the following request: https://forums.taleworlds.com/index.php?threads/add-a-horizontal-scrollbar-for-troop-trees.442885/
- Added <AlwaysLoad/> spritesheet config to indicate that the spritesheet category should be loaded by default.
- Minor faction hero templates are now added through XML and stored in the Clan object directly. The minor faction hero spawn chance and hero limit values are now also moddable.
- Troops can now have individual upgrade costs and XP reward for killing.
- In the editor, progress bars were added to the “Navigation Mesh Auto Generation”, “Navigation Mesh Grid Generation”, “NavMesh Debug Mark Elevation Problem Faces” and “Remove Unreachable Faces” features.
We continue to work on the following issues:
- Implement a left_hand flag.
- In response to the animation-related request from @Lucon.
- Making occupations moddable.
- Documentation on implementing new flora.
- Other requests (in earlier stages of development).
Thank you for all your feedback. If you have any questions or would like to make further requests, please discuss them below (or HERE).
Last edited: