?? More win on the way?Thanks for the new update! @Dejan
Another update after 1.6.4, we expect much more promising updates very soon. For this, it would be best for us to notify Taleworlds of more reviews of mod developer friends who are involved in total revision mod projects, and also to support the development of both the projects and the full version of Mod Tools as much as we can.
Thanks for letting us know, I'll post here as soon as we add it to the Steam build.
While I can already see a few changes that will probably make my mod to crash I would like to thank you for the continuous global improvementGreetings!
Here are the modding-related changes that came with v170.
We have also published a new page on the modding documentation:
- 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.
Thank you for all your feedback and suggestions. If you have any questions or would like to make further requests, please discuss them below (or HERE).
- Documentation on implementing new flora.
- In response to the request from @FoozleMcDoozle.
- Other requests (in earlier stages of development).
Which xml/folder is this reffering to? Where can I adjust these culture-specific advantages?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.
HLC's XMLOverrideFix mod lets you keep your XML edits in 1.7.0 without an "Obect is already Initialised" crash.It seems now you cannot just modify an existing item by copying it to your mod's XML and editing some stats. The game says it can't read it twice. So, any insight on how to do this?
Most modders who aren't coders can cope with XML edits but find XSLT beyond them. To keep Bannerlord accessible to modding and new modders any entry barriers should be as low as possible IMO. Armour, weapons or troop tree mods tend to be XML based. It's much easier for 3D artists to publish their work with XML vs XSLT.This situation was fixed internally. In the meantime, have you tried using XSLT to override XMLs?
To amplify this is the worldmap_battle_scene_grid:Some of you had some questions on the new battle terrain system on the modding discord so I am posting the replies here as well:
- How are the specific areas identified? Is it somehow assignable to specific navmesh faces? or hardcoded coordinates?
- We have a special texture (worldmap_battle_scene_grid) for defining the battle terrain areas and also their zone coordinates.
- We can see the map_index numbers in the xml. They just appear to be sequence numbers between 1 and 157. So we can see what scene is used for a map_index number, but where are these map_index numbers correlated to Main_map locations and how can that be modded?
- Map index number (between 1-157) is also included in the texture. And it is mapped to scenes with the XML (sp_battle_scenes.xml) file. You should be able to define your own texture and replace it with the one we're using - and specify your own scenes by editing the XML file (through XSLT). Battle scene definitions in the sp_battle_scenes.xml file include map_indices for which the battle scene will be used for.
- Will an encounter outside a grid throw an exception and crash the game?
- If the engine can't find a scene for the current encounter coordinates (using the texture) we throw an exception but the game won't crash. It should be picking a random scene in this case.
- Presumably with this colour coding 256 is the maximum number of map index numbers possible irrespective of the campaign maps physical size?
- That's correct.