tModLoader

tModLoader

200 ratings
[VSC Framework] Dialect
   
Award
Favorite
Favorited
Unfavorite
Mod Features: Library
Mod Side: Both
tModLoader Version: 1.4.4
Language: English
File Size
Posted
Updated
175.980 KB
11 Jun, 2023 @ 2:57pm
4 Feb @ 4:38am
20 Change Notes ( view )

Subscribe to download
[VSC Framework] Dialect

Description
have you ever found yourself fantastically bored by the vanilla dialogue panel?
are you looking for a more intimately and readily available NPC chat system?
do you seek PASSION? ROMANCE!? someone who can LIVE UP TO YOUR EXPECTATIONS?!?

...well, you won't find any of that last bit here, save for possibly the part about expectations.
what you WILL find, however, is Dialect, a...framework? API? what's the word I'm lookin' for?...that aims to overhaul the livin' hell outta dialogue internally for better use (and abuse, of course) by modders.
to clarify, Dialect isn't meant to be a standalone mod (though a demonstrative change to the Guide's craftin' button are made in the UI/Examples folder).
it's instead intended, most predominantly, for use by other mods as a way to add more diverse dialogue displays.
if you wanna learn how to use it, just check out the GitHub page (helpfully provided as the "homepage" or linked on the Steam Workshop page you subbed on) and get to workin'!

as a framework for chat modification, Dialect comes pre-equipped with the followin' useful things to help you learn:
- a well-documented chat button modification example that even applies in-game for ease of demonstration!
- thorough XML documentation on every currently-available aspect of Dialect's API!
- a freshened-up version of the vanilla dialogue style as an alternative option, for those just a little tired of the vanilla flair!
- a few configuration options to generally apply to dialogue styles! note that dialogue styles don't HAVE to obey these; they just CAN (and SHOULD, though I can't force any of 'em to)

------ NEW ADDITION -------
havin' this mod installed also allows you to swap between Dialect's, vanilla's, and (if applicable) Dialogue Panel Rework's dialogue windows on the fly!
this should allow Dialect to work mostly-seamlessly with mods which do not use it, or which assume you're already runnin' DPR instead
please be aware that not all dialogue options will be available on all modes; that's not my job to make happen, either
------ NEW ADDITION -------

(NOTE: this mod assumes that you're willin' to use it as a dependency if you wish to integrate it with your own. if this isn't your speed, I wouldn't bother; the mod has NO Mod.Call support whatsoever, and I don't plan to add any, as doin' so would defeat the point)

----- CHANGELOGS BELOW ----

v1.1.6.3:
fixed an oversight which made it impossible to edit chest names, for real this time

v1.1.6.2:
fixed an oversight which made it impossible to edit chest names

v1.1.6.1:
fixed Dialect's setup cycle button bein' displayed on NPCs which aren't supported by Dialect

