After my Samaritan mod got an overhaul 2018/19 - bringing it to Version 2.0 -, I've now completely reworked another old work of mine (still to this day the most popular and salutary one) - QuietDayOnTheMarket (for the announcement of V. 1.0 s. Mod-Project: QuietDayOnTheMarket
) - and just released the new version on Nexus mods:https://www.nexusmods.com/divinityoriginalsin/mods/74
My goal was to write a cleaner (the old version wasted a lot of local variables, for example, due to a lack of knowledge, it was my first modding and scripting experience after all), stable (in terms of working NPC routines) and also function-wise way more advanced mod than I was able to in 2016. The lack of customization options for the mod, so players can find the settings that appeal the most to themselves, was the main motivation for me to go through all those character scripts (in the end more than 140) again.
So Version 2.0 implements a customizable chatter system which comes with about 20 modifiers, influencing the frequency of NPC chatter and the duration and frequency of newly implemented NPC idles of different type (basic idles, angry, sad, greeting, wandering, sitting down etc.). Furthermore, it modifies Player comments and Zombie Nick's comments (both adjustable as well).
Besides the idles, also some new actions have been added to some NPCs, so despite of being more silent (depending on the settings) NPCs are not supposed to become lifeless mutes.
I hope it's a notable progress towards the previous version and am curious about what you think!
In the following, the full information from the Nexus page:Content
More than 130 NPCs of the game are modified and participate in the chatter system, giving you control over the ambience noise in all main locations (Cyseal, Luculla and Phantom Forest) and beyond. Some yet overlooked NPCs will follow in a future update.
The chatter system offers the following modifiers for chatter and idle behaviour:
~ MasterChance: defines the maximum chance to trigger the chatter behaviour when its due
~ ChatChanceMin: defines the minimum chance for a chat
~ MasterTimer: defines the duration of a chatter timeout after a chat
~ MasterTimeoutChance: defines the chance for a timeout after a chat
~ MasterReduction: defines the amount by which the chatter chance is reduced after a chat
~ MasterReductionChance: defines the chance that the chatter chance is reduced after a chat
~ MasterChanceIncrease: defines the amount by which the chatter chance is raised on char activation (= in certain player range)
~ MasterChanceIncreaseChance: defines the chance that the chatter chance is raised when the character becomes active
~ MasterChatIncreaseTimer: defines the amount of time that a character must be active until the chatter chance increases
~ MasterTimedChatIncrease: defines the amount by which the chatter chance is raised over time
~ MasterTimedChatIncreaseChance: defines the chance that the chatter chance is raised on time
~ IncreaseOnTimeout: defines if the chatter chance can be raised during a timeout (not affecting the timeout itself)
~ TimeoutEndOnInactive: defines if the timeout ends when the character becomes inactive; otherwise it continues after becoming
active againIdle behaviour:
~ MasterIdleStrength: defines how the idle behaviour is weighted against the default/chatter behaviours
~ MasterIdleRepeatChance: defines the chance that the idle behaviour continues after an idle
~ MasterIdleTime: defines the duration of an idle intervall; a new intervall may be started (depending on MasterIdleRepeatChance)
~ NoIdleAfterIdle: defines if no further idling behaviour can be started until the character had a chat
~ IdleEndOnTimeoutEnd: defines if the current idling behaviour shall stop when the chatter timeout ends (a new idling behaviour may be started)Other:
~ ResetChatChance: defines if after a settings update the current chatter timeout as well as the current idle or no-idle-after-idle pause is stopped and if the current chatter chance is (re)set to the defined maximum; this allows experimenting with different settings, since there's never a time delay between the settings update and their effects in game (e. g. because of an already lowered chatter chance); certain clean-ups are done by the script without this setting enabled, so new settings should always behave correctly within their boundariesThe mod uses the following default settings:
MasterIdleStrength: 6 (other NPC actions usually range between weight 1 and 3)
The idea of these settings is to have a quite high chance of voiced text (50%) at the beginning, and letting it drop after each chat by 20% points up to a minimum of 10% chatter chance which is one fifth of the starting value of 50%. This way NPC chatter can be experienced the first time and will then quickly slow down. With the chance reduction NPCs that are more likely to start a chatter action (due to their actions as Larian defined them) and NPCs that are less likely to do so will tendencially even out, since frequent chatters decrease in chatter chance more quickly than others.
When the player returns to a location, the chance will increase by moderate 10% points.
A relatively high Idle priority and Idle repeat chance will grant longer times of silence without making NPCs too lifeless or redundant in their standard actions.Player comments:
In Addition, generic player comments (on statuses like wet, warm etc., on critical hits, skill usage ...) are modified as well (s. Readme for instructions):
Most comment chances are reduced to 10% by default, so constantly 'heating up' and being a 'hot cake' isn't to be expected any more.Zombie Nick:
Also Zombie Nick's comment frequency is modified, reduced to 30% comment chance on summon and turn by default (s. Readme for instructions).
As Samaritan 2.0, the mod tries to be as modding-friendly as possible within the limitations of the engine, so it:
- can be installed and removed without having to start a new game or breaking a save game,
- can be installed along with other mods that don't use the same scripts,
- offers a compatibility patch for my Samaritan mod,
- contains an extensive installation guide with notes on mod compatibility,
- provides a guide for changing the default mod settings (s. Readme).
Since this mod can't make use of 'story scripts' (using the Osiris scripting system of Divinity Engine) - this would require a new game start, reduce mod compatibility etc. -, it's not possible to change the mod's settings within the game (via dialog, for example). Changes to settings can be made by simply editing two text files (one for NPCs, one for items). Instructions are included in the Readme and in the Settings files themselves.Compatibility:Version Compatibility:
This mod is made for D:OS 1 Enhanced Edition.Save and game compatibility:
Compatible with save games, so a new game start is not required. It should be possible to add and remove the scripts at any time, though there's no 100% guarantee that some NPC routines may show unintended behaviour.Mod Compatibility:
Compatible with all mods that don't make changes on character scripts used in my mod (so: compatible with Baardvark's Mod Scales, Frau Blake's XC_Bags, Ameranth's Epic Encounters and most other mods). For my Samaritan mod see the patch under Miscellaneous files.
For the mod XC_Encounters there's no full compatibility (s. the Readme for more details).
Not compatible with all mods that make changes on character scripts used in my mod.