JarlFrank
I like Thief THIS much
The Remaster meanwhile doesn't work on Windows 7, so if you still use a decent Windows, you gotta stick with the original (which works fine).
Modding
New UX Features
○ Better support for displaying negative capabilities in the UI
■ +/- now displays correctly based on the value provided, preventing display errors such as “... bonus: +-5”
○ Added functionality to specify custom loading screens per map / location in the descr_battle.txt or custom_locations.txt files
○ Added functionality to use hex values in UX .pos files for font colours
■ E.g. "font_colour": "#0a85ab",
○ Added functionality to display conditional strings in various information panels, tooltips, and the Building Browser, meaning complex item requirements can be more clearly displayed
○ Added the ability to define the max line count for multiline strings in .pos files
Factions
● Lifted previous hardcoded limits on faction numbers, allowing for a virtually unlimited number of factions
● Added support for multiple superfactions
○ Superfactions have their own shared line of sight, dictated by the superfaction leader
○ Senate superfaction now supports more than 3 child members
○ Added options for superfactions inside the descr_strat data file
○ Various minor improvements to superfaction logic, e.g. how outlawed factions are handled
● Improvements to Loyalty & Shadow Factions (e.g. the Western Roman Rebels are a shadow faction of the Western Roman Empire)
○ Simplified shadowing so that shadowed factions do not automatically shadow back
○ Added functionality for shadowed factions to have captain portraits
○ Player factions can now trigger shadow faction switchback (e.g. defeating the Western Roman Empire as the Western Roman Rebels results in the player becoming the former)
○ Improved behaviour of shadow faction resurrection (e.g. resurrected shadow factions receive 1.5x of the revolting settlement’s income up front, generated leaders inherit the religion of their current settlement)
● Emergent faction improvements
○ Added modding functionality for previously hard-coded emergent factions
○ All factions can now be emergent or re_emergent
○ Added a new sub-script to control when emergent factions are triggered (e.g. at end of turn, settlement capture, or a revolt)
○ Various minor improvements to emergent faction logic
● Added functionality allowing ai_do_not_attack_faction to target multiple factions
● Rebel subfactions can now have their own custom faction logos to matching banners (as in cosmetically rebel factions, not shadow factions)
● Rebel factions can now have functioning family trees
● Faction aggression can now be set in descr_strat (similar to faction_relationships and core_attitudes, ranges from 0-1000)
● Various minor improvements to Faction behaviour
○ Rebel and normal banner icons are now combined into the same array, facilitating easier attachment to faction definitions
○ Added a new descr_sm_faction_icons file to facilitate adding faction icons into the sprite sheet post-initialisation
○ Removed the greener gaul hardcode (this can now be changed in descr_sm_factions.txt)
○ Added the Rebel type to admirals
Culture
● Lifted previous hardcoded limits, adding support for a virtually unlimited number of cultures
● Added functionality to control Roman Faction AI Assists via data files
● Added functionality to specify barbarian-like cultures without needing a single culture named “barbarian”
● Various other minor fixes and improvements
Religion
● Lifted previous hardcoded limits, adding support for a virtually unlimited numbers of religions
● Religions can now specify a group
● Religions can now have different unrest multipliers against other religions
● Added functionality to define unrest levels relative to the settlement population
● Updated appropriate UX & data files to allow for extra religions
○ Reformatted the religion file to facilitate easier maintenance
○ Changed every instance of the religion pips from the sprite sheet to use external TGAs
○ Religions with no influence can now be hidden from the Settlement Religion panel
○ Modified the Settlement Religion panel to allow scrolling when more than 3 religions are defined, and leave empty spaces when fewer than 3 are present in a settlement
○ Religions can now automatically generate an associated trait for themselves if one does not already exist
○ The Settlement Religion panel always shows the dominant religion, not the official religion; assuming these differ, the official religion is shown in a tooltip alongside the reason (i.e. set by temple or by the Governor).
● Added new religious conditions for buildings
● Added a log_conversion_calc command line option to log end-of-turn settlement religious conversion to the command line
● Expanded Traits & Followers to allow for more than one religious effect
● Various minor improvements
Buildings
● Lifted previous hardcoded limits, adding support for a virtually unlimited numbers of buildings
● Added functionality for the building_factions condition to be used for upgrade lines, recruitment lines and in the upgrades block
● Added functionality for grouping buildings into multiple groups of mutual exclusivity
● Added functionality for new Religion-based conditions
● Added functionality for recruitment limits on all agent types, modifiable through building effects
● Added ai_destruction_hint option to building definitions to improve AI logic for destroying buildings
● Removed limit of 32 effects per building level
● Added can_player_effect_this allowing checks if players can ever influence a condition
● Replaced the implicit "temple" type, which prevented building multiple temples, with a system of tags and the no_building_tagged condition
● Added a factionwide condition to check across the entire faction
● Made unit availability restrictions in building definitions file implicit. If a unit is specified as recruitable it will automatically be restricted to the factions it is available to
● Miscellaneous minor fixes and improvements
Combat_V Effects
Modified Combat_V attributes to make them more flexible and remove limitations on the potential of other additions (e.g. culture and factions).
● Added functionality for using dummy values after NUMBER_OF_ATTRIBUTE_TYPES to keep the UI trait colouring consistent with non-attribute attributes
● Removed old Combat_V attributes from the attribute list and made it it's own category
● Modified how Combat_V bonuses are calculated, so the effect is a sum of the total effects but bounded but the highest/lowest single effect
● Combat_V_Culture effect now supports negative points
Traits and Followers
● Improved Culture support for traits/followers
● Added a MaxAllowed variable to traits, specifying the amount of living characters that can share a trait at any one time
● Added Inherit_chance which allows for traits to be potentially inherited by a character's children (range between 0-1)
General Gameplay
● Added mod-accessible toggle for garrisons affecting revolt chance
● Added scorch effects to campaign toggle
● Added an extremely_hardy attribute option to units
● LOD rendering distance of mounts respects DMB defaults
Sound
● Made looping sounds not affect fading status, meaning fades will persist between sound loops
● Improved unit selection of responses/barks when they don't have one specific to them
● Added new sound enums for more generic voice barks for unnamed units
New Campaign Features
● New Settlement Features
○ Squalor & Distance From Capital penalties are now moddable
○ Minimum & Upgrade Population levels are now moddable
○ Major events are now completely moddable (e.g. the Marian Reforms)
○ Religious unrest penalties can now be modded per religion
○ Added functionality to override the default religion of a settlement
○ Added support for per-settlement custom models on the Campaign Map
○ Added functionality allowing settlement names to be used as character surnames
○ Added functionality allowing use of settlement loyalty/public order as a region income multiplier (the happier the population, the larger the multiplier)
● Added functionality for Ambient Models on Campaign Map
○ Added functionality for adding ambient strat map models
○ Added support for ambient objects in SMO soundbank
○ Added resource types and ambient objects to SMO object bank description
● Added functionality to define specific brigand and pirate factions per region
○ Added functionality allowing land-based rebel factions to spawn handler units
○ Setting pirate and brigand spawn rates to 0 disables spawns
● Added functionality for Opaque Fog Of War (which hides undiscovered areas and their terrain completely)
● Added functionality allowing overlapping mercenary pools
● Added functionality for customising unit movement multipliers on the Campaign Map
● Added support for unit-specific AI recruitment bias using recruit_priority_offset
New Battle Features
○ Added functionality for modding Battle AI via data files
■ These values affect which orders the units are given, but not pathfinding/the way orders are carried out
■ These constants can be assigned on a per-faction basis in descr_sm_factions.txt
■ Default AI values are located in descr_battle_ai_personalities.txt file
○ Increased maximum officer allowance from 3 to 9
○ Added the ability to vary unit models, including based on armour and weapon levels
■ Each unit can now define multiple soldier models in the EDU, and the soldiers will randomly choose between them
■ You can specify armour level and weapon level; if weapon level isn't specified it will be set for all weapon levels
■ A total of 255 unique models can be assigned to a unit across all weapon and armour levels
○ Added a setting tattoo_colour variable per faction
■ E.g. tattoo_colour blue sets tattoo_colour for all factions (i.e. the default), then tattoo_colour gauls gold sets an override for the specified faction
○ Added further Battle Map Sky modding options
■ TrueSky sequences can be modified per climate-season-weather-time combination instead of just weather (said combinations are loaded in from data/feral_descr_truesky.txt)
Enhanced Tweaks Mode - Expose Game Engine Settings For Mods
● Added functionality for importing/exporting game engine variables and loading them in from mods; modders can now export their settings (done at the bottom of the EnhancedTweaks ImGui panel) and then copy the exported file into their mod
● This can be enabled using the command enhanced_tweaks in the Advanced Options text box
Save Games Record Enabled Mods
Active mods are now stored in the save header, and compared against the currently active mods when loaded. There is also new UI and altered the logic to display a confirm/cancel dialog when mods do not match. This allows users to choose whether they want to continue loading a save even with different mods.
Refactored Name Lists for better modding control
Name lists have been disconnected from factions. These can then be linked up to factions, allowing more flexibility on name lists and also better integration with improvements to other areas of the game (e.g. cultures and faction increases).
● Name lists are separate from factions (but temporarily assigned per-faction)
○ This is a future-proofing measure against future character changes to give better modding control
● Added the ability to inherit one name list into another to cut down on duplicates (saving ~2000 lines in the name list file)
● Improved logging for invalid names by virtue of the new and more logical/flexible layout
● Tied using the settlement name as surname to a bool so modders can use it for other character types
● Fixed rebel Merchants all being Roman by correctly setting against their original faction
● Added global indexes for names rather than name list-dependent ones (which could cause issues when moving characters between factions)
● Removed hardcode for female characters not to use surnames
Logging Features
● Added new logging mode launch options:
○ Added functionality to log per-settlement religious conversion information
○ Added functionality to hide the entire model mismatch log messages behind the report_model_mismatches command line option
○ Moved verbose skeleton & animation pack logs behind the new verbose_skeletons command line option
● Improved error logging for invalid names
● Increased information for descr_strat file loading
● Logged the TrueSky sequence file being loaded along with the Battle Map parameters to help debug lighting issues in 3D battle maps
● Miscellaneous formating & minor information improvements
Scripting Features
○ Added go_to_char command to facilitate the Campaign Map camera centering on specific characters
○ Added scripting commands to alter a region's religious profile
○ Removed unit limits from the create_unit command
○ Added destroy_unit and swap_unit commands to scripting and RomeShell
■ swap_unit is similar to destroy_unit, but takes in a second unit ID when called; relevant unit data is copied (soldiers remaining, experience, weapon/armour level) used to create a new unit
○ Added set_leader <character> and set_heir <character> commands for setting the Faction Leader and Heir
○ Added functionality for factions to be specified in capture_settlement, meaning players can give a captured settlement to an AI faction
○ Added a HasOffice command to check if a character holds a given Senate office
○ Added a MajorEventActive command to check if a given event is active (e.g. Marian Reforms)
○ Added change_character_faction allowing named characters to be moved to another faction
○ Added a new start_turn event trigger for the start of a turn
○ Enabled diplomatic_stance
○ Enabled the faction command line option
○ Added support for local scope access for a number of script and console commands
■ This allows for subbing some of the arguments with "local"; the game will pull the character/settlement/faction from the current script scope (assuming one exists)
■ This allows the provoke rebellion script command to take "local" as an argument to get the settlement that's supposed to revolt from context
■ The exceptions to this are:
● create_unit, which could either refer to the local settlement or local character; use local_settlement and local_character instead
● The change_character_faction command uses local_faction for better clarity in scripting
● The add_income and add_expenditure commands both support local_settlement and local_faction
■ This feature can cause instability, and should be used with care
○ Added store_counter and retrieve_counter commands for adding and extracting counters from local scope
○ Added support for custom, settlement-specific or faction-wide income/expenditure via RomeShell/scripts, which can then displayed in the UI
○ Added functionality to set Senate Standing directly from script
○ Added functionality for set_counter to use another counter instead of a constant value, and added a counter_operation command
○ Added scripting conditions for checking diplomatic status between two factions
■ IsAlly
■ IsProtectorate
■ IsProtector
■ IsSameSuperfaction
○ Added functionality allowing I_CompareCounter to compare two counters, instead of just one counter against one constant
○ Added a return command to facilitate returning a value from a second script
○ Added functionality allowing scripts to create custom news alerts for players with a Yes/No prompt and pass the result back into the script.
○ Additional Miscellaneous Improvements
RomeShell Features
○ Added support for pasting clipboard into RomeShell
○ Added functionality for displaying whether achievements are enabled or not (and if disabled, why)
○ Added the ability to middle mouse scroll when RomeShell is in focus
○ Added verify_building_units to facilitate checking for duplicate units in buildings
○ Added a number of previous scripting-only commands to RomeShell
■ Fixed issues with the faction command line option not working
○ The DocuDaemon file in preferences folder now lists all accepted commands for easy reference
Fixed issues loading specific assets from mod folders
● Added functionality allowing campaign trees to be loaded in from mods
● Added functionality allowing burn ground types to be loaded from mods
● Added functionality allowing Bridge models to be loaded from mods
● Fixed texture path exists logic for mods
● Item files are only regenerated when needed