Oblivion
0 of 0

File information

Last updated

Original upload

Created by

alphaniner

Uploaded by

alphaniner

Virus scan

Safe to use

About this mod

Small Talk provides a passive alternative to the Persuasion mini-game for raising NPCs' disposition towards the player and leveling the Speechcraft skill.

Requirements
Permissions and credits
Donations
Beta version, only download for beta testing purposes. In my testing it has been stable and functioning as intended, but more testing is necessary (and greatly appreciated). Be sure to see the 'Technical Details' section.

Update: I've uploaded version 0.1.1, which just adds a simple disposition cap: 50 + (1/2 Speechcraft). If you have your weapon drawn it will be reduced by ten. I put the file in the 'Updates' category, but it's not necessary to download 0.1.0; the archive just lacks a readme.
I did a cursory upgrade test without a clean save and didn't see any issues, plus the 'last spoken times' were maintained. Apologies for taking so long to implement this; it was dead simple and should have been included in the initial release.

The next version will definitely require a clean save due to script optimization. At the moment I'm still focused on the basics, so feedback on the disposition gain, disposition cap and the Speechcraft experience gain (eg. too high/too low) are appreciated.

Requirements

Conflicts/Incompatibility
None that I'm aware of. The .esp doesn't modify any records, and the script only modifies NPC disposition.

Description
The primary goal of this mod is to provide a passive method of raising NPCs' disposition towards the player and leveling the Speechcraft skill. In other words, an alternative to the Persuasion mini-game (which is not modified in any way). As currently implemented, engaging in dialogue with a persuadable NPC will raise the NPC's disposition by 5 and provide Speechcraft experience equal to one round of the Persuasion mini-game (these values are temporary and will be made dynamic) if one of the following is true:

  • You haven't talked to the NPC today.
  • At least 12 hours have passed since you first talked to the NPC today.

So basically the disposition/Speechcraft increase will occur at most twice per day for each persuadable NPC. But due to scheduling and the 12 hour 'cool-down', in most cases it will occur only once. For testing purposes, a message about the outcome will print to the top of the screen shortly after entering dialogue. The are five possible message types:

  • "Small Talk Failure: Persuasion Disabled"
  • "Small Talk Failure: <name> spoken to recently (now <current game hour> last <hour first talked today>)"
  • "Small Talk Success: <name> not spoken to recently (now <current game hour> last <hour first talked today>)"
  • "Small Talk Success: <name> not spoken to today."
  • "Small Talk ERROR: Didn't find valid target."


Hopefully that last one won't get any play. I've only encountered it once, see "Known Issues" for details.


Technical Details
Oblivion has no scripting function for determining the player's dialogue target or whether the dialogue target is persuadable. The methods I use to determine these things were designed from scratch and should be considered highly experimental. As such I'm primarily interested about cases where

  • No valid target was found
  • The dialogue target was incorrectly identified
  • Unpersuadable NPCs are determined to be persuadable
  • Persuadable NPCs are determined to be unpersuadable

The script also has a DebugPrint call in nearly every conditional block. These messages potentially contain information helpful for troubleshooting.

You can prevent the disposition increase and Speechcraft experience gain by setting the global 'a9SmallTalkJustTesting' to 1. Before removing the mod, it wouldn't hurt to stop 'a9SmallTalkMainQuest'.


Known Issues

Bugs

 • During my testing, the script failed to get the dialogue target once. The target was one of many Guards, and debug messages didn't distinguish between them. At the time I was only testing NPCs in the same cell as the player; I think it's possible for player and NPC to talk across a cell border, so I'm assuming the NPC I was talking to was in an adjacent cell. The script now scans one 'layer' of adjacent cells, which I think should fix the bug, but since it only occurred once I can't be sure. Also, debug messages now include the NPC's FormID to distinguish between copies of generic NPCs.

Limitations

 • At the moment no attempt is made to cap the value to which an NPC's disposition can be raised, but I plan on implementing that soon. In the short term I'll either use the cap from Bribe/Persuade (if possible) or use a value based on player's Speechcraft. In the long term, maybe I'll take gender and race into account and implement 'diminishing returns' as the cap is neared.
 • Because the tracking of NPCs that have been 'Small Talked' resets each day, it's possible, for example, to Small Talk an NPC at 11:59 and again at 12:01 the next day. The tracking is done with an array and associates the NPC's formID with the GameHour he was Small Talked. I could use a second array to store 'last talked day' and keep both around indefinitely, but I don't know if it's a good idea to use arrays for permanent storage like that. One alternative is to use AddActorValues, which I may consider in the future. Any other suggestions are appreciated.
 • Some NPCs (for example Cicero Verus, Black Horse delivery in IC Market) are persuadable but automatically terminate dialogue so you'd never have a chance to persuade them. They will still get 'Small Talked'. At the moment I don't consider this enough of an issue to deal with.
 • Guards and other generic NPCs are replaced frequently. I haven't looked into how frequently or what triggers it, but presumably this could be exploited. Of course, the same is true of the mini-game, but Small Talk is slightly less tedious. As above, I'm not particularly concerned about this at the moment.


Credits & Thanks
 • Strategy Master for Persuasion Overhaul OBSE, which I looked at shortly before starting Small Talk. I might not have thought to exclude 'No Persuasion' NPCs otherwise. That's the only thing the mods have in common, but looking at it undoubtedly spared me some general frustration.
 • Ulthar Seramis for the Vim syntax plugin.
 • Legotrash for some input that helped me stay motivated.
 • AndalayBay from Bethsoft forums for help with OBSE UI functions.
 • The Bethesda CS Wiki.
 • The team behind OBSE. Small Talk couldn't have been made without it.
 • The team behind TESEdit.

Permissions nonsense
Released under the WTFPL (warning, profanity: About the WTFPL). That said, I'd appreciate it if you do the following:
 • Give me credit as appropriate.
 • Release derivatives, etc. under a similarly permissive license.
In any case, please don't ask for permission or wait for a response if you choose to notify me; there's no telling when I'd get back to you.