Drop-in Fantasy Macros - NPC Generator and Tavern Generator

Discuss macro implementations, ask for macro help (to share your creations, see User Creations, probably either Campaign Frameworks or Drop-in Resources).

Moderators: dorpond, trevor, Azhrei, giliath, jay, Mr.Ice

Post Reply
HypnoTech
Kobold
Posts: 10
Joined: Sun Jul 20, 2014 5:03 am

Drop-in Fantasy Macros - NPC Generator and Tavern Generator

Post by HypnoTech »

Hello all. Thanks to the help of aliasmask, I've started making a whole new type of macro to make my games go smoother. As a result, here's two new macros for use in your next fantasy game that don't require any changes to your campaign properties. If you edit them, simply be sure to make the 1dX-1 match the number of list items provided for each section. A list with 4 items, for instance, would have a 1d4-1.

Enjoy!

NPC Generator

Code: Select all

/self
[H: levels = "1,3,6,10"]
[H: LevelChoice = listGet(levels,max(0,1d4-1))]

[H: classes = "Adept,Aristocrat,Cleric,Commoner,Expert,Rogue,Warrior,Wizard"]
[H: ClassChoice = listGet(classes,max(0,1d8-1))]

[H: moods = "Helpful,Friendly,Indifferent,Unfriendly,Hostile"]
[H: MoodChoice = listGet(moods,max(0,1d5-1))]

[H: hairColors = "Black,Brown,Red,Blonde,Grey")]
[H: HairChoice = listGet(hairColors,1d5-1)]

[H: eyeColors = "Brown,Blue,Hazel")]
[H: EyeChoice = listGet(eyeColors,1d3-1)]

[H: attractions = "Men,Women,both Men and Women"]
[H: AttractionChoice = listGet(attractions,1d3-1)]

[H: religions = "Lioewind (N),Awildianides (NG),Olobarak (LG),Taureada (CG),Nemeion (LN),Barrachus (CN)"]
[H: ReligionChoice = listGet(religions,1d6-1)]

[R: strformat("The NPC has %{LevelChoice} levels of %{ClassChoice}. They have %{HairChoice} hair, %{EyeChoice} eyes, and a %{MoodChoice} demeanor. They are also a follower of %{ReligionChoice}, and they are attracted to %{AttractionChoice}.")] 
Tavern Generator

Code: Select all

/self
[H: prefix = "Angry,Bloody,Dirty,Drunken,Fat,Jolly,Rusty,Skinny,Bronze,Silver,Gold"]
[H: PrefixChoice = listGet(prefix,max(0,1d9-1))]

[H: suffix = "Human,Elf,Dwarf,Gnome,Orc,Dragon,Horse,Dog,Cat,Bat,Rat,Unicorn,Adept,Aristocrat,Cleric,Commoner,Expert,Rogue,Warrior,Wizard"]
[H: SuffixChoice = listGet(suffix,max(0,1d20-1))]

[H: cookprefix = "Baked,Roasted,Grilled,Braised,Broiled,Sauteed,Seared,Slow-Roasted,Smoked,Spit-Roasted,Deep-fried,Batterred and Fried,Boiled,Charbroiled,Poached,Steamed,Toasted,Charred"]
[H: CookprefixChoice = listGet(cookprefix,max(0,1d18-1))]

[H: main =  "Root Vegetables,Beef,Veal,Pork,Lamb,Mutton,Goat,Chicken,Duck,Turkey,Goose,Pheasant,Squab,Cod,Herring,Salmon,Trout,Squid,Octopus,Seal,Whale,Crab,Lobster,Shellfish"]
[H: MainChoice = listGet(main,max(0,1d24-1))]

[H: exotic =  "Dire Rat,Monstrous Centipede,Darkmantle,Dire Bat,Leopard,Owlbear,Cockatrice,Fiendish Ape,Grick,HellHound"]
[H: ExoticChoice = listGet(exotic,max(0,1d10-1))]

[H: beer =  "Bitter Black,Dragon's Breath,Elminster's Choice,Golden Sands Basic,Golden Sands Gold,Golden Sands Orange,Iriaeboran North Brew,Luiren's Best,Old One Eye,Shadowdark Ale,Suzale,Tanagyr's Stout"]
[H: BeerChoice = listGet(beer,max(0,1d12-1))]

[H: cider =  "Kneecracker,Purple Hill Cider,Vilhon Cider"]
[H: CiderChoice = listGet(cider,max(0,1d3-1))]

[H: wine =  "Arabellan Dry,Berduskan Dark,Blood Wine,Clarry,Evermead,Fire Wine,Mead,Saerloonian Special Vat,Saerloonian Glowfire,Saerloonian Topaz,Undermountain Alurlyath,Westgate Ruby,Spiced Wine,Table Wine,Winter Wine"]
[H: WineChoice = listGet(wine,max(0,1d15-1))]

[H: price = 1d5]
[H: exoticprice = 2d5]
[H: mug = 1d5+3]
[H: handkeg = 2d5+3]
[H: mug1 = 1d5+3]
[H: handkeg1 = 2d5+3]
[H: mug2 = 1d5+3]
[H: handkeg2 = 2d5+3]

[R: strformat("The tavern is called The %{PrefixChoice} %{SuffixChoice}. The house dish is %{CookprefixChoice} %{MainChoice}, and it sells for %{price}sp. This week's special is %{CookprefixChoice} %{ExoticChoice} for %{exoticprice}sp. Their best beer is %{BeerChoice} for %{mug}cp per mug, or %{handkeg}sp per hand keg. Their best cider is %{CiderChoice} for %{mug1}cp per mug, or %{handkeg1}sp per hand keg. Their best wine is %{WineChoice} for %{mug2}cp per mug, or %{handkeg2}sp per hand keg.")]

User avatar
aliasmask
RPTools Team
Posts: 9023
Joined: Tue Nov 10, 2009 6:11 pm
Location: Bay Area

Re: Drop-in Fantasy Macros - NPC Generator and Tavern Genera

Post by aliasmask »

I would get away from using /self and change the last line to [R,S: ... ]


Post Reply

Return to “Macros”