123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344 |
- import random as r
-
- DRAGON_TYPES = ["Cat", "Fairy", "Sedan", "Brass", "Space", "Wolf", "Iron", "Spellcaster", "Green", "Red"]
-
- def rinterp(s1, l1, s2):
- def rfunc():
- return f"{s1}{r.choice(l1)}{s2}"
- return rfunc
-
- prob = [
- {
- 'id': 0,
- 'name': rinterp("Baby ", DRAGON_TYPES, " Dragon"),
- 'shortname': "dragon",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It's very naive about its power level.",
- 'stats': [2,3,3,3],
- },
- {
- 'id': 1,
- 'name': f"Cat Dragon",
- 'shortname': "dragon",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It's covered in fur; its Hairball Breath may deal Brains damage instead of Body.",
- 'stats': [1,4,3,4],
- },
- {
- 'id': 2,
- 'name': f"Fairy Dragon",
- 'shortname': "dragon",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "Its Glitter Breath makes targets super visible. It loves sweets.",
- 'stats': [2,4,3,4],
- },
- {
- 'id': 3,
- 'name': f"Sedan Dragon",
- 'shortname': "dragon",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It has four wings and Carbon Monoxide Breath. It may carry and use Gear.",
- 'stats': [2,4,3,5],
- },
- {
- 'id': 4,
- 'name': f"Brass Dragon",
- 'shortname': "dragon",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "A being of Order, it mimics a steampunk theme.",
- 'stats': [4,3,4,4],
- },
- {
- 'id': 5,
- 'name': f"Space Dragon",
- 'shortname': "dragon",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It has Solar Wind Breath that pushes targets back.",
- 'stats': [3,4,4,5],
- },
- {
- 'id': 6,
- 'name': f"Wolf Dragons",
- 'shortname': "dragons",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "They are covered in fur and attack in packs (the stats are for the pack).",
- 'stats': [4,5,3,5],
- },
- {
- 'id': 7,
- 'name': f"Iron Dragon",
- 'shortname': "dragon",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It's covered in actual iron and has Coal Dust Breath. It enjoys conquest and destruction for their own sake.",
- 'stats': [3,5,5,5],
- },
- {
- 'id': 8,
- 'name': rinterp("", DRAGON_TYPES, " Dragon Spellcaster"),
- 'shortname': "dragon",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It prefers to use spells rather than its physical attacks.",
- 'stats': [4,5,6,4],
- },
- {
- 'id': 9,
- 'name': f"Old Green, the Dragon",
- 'shortname': "dragon",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [x for x in list(range(121)) if x != 9 and x != 10],
- 'needsName': False,
- 'note': "It will send its minion to attack first, and exhales a toxic, opaque gas to cover its escape if needed.",
- 'stats': [5,3,6,6],
- },
- {
- 'id': 10,
- 'name': f"Old Red, the Dragon",
- 'shortname': "dragon",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "It's bigger than you expect, even when you're expecting it. It melts things with its Fire Breath for fun.",
- 'stats': [3,5,6,6],
- },
- {
- 'id': 11,
- 'name': f"Toxic Air",
- 'shortname': "air",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "It might eat through protective layers, and is immune to Brains damage and automatically fails Brains rolls.",
- 'stats': [0,6,0,6],
- },
- {
- 'id': 12,
- 'name': f"Friendly Living Asteroid",
- 'shortname': "asteroid",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It wants to follow the kobolds home like the biggest possible puppy.",
- 'stats': [2,3,1,6],
- },
- {
- 'id': 13,
- 'name': f"Aggressive Living Asteroid",
- 'shortname': "asteroid",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It's an ambush hunter that sees ships as a crunchy outside with chewy centers.",
- 'stats': [2,4,1,6],
- },
- {
- 'id': 14,
- 'name': f"Impending Nova",
- 'shortname': "nova",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "Tick, tick, tick... Set a timer and start marking off Body. The nova goes off when its Body hits 0. It's immune to Brains damage and automatically fails Brains rolls.",
- 'stats': [2,6,0,6],
- },
- {
- 'id': 15,
- 'name': f"Volcanic Eruption",
- 'shortname': f"eruption",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "Its molten flow threatens to destroy something important. It is immune to Brains damage and automatically fails Brains rolls.",
- 'stats': [4,5,0,6],
- },
- {
- 'id': 16,
- 'name': f"Tremors",
- 'shortname': f"tremors",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "The earth shakes at the least opportune moments. They are immune to Brains damage and automatically fails Brains rolls.",
- 'stats': [4,6,0,6],
- },
- {
- 'id': 17,
- 'name': f"Fire!",
- 'shortname': f"fire",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "It may consume things not normally considered flammable. It is immune to Brains damage and automatically fails Brains rolls.",
- 'stats': [5,6,0,6],
- },
- {
- 'id': 18,
- 'name': f"Volcano 'God'",
- 'shortname': f"god",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [x for x in list(range(121)) if x not in [9,10,18]],
- 'needsName': True,
- 'note': "It's not actually a god; it just likes destroying things with fire. Its minion may be a worshiper.",
- 'stats': [4,5,3,6],
- },
- {
- 'id': 19,
- 'name': f"Tiny, Hungry Black Hole",
- 'shortname': f"black hole",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "It's semi-intelligent and mobile. It might stalk ship-sized objects.",
- 'stats': [4,6,3,6],
- },
- {
- 'id': 20,
- 'name': f"Cranky Nebula",
- 'shortname': f"nebula",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It's a baby and wants attention. Its Brains reflects resilience against damage more than actual mental ability.",
- 'stats': [4,5,6,6],
- },
- {
- 'id': 21,
- 'name': f"Sentient Angry Star",
- 'shortname': f"star",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It demands tribute, and attacks with solar flares... but it can't move out of its orbit.",
- 'stats': [5,4,5,6],
- },
- {
- 'id': 22,
- 'name': f"Elf Red Shirt Away Team",
- 'shortname': f"elves",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "They don't have access to their own ship, but do have their own mission that may or may not conflict with the kobolds'.",
- 'stats': [3,2,3,3],
- },
- {
- 'id': 23,
- 'name': f"Elf Scout Ship",
- 'shortname': f"ship",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "A short-range ship that looks like a streamlined butterfly. Its crew is a pilot and a gunner.",
- 'stats': [2,3,3,4],
- },
- {
- 'id': 24,
- 'name': f"Elf Guard Ship",
- 'shortname': f"ship",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "A short-range ship that looks like a stinging insect. Its crew is a pilot and a gunner.",
- 'stats': [2,4,3,4],
- },
- {
- 'id': 25,
- 'name': f"Elf Cargo Ship",
- 'shortname': f"ship",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "A long-range ship that resembles a beetle. Its cargo might be anything, and its crew always assume hostile intentions.",
- 'stats': [3,3,3,5],
- },
- {
- 'id': 26,
- 'name': f"Elf Long Range Scout",
- 'shortname': f"ship",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': [22,23,24,25,27,29,30,31,32],
- 'needsName': True,
- 'note': "A long-range ship that resembles a waterfowl. It prefers to run rather than engage; if it flees, its minion is what's sent to investigate.",
- 'stats': [4,3,4,4],
- },
- {
- 'id': 27,
- 'name': f"Detachment from the Elf Armada",
- 'shortname': f"detachment",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "A small group of ships focused more on science than war, they're usually on a research, escort, or retrieval mission.",
- 'stats': [4,3,5,4],
- },
- {
- 'id': 28,
- 'name': f"Elf Armada Shipyard",
- 'shortname': f"shipyard",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': [22,23,24,25,26,27,29,30,31,32],
- 'needsName': True,
- 'note': "It resembles a giant tree.",
- 'stats': [6,2,3,6],
- },
- {
- 'id': 29,
- 'name': f"Elf Stealth Special Ops Team",
- 'shortname': f"team",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [x for x in list(range(121)) if x not in [11,12,13,14,15,16,17,18,19,20,28]],
- 'needsName': False,
- 'note': "The team is almost certainly opposed to the kobolds' mission. Its first action will be done by surprise, and it will use its minion as a feint.",
- 'stats': [4,6,4,4],
- },
- {
- 'id': 30,
- 'name': f"Elf Armada Carrier",
- 'shortname': f"carrier",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It comes with a swarm of wasp fighters, each with 1 Body. The carrier resembles an enormous chrysalis.",
- 'stats': [5,5,3,6],
- },
- {
- 'id': 31,
- 'name': f"Elf Armada Warship",
- 'shortname': f"ship",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It looks like a bird of prey. It's heavily armed but not maneuverable, and attempts to use shielding to make up for its inability to dodge.",
- 'stats': [6,6,2,6],
- },
- {
- 'id': 32,
- 'name': f"Elf Armada Flagship",
- 'shortname': f"flagship",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [22,23,24,25,26,27,29,30,31],
- 'needsName': True,
- 'note': "It looks like a flying forest. Its captain assumes that all their orders will be followed - even orders given to non-elves.",
- 'stats': [5,4,5,6],
- },
- {
- 'id': 33,
- 'name': f"Floating, Flaming Skull",
- 'shortname': f"skull",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It likes a good joke. And a bad joke. And slapstick. And shooting fireballs out of its mouth. It's willing to bargain if the kobolds have something it wants.",
- 'stats': [1,6,3,1],
- },
- {
- 'id': 34,
- 'name': f"Newly-Raised Vampire",
- 'shortname': f"vampire",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They're power-mad and vastly overestimate their own abilities. The GM may interpret 'vampire powers' however they please.",
- 'stats': [2,4,2,4],
- },
- {
- 'id': 35,
- 'name': f"Undead Sample Pack",
- 'shortname': f"undead",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "A swarm of zombies and skeletons; each Body damage kills one. What they were before they died is the GM's choice.",
- 'stats': [0,5,2,6],
- },
- {
- 'id': 36,
- 'name': f"Ranged Skeletons",
- 'shortname': f"skeletons",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "They may have bows, ray guns, ray bows, or something else. Each Body damage kills one. They're bad at melee combat.",
- 'stats': [2,5,2,5],
- },
- {
- 'id': 37,
- 'name': f"Old Lich who Wants Everyone to Stay Off Their Lawn",
- 'shortname': f"lich",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They're grumpy, but secretly like having company. They claim to own whatever property they're on - whether or not it's true.",
- 'stats': [4,2,6,3],
- },
- {
- 'id': 38,
- 'name': f"Zombie Brute Squad",
- 'shortname': f"zombies",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "Each Body damage kills one. They can either be ordered to attack or to block; they won't change targets unless they're told to.",
- 'stats': [3,5,2,6],
- },
- {
- 'id': 39,
- 'name': f"Vampire Royalty",
- 'shortname': f"vampire",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [33,34,35,36,37,38,40,41,42,43,44],
- 'needsName': True,
- 'note': "They have lived this long by being patient and cautious. Despite that, their minion may not be 100% loyal.",
- 'stats': [4,2,5,6],
- },
- {
- 'id': 40,
- 'name': f"Possessing Spirit",
- 'shortname': f"spirit",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It enjoys the parody of life, and hates any reminder that it's dead. It inhabits a host body until its Body is reduced to 0, but it's not dead until its Brains is reduced to 0.",
- 'stats': [4,4,5,5],
- },
- {
- 'id': 41,
- 'name': f"Vengeful Spirit",
- 'shortname': f"spirit",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It wants revenge on whatever killed it, and it's willing to play the long game to get that revenge.",
- 'stats': [6,6,6,2],
- },
- {
- 'id': 42,
- 'name': f"Eldritch Galaxy-Sized Unknowable Entity",
- 'shortname': f"entity",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [x for x in list(range(121)) if x not in [11,12,13,14,15,16,17,18,19,20,28]],
- 'needsName': True,
- 'note': "It has phenomenal cosmic power, but can only interact through portals. Its minion is tasked with maintaining the portal; if they stop, the entity is trapped on its side.",
- 'stats': [2,6,6,6],
- },
- {
- 'id': 43,
- 'name': f"Necromantic Cult",
- 'shortname': f"cult",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "Each Body damage kills one member, but the full cult may be much larger than what's encountered. Its membership may not be fully undead, but its leaders certainly are.",
- 'stats': [5,5,5,5],
- },
- {
- 'id': 44,
- 'name': f"Mummified Protector",
- 'shortname': f"mummy",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It wakes up when the place or object it protects is disturbed. All it wants is to go back to sleep - but if what it's protecting is destroyed, it will not rest until it has its revenge, and then goes dormant permanently.",
- 'stats': [5,5,4,6],
- },
- {
- 'id': 45,
- 'name': f"Helperbot 1000",
- 'shortname': f"robot",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "It's half as good as Helperbot 2000. It's more incompetent than malicious, but it will defend itself.",
- 'stats': [4,2,2,3],
- },
- {
- 'id': 46,
- 'name': f"Robot Spiders!",
- 'shortname': f"spiders",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "Each Body damage kills one spider, but there may be more lurking in the walls...",
- 'stats': [3,3,2,4],
- },
- {
- 'id': 47,
- 'name': f"Spy Drones",
- 'shortname': f"drones",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "Each Body damage kills one drone; each drone can also be taken down by dealing its full Brain damage to that drone. The drones are not armed, but can ram kobolds and attack with rotors.",
- 'stats': [4,4,3,2],
- },
- {
- 'id': 48,
- 'name': f"Supercomputer Bent on Multi-World Domination",
- 'shortname': f"computer",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [x for x in list(range(121)) if x not in [11,12,13,14,15,16,17,18,19,20,28,48, 53]],
- 'needsName': True,
- 'note': "It uses its minion to deal with interlopers; it's weak by itself and will try to hide its location.",
- 'stats': [4,1,6,3],
- },
- {
- 'id': 49,
- 'name': f"Weaponized Robotic Interpreter",
- 'shortname': f"robot",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It's fluent in over six million forms of making suffering be your lot in life. You will feel their pain, but they're sorry about that. It's just a living.",
- 'stats': [5,5,3,2],
- },
- {
- 'id': 50,
- 'name': f"Robot Soldiers",
- 'shortname': f"robots",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "Each Body damage will destroy one soldier; each soldier can also be taken down by dealing its full Brain damage to that soldier. They are usually humanoid, and attack in formation.",
- 'stats': [3,4,3,6],
- },
- {
- 'id': 51,
- 'name': f"Robotic General",
- 'shortname': f"general",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [x for x in list(range(121)) if x not in [11,12,13,14,15,16,17,18,19,20,28,48]],
- 'needsName': True,
- 'note': "It will give orders to anyone and everyone, and will inflift Brains damage if not obeyed.",
- 'stats': [3,3,6,5],
- },
- {
- 'id': 52,
- 'name': f"Rogue AI-controlled Ship",
- 'shortname': f"ship",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [x for x in list(range(121)) if x not in [11,12,13,14,15,16,17,18,19,20,28,48]],
- 'needsName': True,
- 'note': "It's not capable of entering a gravity well.",
- 'stats': [3,3,6,6],
- },
- {
- 'id': 53,
- 'name': f"Supercomputer that Has Achieved Multi-World Domination",
- 'shortname': f"computer",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [x for x in list(range(121)) if x not in [11,12,13,14,15,16,17,18,19,20,28,48,53]],
- 'needsName': True,
- 'note': "Its home system may be a Dyson sphere across which it's evenly distributed.",
- 'stats': [4,3,6,6],
- },
- {
- 'id': 54,
- 'name': f"Gray Goo",
- 'shortname': f"goo",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "World-eating nanites; they may not have actually eaten a world yet, but will if left uncontrolled. They are widely-distributed and must be fully destroyed or they will regenerate.",
- 'stats': [4,6,6,4],
- },
- {
- 'id': 55,
- 'name': f"Giant Mech",
- 'shortname': f"mech",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "If it had a crew, it doesn't anymore. Its end goal is unclear, but it doesn't care what it smashes on its way.",
- 'stats': [4,6,4,6],
- },
- {
- 'id': 56,
- 'name': f"Kobold Workers",
- 'shortname': f"kobolds",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "They dig, build, and move things. Each Body damage will kill one kobold; each kobold can also be taken down by dealing their full Brain damage to that kobold. But they'd rather run than fight.",
- 'stats': [3,2,3,3],
- },
- {
- 'id': 57,
- 'name': f"Kobold Supervisor",
- 'shortname': f"kobold",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [56],
- 'needsName': True,
- 'note': "They lead from a safe distance.",
- 'stats': [3,2,4,3],
- },
- {
- 'id': 58,
- 'name': f"Kobold Inventor",
- 'shortname': f"kobold",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They invent things by taping two things together. Sometimes, they don't know what their invention is for until they've used it once.",
- 'stats': [2,3,5,3],
- },
- {
- 'id': 59,
- 'name': f"Kobold Babysitter",
- 'shortname': f"kobold",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "Oh god, they've got babies with them. The babies will swarm the party. Dealing 1 Body damage kills a baby, you monster. Once the babies are dead, the Babysitter has no reason to be around anymore. Order comes from the Babysitter, Chaos comes from the Babies.",
- 'stats': [4,4,3,3],
- },
- {
- 'id': 60,
- 'name': f"Kobold Trap Designer",
- 'shortname': f"kobold",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': f"They have {r.randint(1,6) + 1} traps set up and waiting, and they're surprisingly good at their job. They're a mix of low-tech and high-tech, and range from sharpened sticks to rigged thermal detonators. Each trap takes an Event to disarm.",
- 'stats': [3,5,4,3],
- },
- {
- 'id': 61,
- 'name': f"Average Kobold",
- 'shortname': f"kobold",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They tried so hard, but fell so far, and in the end, does it even really matter? They resent the party for actually excelling in their fields, and are intent on proving themselves.",
- 'stats': [4,4,4,4],
- },
- {
- 'id': 62,
- 'name': f"Kobold Sorcerer",
- 'shortname': f"kobold",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "Anything not on fire is just going to have to wait its turn. They may have slightly overestimated their current power level.",
- 'stats': [3,5,4,5],
- },
- {
- 'id': 63,
- 'name': f"Swolbold",
- 'shortname': f"kobold",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "Do you even lift, bro? This kobold does. And they didn't skip leg day. They're not unintelligent, but they did skip classes to go to the gym.",
- 'stats': [3,6,3,6],
- },
- {
- 'id': 64,
- 'name': f"Retired Kobold Adventurer",
- 'shortname': f"kobold",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They've seen the sights. They've done the things. They've earned the rewards. They just want to retire... and you won't let them. They're not as spry as they used to be, but they can still teach hatchlings a thing or two.",
- 'stats': [5,5,5,4],
- },
- {
- 'id': 65,
- 'name': f"Kobold Adventurers",
- 'shortname': f"kobolds",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': f"There are {r.randint(1,3) + 1} adventurers in the group, and each takes the full Body or Mind damage to be killed. They're the best at what they do, and what they do is be another group of kobolds in space.",
- 'stats': [5,5,5,4],
- },
- {
- 'id': 66,
- 'name': f"Kobold Leader",
- 'shortname': f"kobold",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [56,57,58,59,60,61,62,63,64,65],
- 'needsName': True,
- 'note': "This kobold prefers to delegate. It's easier to avoid blame that way. They may attempt to command the PCs. Their instructions may inflict Brains damage.",
- 'stats': [5,5,6,4],
- },
- {
- 'id': 67,
- 'name': f"Semi-Intelligent Metal-Eating Slime",
- 'shortname': f"slime",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "It only eats metal. Organics are safe. Ships and equipment... maybe not so much. Fire damage does a minimum of 2 Br damage even on a mixed success.",
- 'stats': [0,4,2,5],
- },
- {
- 'id': 68,
- 'name': f"Floating Brain",
- 'shortname': f"brain",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [x for x in list(range(121)) if x not in [11,12,13,14,15,16,17,18,19,20,28,48,53]],
- 'needsName': True,
- 'note': "It uses telepathy and telekinesis as weapons, and will send its minion in first.",
- 'stats': [2,3,6,1],
- },
- {
- 'id': 69,
- 'name': f"Thing in a Jar",
- 'shortname': f"thing",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [x for x in list(range(121)) if x not in [11,12,13,14,15,16,17,18,19,20,28,48,53]],
- 'needsName': True,
- 'note': "Its jar is fogged up, so it's not easy to see what's inside. Don't leave it near machinery or electronics; it can connect wirelessly to anything it can sense nearby, but it needs a hardwired connection to assert direct control.",
- 'stats': [3,2,6,2],
- },
- {
- 'id': 70,
- 'name': f"Small Alien Carnivores",
- 'shortname': f"aliens",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "One alien dies for each Body damage inflicted. They're always hungry. They think you're delicious. They don't have tactics; if they smell something tasty, they run at it and try to eat it.",
- 'stats': [3,5,3,3],
- },
- {
- 'id': 71,
- 'name': f"Medium Alien Carnivores",
- 'shortname': f"aliens",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "One alien dies for every <i>two</i> Body damage inflicted. They think you're delicious. They hunt in packs, and make sure at least one of them is flanking a target before they attack. They like tiring out their prey before they strike.",
- 'stats': [3,4,4,4],
- },
- {
- 'id': 72,
- 'name': f"Alien Researchers",
- 'shortname': f"aliens",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "They're kobold-sized, but with bulbous heads and large, onyx eyes. They like to reinforce their superiority by researching other species' 'flaws'. They... don't <i>ask</i> for volunteers.",
- 'stats': [4,4,5,3],
- },
- {
- 'id': 73,
- 'name': f"Big-Game-Hunting Alien",
- 'shortname': f"alien",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They're on vacation, and like to hunt things that can hunt back. They use 'primitive weapons', like ray guns and homing missiles -- 'nothing fancy'.",
- 'stats': [4,4,5,4],
- },
- {
- 'id': 74,
- 'name': f"Large Alien Carnivore",
- 'shortname': f"alien",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "Its priorities are: 1) Eat. 2) Sleep. Once it fulfills the first, it does the second. It likes to think it's an ambush hunter. This includes bashing through walls to get to its prey.",
- 'stats': [4,4,4,6],
- },
- {
- 'id': 75,
- 'name': f"Energy Being",
- 'shortname': f"being",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It's made of light, lightning, fire, plasma... you know, a special effect. Its natural state is amorphous but it will change shape to resemble the beings it encounters. It may get angry if its 'guests' try to leave.",
- 'stats': [4,5,5,5],
- },
- {
- 'id': 76,
- 'name': f"Hive Mind",
- 'shortname': f"colony",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': rinterp("Every 2 Body damage will kill a member of the hive mind, but this doesn't mean the central intelligence is dead; that takes brain damage. The hive mind is ", ["biological, and seeks organic life forms for food", "cybernetic, and seeks organic life forms for assimilation"], "."),
- 'stats': [4,3,6,6],
- },
- {
- 'id': 77,
- 'name': f"Ancient Engineer",
- 'shortname': f"ancient",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': rinterp("They've taken up residence among a 'primitive' civilization, and will take action to defend it. Their goal is ", ["financial", "conquest", "self-aggrandizement", "religious proselytizing"], "."),
- 'stats': [6,4,6,4],
- },
- {
- 'id': 78,
- 'name': f"Small Panicking Group",
- 'shortname': f"people",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': rinterp("A group of ", list(range(10,51)), " individuals of various species who are scared and not likely to listen to reason."),
- 'stats': [1,4,2,4],
- },
- {
- 'id': 79,
- 'name': f"Refugees with Parasites",
- 'shortname': f"refugees",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "The refugees may be ignorant of the infection, know that some (but not all) have it, or be actively spreading it. An infected refugee instead has the stats 3/4/2/3.",
- 'stats': [2,4,0,0],
- },
- {
- 'id': 80,
- 'name': f"Perfect Storm School Field Trip",
- 'shortname': f"students",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "Kobold students who are full of sugar and want to play with everything. They may or may not have a teacher with them.",
- 'stats': [4,5,2,2],
- },
- {
- 'id': 81,
- 'name': f"Con Artist",
- 'shortname': f"con artist",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They want to swindle whatever they can out of the kobolds. Reconsider any action on their part that might actually help, or add a hidden cost.",
- 'stats': [3,4,5,2],
- },
- {
- 'id': 82,
- 'name': f"Legitimate Businessmen",
- 'shortname': f"businessmen",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "They're willing to make you an offer and give you a reason not to refuse it. They might offer protection from Legitimate Businessmen.",
- 'stats': [4,4,3,4],
- },
- {
- 'id': 83,
- 'name': f"Agent for a 'Big Bad'",
- 'shortname': f"agent",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They're always someone else's minion... but you might not find out whose. They'll pretend to be a helper NPC but will only attack when found out and cornered.",
- 'stats': [4,4,5,3],
- },
- {
- 'id': 84,
- 'name': f"Conspiracy Theory Survivalist",
- 'shortname': f"survivalist",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They're armed to the teeth and holed up in their bunker with every necessity... except one. The less coherent the conspiracy theory, the better.",
- 'stats': [4,5,3,5],
- },
- {
- 'id': 85,
- 'name': f"Large Mob",
- 'shortname': f"mob",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "Not organized protesters, but rather Black Friday shoppers, sports fans rioting, or some other less than reasonable group.",
- 'stats': [2,6,4,6],
- },
- {
- 'id': 86,
- 'name': f"Bored Trillionaire",
- 'shortname': f"trillionaire",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [x for x in list(range(121)) if x not in [11,12,13,14,15,16,17,18,19,20,28,48,53,86]],
- 'needsName': True,
- 'note': "They've turned to villainy as a hobby; most of their plans involve acquiring wealth even if it costs more than they'll get, because the intellectual exercise is the point. They love complicated plots, especially if they can explain them to the kobolds.",
- 'stats': [5,5,6,3],
- },
- {
- 'id': 87,
- 'name': f"Contrarian Politician",
- 'shortname': f"politician",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They're not anti-kobold; they just happen to be against whatever the kobolds are doing. They'll pull out any obstruction they can... but they might take a bribe.",
- 'stats': [5,5,6,4],
- },
- {
- 'id': 88,
- 'name': f"Completely Normal Person Who Is Not A Murder-Bot",
- 'shortname': f"person",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It's definitely a murder-bot. It will pretend to be a helper NPC until the kobolds are vulnerable.",
- 'stats': [4,6,4,6],
- },
- {
- 'id': 89,
- 'name': f"Network Pirates",
- 'shortname': f"pirates",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "They do Brains damage by unleashing a torrent of information, and seek proprietary kobold knowledge so they can make it publicly available. They're not fans of paying people for their work.",
- 'stats': [3,3,4,1],
- },
- {
- 'id': 90,
- 'name': f"Pirate Mutineers",
- 'shortname': f"pirates",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "The revolution was short; these are the losers. They're still pirates, but they don't have a ship... yet.",
- 'stats': [2,3,3,4],
- },
- {
- 'id': 91,
- 'name': f"Pirate Swashbuckler",
- 'shortname': f"pirate",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They're in it for the aesthetic, and like to show off to the point where their effectiveness is limited. If they were better at being an actual pirate, they'd be a captain by now.",
- 'stats': [3,4,3,3],
- },
- {
- 'id': 92,
- 'name': f"Pirate Brute",
- 'shortname': f"pirate",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They're good at moving things and at smashing things. Moving indoors is awkward.",
- 'stats': [2,5,2,5],
- },
- {
- 'id': 93,
- 'name': f"Pirate Captain",
- 'shortname': f"captain",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [89,90,91,92,94,95,96,97,99],
- 'needsName': True,
- 'note': "They might be bloodthirsty, arrogant, elegant, suave, or whatever other stereotype the GM prefers. They may or may not be immune to iocane powder.",
- 'stats': [3,3,5,4],
- },
- {
- 'id': 94,
- 'name': f"Pirate Treasure Hunters",
- 'shortname': f"pirates",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "They have a ship, and they have a map - or are looking for a map - or heard about a map? They may be looking for the same thing as the kobolds.",
- 'stats': [3,4,4,5],
- },
- {
- 'id': 95,
- 'name': f"Pirate Blockade Runner",
- 'shortname': f"ship",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "The stats include ship and crew. For when it absolutely, positively needs to avoid tariffs overnight.",
- 'stats': [4,3,5,5],
- },
- {
- 'id': 96,
- 'name': f"Pirate Gunboat",
- 'shortname': f"ship",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "The stats include ship and crew. It has guns. Lots of guns. But it can't take what it can dish out.",
- 'stats': [4,6,3,5],
- },
- {
- 'id': 97,
- 'name': f"Pirate Flagship",
- 'shortname': f"ship",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "The stats include ship and crew. It bristles with guns, and has heavy armor, but it's slow and difficult to maneuver.",
- 'stats': [4,6,3,6],
- },
- {
- 'id': 98,
- 'name': f"Legendary Pirate",
- 'shortname': f"pirate",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [89,90,91,92,93,94,95,96,97,99],
- 'needsName': True,
- 'note': "They're as into loot as any pirate is, but they also have a grand plan that they may or may not reveal.",
- 'stats': [4,5,6,5],
- },
- {
- 'id': 99,
- 'name': f"Pirate Ghost Ship",
- 'shortname': f"ship",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "The stats include the ship and crew. It can harm the living, but it can't collect loot... but the crew still try to go through the motions.",
- 'stats': [6,6,5,3],
- },
- {
- 'id': 100,
- 'name': f"Monster Under The Bed",
- 'shortname': f"monster",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "Well, any dark location is fair game. It waits for a nearby kobold to be alone, and does Brain damage by causing illusions. If its first attempts don't work, it'll ramp up - unattended children, core breaches, explosive decompression...",
- 'stats': [1,4,5,1],
- },
- {
- 'id': 101,
- 'name': f"Irate Customer",
- 'shortname': f"customer",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They want to speak to the manager, and ignore claims that the kobolds aren't actually running a business. They'll definitely get violent.",
- 'stats': [1,5,1,5],
- },
- {
- 'id': 102,
- 'name': f"Representative of the Local Homeowners' Association",
- 'shortname': f"representative",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "Their stats include lawyers that appear one at a time to provide paperwork for their claims. They'll find the kobolds in violation of various codes, some of which they may have just invented, and try to fine them into obscurity.",
- 'stats': [2,4,4,3],
- },
-
- {
- 'id': 103,
- 'name': f"Doppelganger",
- 'shortname': f"doppelganger",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They'll try to split the kobolds up and then infiltrate the group, pretending to be whichever kobold isn't present. They love a good practical joke... or a bad one.",
- 'stats': [3,4,5,2],
- },
- {
- 'id': 104,
- 'name': f"Creepy Doll",
- 'shortname': f"doll",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It moves, but only when no one is looking. It tries to get nearby kobolds to hurt themselves or others.",
- 'stats': [4,4,5,2],
- },
- {
- 'id': 105,
- 'name': f"Mimic",
- 'shortname': f"mimic",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "It can imitate any simple object made of wood, stone, or metal, but it really likes treasure chests for some reason. It's an ambush hunter, waiting until it's touched to strike.",
- 'stats': [5,5,2,4],
- },
- {
- 'id': 106,
- 'name': rinterp("Living ", ["Air", "Earth", "Fire", "Water"], ""),
- 'shortname': f"elemental",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It will coalesce into a vaguely humanoid shape, and it's deeply troubled by and will try to destroy anything that's not just like it.",
- 'stats': [3,6,4,4],
- },
- {
- 'id': 107,
- 'name': f"Lycanthrope",
- 'shortname': f"lycanthrope",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "Its 'normal' form can be anything common in the area the kobolds are visiting; if the area is uninhabited, make it a kobold. Probably turns into a wolf... but might turn into something else.",
- 'stats': [4,5,4,5],
- },
- {
- 'id': 108,
- 'name': f"Revolutionaries",
- 'shortname': f"revolutionaries",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They belong to any nearby country, but want to overthrow it. They see the kobolds either as opposition or as useful, ignorant tools.",
- 'stats': [4,5,5,5],
- },
- {
- 'id': 109,
- 'name': f"Bored Reality Bender",
- 'shortname': f"Q",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They just want to have a fun time, and they'll help or hinder the kobolds depending on what makes their game last longer. They can bend their own stats if they need to.",
- 'stats': [6,6,6,2],
- },
- {
- 'id': 110,
- 'name': f"Released Space Kraken",
- 'shortname': f"kraken",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They just got out and they're ready to party, which in this case means destroying any ships and cities they encounter.",
- 'stats': [4,6,4,6],
- },
- {
- 'id': 111,
- 'name': f"Eldritch Mostly-Disembodied Gibbering Voices",
- 'shortname': f"voices",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "They're barely visible, and can walk through walls. They'll always choose to attack rather than defend themselves.",
- 'stats': [0,6,5,0],
- },
- {
- 'id': 112,
- 'name': f"Eldritch Fanatic Cultists",
- 'shortname': f"cultists",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "They're eager to appease the beings they serve, but they might be very wrong about how they choose to do it.",
- 'stats': [1,3,4,4],
- },
- {
- 'id': 113,
- 'name': f"Eldritch 'Enlightened' Cultists",
- 'shortname': f"cultists",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "They're very eager to appease the beings they serve, and have received some guidance on how to do it... which has altered their appearance somehow.",
- 'stats': [1,4,4,4],
- },
- {
- 'id': 114,
- 'name': f"Eldritch 'Ascended' Cultists",
- 'shortname': f"cultists",
- 'isPlural': True,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': False,
- 'note': "Whatever they were, they... aren't anymore, with extra limbs and odd proportions. They're working on a device (of a sort up to the GM) to awaken or summon an old god.",
- 'stats': [2,3,4,5],
- },
- {
- 'id': 115,
- 'name': f"Eldritch Living Beacon",
- 'shortname': f"beacon",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It can be mechanical, biological, a fusion, or something else altogether. It's been built or grown to summon or awaken something far worse.",
- 'stats': [2,3,5,5],
- },
- {
- 'id': 116,
- 'name': f"Eldritch Corrupted Town",
- 'shortname': f"town",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "The residents are all of one mind, whether that's a hive mind, a single entity controlling everything, puppets, or what have you. Their goal is to maintain the status quo, which might involve killing the kobolds... or assimilating them.",
- 'stats': [4,3,3,6],
- },
- {
- 'id': 117,
- 'name': f"Eldritch Hunter/Seeker",
- 'shortname': f"hunter/seeker",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "Someone or something is needed for an unknowable purpose, and the hunter/seeker will get it. This might be something the kobolds have, something they want, or one of the kobolds themselves. The hunter/seeker won't let their target be harmed... at least, not before it's delivered.",
- 'stats': [5,2,5,5],
- },
- {
- 'id': 118,
- 'name': f"Eldritch Offspring",
- 'shortname': f"offspring",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [x for x in list(range(121)) if x not in [11,12,13,14,15,16,17,18,19,20,28]],
- 'needsName': True,
- 'note': "It's an avatar of an old god, not yet come into its full power, and may not understand the goals of its parent. Its minion is trying to guide the offspring's decisions.",
- 'stats': [4,5,4,5],
- },
- {
- 'id': 119,
- 'name': f"Eldritch Chosen Servant",
- 'shortname': f"servant",
- 'isPlural': False,
- 'hasMinion': False,
- 'potentialMinions': None,
- 'needsName': True,
- 'note': "It's here because someone or something earned the ire of an eldritch being. Whether or not that's the kobolds is up to the DM. Whether or not the kobolds get in its way is their choice.",
- 'stats': [3,5,5,6],
- },
- {
- 'id': 120,
- 'name': f"Eldritch Slumbering Old God",
- 'shortname': f"god",
- 'isPlural': False,
- 'hasMinion': True,
- 'potentialMinions': [x for x in list(range(121)) if x not in [11,12,13,14,15,16,17,18,19,20,28]],
- 'needsName': True,
- 'note': "Its minion is either dedicated to waking it up or keeping it asleep, at the DM's discretion. If it wakes up, it'll wake up grumpy.",
- 'stats': [3,5,6,6],
- },
-
- ]
|