More actions
Content deleted Content added
// via Wikitext Extension for VSCode |
// via Wikitext Extension for VSCode |
||
Line 272: | Line 272: | ||
local p = {} |
local p = {} |
||
function p.words() |
|||
return words |
|||
end |
|||
function p.out( frame ) |
function p.out( frame ) |
Revision as of 17:11, 31 March 2025
Documentation for this module may be created at Module:ESWords/doc
local words = {
celestial = {
nouns = {
[1] = { 'color', 'cup', 'dagger', 'foot', 'hand', 'hat', 'skin', 'torch', 'wand' },
[2] = { 'hands', 'feet', 'flesh', 'sword', 'damage', 'cloak', 'eye', 'ear', 'rod', 'rope' },
[3] = { 'torso', 'weapon', 'clothing', 'belt', 'arm', 'leg', 'staff', 'food', 'rune', 'mirror' },
[4] = { 'head', 'shield', 'sound', 'container', 'coin' },
[5] = { 'potion', 'scroll', 'herb', 'window', 'orb' },
[6] = { 'heart', 'armor', 'floor', 'ritual', 'someone' },
[7] = { 'structure', 'body', 'friend', 'missile', 'tunnel' },
[8] = { 'building', 'wall', 'street', 'touch', 'item' },
[9] = { 'brain', 'fortress', 'foe', 'shop', 'bridge' },
[10] = { 'city', 'energy', 'castle', 'spell', 'object' },
},
verbs = {
[1] = { 'are', 'use', 'did', 'be', 'begin', 'may', 'might', 'stand', 'tend' },
[2] = { 'was', 'were', 'had', 'been', 'would', 'could', 'made', 'fix', 'draw', 'put' },
[3] = { 'cause', 'is', 'do', 'can', 'make', 'like', 'go', 'will', 'have', 'invoke' },
[4] = { 'open', 'close', 'repair', 'eat', 'drink' },
[5] = { 'dance', 'sing', 'act', 'drop', 'fill' },
[6] = { 'give', 'get', 'jump', 'kick', 'let' },
[7] = { 'look', 'must', 'need', 'pull', 'push' },
[8] = { 'say', 'shall' },
},
adjectives = {
[1] = { 'bad', 'this', 'little', 'big', 'long', 'short', 'bright', 'clean', 'small' },
[2] = { 'better', 'worse', 'farther', 'less', 'more', 'much', 'soon', 'down', 'hard', 'soft' },
[3] = { 'best', 'farthest', 'least', 'most', 'worst', 'many', 'far', 'well', 'all', 'other' },
[4] = { 'alert', 'broken', 'colorful', 'curious', 'circular' },
[5] = { 'dense', 'dull', 'light', 'blunt', 'sharp' },
[6] = { 'ugly', 'pretty', 'dark', 'slippery', 'stiff' },
[7] = { 'stupid', 'elegant', 'huge', 'smart', 'brittle' },
[9] = { 'new' },
[10] = { 'young', 'old', 'aged' },
},
adverbs = {
[1] = { 'then', 'here', 'today', 'as', 'carefully', 'there', 'pretty' },
[2] = { 'rarely', 'once', 'very', 'not', 'how', 'first', 'down', 'quite', 'really', 'slowly' },
[3] = { 'always', 'never', 'tonight', 'usually', 'up', 'no', 'tomorrow', 'later', 'sometime' },
[4] = { 'quickly', 'still', 'yet', 'away', 'fast' },
[5] = { 'anywhere', 'back', 'alone', 'seldom', 'immediately' },
[6] = { 'nowhere', 'again' },
[7] = { 'together' },
[8] = { 'regularly' },
[9] = { 'absolutely' },
[10] = { 'everywhere', 'yesterday' },
},
pronouns = {
[1] = { 'me', 'my', 'you', 'your', 'that', 'this' },
[2] = { 'he', 'him', 'her', 'she', 'what', 'each', 'which', 'these', 'who' },
[3] = { 'it', 'we', 'them', 'our', 'ours', 'yours', 'theirs', 'others' },
[8] = { 'mine' },
},
prepositions = {
[1] = { 'on', 'in', 'for', 'to', 'of', 'by', 'off' },
[2] = { 'after', 'near', 'with', 'from', 'about', 'out', 'away', 'up' },
[3] = { 'between', 'before', 'across', 'during', 'into', 'above', 'below', 'over' },
[4] = { 'against', 'around', 'behind' },
[5] = { 'beyond', 'except', 'like', 'until', 'without' },
[6] = { 'inside', 'outside' },
[7] = { 'through' },
},
conjunctions = {
[1] = { 'or', 'but', 'so', 'as' },
[2] = { 'before', 'since', 'unless', 'until', 'after' },
[3] = { 'because', 'although', 'if', 'while', 'when', 'than' },
},
articles = {
[1] = { 'the', 'one', 'an' },
[2] = { 'two' },
[3] = { 'three' },
[4] = { 'four' },
[5] = { 'five' },
[6] = { 'six' },
[7] = { 'seven' },
[8] = { 'eight' },
[9] = { 'nine' },
[10] = { 'ten', 'zero' },
},
},
flame = {
nouns = {
[1] = { 'warmth', 'light', 'flame', 'spark', 'ash', 'cinder', 'ember', 'tinder', 'howl' },
[2] = { 'rock', 'hate', 'frustration', 'brightness', 'flash', 'coal', 'fever', 'blaze', 'flare', 'pyre' },
[3] = { 'insanity', 'berserk', 'furnace', 'rage', 'battle', 'assault', 'hostility', 'disorder', 'combat', 'fight' },
[4] = { 'fervor', 'steam', 'hysteria', 'fury', 'roar' },
[5] = { 'fire', 'ruin', 'smoke', 'pillage', 'pandemonium' },
[6] = { 'incendiary', 'sandstorm', 'war', 'disaster', 'wildfire' },
[7] = { 'destruction', 'stone', 'bolt', 'jet', 'desert' },
[8] = { 'inferno', 'pressure', 'cliff', 'fallout', 'mania' },
[9] = { 'tremor', 'hill', 'chasm', 'chaos', 'anarchy' },
[10] = { 'mountain', 'earthquake', 'lava', 'magma', 'volcano' },
},
verbs = {
[1] = { 'warm', 'damage', 'temper', 'illuminate', 'kindle', 'dry', 'crack', 'rush', 'glow' },
[2] = { 'heat', 'injure', 'hack', 'hurt', 'craze', 'inflame', 'parch', 'rust', 'fracture', 'ignite' },
[3] = { 'burn', 'maim', 'crush', 'break', 'blast', 'desiccate', 'rupture', 'attack', 'torch', 'blister' },
[4] = { 'rend', 'melt', 'shatter', 'burst', 'outrage' },
[5] = { 'cleave', 'scald', 'char', 'wreck', 'combust' },
[6] = { 'incinerate', 'disintegrate', 'explode', 'ambush', 'raze' },
[7] = { 'corrode', 'smash', 'boil', 'scorch', 'implode' },
[8] = { 'destroy', 'erupt', 'collapse', 'pulverize', 'ruin' },
[9] = { 'seethe', 'cremate', 'immolate', 'demolish', 'infuriate' },
[10] = { 'annihilate', 'obliterate', 'exterminate', 'dissolve', 'sunder' },
},
adjectives = {
},
adverbs = {
},
pronouns = {
},
prepositions = {
},
conjunctions = {
},
articles = {
},
},
storm = {
nouns = {
[1] = { 'study', 'vision', 'mist', 'cloud', 'mind', 'sand', 'drop', 'breeze', 'attention' },
[2] = { 'idea', 'wings', 'knowledge', 'shower', 'veil', 'trance', 'fog', 'spray', 'ice', 'intent' },
[3] = { 'confusion', 'memory', 'sight', 'lightning', 'thunder', 'desire', 'hail', 'snow', 'tide', 'rain' },
[4] = { 'alignment', 'dreams', 'intelligence', 'betrayal', 'sense' },
[5] = { 'flight', 'storm', 'wisdom', 'sage', 'logic' },
[6] = { 'water', 'thoughts', 'wave', 'air', 'displacement' },
[7] = { 'blizzard', 'illusion', 'river', 'distance', 'glacier' },
[8] = { 'wind', 'sky', 'passions', 'group', 'moral' },
[9] = { 'will', 'duration', 'lake', 'tornado', 'reality' },
[10] = { 'ocean', 'ethics', 'population', 'moon', 'time' },
},
verbs = {
[1] = { 'cool', 'slow', 'read', 'look', 'speed', 'stun', 'distract', 'identify', 'float' },
[2] = { 'chill', 'write', 'learn', 'entrance', 'daze', 'swim', 'sort', 'deny', 'flow', 'glide' },
[3] = { 'take', 'see', 'hear', 'thaw', 'charm', 'shimmer', 'confound', 'immobilize', 'know', 'assert' },
[4] = { 'freeze', 'obscure', 'interchange', 'delay', 'bend' },
[5] = { 'control', 'fly', 'move', 'disrupt', 'switch' },
[6] = { 'electrify', 'change', 'vanish', 'command', 'charge' },
[7] = { 'counter', 'trick', 'reveal', 'warp', 'teleport' },
[8] = { 'discover', 'dispel', 'shift', 'return', 'stop' },
[9] = { 'steal', 'avoid', 'escape', 'distance', 'mimic' },
[10] = { 'manipulate', 'reflect', 'reform', 'gain', 'remain' },
},
adjectives = {
},
adverbs = {
},
pronouns = {
},
prepositions = {
},
conjunctions = {
},
articles = {
},
},
life = {
nouns = {
[1] = { 'health', 'valor', 'wounds', 'hurt', 'illness', 'burn', 'amulet', 'talisman', 'symbol' },
[2] = { 'life', 'blood', 'boundary', 'courage', 'rest', 'light', 'cairn', 'artifact', 'glory', 'friendship' },
[3] = { 'belief', 'sleep', 'barrier', 'guardian', 'mind', 'relic', 'zealot', 'medicine', 'discipline', 'celebration' },
[4] = { 'love', 'idol', 'agreement', 'shrine', 'ancestor' },
[5] = { 'resistance', 'martyr', 'divinity', 'diplomacy', 'curse' },
[6] = { 'justice', 'peace', 'grace', 'right', 'progress' },
[7] = { 'essence', 'sanctuary', 'emissary', 'exorcism', 'wrath' },
[8] = { 'hope', 'faith', 'enlightenment', 'religion', 'temple' },
[9] = { 'immunity', 'truth', 'pacifism', 'dawn', 'being' },
[10] = { 'plains', 'spirit', 'soul', 'sun', 'celestial' },
},
verbs = {
[1] = { 'mend', 'prevent', 'detect', 'defend', 'calm', 'shelter', 'restrain', 'soothe', 'repel' },
[2] = { 'protect', 'resurrect', 'restore', 'return', 'renew', 'replenish', 'cease', 'guide', 'numb', 'inspire' },
[3] = { 'guard', 'purify', 'cleanse', 'judge', 'condemn', 'sustain', 'disenchant', 'disempower', 'pacify', 'turn' },
[4] = { 'ward', 'absorb', 'gather', 'shield', 'unify' },
[5] = { 'vanquish', 'rebirth', 'honor', 'defy', 'contain' },
[6] = { 'reduce', 'gain', 'enlighten', 'erase', 'dismiss' },
[7] = { 'infuse', 'abolish', 'excise', 'sacrifice', 'rescue' },
[8] = { 'craft', 'build', 'raise', 'banish', 'imbue' },
[9] = { 'transcend', 'bless', 'enchant', 'sanctify', 'forgive' },
[10] = { 'create', 'absolve', 'reverse', 'exemplify', 'embody' },
},
adjectives = {
},
adverbs = {
},
pronouns = {
},
prepositions = {
},
conjunctions = {
},
articles = {
},
},
necro = {
nouns = {
[1] = { 'grave', 'pain', 'woe', 'darkness', 'seizure', 'stench', 'tears', 'filth', 'blemish' },
[2] = { 'spirit', 'bones', 'terror', 'vengeance', 'wail', 'scream', 'greed', 'coffin', 'cruelty', 'wrath' },
[3] = { 'corpse', 'carrion', 'horror', 'sadism', 'pit', 'wickedness', 'gloom', 'misery', 'contagion', 'ghost' },
[4] = { 'ethereal', 'nightmare', 'skeleton', 'virus', 'agony' },
[5] = { 'carnage', 'doom', 'demise', 'dread', 'flaw' },
[6] = { 'undead', 'dead', 'despair', 'bane', 'crime' },
[7] = { 'famine', 'crypt', 'disease', 'moor', 'shade' },
[8] = { 'plague', 'death', 'barrow', 'tomb', 'ancestor' },
[9] = { 'night', 'tendril', 'umbra', 'dusk', 'shadow' },
[10] = { 'swamp', 'void', 'atrocity', 'degeneration', 'outsider' },
},
verbs = {
[1] = { 'summon', 'sicken', 'spoil', 'taint', 'wrench', 'intimidate', 'twist', 'shame', 'force' },
[2] = { 'rot', 'reanimate', 'bury', 'darken', 'zombify', 'famish', 'graft', 'extract', 'cut', 'leach' },
[3] = { 'putrefy', 'poison', 'raise', 'exhaust', 'defile', 'torture', 'siphon', 'sacrifice', 'paralyze', 'agonize' },
[4] = { 'decay', 'weaken', 'embalm', 'madden', 'shred' },
[5] = { 'drain', 'die', 'exhume', 'sever', 'wither' },
[6] = { 'fester', 'kill', 'rend', 'infect', 'cripple' },
[7] = { 'flay', 'corrupt', 'devour', 'abandon', 'tax' },
[8] = { 'murder', 'slay', 'blackmail', 'haunt', 'distort' },
[9] = { 'curse', 'exterminate', 'enslave', 'torment', 'warp' },
[10] = { 'eradicate', 'massacre', 'slaughter', 'end', 'betray' },
},
adjectives = {
},
adverbs = {
},
pronouns = {
},
prepositions = {
},
conjunctions = {
},
articles = {
},
},
nature = {
nouns = {
[1] = { 'reach', 'size', 'path', 'leaf', 'twig', 'vine', 'fruit', 'dirt', 'grass', 'watermelon' },
[2] = { 'armor', 'strength', 'shape', 'web', 'bite', 'root', 'fur', 'feathers', 'scales', 'foliage' },
[3] = { 'tree', 'plants', 'nutrient', 'might', 'garden', 'claws', 'flower', 'pollen', 'senses', 'flora' },
[4] = { 'form', 'animal', 'seeds', 'thicket', 'sinew' },
[5] = { 'ferocity', 'terrain', 'soil', 'herd', 'fauna' },
[6] = { 'species', 'canopy', 'vegetation', 'hush', 'instinct' },
[7] = { 'symbiosis', 'tranquility', 'woods', 'primal', 'flourish' },
[8] = { 'forest', 'momentum', 'crops', 'wings', 'cycle' },
[9] = { 'breed', 'paradise', 'cartography', 'land', 'balance' },
[10] = { 'nature', 'utopia', 'earth', 'seasons', 'age' },
},
verbs = {
[1] = { 'touch', 'grow', 'nourish', 'bloom', 'lull', 'lure', 'augment', 'ripen', 'shrink' },
[2] = { 'conjure', 'divine', 'snare', 'blend', 'reform', 'find', 'ask', 'climb', 'leap', 'commune' },
[3] = { 'renew', 'animate', 'improve', 'call', 'thrive', 'hide', 'locate', 'snag', 'scry', 'change' },
[4] = { 'vitalize', 'birth', 'become', 'scout', 'hunt' },
[5] = { 'predict', 'entwine', 'weave', 'stomp', 'cultivate' },
[6] = { 'transform', 'polymorph', 'transmute', 'magnify', 'mature' },
[7] = { 'trample', 'harvest', 'regenerate', 'refresh', 'amplify' },
[8] = { 'recover', 'overrun', 'unforge', 'invigorate', 'regrow' },
[9] = { 'repopulate', 'rejuvenate', 'wander', 'decompose', 'overflow' },
[10] = { 'populate', 'generate', 'evolve', 'morph', 'harmonize' },
},
adjectives = {
},
adverbs = {
},
pronouns = {
},
prepositions = {
},
conjunctions = {
},
articles = {
},
},
}
local p = {}
function p.words()
return words
end
function p.out( frame )
return 'This provides the Elder Sorcery words.'
end
-- Helper function to check if a value exists in a table
local function contains(tbl, val)
for _, v in ipairs(tbl) do
if v == val then return true end
end
return false
end
function p.getWords(elements, parts, ops)
if elements == "*" then
elements = {}
for elementName, _ in pairs(words) do
table.insert(elements, elementName)
end
end
if parts == "*" then
parts = {}
local firstElement = next(words)
if firstElement then
for partName, _ in pairs(words[firstElement]) do
table.insert(parts, partName)
end
end
end
if ops == "*" then
ops = {}
local firstElement = next(words)
if firstElement then
local firstPart = next(words[firstElement])
if firstPart then
for opLevel, _ in pairs(words[firstElement][firstPart]) do
table.insert(ops, opLevel)
end
end
end
end
-- Normalize inputs to tables if they are not already
if type(elements) ~= "table" then
elements = { elements }
end
if type(parts) ~= "table" then
parts = { parts }
end
if type(ops) ~= "table" then
ops = { ops }
end
local outWords = {}
for elementName, elementData in pairs(words) do
if contains(elements, elementName) then
outWords[elementName] = {}
for _, part in ipairs(parts) do
if elementData[part] then
outWords[elementName][part] = {}
for _, op in ipairs(ops) do
if elementData[part][op] then
outWords[elementName][part][op] = elementData[part][op]
end
end
end
end
end
end
return outWords
end
return p