v1.1.6:
you are now able to cycle what dialogue setup is active!
a new button that appears next to the dialogue box allows you to switch on the fly from Dialect's changes to vanilla's and back
when the Dialogue Panel Rework mod is active, this will also allow you to switch to and from its panel
(now please stop complainin' that they don't play nice with one another; they do now. huge thanks to the DPR creator for addin' the call that made this sensible to do!)

v1.1.5.4:
the Happiness button now properly respects NPCID.Sets.NoTownNPCHappiness

v1.1.5.3:
fixed RemoveDebuffs in Nurse's heal button code bein' set to false by default, meanin' debuffs would never be cured without mod intervention

v1.1.5.2:
- the Dialogue Panel Rework mod's panel should no longer apply for supported NPCs
- fixed a long-standin' bug causin' items displayed in the corner of dialogue windows to instead be in the corner outside of the window for Classic-type styles

v1.1.5.1:
fixed a bug which caused the new CanBeSelected hook to not actually work

v1.1.5:
- added a GlobalChatButton.PreHover hook
- (Global)ChatButton.OnHover is now actually called by default
- added a CanBeSelected hook for dialogue styles which can be used to exclude a style from the selection menu in the config
- fixed (mostly) a bug which caused selectin' a new style in the config to never actually save to the config file itself

v1.1.4.2:
finally fixed Nurse's heal price not scalin' like it's supposed to

v1.1.4.1:
- reverted the UI scale changes from 1.1.4, as they made more problems than they solved
- add some filler to your window tile sheets! turns out, that was the sole issue all along. BOY, do I feel dumb

v1.1.4:
- added proper UI scale support! Dialect's windows should now support non-standard UI scale choices
- note: at the time of writin', the Tax Collector's "Collect" button currently doesn't scale perfectly. I'll be labbin' out how to fix this at a later point in time
- fixed a long-standin' issue with button hover boxes on Classic-type styles, causin' hover boxes to be slightly wrong
- fixed the Purify Button havin' the Status text and lettin' you infinitely produce the funny Stardew Valley fruit
- did a bunch of refactorin' to the source to (hopefully) make it easier to read

v1.1.3:
FINALLY fixed signs! signs and adjacent should now be wholly compatible with all of Dialect's changes and improvements

v1.1.2:
- added a Priority property for all chat buttons which decides what order they're drawn/listed in; vanilla chat buttons have been updated accordingly with concrete priority values
- added a ModifyPosition hook for (Global)ChatButton which allows modification of a button's draw position before it's drawn
- added a bit more documentation

v1.1.1:
- added the ability for dialogue styles to add a flat amount to the width of dialogue boxes through the new BoxWidthModifier property
- added a ForceActive hook for (Global)DialogueStyle which can allow you to set a certain dialogue style as active without changin' the one you already have selected
- if Dialogue Panel Rework is also enabled, Dialect's window now overrides DPR's for supported NPCs (unsupported NPCs will still use DPR's as appropriate)
- fixed happiness button displayin' for town pets/slimes
- fixed happiness button displayin' far too early in button order
- fixed an oversight causin' chat button color hooks to never be called in DrawClassicButtons
- added even more documentation

v1.1:
- added a list in the mod class called SupportedNPCs. this list contains the numerical IDs of every NPC that can be spoken with which works with Dialect. if an NPC isn't in this list, the vanilla dialogue window is used. this should ease a lot of compatibility issues to a certain degree
- added GlobalDialogueStyle, which contains PreDraw and PostDraw hooks. currently slightly basic, but I want to be careful with this, so unless other new features for global styles are requested, this will be all
- moved DrawDialogueStyle to DialogueStyleLoader, renamed it to DrawActiveDialogueStyle, and added global style support to it
- DialogueStyle now has a Draw method which you can override; by default, this simply calls DrawClassic
- removed the Example Mod activations since they're useless
- fixed an oversight resultin' in the town NPC happiness button never bein' added to the list of active buttons
- substantially improved documentation in multiple places

v1.0.2:
- changed how the shop button works so that modded NPCs can be properly made to work
- added an example for how to make modded NPCs able to be shopped at, which also automagically calls the relevant method for all Example Mod shop NPCs
- the mod should now more effectively get its data outta your way on unload

v1.0.1:
- fixed the mod's icon bein' too small

v1.0:
- initial release
Originally posted by tModLoader BetterDialogue:
Developed By the pixelated Sign Painter
59 Comments
libero2711 21 Jun @ 11:32am 
this makes it so every single time i talk to an npc the dialect (vanilla) one is used instead of any other npc dialogue panel mod i have. i dont understand how it works
Eather99 26 May @ 8:39pm 
Could you add a blacklist for the NPCs it modifies? Because for some reason it's incompatible with Autoreforge. I have to change the dialogue panel for the mod to work with the goblin. It's getting a bit tiresome to switch between dialogue panels all the time.
TiraboTurbos 9 May @ 8:11pm 
Oh? Then what the hell is Azure talking about?
Moonlight Glint 9 May @ 2:12pm 
It is, and they've been compatible for several updates
TiraboTurbos 9 May @ 1:54pm 
??? Lol? I assume Dialog Panel Rework is another mod? If this AND that one both touch NPC dialog, then I doubt it'll ever be compatible.
AzureBlooet 9 May @ 1:14pm 
someday they'll let this mod recognize dialogue panel rework as one of the default options, and then the world can finally begin to heal
MajesticFrog2017 15 Mar @ 10:32am 
Could you add a feature to disable the auto switch that turns on this mods dialogue box so I don't have to manually click 3 times to see it over the Dialogue Rework Panel mod? It would be much appreciated and I do enjoy your work.
Moonlight Glint 28 Feb @ 10:34am 
The in-game mod browser shows a little icon that you can hover over to see mods that use the mod as a dependency (and the mod's dependencies)
Tipsy Hobbit 28 Feb @ 10:19am 
I can't seem to uninstall the mod. Its no longer listed in my workshop installs, but its still showing up in game. Also can't seem to find it in my mods folder when searching by the ID 2988092558.

Is there a list of mods that use this as a dependency available?
Cern0ch 22 Feb @ 3:37am 
I would very much appreciate if you could add a config setting to set the default view since i have the Dialogue Panel Rework mod and I have to click the button 2 times every time to see the panel from that mod