PDA

View Full Version : Flavorful NPC Names



jkeller
October 6th, 2025, 21:49
This should work for any ruleset, but works better if the NPCs have a type (as in 5E).

Available (free) in the Forge: https://forge.fantasygrounds.com/shop/items/2386/view

How to use: Activate the "Flavorful Names" module, and select the "Feature: Flavorful Names" extension when loading your campaign.

There's a (Homebrew) option to turn it on or off; it should be on by default.

NOTE: You must set the "Combat NPC Numbering" option to Random (it's not that by default).

When you add multiple creatures with the same name (e.g., dropping a zombie encounter on the Combat Tracker), this extension will add a prefix the names with a random descriptor (hopefully appropriate for the creature).

For example, if you add an encounter with 2 zombies onto the Combat Tracker, one might named "Stumbling Zombie", and the other might be named "Decomposing Zombie".

This works best if the NPCs are identified (but this can also be toggled on the CT after they are added).

65575

It tries to use a creature-specific table (you can create one if the one you want isn't included), or change the existing ones as desired.

If first checks for a table called "Flavorful {Creature} Names" (e.g. "Flavorful Green Hag Names"),
then (for multi-word creatures) if that's not found, it checks using the first or last word (e.g. ""Flavorful Hag Names"" for "Green Hag"),
then if that's not found, it checks using the type (at least for 5E) "Flavorful {Type} Names" (e.g "Flavorful Fey Names"),
then as a last resort it will use "Flavorful Names".
If a table isn't found, it outputs a message indicating you can create it (once per table per session, it doesn't spam it).

65576

I think this extension serves the same purpose as Tideturner's NPC Flavors (https://forge.fantasygrounds.com/shop/items/290/view) so you may want to check that one out. My main intent with this one was to make the names fit the creatures, and to let you modify them to fit your campaign.

This package includes a module (for the tables), and an extension (to apply the labels).

Update History:

- fixed a bug that caused missing actions in the combat tracker
- fixed an edge case (if a creature was added and there are already flavored creatures of that type, it too will be flavored)
- 0.9 - Added a warning if module hasn't been loaded
- 0.8 - added the original name (as an effect that does nothing) on any renamed NPCs (for other extensions)
- 0.7 - bug fix for when you drag duplicate NPCs one at a time, not using an Encounter
- 0.6 - modified to strip the numeric suffix if the flavored names are unique on the CT
- 0.5 - bug fix, and added more tables
- 0.4 - bug fix, and added more tables
- 0.3 - uppercase NPC type names before checking for the associated table
- 0.2 - option to prefix or append the flavor (or use %s or ! for more flavor-specific control)

DISCORD: FG Extensions - Kraken Creations (https://discord.gg/qyJFdtdu3T)
EXTENSIONS: Flavorful Names (https://forge.fantasygrounds.com/shop/items/2386/view), Crits and Fumbles (https://forge.fantasygrounds.com/shop/items/1232/view), Fail Forward (https://forge.fantasygrounds.com/shop/items/1982/view), Hidden Death Saves (https://forge.fantasygrounds.com/crafter/manage-craft#), Redacted Table Fields (https://forge.fantasygrounds.com/shop/items/2451/view)

anstett
October 6th, 2025, 22:40
NPC Flavors was a favorite of my players but has been broken for some time, at least for 2e in our game.

Looking forward to testing this new one.

jkeller
October 6th, 2025, 23:47
Great, I hope it works for you!

I've only tested it with CoreRPG and 5E so far. It's a pretty simple extension though.

If you end up using it, and adding some tables/names, post them here and I'll add them to the main database.

rocketvaultgames
October 7th, 2025, 17:40
Very cool!

Seems very similar to NPC Flavors (https://forge.fantasygrounds.com/shop/items/290/view) but importantly easily customizable in-game.

A few thoughts:

1. It would be neat to have the option to have the flavor (in parentheses) after the default name (e.g. Zombie (mournful) rather than Mournful Zombie). To me at least it makes it easier to identify multiples of the same type at a glance.

2. It would also be nice to have the option for the appended (random) number to be stripped (e.g. Mournful Zombie rather than Mournful Zombie 4)

3. Can the tables be "weighted" (extreme e.g. 1-9 = Mournful & 10 = Happy)?

4. Does it detect repeats in any way? Are multiples of the same descriptor possible, or will it append a number if there are identical copies generated?

jkeller
October 7th, 2025, 17:50
1. It would be neat to have the option to have the flavor (in parentheses) after the default name (e.g. Zombie (mournful) rather than Mournful Zombie). To me at least it makes it easier to identify multiples of the same type at a glance.


That would be easy, good idea! I'll take a look.



2. It would also be nice to have the option for the appended (random) number to be stripped (e.g. Mournful Zombie rather than Mournful Zombie 4)


Agreed, but that would be hard I think. Currently, it doesn't override that behavior, it only changes the name. And if the same name happened to be (randomly) picked, the code will ensure the appended numbers make the name unique (I think).



3. Can the tables be "weighted" (extreme e.g. 1-9 = Mournful & 10 = Happy)?


Not currently (at least, not using the range syntax), since it's not really rolling. But I think that would be possible. As a (somewhat ugly) work-round, you could add Mournful 9 times, and Happy once.



4. Does it detect repeats in any way? Are multiples of the same descriptor possible, or will it append a number if there are identical copies generated?


It doesn't care what's in the table. If there are duplicates selected, the appended number should ensure the names are unique.

jkeller
October 7th, 2025, 18:49
Version 0.2

I tweaked the options so you can pick Off, Prefix, or Append. So your names would look like "Hungry Wolf" or "Wolf (Hungry)".

Also you can override those using "%s" in your flavor. It will be replaced with the creature name. Or if the flavor contains an exclamation point, it will just use that flavor text (without the ! or creature name).

So if your table values were "Alpha %s", "%s Scout", and "Feral Canine!", you might end up with Alpha Wolf, Wolf Scout, or Feral Canine.

Arimil508
October 7th, 2025, 23:06
Hi Just wanted to let you know the module for the extension is not showing up in pathfinder 1e.

jkeller
October 7th, 2025, 23:29
Thanks! I think I found the issue. Should be good now.

jkeller
October 8th, 2025, 02:31
A friend of mine noticed that the NPC's type case isn't very consistent (e.g. sometimes Beast, sometimes beast). The extension won't currently find the lower-case table. I'll see if I can make it smart enough make the case consistent before checking.

jkeller
October 8th, 2025, 11:23
I uploaded version 0.3 to capitalize the NPC and Type names before checking for the associated tables.

So for example, a 5E Legacy "Wolf" (type "beast") will use the "Flavorful Beast Names" table.

Also, the extension label was changed to "Feature: Flavorful Names" (that seems to be the preferred convention). You may need to update FG, unselect "Flavorful Names", and reload your campaign if you don't see the new name.

humby
October 29th, 2025, 08:43
Getting a script error when trying to use this:

Replication Steps:

Create a new 5E campaign, loading only the Flavorful Names extension
Set the NPC numbering to random
Load the 2024 Monster Manual and the Flavorful Names Module
Create a new encounter and add six bandits to it (NPCs will not be identified and will have "None" as the faction as default)
Add encounter to Combat Tracker


Expected Result:
Six bandits are added to the combat tracker, with their new Flavorful names

Actual Result:
One hostile bandit and one neutral bandit are added, both without any flavourful names, and then a script error occurs:

[10/29/2025 7:26:26 AM] [ERROR] Script execution error: [string "FlavorfulNames:flavorful_names.lua"]:82: attempt to concatenate local 'sTables' (a nil value)

Notes:
Have tried identifying the bandits and setting them as hostile in the encounter before they are added to the Combat Tracker, which has the same results, as does copying the "Flavorful Names" table and renaming that to "Flavorful Bandit Names". Adding six Abominable Yetis, however, works without issue, as do Aberrant Cultists.

jkeller
October 29th, 2025, 14:02
Thanks for reporting that! Should be fixed now. Version should be 0.5.

humby
October 30th, 2025, 09:07
Thanks for reporting that! Should be fixed now. Version should be 0.5.

That's working great now, thanks.

Tideturner
October 31st, 2025, 14:14
Hey jkeller,

Very cool, the world can always use more flavor.

If there's anything from my extension you'd like to rip, be it functionality or data, go ahead :)

I like your take with putting the flavors in a module and tables.
Being able to modify words and such have a been a long standing ask that I never got around to doing (I did absolutely not sit on a throne of vanity, consumed by the power of DENY)

Looking forward to see where you end up with this.

jkeller
October 31st, 2025, 15:07
Thanks! I always learn a lot looking at another developer's code.

Currently, I'm working on an Achievement Tracker, which is really forcing me to learn how to listen for all different types of events, and how to look up associated data in the various structures. The lack of documentation is making it challenging, but everyone on the forums is very helpful!

jkeller
November 4th, 2025, 17:56
2. It would also be nice to have the option for the appended (random) number to be stripped (e.g. Mournful Zombie rather than Mournful Zombie 4)


I was able to strip the suffix numbers in most cases. In the uncommon event that the flavored names match, it will append a one-up suffix.

Note though that if NPCs are unidentified, they will have have the suffix (e.g. Unidentified 2, Unidentified 3, etc).

Jiminimonka
January 2nd, 2026, 12:04
I just checked (and updated to make sure) but there doesn't appear to be Flavorful Names module with the default table?

jkeller
January 2nd, 2026, 17:50
I'm not sure how to tell. I uploaded a new copy with the mod and ext just in case, hope that works!

Jiminimonka
January 2nd, 2026, 18:06
Thanks. Nothing yet - what is the Module called? I will try updating again in a few hours.

jkeller
January 2nd, 2026, 18:16
Flavorful Names.mod

I put a copy in my discord (https://discord.com/channels/1438937795698753638/1438939018401415328/1456712452048814155) you can grab. No idea what's up with the forge.

frozzzt
April 22nd, 2026, 21:29
67184

After I tested all my extensions, I found out that the Flavorful NPC Names is bugging my combat track since last week. It hides all text in combat tracks from NPCS.

I have to disable to be able to use combat track shortcuts.

jkeller
April 22nd, 2026, 22:06
Thanks for letting me know, I'll see if I can duplicate the issue.

jkeller
April 22nd, 2026, 22:33
67184

After I tested all my extensions, I found out that the Flavorful NPC Names is bugging my combat track since last week. It hides all text in combat tracks from NPCS.

I have to disable to be able to use combat track shortcuts.

Should be fixed now, thanks again for reporting the issue!

frozzzt
April 23rd, 2026, 16:32
Thank you! It's working again the combat tracker ;)