SmallerTalk

SmallerTalk version 1.2.6

 

I’ve taken over Prideslayer’s SmallerTalk and added a few features. After fairly extensive testing with some particularly stubborn
NPCs, these additions have shown that SmallerTalk can replace SmallTalk for any mod that relies on the
functionality SmallTalk offers.

 

Why pick SmallerTalk over SmallTalk?
SmallTalk overrides vanilla records; SmallerTalk leaves them alone.
SmallTalk is huge and makes you sit through the entire load sequence; SmallerTalk doesn’t.
SmallTalk can’t handle dialogue it has no replacement for; SmallerTalk can.
SmallTalk can’t fix NPCs with forced goodbyes; SmallerTalk can.
SmallTalk carries forward vanilla dialogue errors that community patches, official patches, and DLCs have fixed; SmallerTalk doesn’t.

 

How SmallerTalk works:
SmallerTalk uses its own non-vanilla greeting and response. It hooks ActivateControl (usually the “E” key), checks that the target isn’t
in combat, isn’t a creature, isn’t dead, and IS an actor, then runs “StartConversation player, SmallerTalkGreeting”. It also sets a variable used by the greeting’s selection criteria so the NPC picks that greeting. Activation itself is NOT changed in any way, so activation scripts and standard dialogue are left alone. For an NPC whose dialogue responses are all flagged “goodbye”, it opens a conversation like this:

 

NPC: What’s up?
YOU: Nothing much… and you?
NPC: Same ol’, same ol’…

 

…
but the dialogue stays open afterward. Mods that hook into GREETING to add options, including SewerSlave, SexoutSex,
HowAbout, UseableCigarettes, and similar mods, can then show their dialogue topics.

 

More Information
NEW in 1.2.6: Every debug message now starts with “SmallerTalk: “.

 

NEW in 1.2.5: Mods can tell SmallerTalk to ignore particular NPCs in either of two ways: add the NPC to SmallerTalkIgnoreList (formid list), or add them to SmallerTalkIgnoreFaction (faction) at rank 0.

 

NEW in 1.2.4: An MCM option adds randomized dialogue, with 10 random greetings and 10 random responses. It defaults to OFF.

 

In 1.2.3: Starting a conversation after using the companion wheel is now an MCM option, set to ON by default.

 

In 1.2.2: Switched back to armor tokens so they could be marked non-playable and kept out of vendor inventories.

 

In 1.2.1: Fixed weapons disappearing and becoming unusable.

 

In 1.2.0: GetSleeping is now checked PROPERLY ;)

 

In 1.1.9: The MCM screen now lets you adjust the timer delay from 1 to 10 seconds. The default is 3.

 

In 1.1.8: Replaced the dialogue initiation code entirely with a dialogue-token approach. It no longer stomps on vanilla dialogue flagged as both SayOnce and Goodbye.

 

In 1.1.7: Added an MCM setting to disable SmallerTalk while sneaking.

 

In 1.1.6: Added critter support, using body-language dialogue instead of speech. You can enable or disable it through MCM; it’s disabled by default.

 

Changed the companion wheel response to make an exception for Cass. Instead of “we done?”, she’ll use the SmallerTalk greeting and response. This is
because getting Cass to offer SexoutSex dialogue was EXTREMELY difficult.

 

Some NPCs were having their AI lock up after SmallerTalk was used on them. I’ve attempted a fix; please report any further AI lockups.
Added a double-protection AI reset token and fixed a code error.

 

The MCM menu lets you turn the mod on or off.
You can also toggle debug messages through MCM.
MCM support is included, but MCM is NOT required.

 

SmallerTalk can show debug information. Normally, you can turn it on by typing “set .doDebug to 1”, or switch it off again with “set .doDebug to 0”. Debug output is off by default.

 

There’s one
companion wheel situation with its own handler: when you
trade through the companion wheel, SmallerTalk does NOT start
its usual conversation. Instead, the NPC says “We done?” and closes the
dialogue. Testers found the SmallerTalk conversation confusing and
out of place here, so I changed it. Cass is exempt from this behavior.

 

If a tap of the activate key (usually “E”) doesn’t open a SmallerTalk conversation, or an NPC just refuses to talk, hold the activate key for 3 seconds with your crosshair on that NPC, then release it. That WILL start the SmallerTalk conversation, even with stubborn NPCs assigned factions such as ForceNoGreeting. This includes wastelander template NPCs, AWOP Wastelanders, freeside generics, and others like them.

 

Modders can check whether a user has the right SmallerTalk version by reading the global “SmallerTalkVersionNumber” and/or the mod description from their code. The description uses a format such as “v1.0.0”, while the global is a float such as “1.00”. Both will stay in sync with each new release.

 

Please post feedback, test results, and bug reports in this thread.