[mod] Increased Rate of Banter
Tresset
Member, Moderator Posts: 8,268
So, I have been noticing quite a lot of people complain that banters don't happen anywhere near often enough. I am inclined to agree. While you can always make banters happen at your own pace by forcing them to happen with ctrl-i, I decided I would make a very simple mod for this anyway. I know there are components of other, larger mods that can make the banters happen more, but this is a stand alone mod for those who don't want anything more than an increased rate of banter.
What the default behavior is:
In BG2:EE every 10 minutes there is a 10% chance of a random party member attempting to initiate a banter. If the random party member that was selected can find no valid banter partner the banter fails and you will have to wait another 10 minutes to get another chance. Sooo every 10 minutes there is a 10% chance of maybe a banter happening... Those are pretty slim odds...
What I have done:
I have decreased the time between banter attempts to 7 minutes. I have also increased the chance of a banter attempt happening to 100%. This does not mean that there will be a banter every 7 minutes; it just means there will be an attempt every 7 minutes.
Things to keep in mind:
Most banters are scripted to never happen in dungeon type areas, which there are quite a lot of in the game. My mod will not change this so you are not likely to get any banters in dungeons. This mod will also make characters that don't like each other come into conflict with each other much faster. This is because almost all conflicts between party members are run by banters. If you were planning on keeping, say, Minsc and Edwin in the party together and just hoping they never come to blows, you may as well forget it while using this mod. This will not make romances happen faster since those are run on a different system. This mod was designed for BG2:EE and I do not recommend using it on BG1:EE. If, for whatever reason, you want banters to happen more commonly in BG1:EE just ask me and I will make it happen. This mod will most likely not work at all on vBG2.
To install this mod all you have to do is extract the contents of the zip into your BG2:EE override folder. Note that you may need to create an override folder if one does not already exist.
I am open to feedback on this mod and am willing to change things if you think I should. Enjoy chatty NPCs!
Edit: Having tested this mod a bit I have made a tweak to it. I found the file I originally uploaded made banters happen too quickly for my purposes so I made one that is a bit slower. The original upload is still available as "Super increased rate of banter", but I would recommend the new and refined "Moderately Increased rate of banter" more. If you are curious, in the moderately increased rate of banter file I made the frequency 420 and the probability 50.
Moderately increased rate of banter (recommended).
Super increased rate of banter.
What the default behavior is:
In BG2:EE every 10 minutes there is a 10% chance of a random party member attempting to initiate a banter. If the random party member that was selected can find no valid banter partner the banter fails and you will have to wait another 10 minutes to get another chance. Sooo every 10 minutes there is a 10% chance of maybe a banter happening... Those are pretty slim odds...
What I have done:
I have decreased the time between banter attempts to 7 minutes. I have also increased the chance of a banter attempt happening to 100%. This does not mean that there will be a banter every 7 minutes; it just means there will be an attempt every 7 minutes.
Things to keep in mind:
Most banters are scripted to never happen in dungeon type areas, which there are quite a lot of in the game. My mod will not change this so you are not likely to get any banters in dungeons. This mod will also make characters that don't like each other come into conflict with each other much faster. This is because almost all conflicts between party members are run by banters. If you were planning on keeping, say, Minsc and Edwin in the party together and just hoping they never come to blows, you may as well forget it while using this mod. This will not make romances happen faster since those are run on a different system. This mod was designed for BG2:EE and I do not recommend using it on BG1:EE. If, for whatever reason, you want banters to happen more commonly in BG1:EE just ask me and I will make it happen. This mod will most likely not work at all on vBG2.
To install this mod all you have to do is extract the contents of the zip into your BG2:EE override folder. Note that you may need to create an override folder if one does not already exist.
I am open to feedback on this mod and am willing to change things if you think I should. Enjoy chatty NPCs!
Edit: Having tested this mod a bit I have made a tweak to it. I found the file I originally uploaded made banters happen too quickly for my purposes so I made one that is a bit slower. The original upload is still available as "Super increased rate of banter", but I would recommend the new and refined "Moderately Increased rate of banter" more. If you are curious, in the moderately increased rate of banter file I made the frequency 420 and the probability 50.
Moderately increased rate of banter (recommended).
Super increased rate of banter.
Post edited by Tresset on
11
Comments
Also, what does ctrl+i do, like mechanically? It triggers banters, but how? Directly so, or does it advance time? Does it trigger NPC quest and romance dialogues too?
I'm inclined to agree with @Heindrich that 100% might rinse the banters slightly too quickly, but I'll play the game with the mod as it is and see what happens. I will of course be sure to let you know. I'm pretty sure CTRL+I just cycles through the banter scripts. The script reference appears in the dialogue window. Some scripts are invalid, which is why a lot of the time, nothing seems to happen.
What interests me is whether these scripts fail to initiate because of lag, or because the developers implemented a number of banters that were never actually written. If it's the former, then as the game seems to cycle through them, all banters should still occur naturally, but it could add a further explanation as to why they are very rare.
EDIT:
I am totally wrong about CTRL+I cycling through scripts; it cycles through animations, which you can then use CTRL+L to play. I don't know why this shortcut also causes the game to cycle through potential banters.
I have, however, used EEKeeper to look at some saves in which I know a couple of banters have fired off.
I am fairly sure that the scripts run on a loop. At regular intervals, there is a chance that the game will look for a valid banter, which it assesses by how close the NPCs are to one another and (if relevant) the location they are in. (I think, for instance, a lot of Jaheira's dialogue occurs in the wild.) If a banter happens, the initiating character then has a local variable assigned, for instance JAHEIRAMAZZY=1. This prevents the same banter from reoccurring once the scripts cycle back around.
It is probably done in this way to prevent lost banter opportunities from becoming irretrievable; for instance, if the game attempts to initiate them while in a dungeon, when party chat is suppressed.
This does mean that all banters will eventually fire off, but it could take ages. More often than not it seems that the game makes the attempt to initiate a banter, but for some reason or another only the animation and not the actual dialogue take place.
This could be down to lag. I suggest as much because of many instances where various non-playable NPCs take a while to initiate behaviours after the relevant trigger has taken place (I'm thinking of one vampire encounter in particular, where a shadow thief is being chased. The vampire who is chasing him can sometimes take minutes to turn up). The difference is, the game keeps trying to force this behaviour, whereas banter scripts are fire-and-forget; if they don't happen, they don't happen, and you need to wait until they roll back around.
This is pure speculation, and I am sure players more au fait with the engine than I could confirm or deny some or all of the above.
Ctrl-i, in addition to cycling through animations, forces a random character to attempt a banter. This forced banter attempt works the same as if the banter timer expired and the chance for a banter attempt with ctrl-i is 100%. The reason it doesn't always result in an actual banter is because the player selected may not be able to find a valid partner for banter, or the conditions are otherwise wrong (i.e. you are in a dungeon). In an unmodded game Charname does not innitiate any banters that I know of either, but they can still be randomly selected for a banter, so if they are selected the banter attempt will pretty much always fail.
I am well aware that this mod will make banters happen fast and frequently. I know that it will likely make the SoA banters all happen by roughly half way through SoA and result in quiet players later on, but I was basing this mod on ToB being the limiting factor. ToB is much shorter and has a much higher dungeon area ratio. I sometimes wonder if I didn't make banters frequent enough for ToB, assuming the player wants to see them all. The problem here is that banters work exactly the same way in both SoA and ToB and the only way I could make the game differentiate between the two is to upload a separate override file for each game and direct people to manually switch them out. I decided it would be better to make banters happen at a ToB appropriate pace so as to better fulfill the purpose of this mod.
However if you want to have me lower the chance of banter and risk missing out on ToB banters, I could do that by lowering the chance of attempt a bit. I would not recommend lowering it below 50% however, and I would probably prefer to keep it at around 75%.
Also, if you are capable of using NearInfinity, this is really easy to do yourself.
Banttimg.2da is the relevant file. The first two numbers are the only ones you have to change. Frequency is the time period between random banter attempts in seconds. Probability is the chance of a banter happening when the timer cycles past 0 again in percent. The other two fields appear to be mainly for BG1:EE and seem irrelevant for BG2:EE.
In any case, I have gained valuable insight. Thanks!
Thanks again @Tresset for your invaluable insight.
One thing I would like to ask, though - was it the same exact system in original BG2 or did EE change it somehow? The whole situation of banters not working intrigued me, because I don't remember anything like that happening in original BG2, but then again, it might simply be a problem with my memory. Also, the banter mods always had the option of increasing the frequency of banters and never mentioned anything about a chance of them happening (or increasing that chance). Interesting stuff!
http://gibberlings3.net/forums/index.php?showtopic=26511&hl=banttimg
This is what I found:
FREQUENCY: Time between banter checks in "ticks" of 1/15th of a second. So, FREQUENCY of 600 means 40 seconds between banter checks.
PROBABILITY: % chance that a banter check fires a banter.
REPLAYDELAY: I think this only affects B*.DLG banters, but I could be wrong. I certainly had INTERACT.2DA banters replay quicker than they should have with REPLAYDELAY set to be large.
In BG1/BGEE, the vanilla banters can repeat. AFAIK in BG2/BG2EE, the banters are blocked from repeating by using variables (only allowing the banter to trigger if a certain variable = 0, then setting that variable to 1 in the banter). So, this probably doesn't do anything in BG2EE.
SPECIALPROBABILITY: Appears to control the chance of a B*.DLG banter vs. an INTERACT.2DA banter. 100% is all B*.DLG banters (or selections sounds if no banter is available). When the percentage is set to 0, the game appears to default to INTERACT.2DA banters unless the NPCs have an INTERACT.2DA banter of "0", then it uses a B*.DLG banter if it exists.
For BG2EE, there are no INTERACT.2DA banters, but I don't know if SPECIALPROBABILITY is ignored, or if it still factors into the banter check (i.e., setting PROBABILITY to 10 and SPECIALPROBABILITY to 25 makes the chance of a banter 10% * 25% = 2.5%).
Anyway, I played around with this a bit and I made the increased banter rate a little slower since it was quite ridiculously fast the way I had it initially. I will be uploading another option or two soon.
"An ancient adage this is, yet fitting: If you've nothing pleasant to say, Anomen, say nothing at all." ~Charname
Having said all that my question still stands, or perhaps I can clarify... I'm wondering how the accleration component from the mods I mentioned interact with the banter 2da file in 2ee.
Less coffee, please... holy cow...
BANTER.2DA allows much more control over banter frequency (for example, even slowing banters down).
One thing I strongly suspect is that one, or more mods, cause issues. I recently tried Reign of Terror again, for instance, and I had more issues than when I did not install it suddenly (I only installed two more mods, compared to a playthrough I did a few months ago). Another suspicion I have is with one or more item mods causing issues. I decided for future reference to omit some of the more problematic mods. Some mods work really well and other mods cause numerous problems.
Do you have your mod installation order available? Also, what error happens specifically with either NPC or trigger-quests?
Edit: Something else I noticed is that the more mods I have installed, the longer delays and more memory issues crop up. I think there may be some problem when one has too many mods installed, when some of these mods are also problematic. I experience tons of crashes or de-facto crashes where the blue circle rotates but the game has crashed already; yet I can not do anything, not even invoke the windows task manager, to then shot down the application. This definitely happens more frequently so the more mods I have installed; in the vanilla game, I don't have anywhere near as much as 1% of those issues. I think some mods may be broken beyond repair.