Skip to content

[mod] Increased Rate of Banter

TressetTresset Member, Moderator Posts: 8,268
edited April 2015 in BGII:EE Mods
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.
Post edited by Tresset on

Comments

  • HeindrichHeindrich Member, Moderator Posts: 2,959
    Good work mate. I am just wondering if the hike from 10% to 100% is a bit too much? Might you end up with all your banters happening in the early game, and end up with total silence in late-SoA, which is generally very quiet anyway due to the lack of NPC quest and romance interjections.

    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?
  • BejogoBejogo Member Posts: 38
    edited March 2015
    I've already said as much on my thread, @Tresset, but this is terrific stuff. Thanks very much.

    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.
    Heindrich said:

    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 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.
    Post edited by Bejogo on
  • MivsanMivsan Member Posts: 139
    edited March 2015
    Wow. This is so cool. I have pretty much given up on learning more about the failed banters anytime soon, but this is exactly what I was looking for in a thread I made some time ago. Though still I'm not sure about every situation I described there, would have to look into it again and refresh my memory.

    In any case, I have gained valuable insight. Thanks!
  • TressetTresset Member, Moderator Posts: 8,268
    @Mivsan I edited your comment to fix that link. I will look at it and see if I can answer your questions, but the way banters work is quite complicated to explain to someone who doesn't understand InfinityEngine scripting.
  • BejogoBejogo Member Posts: 38
    Well, it's high time I start using some kind of infinity editor and figure this stuff out myself anyway. So, I downloaded me Near Infinity and exported a copy of BANTTIMG.2DA to the override folder with frequency set to 240 and probability set to 25 (a factor of 2.5 either way). This means there'll be a 25% chance of a banter every four minutes, working out at roughly one banter attempt every 16 minutes. I'll see how I get on with that in Shadows of Amn.

    Thanks again @Tresset for your invaluable insight.
  • MivsanMivsan Member Posts: 139
    Tresset said:

    @Mivsan I edited your comment to fix that link. I will look at it and see if I can answer your questions, but the way banters work is quite complicated to explain to someone who doesn't understand InfinityEngine scripting.

    Hmm, the link worked fine for me. In any case, thanks for looking into it. It's not a big deal either way, in the end I learned quite a bit of what I wanted to know, just a little bit later :+). But of course, any additional info is always welcome.

    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!
  • TressetTresset Member, Moderator Posts: 8,268
    @Mivsan I am unsure about the vBG2 behavior... The control over the banter frequency is something that was externalized by the EE devs. I cannot check how the banters worked in vBG2 as there is no resource to compare it to. I can only assume that nothing was changed but you would have to ask someone other than me to know for certain.
  • NatenNaten Member Posts: 138
    edited March 2015
    Thank you for this @Tresset it has been taking awhile to trigger all the banters for the NPC's I don't use as much.
    Post edited by Naten on
  • JuliusBorisovJuliusBorisov Member, Administrator, Moderator, Developer Posts: 22,754
    It may be interesting to tune your mod, @Tresset , in a way the player can set a rate of conversations - the same is possible in the BG1NPC mod. @AstroBryGuy can give some advice here, I think
  • TressetTresset Member, Moderator Posts: 8,268
    @bengoshi Yeah, after testing this a bit I find it makes things happen too fast. I may have to tweak it a bit.
  • AstroBryGuyAstroBryGuy Member Posts: 3,437
    Tresset said:

    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.

    I played around with BANTTIMG.2DA a bit for BG1NPC, so my testing has been on BGEE. BG1/BGEE has two types of banters, those in the B*.DLG files and those controlled by INTERACT.2DA (BG2 doesn't have the latter, AFAIK).

    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%).
  • TressetTresset Member, Moderator Posts: 8,268
    @AstroBryGuy Are you sure FREQUENCY is in ticks? From my testing it seems more like seconds to me...

    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.
  • ithildurnewithildurnew Member Posts: 277
    Doesn't the relevant component from mods like Banterpack, IEPP, etc. do this for you?
  • TressetTresset Member, Moderator Posts: 8,268
    @ithildurnew Um... Does it matter? I don't know what your point is, but, even if what you say is true, that doesn't mean that my mod has no business existing. If anything, it just proves that this sort of thing is something that people want. There is nothing wrong with modding the game yourself; even if it has already been done by others. This mod is quite simple: It does one thing and it does it well. It is perfect for people who don't want to install a huge and involved mod just to change one little thing. It is very rude to imply that someone else's hard work is completely pointless. I made this mod available to help other people and quite a few of them appear to appreciate my work. If you don't like my mod for whatever reason that is fine. You don't have to use it. I would just suggest that in the future you don't say rude things about people's hard work regardless of your feelings about it.

    "An ancient adage this is, yet fitting: If you've nothing pleasant to say, Anomen, say nothing at all." ~Charname
  • ithildurnewithildurnew Member Posts: 277
    edited December 2015
    Wow, just... wow... theres no need to be so defensive! It was a simple question to clarify things that's all, holy jeez... nothing I said in any way construed your contribution as useless or defective, etc. In fact I'm sure it's quite handy.

    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...
  • AstroBryGuyAstroBryGuy Member Posts: 3,437
    The banter acceleration components for pre-EE games use script blocks added to BALDUR.BCS to force extra banter dialogs every X seconds of game time (for example, Compton's Banter Accelerator included with BG1NPC forces extra banters every 2500 seconds). Unless those components have been updated for BG2EE, they have no idea BANTER.2DA exists and don't use it at all.

    BANTER.2DA allows much more control over banter frequency (for example, even slowing banters down).

  • ithildurnewithildurnew Member Posts: 277
    Thanks, that's helpful, helps clarify that a decision to skip the traditional banter acceleration options from banterpack etc (and tweak the 2da file instead) was probably a good one.
  • TressetTresset Member, Moderator Posts: 8,268
    @ithildurnew Sorry. I misconstrued the heck out of that. I have had people pestering me about my mods in the past... I will leave it at that. No hard feelings, I hope?
  • ithildurnewithildurnew Member Posts: 277
    No worries, we all have those moments. Internet miscommunication is a fact of life
  • FFFFFF0FFFFFF0 Member Posts: 2
    I'm getting wierd result in this playthrough, where I play on EET. SoA NPCs repeat things they had said. Even trigger quest that had been done. I don't remember I had this problem on BG2EE. May anyone shed some light?
  • shevy123456shevy123456 Member Posts: 265
    edited September 8
    I have not yet used EET, but the problem you describe sounds familiar. For instance, I had a situation where the NPC Paina kept on spawning "I am afraid of the dark" in a perma-loop, with like 5 seconds delay between each trigger - and the spawning trigger also happened on outside territory. So I am not sure how it works, but I think the problem you describe also happens without EET.

    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.
Sign In or Register to comment.