From fb89097867d4c95d6ab52fa0642b3875d616a339 Mon Sep 17 00:00:00 2001 From: dashodanger Date: Thu, 9 May 2024 13:09:23 -0600 Subject: [PATCH] More SLUMP work --- engines/idtech.lua | 2 +- games/chex1/params.lua | 22 - games/chex1/themes.lua | 1290 ++------ games/harmony/base.lua | 35 + games/harmony/names.lua | 4111 ++++++++++++++++++++++++ games/harmony/params.lua | 7 + games/harmony/resources.lua | 127 + games/harmony/themes.lua | 907 ++++++ games/rekkr/base.lua | 58 + games/rekkr/names.lua | 4254 +++++++++++++++++++++++++ games/rekkr/params.lua | 7 + games/rekkr/resources.lua | 176 + games/rekkr/themes.lua | 415 +++ games/strife/base.lua | 65 + games/strife/data/CONVERSATIONS.wad | Bin 0 -> 80376 bytes games/strife/names.lua | 4111 ++++++++++++++++++++++++ games/strife/params.lua | 50 + games/strife/resources.lua | 146 + games/strife/themes.lua | 368 +++ modules/alt_shape_grammars.lua | 17 +- modules/debugger.lua | 10 - ports/boom.lua | 2 +- ports/edge.lua | 2 +- ports/vanilla.lua | 2 +- ports/zdoom.lua | 2 +- scripts/level.lua | 7 - scripts/obsidian.lua | 11 +- scripts/shapes.lua | 535 ---- source_files/obsidian_main/m_theme.cc | 14 +- source_files/obsidian_main/ui_game.cc | 39 +- source_files/obsidian_main/ui_game.h | 5 +- source_files/slump/slump.cc | 36 +- source_files/slump/slump.h | 3 + 33 files changed, 15215 insertions(+), 1621 deletions(-) create mode 100644 games/harmony/base.lua create mode 100644 games/harmony/names.lua create mode 100644 games/harmony/params.lua create mode 100644 games/harmony/resources.lua create mode 100644 games/harmony/themes.lua create mode 100644 games/rekkr/base.lua create mode 100644 games/rekkr/names.lua create mode 100644 games/rekkr/params.lua create mode 100644 games/rekkr/resources.lua create mode 100644 games/rekkr/themes.lua create mode 100644 games/strife/base.lua create mode 100644 games/strife/data/CONVERSATIONS.wad create mode 100644 games/strife/names.lua create mode 100644 games/strife/params.lua create mode 100644 games/strife/resources.lua create mode 100644 games/strife/themes.lua diff --git a/engines/idtech.lua b/engines/idtech.lua index a9fb82c18c..2c2a435f94 100644 --- a/engines/idtech.lua +++ b/engines/idtech.lua @@ -50,7 +50,7 @@ OB_ENGINES["idtech_1"] = priority = 100, - game = { chex1=1, doom1=1, doom2=1, hacx=1, heretic=1 }, + game = { chex1=1, doom1=1, doom2=1, hacx=1, harmony=1, heretic=1, strife=1, rekkr=1 }, tables = { diff --git a/games/chex1/params.lua b/games/chex1/params.lua index e83a37af05..32588c58c8 100644 --- a/games/chex1/params.lua +++ b/games/chex1/params.lua @@ -1,29 +1,7 @@ CHEX1.PARAMETERS = { - teleporters = true, - rails = true, - light_brushes = true, - - -- NOTE: no infighting at all - infighting = false, - --infighting = true - - jump_height = 24, - max_name_length = 28, - - skip_monsters = { 10,35 }, - - time_factor = 1.0, - damage_factor = 1.0, - ammo_factor = 0.8, - health_factor = 0.7, - monster_factor = 0.8, - titlepic_lump = "TITLEPIC", titlepic_format = "patch", - bex_map_prefix = "HUSTR_", - - episode_length = 5 } diff --git a/games/chex1/themes.lua b/games/chex1/themes.lua index 12709d098d..5ead9da578 100644 --- a/games/chex1/themes.lua +++ b/games/chex1/themes.lua @@ -13,56 +13,6 @@ -- ------------------------------------------------------------------------ -CHEX1.SINKS = -{ - -- sky holes -- - - sky_plain = - { - mat = "_SKY", - dz = 64, - light = 16 - }, - - -- liquid floor -- - - liquid_plain = - { - mat = "FWATER1", - dz = -12 - }, - - liquid_slime0 = - { - mat = "BLOOD1", - dz = -12 - }, - - liquid_slime1 = - { - mat = "NUKAGE1", - dz = -12 - }, - - liquid_slime2 = - { - mat = "LAVA1", - dz = -12 - }, - - -- street sink def, do not use for anything else - floor_default_streets = - { - mat = "CEIL5_1", - dz = 2, - - trim_mat = "GRAYTALL", - trim_dz = 2, - } - -} - - CHEX1.THEMES = { DEFAULTS = @@ -253,947 +203,325 @@ CHEX1.THEMES = bazoik = { - style_list = - { - caves = { none=80, few=12, some=5, heaps=3 }, - outdoors = { none=80, few=18, some=2 }, - pictures = { few=80, some=20, heaps=30 }, - hallways = { none=30, few=80, some=15, heaps=10 }, - windows = { few=25, some=50, heaps=90 }, - cages = { none=60, few=20, some=10, heaps=10 }, - liquids = { none=45, few=30, some=20, heaps=5 }, - doors = { few=20, some=70, heaps=30 }, - steepness = { few=25, some=50, heaps=90 }, - big_rooms = { none=15, few=60, some=20, heaps=5 }, - ambushes = { none=5, few=50, some=45, heaps=30 }, - teleporters = { none=20, few=30, some=65, heaps=10 }, - keys = { none=15, few=50, some=50, heaps=20 }, - symmetry = { none=40, few=30, some=35, heaps=25 }, - switches = { none=20, few=60, some=40, heaps=10 }, - secrets = { few=5, some=80, heaps=25 }, - traps = { none=10, few=40, some=70, heaps=25 }, - barrels = { none=80, few=10, some=10 } - }, - - liquids = - { - slime0 = 15, - slime1 = 10 - }, - - - narrow_halls = - { - vent = 50 - }, - - wide_halls = - { - curve = 50, - deuce = 50, - }, - - floor_sinks = - { - liquid_slime0 = 50, - liquid_slime1 = 25, - }, - - ceiling_sinks = - { - sky_plain = 50 - }, - - fences = - { - FLOOR0_6 = 30, - }, - - cage_mats = - { - GRAY7 = 10, - STARG3 = 30 - }, - - facades = - { - STARG3 = 50, - CEMENT5 = 10, - }, - - fence_groups = - { - PLAIN = 50, - crenels = 12, - }, - - fence_posts = - { - Post = 50 - }, - - beam_groups = - { - beam_metal = 50 - }, - - window_groups = - { - straddle = 70, - tall = 80, - grate = 45, - barred = 10, - supertall = 60, - slits = 20, - pillbox = 20, - slumpish = 30, - window_crossfire = 10, - }, - - wall_groups = - { - PLAIN = 0.01, - mid_band = 10, - lite1 = 20, - lite2 = 20, - torches1 = 12, - torches2 = 12, - high_gap = 25, - vert_gap = 25, - wallgutters = 10, - lamptorch = 16, - runic = 10, - }, - - cave_torches = - { - green_torch = 50, - green_torch_sm = 50 - }, - - outdoor_torches = - { - -- TODO - }, - - ceil_light_prob = 70, - - scenic_fences = - { - LITE4 = 30, - }, - - sink_style = - { - sharp = 1, - curved = 0.1 - }, - - steps_mat = "FLAT1_1", - - post_mat = "FLOOR0_6", - - skyboxes = - { - - }, + slump_config = + [[ + ; + ; Sample SLIGE config file. (Semicolon starts a comment to end of line.) + ; + ; This is the SLIGE.CFG as shipped with SLIGE itself. It contains a + ; description of the default SLIGE configuration, as hardwired into + ; the program. So having this file in the current directory under the + ; name SLIGE.CFG should produce exactly the same effect as not having + ; any config file at all. You can use this file as a base to build + ; your own config files on (but if you do, you should change these + ; comments; otherwise they'll be WRONG!). + ; + ; Dave Chess, dmchess@aol.com, chess@us.ibm.com - }, - - spaceport = - { - - style_list = - { - caves = { none=60, few=40, some=12, heaps=2 }, - outdoors = { none=10, few=35, some=90, heaps=30 }, - pictures = { few=20, some=80, heaps=30 }, - hallways = { none=30, few=80, some=15, heaps=10 }, - windows = { few=25, some=50, heaps=90 }, - cages = { none=30, few=50, some=20, heaps=10 }, - liquids = { none=45, few=30, some=20, heaps=5 }, - doors = { few=20, some=70, heaps=30 }, - steepness = { few=25, some=50, heaps=90 }, - big_rooms = { none=25, few=40, some=25, heaps=15 }, - ambushes = { none=5, few=20, some=75, heaps=30 }, - teleporters = { none=20, few=30, some=65, heaps=10 }, - keys = { none=15, few=50, some=50, heaps=20 }, - symmetry = { none=40, few=30, some=35, heaps=25 }, - switches = { none=20, few=60, some=40, heaps=10 }, - secrets = { few=5, some=80, heaps=25 }, - traps = { none=10, few=40, some=70, heaps=25 }, - barrels = { none=10, few=50, some=20, heaps=5 } - }, - - liquids = - { - water = 50, - }, - - narrow_halls = - { - vent = 50 - }, - - wide_halls = - { - curve = 50, - deuce = 50, - }, - - floor_sinks = - { - liquid_plain = 50 - }, - - ceiling_sinks = - { - sky_plain = 50 - }, - - fences = - { - SP_DUDE1 = 30, - BROWNHUG = 5, - }, - - cage_mats = - { - SP_DUDE1 = 30, - MUSEUM = 10 - }, - - facades = - { - SP_DUDE1 = 30, - }, - - fence_groups = - { - PLAIN = 50, - crenels = 12, - }, - - fence_posts = - { - Post = 50 - }, - - beam_groups = - { - beam_metal = 50 - }, - - window_groups = - { - straddle = 70, - tall = 80, - grate = 45, - barred = 10, - supertall = 60, - slits = 20, - pillbox = 20, - slumpish = 30, - window_crossfire = 10, - }, - - wall_groups = - { - PLAIN = 0.01, - mid_band = 10, - lite1 = 20, - lite2 = 20, - torches1 = 12, - torches2 = 12, - high_gap = 25, - vert_gap = 25, - wallgutters = 10, - lamptorch = 16, - runic = 10, - }, - - cave_torches = - { - green_torch = 50, - green_torch_sm = 50 - }, - - outdoor_torches = - { - -- TODO - }, - - ceil_light_prob = 70, - - scenic_fences = - { - DOORSTOP = 80 - }, - - sink_style = - { - sharp = 1, - curved = 0.1 - }, - - steps_mat = "CEIL5_1", - - post_mat = "FLOOR0_6", - - skyboxes = - { - - }, - - streets_friendly = true - - }, - - villa = - { + ; The current implementation ignores everything before the + ; [THEMES] line also, but that will change. - style_list = - { - caves = { none=50, few=25, some=15, heaps=10 }, - outdoors = { none=60, few=31, some=9 }, - pictures = { few=50, some=40, heaps=30 }, - hallways = { none=30, few=60, some=25, heaps=20 }, - windows = { few=25, some=50, heaps=90 }, - cages = { none=70, few=15, some=5, heaps=10 }, - liquids = { none=45, few=30, some=20, heaps=5 }, - doors = { few=20, some=70, heaps=30 }, - steepness = { few=25, some=50, heaps=90 }, - big_rooms = { none=15, few=60, some=20, heaps=5 }, - ambushes = { none=5, few=50, some=45, heaps=30 }, - teleporters = { none=30, few=50, some=35, heaps=10 }, - keys = { none=15, few=50, some=50, heaps=20 }, - symmetry = { none=40, few=30, some=35, heaps=25 }, - switches = { none=20, few=60, some=40, heaps=10 }, - secrets = { few=5, some=80, heaps=25 }, - traps = { none=10, few=40, some=60, heaps=35 }, - barrels = { none=10, few=40, some=30, heaps=10 } - }, - - liquids = - { - slime0 = 15, - slime1 = 10, - water = 10, - }, - - - narrow_halls = - { - vent = 50 - }, - - wide_halls = - { - curve = 50, - deuce = 50, - }, - - floor_sinks = - { - liquid_slime0 = 50, - liquid_slime1 = 25, - }, - - ceiling_sinks = - { - sky_plain = 50 - }, - - fences = - { - CJLODG01 = 30, - }, - - cage_mats = - { - CJVILL01 = 20, - }, - - facades = - { - SP_DUDE1 = 30, - }, - - fence_groups = - { - PLAIN = 50, - crenels = 12, - }, - - fence_posts = - { - Post = 50 - }, - - beam_groups = - { - beam_metal = 50 - }, - - window_groups = - { - straddle = 70, - tall = 80, - grate = 45, - barred = 10, - supertall = 60, - slits = 20, - pillbox = 20, - slumpish = 30, - window_crossfire = 10, - }, - - wall_groups = - { - PLAIN = 0.01, - mid_band = 10, - lite1 = 20, - lite2 = 20, - torches1 = 12, - torches2 = 12, - high_gap = 25, - vert_gap = 25, - wallgutters = 10, - lamptorch = 16, - runic = 10, - }, - - cave_torches = - { - green_torch = 50, - green_torch_sm = 50 - }, - - outdoor_torches = - { - -- TODO - }, - - ceil_light_prob = 70, - - scenic_fences = - { - LITE4 = 30, - }, - - sink_style = - { - sharp = 1, - curved = 0.1 - }, - - steps_mat = "FLAT1_1", - - post_mat = "FLOOR0_6", - - skyboxes = - { - - }, - - }, + [THEMES] ; Anything after a ; is, remember, a comment -} + ; We have three themes, one secret. They should all be declared + ; before any textures or flats or anything else. The only valid + ; modifier is "secret", which says that that theme should only be + ; used on secret levels. There should be at least one "secret" + ; theme. -CHEX1.ROOM_THEMES = -{ + Theme BAZ ; Bazoik caves/E1M5 theme - ---- BAZOIK THEME -------------------------------- + ; Flats and textures and constructs and stuff are also in the [THEMES] section - bazoik_Generic = - { - env = "building", - prob = 50, - - walls = - { - SP_DUDE2 = 25, - TEKWALL5 = 25, - BROWN = 25, - STARG3 = 25, - }, - - floors = - { - FLAT1_1 = 50, - FLAT1 = 50, - FLAT14 = 50, - FLOOR0_2 = 50 - }, - - ceilings = - { - FLAT14 = 50, - CJFCOMM3 = 50, - CEIL5_1 = 50, - FLOOR0_6 = 25 - } - }, - - bazoik_vent_Hallway = - { - env = "hallway", - group = "vent", - prob = 50, - - walls = - { - GRAY7 = 10, - SW2SATYR = 25, - TEKWALL5 = 25, - BROWN = 25, - STARG3 = 15, - }, - - floors = - { - FLAT1_1 = 50, - FLAT1 = 50, - FLAT14 = 50, - FLOOR0_2 = 50 - }, - - ceilings = - { - FLAT14 = 50, - CJFCOMM3 = 50, - CEIL5_1 = 50, - FLOOR0_6 = 25 - } - - }, - - bazoik_curve_Hallway = - { - env = "hallway", - group = "curve", - prob = 50, - - walls = - { - GRAY7 = 10, - SP_DUDE2 = 20, - TEKWALL5 = 25, - BROWN = 25, - STARG3 = 20, - }, - - floors = - { - FLAT1_1 = 50, - FLAT1 = 50, - FLAT14 = 50, - FLOOR0_2 = 50 - }, - - ceilings = - { - FLAT14 = 50, - CJFCOMM3 = 50, - CEIL5_1 = 50, - FLOOR0_6 = 25 - } - - }, + ; Textures are described by "Texture NAME ". Obvious + ; attributes include "wall", "door", and so on. Some subtler ones: + ; + ; "core " means that this texture should be common in that theme. + ; "comp " means that this texture is compatible with that theme, but + ; not to be used all that often. + ; "switch " means "the given texture is a good switch to use in + ; a room that has walls of the current texture" + ; "isswitch" means "the current texture is a good switch to use on any + ; wall in a room with a compatible theme" + ; "subtle " means "the given texture is a subtle variant of the + ; current texture, suitable for hinting at secrets" + ; "yhint N" means "when using a vertical misalignment to hint at + ; a secret door in a wall of this texture, use a y-offset of N". If + ; N is zero, it means "this wall is too visually complex to hint via a + ; y-misalignment at all; hint some other way". If no "yhint" is given, + ; the value 5 is used. + ; "noDoom2" means that the texture does not exist in the usual DOOM II + ; IWAD. "noDoom0" means it doesn't exist in the DOOM 1.2 IWAD, and + ; "noDoom1" means it's not in the DOOM 1.666 or 1.89 IWAD. If none + ; of these are specified, the texture is assumed to be in all. + ; "size " gives the size of the texture. You can leave + ; this out if the height is 128, and the width is some reasonable + ; divisor of 256 (except for doors, where you should give the real + ; width so SLIGE can make them look nice). - bazoik_deuce_Hallway = - { - env = "hallway", - group = "deuce", - prob = 50, - - walls = - { - GRAY7 = 10, - SP_DUDE2 = 20, - TEKWALL5 = 25, - BROWN = 25, - STARG3 = 20, - }, - - floors = - { - FLAT1_1 = 50, - FLAT1 = 50, - FLAT14 = 50, - FLOOR0_2 = 50 - }, - - ceilings = - { - FLAT14 = 50, - CJFCOMM3 = 50, - CEIL5_1 = 50, - FLOOR0_6 = 25 - } - - }, - - bazoik_Outdoors = - { - env = "outdoor", - prob = 50, - - floors = - { - CEIL3_1 = 50, - }, - - naturals = - { - BIGDOOR2 = 50, - BAZOIK1 = 50 - }, - - porch_floors = - { - FLAT1_1 = 50, - CJFCOMM5 = 50 - }, - - }, - - bazoik_Cave = - { - env = "cave", - prob = 50, - - floors = - { - CEIL3_1 = 50, - }, - - walls = - { - BIGDOOR2 = 50, - BAZOIK1 = 50 - } - - }, - - ---- SPACEPORT THEME -------------------------------- + ; Bazoik walls + Texture BIGDOOR2 size 128 128 wall core BAZ subtle STARGR1 - spaceport_Generic = - { - env = "building", - prob = 50, - - walls = - { - SW2SATYR = 25, - BROWN1 = 25, - CITYWALL = 50, - }, - - floors = - { - CEIL5_1 = 50, - SW2SATYR = 50, - MUSEUM = 50, - }, - - ceilings = - { - FLAT14 = 50, - CJFCOMM3 = 50, - CEIL5_1 = 50, - FLOOR0_6 = 25 - } - }, - - spaceport_vent_Hallway = - { - env = "hallway", - group = "vent", - prob = 50, - - walls = - { - SW2SATYR = 25, - BROWN1 = 25, - CITYWALL = 50, - }, - - floors = - { - CEIL5_1 = 50, - SW2SATYR = 50, - MUSEUM = 50, - }, - - ceilings = - { - FLAT14 = 50, - CJFCOMM3 = 50, - CEIL5_1 = 50, - FLOOR0_6 = 25 - } - - }, - - spaceport_curve_Hallway = - { - env = "hallway", - group = "curve", - prob = 50, - - walls = - { - SW2SATYR = 25, - BROWN1 = 25, - CITYWALL = 50, - }, - - floors = - { - CEIL5_1 = 50, - SW2SATYR = 50, - MUSEUM = 50, - }, - - ceilings = - { - FLAT14 = 50, - CJFCOMM3 = 50, - CEIL5_1 = 50, - FLOOR0_6 = 25 - } - - }, + ; Bazoik switches + Texture SW1BRCOM size 128 128 isswitch comp BAZ - spaceport_deuce_Hallway = - { - env = "hallway", - group = "deuce", - prob = 50, - - walls = - { - SW2SATYR = 25, - BROWN1 = 25, - CITYWALL = 50, - }, - - floors = - { - CEIL5_1 = 50, - SW2SATYR = 50, - MUSEUM = 50, - }, - - ceilings = - { - FLAT14 = 50, - CJFCOMM3 = 50, - CEIL5_1 = 50, - FLOOR0_6 = 25 - } - - }, - - spaceport_Outdoors = - { - env = "outdoor", - prob = 50, - - floors = - { - CJFGRAS1 = 50, - }, - - naturals = - { - CJCLIF01 = 50, - CJFGRAS1 = 50 - }, - - porch_floors = - { - SW2SATYR = 50, - CJFCOMM3 = 50 - }, - - }, - - spaceport_Cave = - { - env = "cave", - prob = 50, - - floors = - { - ENDFLAT2 = 50, - }, - - walls = - { - SEWER1 = 50, - SEWER2 = 50 - } - - }, - - ---- VILLA THEME -------------------------------- + ; And the lift texture + Texture COMPBLUE size 64 128 lift comp BAZ - villa_Generic = - { - env = "building", - prob = 50, - - walls = - { - SP_DUDE2 = 25, - TEKWALL5 = 25, - BROWN = 25, - STARG3 = 25, - }, - - floors = - { - CJFVIL01 = 50, - CJFVIL02 = 50, - CJFLOD01 = 50 - }, - - ceilings = - { - FLAT14 = 50, - CJFCOMM3 = 50, - CEIL5_1 = 50, - FLOOR0_6 = 25 - } - }, - - villa_vent_Hallway = - { - env = "hallway", - group = "vent", - prob = 50, - - walls = - { - CJVILL01 = 50, - }, - - floors = - { - CJFVIL02 = 50, - CJFVIL04 = 50, - }, - - ceilings = - { - FLAT14 = 50, - CJFCOMM3 = 50, - CEIL5_1 = 50, - FLOOR0_6 = 25 - } - - }, - - villa_curve_Hallway = - { - env = "hallway", - group = "curve", - prob = 50, - - walls = - { - CJVILL01 = 50, - }, - - floors = - { - CJFVIL02 = 50, - CJFVIL04 = 50, - }, - - ceilings = - { - FLAT14 = 50, - CJFCOMM3 = 50, - CEIL5_1 = 50, - FLOOR0_6 = 25 - } - - }, + ; Doors of all kinds. "size" gives the width and height of the texture, + ; and "locked" means that it's a good texture to use on a door that only + ; opens with a switch, not a touch. + Texture BIGDOOR1 size 128 128 door comp BAZ + Texture SP_DUDE4 size 64 128 door comp BAZ + Texture SKSNAKE1 size 64 128 door comp BAZ + + ; Bazoik exit switches + Texture SW1BRCOM size 128 128 exitswitch comp BAZ + + ; Lights, suitable for lighting recesses and stuff. + Texture BLODRIP1 size 64 128 light comp BAZ + + ; "Plaques", suitable for wall consoles and paintings and pillars and stuff. + ; "vtiles" means that it's OK to pile one on top of another, as when + ; making the big central pillar in an arena. + ; "half_plaque" means that the upper half of this texture can be used + ; by itself, as well as the whole thing. + Texture DOORTRAK size 128 128 plaque vtiles comp BAZ + Texture FIREMAG1 size 128 128 plaque comp BAZ + + ; Gratings + Texture SKSPINE1 size 64 128 grating comp BAZ + + ; Colors (suitable for marking key-locked things) + Texture DOORRED size 8 128 red comp BAZ + Texture DOORYEL size 8 128 yellow comp BAZ + Texture DOORBLU size 8 128 blue comp BAZ + + ; Step kickplates + Texture STEP1 size 32 8 step comp BAZ + + ; "Doorjambs" + Texture COMPSTA1 size 8 128 jamb comp BAZ + + ; Support textures, used in various places + Texture NUKEDGE1 size 128 128 support comp BAZ + + ; Bunch of things for outside patios (no themes applied here) + Texture BIGDOOR3 size 128 128 outside + + ; Misc + Texture LITEBLU1 size 128 128 error + + ; Now the flats. Keywords should all be pretty obvious... *8) + + ; Teleport-gate floors + Flat GATE1 gate comp BAZ + + ; Bazoik floors and ceilings + Flat CEIL3_1 ceiling light comp BAZ + Flat CEIL3_1 ceiling outside comp BAZ + Flat CEIL3_1 floor comp BAZ + Flat CEIL3_1 ceiling comp BAZ + Flat CEIL3_1 floor outside comp BAZ + + ; and nukage + Flat BLOOD1 nukage comp BAZ + Flat LAVA1 nukage red comp BAZ + + ; Floors for outside areas not yet mentioned + Flat CEIL3_1 outside + + ; These are the defaults, but we'll list them anyway. + Flat FWATER1 water + Flat F_SKY1 sky + + ; Constructs: computers and crates and stuff that stand around in rooms + ; This is pretty complex! Fool with it at your peril. + + ; Family 1 is crates of various sizes and kinds + Construct family 1 height 128 comp BAZ + top CRATOP2 + Primary CRATE2 width 64 + + ; Load the hardwired monster and object and so on data (required in + ; this version of SLIGE; don't remove this!) + Hardwired1 + + ; Say which lamps we like in which themes, and where barrels are allowed + ; Information like which Doom version each object is in, and which ones + ; cast light, and which ones explode, is still hardwired. + Thing 2028 comp BAZ ; floor lamp + + ; and that's it! + ]] - villa_deuce_Hallway = - { - env = "hallway", - group = "deuce", - prob = 50, - - walls = - { - CJVILL01 = 50, - }, - - floors = - { - CJFVIL02 = 50, - CJFVIL04 = 50, - }, - - ceilings = - { - FLAT14 = 50, - CJFCOMM3 = 50, - CEIL5_1 = 50, - FLOOR0_6 = 25 - } - - }, - - villa_Outdoors = - { - env = "outdoor", - prob = 50, - - floors = - { - CJFCRA03 = 50, - }, - - naturals = - { - CJMINE02 = 50, - CJCLIF01 = 50 - }, - - porch_floors = - { - CJFVIL01 = 50, - CJFVIL02 = 50 - }, - }, - villa_Cave = + chex_labs = { - env = "cave", - prob = 50, - - floors = - { - CJFSHIP3 = 50, - CJFSHIP2 = 50, - }, - - walls = - { - CJSHIP02 = 50, - CJSHIP05 = 50 - } - - }, + + slump_config = + [[ + ; + ; Sample SLIGE config file. (Semicolon starts a comment to end of line.) + ; + ; This is the SLIGE.CFG as shipped with SLIGE itself. It contains a + ; description of the default SLIGE configuration, as hardwired into + ; the program. So having this file in the current directory under the + ; name SLIGE.CFG should produce exactly the same effect as not having + ; any config file at all. You can use this file as a base to build + ; your own config files on (but if you do, you should change these + ; comments; otherwise they'll be WRONG!). + ; + ; Dave Chess, dmchess@aol.com, chess@us.ibm.com + + ; The current implementation ignores everything before the + ; [THEMES] line also, but that will change. + + [THEMES] ; Anything after a ; is, remember, a comment + + ; We have three themes, one secret. They should all be declared + ; before any textures or flats or anything else. The only valid + ; modifier is "secret", which says that that theme should only be + ; used on secret levels. There should be at least one "secret" + ; theme. + + Theme LAB ; Chex labs + + ; Flats and textures and constructs and stuff are also in the [THEMES] section + + ; Textures are described by "Texture NAME ". Obvious + ; attributes include "wall", "door", and so on. Some subtler ones: + ; + ; "core " means that this texture should be common in that theme. + ; "comp " means that this texture is compatible with that theme, but + ; not to be used all that often. + ; "switch " means "the given texture is a good switch to use in + ; a room that has walls of the current texture" + ; "isswitch" means "the current texture is a good switch to use on any + ; wall in a room with a compatible theme" + ; "subtle " means "the given texture is a subtle variant of the + ; current texture, suitable for hinting at secrets" + ; "yhint N" means "when using a vertical misalignment to hint at + ; a secret door in a wall of this texture, use a y-offset of N". If + ; N is zero, it means "this wall is too visually complex to hint via a + ; y-misalignment at all; hint some other way". If no "yhint" is given, + ; the value 5 is used. + ; "noDoom2" means that the texture does not exist in the usual DOOM II + ; IWAD. "noDoom0" means it doesn't exist in the DOOM 1.2 IWAD, and + ; "noDoom1" means it's not in the DOOM 1.666 or 1.89 IWAD. If none + ; of these are specified, the texture is assumed to be in all. + ; "size " gives the size of the texture. You can leave + ; this out if the height is 128, and the width is some reasonable + ; divisor of 256 (except for doors, where you should give the real + ; width so SLIGE can make them look nice). + + ; Lab walls + Texture SKIN2 size 128 128 wall core LAB + Texture STARG3 size 128 128 wall core LAB subtle CEMENT6 + Texture TEKWALL2 size 128 128 wall core LAB subtle STONE2 + + ; Lab switches + Texture SW1STARG size 128 128 isswitch comp LAB + Texture SW1PIPE size 128 128 isswitch comp LAB + + ; And the lift texture + Texture COMPBLUE size 64 128 lift comp LAB + + ; Doors of all kinds. "size" gives the width and height of the texture, + ; and "locked" means that it's a good texture to use on a door that only + ; opens with a switch, not a touch. + Texture BIGDOOR4 size 128 128 door comp LAB + Texture BIGDOOR1 size 128 128 door comp LAB + Texture SP_DUDE4 size 64 128 door comp LAB + Texture SKSNAKE1 size 64 128 door comp LAB + + ; Lab exit switches + Texture SW1STARG size 128 128 exitswitch comp LAB + Texture SW1PIPE size 128 128 exitswitch comp LAB + + ; Lights, suitable for lighting recesses and stuff. + Texture LITEMET size 128 128 light comp LAB + + ; "Plaques", suitable for wall consoles and paintings and pillars and stuff. + ; "vtiles" means that it's OK to pile one on top of another, as when + ; making the big central pillar in an arena. + ; "half_plaque" means that the upper half of this texture can be used + ; by itself, as well as the whole thing. + Texture FIREWALL size 128 112 plaque vtiles comp LAB + + ; Gratings + Texture MIDVINE1 size 256 128 grating comp LAB + Texture MIDVINE2 size 256 128 grating comp LAB + + ; Colors (suitable for marking key-locked things) + Texture DOORRED size 8 128 red comp LAB + Texture DOORYEL size 8 128 yellow comp LAB + Texture DOORBLU size 8 128 blue comp LAB + + ; Step kickplates + Texture STEP1 size 32 8 step comp LAB + + ; "Doorjambs" + Texture COMPSTA1 size 8 128 jamb comp LAB + + ; Support textures, used in various places + Texture SUPPORT2 size 64 128 support comp LAB + + ; Bunch of things for outside patios (no themes applied here) + Texture BIGDOOR3 size 128 128 outside + + ; Misc + Texture LITEBLU1 size 128 128 error + + ; Now the flats. Keywords should all be pretty obvious... *8) + + ; Teleport-gate floors + Flat GATE1 gate comp LAB + + ; Lab floors and ceilings + Flat FLOOR4_1 ceiling light comp LAB + Flat FLOOR4_1 ceiling outside comp LAB + Flat FLOOR4_1 floor comp LAB + Flat STEP1 floor comp LAB + Flat FLOOR4_1 ceiling comp LAB + Flat FLOOR4_1 floor outside comp LAB + + ; and nukage + Flat BLOOD1 nukage comp LAB + Flat LAVA1 nukage red comp LAB + + ; Floors for outside areas not yet mentioned + Flat CEIL3_1 outside + + ; These are the defaults, but we'll list them anyway. + Flat FWATER1 water + Flat F_SKY1 sky + + ; Constructs: computers and crates and stuff that stand around in rooms + ; This is pretty complex! Fool with it at your peril. + + ; Family 1 is crates of various sizes and kinds + Construct family 1 height 128 comp LAB + top CRATOP2 + Primary CRATE2 width 64 + + ; Load the hardwired monster and object and so on data (required in + ; this version of SLIGE; don't remove this!) + Hardwired1 + + ; Say which lamps we like in which themes, and where barrels are allowed + ; Information like which Doom version each object is in, and which ones + ; cast light, and which ones explode, is still hardwired. + Thing 2028 comp LAB ; floor lamp + + ; and that's it! + ]] + + } } + ------------------------------------------------------------------------ function CHEX1.slump_setup() @@ -1226,17 +554,9 @@ OB_THEMES["bazoik"] = mixed_prob = 34 } -OB_THEMES["spaceport"] = -{ - label = _("Chextropolis"), - game = "chex1", - name_class = "URBAN", - mixed_prob = 33 -} - -OB_THEMES["villa"] = +OB_THEMES["chex_labs"] = { - label = _("Villa Chex"), + label = _("Chex Labs"), game = "chex1", name_class = "URBAN", mixed_prob = 33 diff --git a/games/harmony/base.lua b/games/harmony/base.lua new file mode 100644 index 0000000000..fe97c3764f --- /dev/null +++ b/games/harmony/base.lua @@ -0,0 +1,35 @@ +HARMONY = { } + +---------------------------------------------------------------- +gui.import("params") +gui.import("themes") +gui.import("resources") +gui.import("names") +---------------------------------------------------------------- + +function HARMONY.all_done() + gui.wad_insert_file("data/endoom/ENDOOM.bin", "ENDOOM") +end + +OB_GAMES["harmony"] = +{ + label = _("Harmony Compat"), + priority = 91, + + engine = "idtech_1", + format = "doom", + + game_dir = "harmony", + iwad_name = "harm1.wad", + + tables = + { + HARMONY + }, + + hooks = + { + slump_setup = HARMONY.slump_setup, + all_done = HARMONY.all_done + }, +} \ No newline at end of file diff --git a/games/harmony/names.lua b/games/harmony/names.lua new file mode 100644 index 0000000000..47dd7a3ab3 --- /dev/null +++ b/games/harmony/names.lua @@ -0,0 +1,4111 @@ +HARMONY.NAMES = +{ + COMMON = + { + -- these words and patterns are shared by all themes + + -- FIXME... + + lexicon = + { + + -- Why not some level names common in all themes? + -- Also, how do we keep 'Common' theme full names + -- from not being in more than one theme? + -- -Reisal, 12/30/20, + + -- Another side note, please keep future definitions + -- in alphabetical order for those who add more to this + -- besides me lol + -- Reisal, 2/6/21, + + s = + { + ["A Walk on Thin Ice"]=10, + ["Alternative Means"]=10, + ["Annihilation"]=10, + ["Reisal Loves Naming"]=10, -- Bahaha! + ["Ascent into Madness"]=10, + ["Backstabbed"]=10, + ["Black Skies"]=10, + ["Blown to Bits"]=10, + ["Chaos Within"]=10, + ["Choirs of Progress"]=10, + ["Compromised"]=10, + ["Complete Breakdown"]=10, + ["Concrete Retribution"]=10, + ["Converging Hex Sequence"]=10, + ["Dead Men's Choir"]=10, + ["Duality of Entropy"]=10, + ["Dulling of the Senses"]=10, + ["Empty Echo"]=10, + ["Fading into Obscurity"]=10, + ["Finding The Path"]=10, + ["Final Suffering"]=10, + ["Fire With Fire"]=10, + ["Fueling the Flames"]=10, + ["Genocidal Delusions"]=10, + ["Go Fuck Yourself"]=10, -- Sunlust MAP29. + ["Headshot"]=10, + ["Into the Fog"]=10, + ["Liquid Violence"]=10, + ["Lost in Apathy"]=10, + ["Memories from the Surface"]=10, + ["Negative Inverted Sphere"]=10, + ["Never Forgive, Never Forget"]=10, + ["Never Give Up"]=10, + ["Nothing But Lies"]=10, + ["Nowhere"]=10, + ["No Violence, No Progress"]=10, + ["Out of Touch"]=10, + ["Parallel Tribulation"]=10, + ["Passing Through"]=10, + ["Plausable Fear"]=10, + ["Revelations of Doom"]=10, -- Also a Hellhammer song title + ["Spiraling Uncertainity"]=10, + ["The Fourth Dimension"]=10, -- Hypocrisy song and album title + ["The Marine Element"]=10, + ["The Unknown"]=10, + ["Through the Looking Glass"]=10, + ["Where Demons Roam"]=10, + ["Within the Mirror"]=10, + ["Woeful Unknown"]=10, + ["Zero Null"]=10, + + -- Single word descriptions, typically work (IE Fear for E4M9) + -- Usually adjectives or verbs, mostly negative. + ["Abandoned"]=7, + ["Absolution"]=7, + ["Agony"]=10, + ["Anguish"]=10, + ["Atonement"]=5, + ["Battered"]=7, + ["Betrayal"]=10, + ["Chaos"]=10, + ["Contempt"]=10, + ["Corruption"]=10, + ["Cowardice"]=7, + ["Deconstruction"]=7, + ["Dehumanized"]=5, + ["Despair"]=10, + ["Desperation"]=7, + ["Dismay"]=10, + ["Doubt"]=7, + ["Drained"]=5, + ["Dread"]=10, + ["Envy"]=10, + ["Euphoria"]=7, + ["Evil"]=10, + ["Fear"]=10, -- Why not? + ["Fury"]=7, + ["Guilt"]=10, + ["Hatred"]=10, + ["Lunacy"]=7, + ["Misery"]=10, + ["Nihility"]=7, + ["Numb"]=7, + ["Obliteration"]=10, + ["Pain"]=10, + ["Peril"]=10, + ["Possession"]=5, + ["Purity"]=5, + ["Redemption"]=5, + ["Resentment"]=10, + ["Revulsion"]=7, + ["Ruin"]=7, + ["Seclusion"]=5, + ["Spite"]=5, + ["Tarnished"]=5, + ["Terror"]=10, + ["Turmoil"]=10, + ["Wasted"]=5, + ["Woe"]=7, + ["Wrath"]=10, + + -- id software song name references.. + ["At Obsidian's Gate"]=10, + ["The Doom Song"]=10, + ["Dark Halls"]=10, + ["RMG Ace"]=10, + ["Suspense"]=10, + ["On the Hunt"]=10, + ["Sign of Hell"]=10, + ["I Sawed the Imps"]=10, + ["Demons on the Prey"]=10, + ["Hiding the Goodies"]=10, + ["They Gonna Getcha"]=10, + ["Sinister"]=10, + ["Noone Told me about Obsidian"]=10, + ["Untitled"]=10, -- lol yes, E3M1 is titled this + ["Shooter to the Rescue"]=10, + ["Deep into the Lua"]=10, + ["Facing the Script Error"]=10, + + -- Foreign equalivents.. + ["A La Caza"]=10, -- "On the Hunt" in Spanish + ["Siniestro"]=10, -- "Sinister" in Spanish + ["Umgang mit dem Skriptfehler"]=10, -- "Facing the Script Error" in German + + -- Doom 2.. + ["Entrance"]=10, + ["The Monster Closet Stalks"]=10, + ["Countdown to Hell"]=10, + ["Between Megawads"]=10, + ["OBSIDIAN"]=10, + ["In the Dark"]=10, + ["Dasho's got the Compiler"]=10, + ["Dave D. Taylor Blues"]=10, + ["Into Your Map Set"]=10, + ["The Demon's Dead"]=10, + ["Waiting for Craneo to Play"]=10, + ["Message from the Administrator"]=10, + ["Bye Bye Canadian Pie"]=10, + ["Reisal's Asleep"]=10, + ["Getting Too Hot"]=10, + ["Opening to Evil"]=10, + + -- Evilution.. + ["Masochistic"]=10, + ["Smells like Burning Corpse"]=10, + ["Death's Bells"]=10, + ["Too Much"]=10, + ["Agony Rhapsody"]=10, + ["Soldier of Chaos"]=10, + ["Neverending"]=10, + ["Frigid Subtleness"]=10, + ["FightDieReloadSave"]=10, + ["Legion of the Lost"]=10, + + -- PSX Doom.. + ["Retribution Dawns"]=10, + ["The Broken Ones"]=10, + ["Sanity's Edge"]=10, + ["Hell's Churn"]=10, + ["Digitized Pain"]=10, + ["The Demonic Pulse"]=10, + ["Steadfast Extermination"]=10, + ["In the Grip of Madness"]=10, + ["Creeping Brutality"]=10, + ["Hopeless Despair"]=10, + ["Bells of Agony"]=10, + + -- OwO what's this? More from Reisal?! + -- Just straight up weird or funny, rarely chosen though. Some memey stuff present! + ["A Stupid Level Name"]=2, + ["Another Generated Map"]=2, + ["Comment Ninja"]=2, + ["DOOM2.WAD"]=2, + ["Hetfield's Inflated Ego"]=2, + ["It's Been One of Those Days"]=2, -- See above + ["lol"]=2, + ["Marty's Loveable Funhouse"]=2, -- Refers to Marty Stratton, one of id's executive producers + ["Naming.lua"]=2, + ["OH NOES"]=2, + ["OwO"]=2, + ["Phobos and Deimos Kissfest"]=2, + ["Romero's Oversized Mindset"]=2, + ["Popcorn"]=2, + ["Songs of Praise"]=2, + ["Take It Like a Man"]=2, + ["The Trail to the Toilet"]=2, -- In-joke with Obsidian team, I blame Shooter for this lol + ["Tom Hall's Halls"]=2, + ["UwU"]=2, + ["We are not COMPET-N friendly!"]=2, + ["You Are Not Special"]=2, + + -- Other uncommon naming.. + ["A Major Inconvenience"]=3, + ["Clockhand's Groaning Circles"]=3, + ["Die Insane"]=3, + ["Even More Pain"]=3, + ["Instant Justice"]=3, + ["You are Just a Number"]=3, + + ["Astronomical Union"]=5, + ["Blueprint for the Apocalypse"]=5, + ["Deliirum's Tears"]=5, + ["Garden of Delusions"]=5, + ["Goat Seeds of Doom"]=5, + ["Halls of the Dead"]=5, + ["Of Light's Demise"]=5, + ["Pure Holocaust"]=5, + ["Seeds of the Chosen One"]=5, + ["Symbiotic Infusion"]=5, + ["Taste the Extreme Divine"]=5, + ["The Comfort of Cowards"]=5, + ["Turn the Page"]=5, + ["Where Storms Cease"]=5, + ["Within the Wicked Mind"]=5, + + -- What do we have? MORE Naming? Owo + -- A bunch of abstract shit is here too! - Reisal, Jun. 13, 2021 + ["A Madman's Crusade"]=10, + ["Absence of Nihility"]=10, + ["Abstract Transcendence"]=10, + ["Abstraction of Men"]=10, + ["Accepting Chaos"]=10, + ["Action at a Distance"]=10, + ["Addiction of the Obscure"]=10, + ["An Idiot's Fate"]=10, + ["Animus Nocturnus"]=10, + ["Annihilative Symmetry"]=10, + ["Apocalyptic Inverted Star"]=10, + ["Apocalyptic Life"]=10, + ["Among The Failing Stars"]=10, + ["Artificial Lightning Phenomenon"]=10, + ["As the Journey Begins"]=10, + ["As The Mirror Shatters"]=10, + ["Banished Chaotic Perceptions"]=10, + ["Beauty in Binary Death"]=10, + ["Beyond the Subliminal"]=10, + ["Bitter Season"]=10, -- Silent Hill + ["Black Fairy"]=10, -- Silent Hill + ["Black Sky Symmetry"]=10, + ["Blasphemous Iconograph"]=10, + ["Bleed Me a River"]=10, + ["Blessed Be Thy Cosmos"]=10, + ["Bodies of Venus"]=10, + ["Broken Strings"]=10, + ["Brush Off"]=10, + ["Burning Creation"]=10, + ["Calculating The Catalyst"]=10, + ["Chaotic Lunar Rhythm"]=10, + ["Choir of Cosmic Souls"]=10, + ["Chthonic Possession"]=10, + ["Coordinates to the Nightmare"]=10, + ["Constructive Deconstruction"]=10, + ["Dance With The Night Wind"]=10, -- Silent Hill + ["Dark Matter Dimensions"]=10, + ["Darkness That Lurks in Our Minds"]=10, -- Silent Hill + ["Delay's Progression"]=10, + ["Delusions of Space-Time"]=10, + ["Despair Among The Zenith"]=10, + ["Detachment From Reality"]=10, + ["Dream-Prism"]=10, + ["Driving Off the Weak"]=10, + ["Emotional Enigmatic Storms"]=10, + ["Elusive Dark Dreams"]=10, + ["Eternal Timeframe"]=10, + ["Evil Has No Boundries"]=10, + ["Expendable Nightmares"]=10, + ["Firedancer"]=10, + ["Flauros"]=10, + ["Forgotten But Not Gone"]=10, + ["Fragility of Light"]=10, + ["Fury of Sol"]=10, + ["Funeral Waltz"]=10, + ["Hell Besides You"]=10, + ["Hell's Black Metal"]=10, + ["Holographic Suicide"]=10, + ["Howling Solar Storms"]=10, + ["Hydra"]=10, + ["Iconoclastic Death Tempest"]=10, + ["Illusive Rust Titans"]=10, + ["Interlude?"]=10, + ["Into Danger"]=10, + ["Into Misery"]=10, + ["Keepers of the Veil"]=10, + ["Knights of Abstraction"]=10, + ["Life, Death, Rebirth, Gunfire"]=10, + ["Lunar Fusion Catalyst"]=10, + ["Lunacy of the Twin Stars"]=10, + ["Machinations of the Illusion"]=10, + ["Mind Machines"]=10, + ["Mirage"]=10, + ["Mon Ame Noir"]=10, -- "My Black Soul" + ["More Than Hate"]=10, + ["My Justice For You"]=10, -- Silent Hill + ["Never End Never End Never End"]=10, -- Silent Hill + ["New Death Sensation"]=10, + ["Neurons of the Ghost"]=10, + ["Nightmarish Oscillation Machine"]=10, + ["No Legacy Left Behind"]=10, + ["Nothing Lasts Forever"]=10, + ["Obscure Clarity of Death"]=10, + ["Ocularis Infernum"]=10, -- "Ocular Hell" + ["Of Hell and Kinetics"]=10, + ["One Foot in the Grave"]=10, + ["Only You"]=10, + ["Orchestrate The Infinite"]=10, + ["Oscillative Revenants"]=10, + ["Pariah"]=10, + ["Passive Destruction"]=10, + ["Persecutive Solar Death"]=10, + ["Pitch Black Progress"]=10, + ["Power Perception"]=10, + ["Prelude of Dusk"]=10, + ["Prophetic Void Illusions"]=10, + ["Prey of the Catalyst"]=10, + ["Prismatic Mushroom Helix"]=10, + ["Proper Lunar Timeframe"]=10, + ["Prismatic Firestorm"]=10, + ["Purity of the Planets"]=10, + ["Quantum Consciousness Deviation"]=10, + ["Rain"]=10, + ["Razor Red Prismatic Death"]=10, + ["Ruins of the Solar Towers"]=10, + ["Sabbath Burning Sabbath"]=10, -- Play on Black Sabbath's "Sabbath Bloody Sabbath" + ["Scars"]=10, + ["Sculpture Void"]=10, + ["Shadowvoid Sun"]=10, + ["Sickness Unto Wicked Death"]=10, + ["Sins of the Solar System"]=10, + ["Smug Yet Destructive"]=10, + ["Speakers of Truth and Time"]=10, + ["Staircase To The Abyss"]=10, -- Silent Hill + ["Stars of Stone"]=10, + ["Storm of Illusions"]=10, + ["Stream of Oscillative Moons"]=10, + ["Summer Snow"]=10, -- Silent Hill + ["Sun, Moon, Earth"]=10, + ["Symmetric Death"]=10, + ["Synchronized Chaos Waves"]=10, + ["Tampering With The Unknown"]=10, + ["Tears Of..."]=10, -- Silent Hill + ["That Dead Day"]=10, + ["The Blade"]=10, + ["The Breaking Point of Light"]=10, + ["The Great Collapse"]=10, + ["The Manifest"]=10, + ["The Prism Spheres Beyond"]=10, + ["The Quantum Star Incident"]=10, + ["The Road To Ruin"]=10, + ["The Sphere of Desire"]=10, + ["This River Runs Dry"]=10, + ["Three-Dimensional Shadows"]=10, + ["Traumatic Time Scar"]=10, + ["Time Barons"]=10, + ["Through the Obscure"]=10, + ["Underneath the Shadow Storm"]=10, + ["Veils of the Cosmic Void"]=10, + ["What Fuels The Ghosts"]=10, + ["You're Not Here"]=10, -- Silent Hill + ["You're Not Here, Right?"]=10, + + -- Foreign shit for the luls + ["Chaos und Verachtung"]=10, -- "Chaos and Contempt" + ["No se puede inventar esta mierda"]=10, -- "You Can't Make This Shit Up" in Spanish + + -- End of 2021 additions + ["Angles of Hell"]=10, + ["Among Predaceous Cliffs"]=10, + ["Ascending the Unknown"]=10, + ["Choice and Consequence"]=10, + ["Crafting the Demise"]=10, + ["Everything Has Its Place"]=10, -- Chapter name from Dead Space 3 + ["Hell's Heavy Burden"]=10, + ["History's Ember"]=10, -- Chapter name from Dead Space 3 + ["Reaching the Sky"]=10, + ["Rude Awakening"]=10, + ["Testing One's Limits"]=10, + ["The Fading Skies"]=10, + ["The Long Way Forward"]=10, + ["Turning the Page"]=10, + + -- 2022 marker, now with me combing through my music collection for names! (16k songs!) -A + ["...Again it Shall Be"]=10, + ["A Shadowplay for Yesterday"]=10, + ["Achtung!"]=10, -- "Attention!" in German + ["Addicted to Sin"]=10, + ["Admitting Fear"]=10, + ["Adrenaline Rush"]=10, + ["After"]=10, + ["Apocalyptic Visions"]=10, + ["Approaching Death"]=10, + ["Autumn Overture"]=10, + ["Beginning of a Nightmare"]=10, + ["Behind the Times"]=10, + ["Between the Abyss"]=10, + ["Beyond Northern Waves"]=10, + ["Blackness that Lurks in our Heart"]= 10, -- Akira Yamaoka - "The Darkness that Lurks in our Mind" (Silent Hill Soundtrack) + ["Breaking Silence"]=10, + ["Bring it On!"]=10, + ["Celestial Crimes"]=10, -- 1349, I think? + ["Chaos and Confusion"]=10, + ["Clavicula Nox"]=10, + ["Clawhammer"]=10, -- Silent Hill + ["Completely Unprepared"]=10, + ["Crippled Beyond Belief"]=10, + ["Crisis of Life"]=10, + ["Death in Your Eyes"]=10, + ["Death, Why Do I Envy You?"]=10, + ["Disciples of Death"]=10, + ["Disconnected Magnetic Corridors"]=10, + ["Doomsower"]=10, + ["Elastic Inverted Visions"]=10, + ["Face the Nightmare"]=10, + ["Free Will Sacrifice"]=10, + ["From the Dark Past"]=10, + ["He Who Walks Further"]=10, + ["Heaven Give Me Say"]=10, + ["How Much is Enough?"]=10, + ["I am The Black Demons"]=10, + ["Illusions of Life"]=10, + ["In the Lies Where Upon You Lay"]=10, + ["Inspiration on Demand"]=10, + ["King of the Kill"]=10, + ["Lex Obsidianis"]=10, + ["Let the New Day Begin"]=10, + ["Metallic Storm"]=10, + ["Nether Novas"]=10, + ["Nihilist Nexus"]=10, + ["Not Going Anywhere"]=10, + ["Of Monochrome Nights"]=10, + ["One Man's Failure"]=10, + ["Only Silent Skies"]=10, + ["Paled Empty Spheres"]=10, + ["Premonition"]=10, + ["Rain"]=10, + ["Reflections"]=10, + ["So Grim So True So Real"]=10, + ["Struck by Fate"]=10, + ["Take a Turn"]=10, + ["The Broken Ones"]=10, + ["The Chaos Drains"]=10, + ["The Cruel Transcendency"]=10, + ["The Emerald Parallax"]=10, + ["The First Noble Truth"]=10, + ["The Mental Abyss"]=10, + ["The Metal Creed"]=10, + ["Thrash It or Trash It"]=10, + ["Threnody"]=10, + ["Ultraviolence"]=10, + ["Unto Foolish Death"]=10, + ["View From The Nihil"]=10, + ["Voices and Victims"]=10, + ["Wail of Warning"]=10, + ["Warwolf"]=10, + ["When the Candle Fades"]=10, + ["When the Kite String Breaks"]=10, + ["World of Shit"]=10, + ["Would You, Could You?"]=10, + + -- Max Payne. Copied from EPISODE table. + ["A Cold Day in Hell"] = 10, + ["A Bit Closer to Heaven"] = 10, + ["Let Guns do the Talking"] = 10, + ["Fear That Gives Men Wings"] = 10, + ["Ragna Rock"] = 10, + ["Pain and Suffering"] = 10, + ["Take me to Cold Steel"] = 10, + ["The Deep Six"] = 10, + ["In The Land of the Blind"] = 10, + ["Hidden Truths"] = 10, + ["Byzantine Power Game"] = 10, + + ["Forget Being Subtle"] = 10, + ["Stepping on Toes"] = 10, + ["A Few Bullets Back"] = 10, + ["In The Crossfire"] = 10, + + ["Riding Shotgun"] = 10, + ["Ice Hard and Slick"] = 10, + ["Straight from a Bad Dream"] = 10, + + -- Max Payne 3 + ["Something Rotten in the Air"]=10, + ["Nothing But the Second Best"]=10, + ["Just Another Day At the Office"]=10, + ["Alive If Not Exactly Well"]=10, + ["Ain't No Reprievement Found"]=10, -- Shortened because it is very long + ["One Card Left To Play"]=10, + + -- Mid 2022 stuff.. + ["A World Long Dead"]=10, + ["Admiring One's Opponent"]=10, + ["Among the Endless Abysses"]=10, + ["Armageddon's Raid"]=10, + ["Baptism by ICBM"]=10, + ["Crosses, Death, Technology, Sin"]=10, + ["Deflier of Star Systems"]=10, + ["Destruction of Omniastic Society"]=10, + ["Doomed From the Beginning"]=10, + ["Dynasties from Ice"]=10, + ["Enigmatic Delights"]=10, + ["Erased and Forgotten"]=10, + ["Fate Forged in Name of Hate"]=10, + ["Fistfucking God's Planet"]=10, + ["Humanity is Broken"]=10, + ["Just A Little More Every Day"]=10, + ["Lunatic of God's Creation"]=10, + ["Misery Walks Among Thee"]=10, + ["Nuclear Death Terror"]=10, + ["Of Hideous Perspectives"]=10, + ["Severing Ties With This Earth"]=10, + ["Symmetry of Zero"]=10, + ["The Dying Lights of Umbrus"]=10, + ["Time's Edge"]=10, + ["To What Has Become of Us"]=10, + ["Unforgotten Treachery"]=10, + ["You Got It, I Want It"]=10, + ["Zealot"]=10, + + -- Late 2022 additions.. + ["A Scar For Every Dream"]=10, + ["Aversion to Life"]=10, + ["Begotten in Black"]=10, + ["Carnal Murder"]=10, + ["Crossing the Abyss"]=10, + ["Dampening Existence"]=10, + ["Derailed Morality"]=10, + ["Descending Shadows"]=10, + ["Destined to Rot"]=10, + ["Detestable Illumination"]=10, + ["Dreadful Consciousness"]=10, + ["Empowered by Battlespells"]=10, + ["Eternal Wheels of Life"]=10, + ["Eternity's Embrace"]=10, + ["Everflowing Sands of Time"]=10, + ["Extorted Evolution"]=10, + ["Eyes Ablaze"]=10, + ["Gutted Visions"]=10, + ["Haven Defiled"]=10, + ["In Perennial Twilight"]=10, + ["In the Waves of Darkness"]=10, + ["Inscription of Failure"]=10, + ["Law of Decay"]=10, + ["Lechery"]=10, + ["Letting Yourself Go"]=10, + ["Malevolent Firmament"]=10, + ["Meager Escapism"]=10, + ["Nameless and Faceless"]=10, + ["Obscure Affliction"]=10, + ["Obscure Evil"]=10, + ["Of a Moribund Vision"]=10, + ["Purging Nefarious Vortex"]=10, + ["Repaying Debt in Blood"]=10, + ["Righteousness Decayed"]=10, + ["Thoughts that Condemn"]=10, + ["Veil of Ignorance"]=10, + ["Virtus Tenebris"]=10, + ["Winds of Insanity"]=10, + + -- Marijuana related parody song names from death metal band Cannibis Corpse. + -- Their songs and album names are based off of other metal bands, Cannibal Corpse, + -- Bolt Thrower, Morbid Angel, etc. Made uncommon because of the silliness of the + -- track names. -A, Nov. 11th, 2022 + ["Blame it on Bud"]=3, + ["Chapel of Bowls"]=3, + ["Chronolith"]=3, + ["Effigy of the Forgetful"]=3, + ["Force Fed Shitty Grass"]=3, + ["Gallery of Stupid High"]=3, + ["Gateways to Inhalation"]=3, + ["In Battle There is No Pot"]=3, + ["In Dank Purity"]=3, + ["Left Hand Pass"]=3, + ["Lunatic of Pot's Creation"]=3, + ["Mummified in Bong Water"]=3, + ["Reefer Stashed Place"]=3, + ["Slave to the Chron"]=3, + ["Sworn to the Bag"]=3, + ["The 420th Crusade"]=3, + ["Where the Kind Lives"]=3 -- end marker + + }, + + -- end COMMON names + + v = + { + ["Curse of the"]=10, + + -- these from flyingdeath + ["Enter the"]=10, + ["Welcome to the"]=10, + ["Escape the"]=10, + ["Flight from the"]=5, + ["Journey to the"]=10, + ["Assault on the"]=15, + ["Death Awaits in the"]=5, + ["Hell in the"]=5, + + -- these by Reisal + ["Fear the"]=10, + ["Beware the"]=10, + ["Bane of the"]=10, + ["Scourge of the"]=10, + ["Ordeal of the"]=10, + ["Calamity in the"]=10, + ["Misdeed by the"]=10, + ["Dread the"]=10, + ["Shun the"]=10, + ["Plague of the"]=10, + ["Pain from the"]=10, + ["Death in the"]=10, + ["Chaos in the"]=10, + + ["Adventure to the"]=10, + ["A Jaunt to the"]=10, + + -- these by MSSP + ["Battle for the"]=15, + ["Battle through the"]=10, + ["Into the"]=10, + ["Operation"]=10, + ["Mission"]=7, + ["Objective:"]=7, + ["Counterattack in the"]=7, + ["Ambush in the"]=7, + ["Get to da"]=3, -- CHOPPAH!!! + ["War of the"]=10, + ["Return to"]=10, + ["Return to the"]=10, + + ["Raze the"]=8, + + -- these by Frozsoul + ["Revenge of the"]=10, + + -- command-like prefixes, some by Dante + ["Attack the"]=10, + ["Destroy the"]=10, + --["Shut Down the"]=15, + --["Patrol the"]=15, + ["Secure the"]=10 + --["Clear this"]=5, + --["Defend this"]=10, + + -- ^^^ Some of these sound pretty decent + -- so I enabled them. Things like shutting down + -- patrolling, defending, etc. are too explicit. + -- MSSP + } + }, + + divisors = + { + a = 10, --\ + b = 10, -- adjectives + h = 10, --/ + + n = 50, -- noun: Base, Station, City (etc) + m = 3, -- monster name: Demon, Imp, Mummy (etc) + e = 3, -- evil being: Satan (etc) + + t = 1, -- article: The XX + v = 20, -- phrase before a noun: Curse of the XX + r = 40, + + s = 1000 -- single complete names + } + }, + -- end of 'COMMON' theme + + -------------------------------------------------- + + GOTHIC = + { + patterns = + { + -- lexicon legend: + -- %e = Entity + -- %a = Adjectives + -- %n = Places + -- %h = Explicit description (e.g. I am Satan, "Arena of ") + -- %o = Implicit description (e.g. I am Satanic, "Arena of ") + -- %v = Prefixed phrase (as per COMMON table e.g. " Arena) + + ["%a %n"] = 60, + ["%t %a %n"] = 20, + + --["%a %n %x"] = 20, + --["%t %a %n %x"] = 8, + + ["%n of %h"] = 26, + ["%a %n of %h"] = 10, + ["%a %n of the %o"] = 10, + + ["%e's %n"] = 10, + ["%e's %a %n"] = 8, + ["%e's %n of %h"] = 6, + ["%e's %n of the %o"] = 6, + + ["%v %n"] = 25, + ["%v %a %n"] = 25, + + ["%s"] = 100, + + ["Killing for %e"] = 3, + ["Killing in %e's name"] = 3, + ["Dying for %e"] = 3, + ["Dying in %e's name"] = 3, + ["Unworthy for %e"] = 3, + ["%e's Bitch"] = 2, + }, + + lexicon = + { + t = + { + The=50, + }, + + e = + { + Romero=1, -- the Icon of Sin + + -- Judeo-Christian literature evil stuff (includes Ars Goetia) + Satan=10, ["The Devil"]=7, Lucifer=7, Amon=3, Agares=3, + Malthus=3, Beelzebub=3, Moloch=3, + Xezbeth=3, Botis=2, Sitri=2, Mammon=3, Saleos=3, + Haborym=3, Raum=2, Forcas=3, + Ipos=3, Xezbeth=3, Abaddon=3, Phenex=2, + Baal=3, Berith=3, -- isn't this like the same guy, just his first and last name? + Haagenti=3, Caim=2, Seir=3, Nybbas=2, + Astaroth=2, Leviathan=1, + Pithius=3, Lempo=3, Kasdeya=3, + + -- OMG THEY'RE FRENCH?! + Balber=3, Carreau=3, Carnivean=3, + Oeillet=3, Rosier=2, Luvart=2, + Verrier=2, Olivier=2, Verrine=3, + -- They sound so undemonic you could almost + -- believe they're names of beautiful French + -- people sitting in a cafe while having + -- some cheese and wine + + Dante=5, + + Ahazu=3, --Wikipedia + Abezithibou=2, Abyzou=2, Agaliarept=2, + Asmodeus=3, Azazel=3, Balam=3, + Baphomet=3, Barbas=3, Barbatos=3, + Belial=3, Beleth=3, Bifrons=1, + Caim=2, Corson=2, Crocell=2, Dantalion=3, + Demogorgon=3, Eisheth=3, Focalor=3, Foras=3, + Forneus=3, Gaap=3, Gaderel=2, Gamigin=2, + Gremory=3, Gusion=1, Legion=5, Lilith=5, + Malphas=3, Marax=3, Marchosias=3, Merihem=3, + Murmur=3, Naamah=3, Naberius=3, Orias=3, + Orobas=2, Ose=2, Paimon=3, Penemue=3, + Pruflas=3, Rahab=3, Renove=2, Sabnock=3, + Samael=3, Sitri=2, Soneillon=3, + Salpsan=3, Shedim=3, Stolas=3, Surgat=3, + Tannin=3, Ukobach=3, Valac=3, Vapula=3, + Valac=2, Vepar=3, Zagan=3, Zepar=3, Ziminar=3, + + Titivullus=3, Belphegor=3, + + Korah=3, + + -- Native American stuff + Dzoavits=2, Wendigo=3, Vucub=3, Wechuge=2, + + -- Greek stuff + Abraxas=3, Chimera=5, Minotaur=5, Pandora=1, Minos=2, + Cerberus=5, Typhon=3, Echidna=3, Arachne=3, Medusa=3, + Atropos=3, Thanatos=3, Nyx=2, Sthenno=3, + + -- Roman evil stuff + Hades=3, Orcus=3, Mefitis=3, Morta=3, + Mors=3, Nox=2, Vediovus=3, Tuchulcha=3, + Vanth=3, + + -- Nordic stuff + Loki=3, Hel=3, Skadi=3, Aegir=3, Ran=3, + Ymir=3, Fenrir=3, Jormungand=3, Nidhogg=3, + Skoll=2, Hati=2, Surt=2, Garm=3, + + -- Egyptian stuff + Ammit=3, Apep=3, Kek=2, Set=3, Shezmu=3, + Anti=2, Anzus=2, Apophis=3, + + -- Germanic stuff + Mephisto=3, Faust=3, Bilwis=2, + + -- Polish stuff + Boruta=3, + + -- Arabic stuff + Jinn=2, Deccal=3, Iblis=3, Ifrit=3, Dajjal=3, + Azar=3, Firawn=3, Haman=3, Jault=3, Samiri=3, + + -- Slavic stuff + Rusalka=3, Chernevog=3, Jeretik=3, Vila=3, + + -- Indonesian stuff + Barong=2, Pocong=2, Pontianak=2, Rangda=2, + Suanggi=2, Toyol=2, + + -- Iranian stuff + Astovidatu=3, Indra=3, Vaya=3, Zarich=3, + + -- Filipino! + Batibat=2, Danag=2, + + -- Here come the Lovecraftians! + Ktulu=2, Dagon=3, Nyarlathotep=2, + + -- civilizations that don't even exist anymore + -- evil stuff (Sumerians, Akkadians etc.) + Erishkigal=3, Utukku=3, Namtar=2, Lamashtu=2, + Ninurta=3, ["Ardat Lili"]=2, Asag=2, + + -- Diablo games + Diablo=7, Andariel=3, Duriel=3, Belial=3, + Azmodan=3, Rakanoth=3, Inarius=3, Izual=3, + Adria=1, ["Tal Rasha"]=2, + + -- comics, TV + Helgor=3, Eligos=3, + + -- Dungeons and Dragons / Pathfinder + -- note: a lot of these names are probably borrowed + -- from elsewhere (i.e. real world cultures) so they + -- should be sorted into there instead... + Yeenoghlu=3, Adimarchus=3, Lolth=3, + Gresil=2, Jubilex=3, Kerzit=2, Caasimolar=3, + + -- Warhammer 40k + Nurgle=2, Khorne=2, Tzeentch=2, Slaanesh=2, + + --==| couldn't figure it out |==-- + --+ totally no clue + Ceren=2, Dozod=2, Kalrac=2, Quenna=3, + + Draco=2, -- it's Latin for dragon but I don't know anything else more specific + Ouroboros=5, -- actually sort of a neutral symbol + + -- Hexen? + Vuradi=2, + + --+ Are these book authors? They don't seem to be the 'demonic' sort. + Oltion=2, Orgel=2, + + --+ Is this supposed to be Balrog from LotR or a variant from other media? + Balrok=3, + + -- Chaos Lords + -- See: https://en.wikipedia.org/wiki/Law_and_Chaos + Arioch=3, Mabelode=3, Urleh=3, Xiombarg=3, + + -- Demonology A-Z names, see: https://hellhorror.com/demon-names-list-A/ + Abatu=3, Abdiel=3, Abduxuel=3, Abezethibou=3, Adramelech=3, Angrboda=3, Apollyon=3, + Asakku=3, Atazoth=3, Flauros=3, Glasyalabolas=3, Jezebeth=3, Merihim=3, Morax=3, + Nicor=3, Nybbas=3, Nysrogh=3, Onoskelis=3, Philatanus=3, Sonneillon=3, Sorath=4, + Thamuz=3, Valafar=3, Verdelet=3, + + + -- Obsidian contributor names + NOUNMEMBERS = 90, + + NOUNGENEXOTIC = 700 + }, + + a = + { + -- size + Monumental=5, Colossal=10, Sprawling=5, Massive=5, + Small=3, Endless=10, Gigantic=5, Mighty=5, Enormous=5, + Giant=3, Great=3, Elephantine=3, Grand=3, Gargantuan=5, + Imposing=5, Monstrous=5, Prodigious=3, Maximum=5, + + -- generic scales? + Raw=2, Sheer=10, + + -- location + Underground=10, Subterranean=5, + Cloaked=3, Hermetic=3, + Occult=10, Surreptious=15, + Inner=15, Abysmal=10, Deepest=15, + Concealed=7, Clandestine=5, Outer=5, + Outlying=5, + + -- age + Elder=15, Ancient=15, Eternal=5, + Eldritch=7, Archaic=7, + + -- color + Black=5, Gray=5, Red=5, Crimson=5, + Ochre=5, Ashen=5, + + -- dirty + Foul=10, Defiled=10, Ravished=5, Murky=3, + Begrimed=5, Filthy=5, Sloven=5, + Stagnant=7, Rancid=10, Rotten=15, Festering=5, + Fractured=5, Entombed=5, Vile=15, + Revolting=10, Putrid=5, Skinned=3, + Fallen=10, Stinking=1, Grungy=3, + Smoky=5, Flagrant=20, Aching=5, + Acrid=5, Fetid=2, + + -- contents + --+ guts n stuff + Blood=20, Bloody=5, Blood_filled=3, + Blood_stained=2, Blood_soaked=3, + Bleeding=3, + --+ fire and brimstone + Burning=20, Burnt=5, Scorching=5, + Melting=5, Red_Hot=5, + Lava=5, Lava_filled=3, Magma=5, + Monstrous=15, Monster=5, Zombie=10, + Demonic=15, Demon=5, Ghoulish=5, + Haunted=10, Ghostly=15, Ghastly=5, + Cyberdemon=5, Necromancers=5, Mastermind=5, + --+ monarchs + Queens=5, Princes=5, Arch_Duke=5, + Dukes=5, Kings=5, Royal=5, Squire=4, + Baron=5, Knights=7, + --+ pagans + Wizard=5, Warlock=2, Wiccan=3, + Heathen=3, + --+ dirty poor guys + Rat_infested=5, Downtrodden=3, + Slime=5, + + -- descriptive + Nebulous=5, + Oppressive=5, + + Gothic=7, Orphic=3, + + -- scary-wary + Ominous=20, Terrifying=5, Gruesome=10, + Gloomy=5, Awful=10, Execrable=10, Uncanny=15, + Horrible=10, Horrendous=10, Screaming=3, + Dismal=10, Dank=5, Frightful=5, + Dreaded=15, Nightmare=5, Dolor=5, + + -- authority + Sovereign=7, Triumph=2, + + -- danger/fatalism + Brutal=20, Grisly=15, Tortuous=10, + Disastrous=2, Ill_fated=10, Frail=3, + Fatal=10, Final=5, Terminal=2, Painful=5, + Deadly=3, + + -- magical (neutral) + Mystic=7, Mystical=2, Magical=2, Magic=2, + Arcane=5, Esoteric=5, Abstruse=3, + + -- bad personal qualities + Cruel=5, Crass=2, Sullen=10, Bitter=7, + Uncivilised=2, Vexatious=5, Perverse=5, + Morbid=10, Loathsome=5, Vulgar=5, + Wretched=3, Caustic=5, Shameful=5, + + -- neutral personal qualities (hey, I'm a quiet guy -MSSP) + Silent=5, Enigmatic=5, Shameless=3, + Godless=5, God_forsaken=7, Ungodly=3, -- does putting this here + Sacreligious=5, Unspiritual=2, -- reveal too much about + -- my own opinions? -MSSP + + -- good personal qualities (why though?) + Poignant=3, + + -- explicitly very evil + Evil=30, Unholy=20, Wicked=15, + Abhorrent=3, Abominable=5, Bestial=5, + Direful=2, Execrated=2, Hexed=3, + Immoral=5, Impure=5, Utmost=5, + Merciless=7, Pestilent=5, Profane=5, + Vicious=10, Violent=10, Desecrated=5, + Accursed=5, Malodorous=5, Despicable=2, + Heinous=5, Mephitic=2, Peccant=5, + Sordid=2, Grievous=2, Ferine=2, Sinful=5, + Unblessed=3, Unsanctified=2, Despoiled=3, + + Immortal=3, + + -- abandonment/disrepair/negligence + Detested=5, Ruined=5, Barren=5, Feeble=3, Dilapidated=5, + Flimsy=3, Corroded=5, Derelict=5, Frail=3, Crumbling=4, + Decrepid=3, Desolate=10, Forgotten=10, Rickety=5, Dusty=3, + Decaying=3, + + -- holy + Ceremonial=5, Liturgical=5, Solemn=5, Deistic=5, Sanctified=5, + Divine=5, Devout=5, Sacerdotal=5, Sacred=5, Spiritual=5, + Clerical=5, Hallowed=5, Cherished=5, Revered=5, Venerable=5, + Angelic=5, Consecrated=5, Enshrined=5, Numinous=5, + + -- material + Adamantine=5, Bronze=5, Copper=5, + Rocky=5, Stone=5, Masonic=5, + Iron=5, Steel=5, Hellforged=5, + Obsidian=5, Mythril=5, + Rusted=5, Guilded=5, God_Forged=3 + }, + + n = + { -- MSSP-TODO: this area needs some more sorting (merge categories) + -- places + --+ burials + Crypt=20, Tomb=15, Graveyard=10, + Cloister=5, Sepulcher=7, Hecatomb=3, + Catacombs=10, + --+ neutral underground + Pit=10, Cavern=10, Cave=5, Chasm=5, Ravine=5, + Lair=15, Den=7, Abyss=5, Gulch=5, Gorge=5, + --+ neutral aboveground + Wasteland=15, Town=5, Ghetto=2, City=5, + Well=5, Realm=10, Domain=10, Gulf=5, + Hive=5, Abode=15, Township=7, Hamlet=7, + Municipality=7, Community=5, + --+ terrain + Valley=10, River=5, Lowland=5, Plain=5, Vale=5, + Coulee=5, Gully=5, Channel=5, + --+ temples + Grotto=15, Chapel=10, Church=7, + Mosque=5, Cathedral=5, Tabernacle=3, + Palace=5, Citadel=5, Abbey=5, + --+ building sections + Hall=7, Rooms=3, Chamber=10, + + -- terrain + Mountains=2, Swaths=2, Crags=3, Shores=5, + + -- generic locations (not necessarily religious + -- in nature nor exclusive to hell) + Tower=3, Gate=3, Village=3, Sanctuary=3, + Prison=3, Sanctum=10, Arena=3, Spire=10, + Demesne=5, Canton=5, Settlement=5, Dominion=5, + Province=5, Protectorate=5, + + -- weird ones + Communion=5, Monolith=5, Crucible=5, + Excruciation=1, Abnormality=1, + Hallucination=1, Teracculus=2, + Ceremony=3, Threshold=3, + Ache=2, Apocalypse=1, Resurrection=5, + Absolution=5, Crux=5, Culmination=5, + Sacrament=5, Plight=5, Liturgy=5, + Choir=5, + + -- Shadiversity approved castle parts -MSSP + Ramparts=8, Keep=10, Gatehouse=8, + Bailey=5, Barbican=5, Well=10, + Motte=4, Battlements=10, Ward=7, + Turrets=3, Oubliette=3, Stockades=3, + Bartizan=3, Brattice=3, Postern=3, + Cistern=3, + + -- temples of sorts + Temple=20, + Basillica=3, Chapel=10, Monastery=10, + Abbey=10, Monastery=10, Friary=3, + Priorate=5, Lamasery=3, Convent=10, + Hermitage=5, Ziggurat=10, Bethel=3, + Parish=3, Sacellum=3, + + --+ parts of temples + ---+ (based on Greek architecture) + Cella=3, Terastyle=2, Hexastyle=2, + Dipteral=3, Anta=3, Tholos=3, + Peripteral=3, Hypostyle=2, + + ---+ (based on old Jewish stuff) + Soreg=2, Hekhal=2, Debir=1, + + -- modern-ish church bits + Baptistery=3, Ciborium=3, Nave=3, + Clerestory=3, Transept=5, Scriptorium=7, + Synagogue=10, Belfries=2, Pulpitum=3, + Dais=3, Feretory=5, Maqsurah=3, + Peripteral=3, Chantry=3, Font=2, + Sacristy=3, Narthex=5, Altar=7, + Shrine=10, + + Plumbery=2, + + Monstrance=3, Reliquary=10, + + --+ stuff priests own + Parsonage=3, Vicarage=3, Rectory=3, + Clege=3, Presbytery=3, Benefice=3, + Manse=3, + + --+ groups of priests + Clergy=1, Cardinalate=2, Conclave=3, + Pastorate=2, Rabbinate=2, Canonry=3, + Deaconry=3, Order=3, + + --+ districts of church/religious offices + Diocese=3, Episcopate=3, Prelacy=3, + Bishopric=3, Curacy=3, Chancellery=5, + + -- deady stuff + Mausoleum=15, Undercroft=5, Entombment=5, + Morgue=5, Labyrinth=5, Dungeon=10, + Cenotaph=5, Vault=10, Culverts=5, + + Domicile=5, + Library=15, + + -- medieval architecture + Collonade=5, Aisles=5, Ambulatory=3, + Apse=3, Arcade=10, Courts=5, + Billet=5, Hoarding=5, Loggia=3, + Oriel=3, Pier=5, Triforium=3, + Jetty=2, Pylon=5, + + -- generic architectural stuff + Banister=5, Gallery=5, + Parapet=5, Terraces=5, Banquette=2, + Balcony=3, Cusp=3, Portal=5, + Tribune=7, Vestibule=10, Atrium=10, + Monitor=5, Niche=10, Oculus=5, + Solar=5, Cellars=10, Alcoves=3, + + -- other synonyms for arena + Gridiron=3, Hippodrome=3, Pit=3, + Grounds=3, Stade=3, Strand=3, + Coliseum=3, + + -- synyonyms for slaughterhouse + Abattoir=3, Butchery=3, + + -- shapes + Dome=10, Quadrangle=3, Rotunda=2, + Circle=10, Triangle=3, Ring=5, + Oval=2, + + Pavillion=5, Monument=10, Garth=3, + Minaret=3, + + -- nest + Nest=10, Aerie=5, Haunt=3, + + -- prison + Durance=5, Captivity=3, Confinement=3, + Isolation=3, Duress=3, Remand=2, Thralldom=2, + Immuration=3, Bastille=2, Brig=3, + Sty=3, Antechamber=3, Hold=3 + }, + + h = -- explicit descriptions i.e. "Arena of Death", + { + -- fire and brimstone + Hell=10, Fire=10, Flames=10, + Darkness=10, Limbo=3, Souls=10, Shadows=10, + + -- violence + Carnage=10, Gore=5, Rapine=10, Liquidation=7, + Destruction=5, Doom=15, Butchery=10, + Flesh=10, Corpses=10, Bones=10, Havoc=10, + Viscera=5, Skulls=10, Bloodshed=10, Warfare=5, + + -- disaster + Tragedy=10, Famine=10, Chaos=15, Struggle=10, + + -- religious discord, that kind of fun stuff + Iconoclasm=10, Defection=10, + Blasphemy=10, Paganism=10, + Schism=10, Sectarianism=10, Sin=10, Mayhem=10, + Strain=5, Supplication=5, Witchcraft=5, + Heresy=10, + + -- definitely bad things + Fallacy=10, Deception=10, Infidelity=10, + Suffering=5, Torment=10, Torture=10, + Treachery=5, Lunacy=5, Woe=5, + + -- emotions and physical pain + Horror=10, Terror=10, Death=15, + Sorrow=10, Hate=10, Misery=10, + Pain=15, Fear=5, Trauma=10, + Agony=10, Anguish=10, + + -- negative emotions made manifest + Whispers=5, Tears=3, Screams=5, + + Dread=5, Fate=5, Locusts=2, Erebus=5, Lethe=2, + Reckoning=5, Minos=3, Hades=7, Acheron=5, + Leviathan=5, Baphomet=5, Devils=10 + }, + + o = -- implicit objects e.g. "Arena of the Doomed", + { + -- entities + --+ alive people + Denizens=10, Emissary=10, Seer=10, + Wretched=10, Vicar=10, + --+ dead people + Dead=10, Fallen=10, Possessed=10, + Undead=10, + --+ bad folk + Betrayers=10, Corpsegrinder=10, Destroyer=10, + Necromancer=10, Sinner=10, Wicked=10, + Witches=10, Unmaker=10, + --+ ir/religious figures + Acolyte=10, Apostates=10, Missionary=10, + Priest=10, Prophets=10, Neophyte=10, Oracle=10, + Saints=10, Zealots=10, + --+ creatures + Beast=10, Behemoth=10, Minions=10, + + -- personal qualities + --+ outright evil + Abhorrent=10, Barbaric=10, Deplorable=10, + Depraved=10, Diabolical=10, Ghastly=10, Impure=10, + Insidious=10, Infernal=10, Malevolent=10, + Malicious=10, Nefarious=10, Ruthless=10, + Sinister=10, + --+ negative + Angry=10, Belligerent=10, + Baneful=10, Crooked=10, Decayed=10, + Deceitful=10, Deceptive=10, Dishonored=10, + Disobedient=10, Dreadful=10, Dreary=10, + Dying=10, Enraged=10, Gloomy=10, + Grotesque=10, Foul=10, + Grisly=10, Gruesome=10, Gullible=10, + Hateful=10, Hideous=10, Insane=10, + Knavish=10, Loathsome=10, + Obscene=10, Savage=10, Sick=10, + Spiteful=10, Ugly=10, Vicious=10, + Vile=10, + --+ neutral + Cunning=10, Unheard=10, Unknown=10, + + -- weird + Absurd=10, + + -- age + Ancient=10, Archaic=10, + + -- damage states + Blackened=10, Bleak=10, Bleeding=10, + Corroded=10, Corrosive=10, Deformed=10, + Dismal=10, Exposed=10, Gutted=7, Exenterated=5, + Ruined=10, Collapsed=5, Decimated=5, + + -- tainted + Chaotic=10, Corrupt=10, Defiled=10, + Noxious=10, Poisoned=10, Putrid=10, + Repulsive=10, Rotten=10, Tainted=10, + + -- abandoned + Condemned=10, Damned=10, Decaying=10, + Desolate=10, Dissolute=10, Forgotten=10, + Forsaken=10, + + -- things that cause anxiety + Failures=10, + + -- danger + Hazardous=10, Parlous=10, Perilous=10, + Treacherous=10 + }, + + s = + { + -- single complete level names + + ["Absent Savior"]=10, + ["Absolution Neglect"]=10, + ["All is Lost"]=10, + ["Alone Walking"]=10, + ["Ankle Deep in Blood"]=10, + ["Angelus Mortis"]=10, + ["Ashes to Ashes"]=10, + ["Architect of Troubled Sleep"]=10, + ["Atrocitic Hunt"]=10, + ["Atrophy of the Soul"]=10, + ["A Dream of Death"]=10, + ["A Putrid Serenity"]=10, + ["Aura of Filth"]=10, + ["A Vile Peace"]=10, + ["Awaiting Evil"]=10, + ["Bad Blood"]=10, + ["Baptised in Parasites"]=10, + ["Bathed in Viscera"]=10, + ["Bearer of Pain"]=10, + ["Beyond Death"]=10, + ["Beyond Fate"]=10, + ["Beyond the Apocalypse"]=10, + ["Black Moon"]=10, + ["Blazing Flames of War"]=10, + ["Bled Dry"]=10, + ["Blinded by Fear"]=10, + ["Blood Clot"]=10, + ["Bloodless Unreality"]=10, + ["Bloodstains"]=10, + ["Blood for Blood"]=10, + ["Blood Red Shadows"]=10, + ["Blood Throne"]=10, + ["Blood Vanity"]=10, + ["Bloody Mist"]=10, + ["Body and Soul"]=10, + ["Bonded by Blood"]=10, + ["Born/Dead"]=10, + ["Born in the Flames"]=10, + ["Birthplace of Fate"]=10, + ["Brotherhood of Ruin"]=10, + ["Buried Alive"]=10, + ["Burning Sea"]=10, + ["Cato's Escort"]=10, + ["Centromere"]=10, + ["Charred Flesh"]=10, + ["Cocoon of Filth"]=10, + ["Cold Comfort"]=10, + ["Collection of Corpses"]=10, + ["Compelled to Kill"]=10, + ["Cocytus"]=10, + ["Corpsehaven"]=10, + ["Corrupted"]=10, + ["Creeping Brutality"]=10, + ["Cries of Pain"]=10, + ["Crimson Tears"]=10, + ["Crown of Snakes"]=10, + ["Crucifix of the Damned"] = 10, + ["Cynicism of Vitality"]=10, + ["Dare to Dream"]=10, + ["Dark Citadel"]=10, + ["Dark Crusade"]=10, + ["Dark Echo"]=10, + ["Dark Light"]=10, + ["Darkness Ensues"]=10, + ["Dead Inside"]=10, + ["Dead Traditions"]=10, + ["Dead Words Speak"]=10, + ["Deadly Intentions"]=10, + ["Death Cycle"]=10, + ["Death Grate"]=10, + ["Death Spawn"]=10, + ["Death's Gratification"]=10, + ["Deathstay"]=10, + ["Defective Decay"]=10, + ["Demon's Gate"]=10, + ["Depths of Hatred"]=10, + ["Desquamation"]=10, + ["Destroyer of Worlds"]=10, + ["Diamortal"]=10, + ["Disdain and Anguish"]=10, + ["Disease"]=10, + ["Dissidence Volta"]=10, + ["Dithyamb of Sadism"]=10, + ["Dogma Destroyed"]=10, + ["Dreaming in Red"]=10, + ["Drowning the Light"]=10, + ["Durance of Hate"]=10, + ["Echos of the Dead"]=10, + ["Elderworld"]=10, + ["Embraced by Lucifer"]=10, + ["Emissary of Pain"]=10, + ["Empty Life"]=10, + ["End of Everything"]=10, + ["End of the Line"]=10, + ["Essence of Black"]=10, + ["Etherworld"]=10, + ["Evil Oath"]=10, + ["Extinction of Mankind"]=10, + ["Exuviated Offscouring"]=10, + ["Ezra's Influence"]=10, + ["Falling Sky"]=10, + ["False Promises"]=10, + ["Fear Catalyst"]=10, + ["Feed of Decay"]=10, + ["Feign Sympathy"]=10, + ["Fenchurch"]=10, + ["Fields of Gluttony"]=10, + ["Final Revelation"]=10, + ["Food for the Demons"]=10, + ["Freeze Mentality"]=10, + ["From the Deeps"]=10, + ["Frost and Fire"]=10, + ["Fucked by Fire"]=10, + ["Funeral of the Gods"]=10, + ["Ghost Trail"]=10, + ["Gore Galore"]=10, + ["Gottesmord"]=10, + ["Guttural Breath"]=10, + ["Half Light"]=10, + ["Hell Arrives"]=10, + ["Hell's Churn"]=10, + ["Hellfire"]=10, + ["Helpless"]=10, + ["Herald of Demons"]=10, + ["Hope is Dead"]=10, + ["Hopeless Despair"]=10, + ["Human Compost"]=10, + ["Human Insecticide"]=10, + ["Human Landfill"]=10, + ["Human Trafficking"]=10, + ["Hunted"]=10, + ["Incinerated Cross"]=10, + ["Infected Grave"]=10, + ["Iniquity Inferior"]=10, + ["Insolent Terror"]=10, + ["Internal Darkness"]=10, + ["I Stand Defiant"]=10, + ["Lava Love"]=10, + ["Left Hand Path"]=10, + ["Legion"]=10, + ["Lifecode Sin"]=10, + ["Locust Hide"]=10, + ["Lord of Destruction"]=10, + ["Lost in Oblivion"]=10, + ["Lychgate"]=10, + ["Made in Hell"]=10, + ["Mandatory Suicide"]=10, + ["Manifest Destination"]=10, + ["Marbellum"]=10, + ["Meltdown"]=10, + ["Menzobarranzen"]=10, + ["Myth of Progress"]=10, + ["Necessary Death"]=10, + ["Necromancide"]=10, + ["Necropolis"]=10, + ["Necrosis"]=10, + ["Nomen Luni"]=10, + ["Nothing Lasts Forever"]=10, + ["Obsidian Fragments"]=10, + ["Octarena"]=10, + ["Opus Satani"]=10, + ["Origin of Nausea"]=10, + ["Pain Eternal"]=10, + ["Panzer Pentagram"]=10, + ["Paranoia"]=10, + ["Parasitic Skies"]=10, + ["Path of a Fallen Angel"]=10, + ["Pazuzu's Run"]=10, + ["Pentadrome"]=10, + ["Perdition's Massacre"]=10, + ["Perished in Pain"]=10, + ["Perversitas Sancta"]=10, + ["Portal of No Return"]=10, + ["Post Combustion"]=10, + ["Punishment Defined"]=10, + ["Purgation in Molten Metal"]=10, + ["Purgatorio"]=10, + ["Razorfist"]=10, + ["Realm of Souls"]=10, + ["Red Dream"]=10, + ["Reduced to Dust"]=10, + ["Retribution Dawns"]=10, + ["Return to Hell"]=10, + ["Ripped Intestines"]=10, + ["Running Scared"]=10, + ["Sado-Masochistic"]=10, + ["Saint Scream"]=10, + ["Sacred Utopia"]=10, + ["Sanity's Edge"]=10, + ["Scourge of Humanity"]=10, + ["Sculptor of Flesh"]=10, + ["Sphacelus"]=10, + ["Satan's Disgust"]=10, + ["Satanic Propaganda"]=10, + ["Satanic Supremacy"]=10, + ["Sawn in Half"]=10, + ["Seven Deadly Sins"]=10, + ["Severe Burns"]=10, + ["Shallow Grave"]=10, + ["Shambled Dimension"]=10, + ["Shannara"]=10, + ["Sheol"]=10, + ["Sign of Evil"]=10, + ["Sinners Bleed"]=10, + ["Sins of Allegiance"]=10, + ["Sins of the Fallen"]=10, + ["Shadow Keep"]=10, + ["Skinfeast"]=10, + ["Skin Graft"]=10, + ["Skullbog"]=10, + ["Slow Death"]=10, + ["Soulburn"]=10, + ["Soul Scars"]=10, + ["Spheres of Madness"]=10, -- Song by Decapitated, a Polish death metal band + ["Spiritual Madness"]=10, + ["Stained Tombs"]=10, + ["Stripped of Flesh"]=10, + ["Stygiophobia"]=10, + ["Sympathy Denied"]=10, + ["The Bleeding"]=10, -- Doom 64 + ["The Heretic's Touch"]=10, + ["The Rotted Foul"]=10, + ["Time and Dust"]=10, + ["Terminal Filth"]=10, + ["The Ecomium of Terror"]=10, + ["The Sun Never Rises"]=10, + ["The Yawning Abyss"]=10, + ["Thinning the Horde"]=10, + ["Tomb of Souls"]=10, + ["Trialed in Flames"]=10, + ["Trivial Anguish"]=10, + ["Twisted Beyond Reason"]=10, + ["Tyranny"]=10, + ["Unhealing Wounds"]=10, + ["Vertigone"]=10, + ["Vomitorium"]=10, + ["Weaving Darkness"]=10, + ["Well of Souls"]=10, + ["What Color is Death?"]=10, + ["Where No Light Is"]=10, + ["Where Shadows Live"]=10, + ["Wrapped in Barbwire"]=10, + ["Ziggurat"]=10, + ["Zoweseandek"]=10, + + ["Divine Intoxication"]=10, + ["Dying for It"]=10, + ["Infernal Directorate"]=10, + ["Glutton for Punishment"]=10, + ["Gore Soup"]=10, + ["Kill Thy Neighbor"]=10, + ["Murderous Intent"]=10, + ["No Sanctuary"]=10, + ["Out for Revenge"]=10, + ["Rampage!"]=10, + ["Rip in Reality"]=10, + ["Reaper Unleashed"]=10, + ["Searching for Sanity"]=10, + ["Slice 'em Twice!"]=10, + ["Sorrowful Faction"]=10, + ["Taste the Blade"]=10, + ["Traces of Evil"]=10, + ["Twists and Turns"]=10, + ["Voices in the Blood"]=10, + ["Welcome to the Coalface"]=10, + ["You Can't Handle the Noose"]=10, + + -- Reisal adds new names + ["Segmentus Infernus"]=10, + ["Voidborne"]=10, + + -- Reisal adds even more names, 2020 Edition + ["Apocalyptic Prophecy"]=10, + ["Artwork of Affliction"]=10, + ["Blood Red Sunshine"]=10, + ["Chaotic Malfeasance"]=10, + ["Compulsive Psychosis"]=10, -- Hypocrisy song, melodic death metal + ["Crushed Will"]=10, + ["Death and Dreaming"]=10, + ["Dessicated and Devoured"]=10, + ["Destruction of Free Will"]=10, + ["Hellsower"]=10, + ["Hellwave Catalyst"]=10, + ["Honor of the Demons"]=10, + ["Human Cattle"]=10, + ["Human Hunting Grounds"]=10, + ["Left Limbless"]=10, + ["Musings of a Demon"]=10, + ["Nocturnal Devotion"]=10, + ["Obelisk of Timelessness"]=10, + ["Only Death Matters Here"]=10, + ["Oscuridad y Muerte"]=10, -- Darkness and Death. Please fix if incorrect. + ["Profundis Inferni Convivae"]=10, -- Depths of Hell. Please confirm. + ["Processed and Discarded"]=10, + ["Pure Blasphemy"]=10, + ["Sanguine Plataeu"]=10, + ["Shattered Reality"]=10, + ["Tribute to the Dark Ones"]=10, + ["Unto the Unhallowed Abyss"]=10, + ["Wretched Mortal Form"]=10, + + -- 2020 end of year additions + ["A Harrowing Journey"]=10, + ["Anchors of Cruelty"]=10, + ["Barbequed Viscera"]=10, + ["Crispy Fried Epidermis"]=10, + ["Fissure of Blood"]=10, + ["Hell's Fortune"]=10, + ["Pure Peril"]=10, + ["Simply Macabre"]=10, + ["Towers in the Fog"]=10, + ["Weaving of the Artery"]=10, + + -- 2021 naming conventions from Armaerus + ["Abstractus Diabolis"]=10, + ["Agonizer Mortus"]=10, + ["Ash in the Eyes"]=10, + ["Blood Fountain"]=10, + ["Blood Overload"]=10, + ["Bodies for Sale"]=10, + ["Bodily Assimilation"]=10, + ["Chains of Suffering"]=10, + ["Death's Gratification"]=10, + ["Devil's Dilemma"]=10, + ["Divine Abjuration"]=10, + ["Doors To Nowhere"]=10, + ["Dominus Infernum"]=10, + ["Drizzled With Phlegm"]=10, + ["Emporium of Skulls"]=10, + ["Fearful Whispers"]=10, + ["Fueled by Tears"]=10, + ["Funeral Monolith"]=10, + ["Goat Worship"]=10, + ["Human Barbeque"]=10, -- Nod to Evilution + ["Human Garbage"]=10, + ["Intestinal Jumprope"]=10, + ["Killing Time, Killing You"]=10, + ["Lunacy of Mankind"]=10, + ["Melted from Within"]=10, + ["Nazarene's Scripture"]=10, + ["Organ Slushie"]=10, + ["Out of the Frying Pan"]=10, + ["Sermons of Sin"]=10, + ["Smoke and Misery"]=10, + ["Spectral Anomalies"]=10, + ["Tasty Human Giblets"]=10, + ["The Beauty in Impalement"]=10, + ["The Bitter Times"]=10, + ["The Grey of Winter"]=10, + ["The Hexvoid"]=10, + ["The Invocation of Fear"]=10, + ["Visions of Misery"]=10, + ["Void"]=10, + ["Windfall of Delerium"]=10, + ["Winds of Dusk"]=10, + ["Withered and Forgotten"]=10, + + -- More shit here. Hell names seem to be easiest to think of.. + ["Acceptance of Submission"]=10, + ["Another Day in Hell"]=10, + ["Ashen Crucifix"]=10, + ["Blood Winds"]=10, + ["Candles and Incense"]=10, + ["Cascade of Death"]=10, + ["Chainsaw Bisectioning"]=10, + ["Circle of Carrion"]=10, + ["Draped in Filth"]=10, + ["Drill it and Kill it"]=10, + ["Eternal Darkness"]=10, -- GREAT game! + ["Flames and Fury"]=10, + ["Frozen Fog"]=10, + ["Lead Us To Sin"]=10, + ["Lunar Funeral"]=10, + ["No Light Here"]=10, + ["Sins of the Icon"]=10, + ["Skeletal Rage"]=10, -- AHHHHHHHHHHHHHHHHHHHHHHHH + ["The Corpse Collector"]=10, + ["Unhallowed Purity"]=10, + ["Viviseduction"]=10, + ["We Shun the Light"]=10, + ["Wretched Human Mirror"]=10, -- Bloodbath song name + + -- End of 2021 naming convention by Reisal + ["Black As The Void"]=10, + ["Bubbling Blisters"]=10, + ["Corpse Dumpster"]=10, + ["Destructive by Design"]=10, + ["Fuel For The Hellpit"]=10, + ["Hatework"]=10, + ["Morbid Angels"]=10, -- Morbid Angel is a very good death metal band. + ["Shattered Suffering"]=10, + ["Terminal Hellocity"]=10, + ["Where Filth Resides"]=10, + + -- Foreign named things! + -- I used DeepL for nearly all of these instead of Google Translate.. + -- Please provide corrections if any of these are off/incorrect! + ["An Eine Wand Genagelt"]=10, -- "Nailed to a Wall" in German + ["Dreck, Pilze und Blut"]=10, -- "Filth, Fungi and Blood" in German + ["Donde Vagan los Muertos"]=10, -- "Where the Dead Roam/Wander" in Spanish + ["Facteur de Dissolution 666"]=10, -- "Dissolution Factor 666" in French + ["Feuerspiegel"]=10, -- "Fire Mirror" in German + ["Grzech I Ofiara"]=10, -- "Sin and Sacrifice" in Polish + ["L'Empire Des Inferna"]=10, -- "The Empire of Hell" in French + ["La Presa del Demone"]=10, -- "The Grasp of the Demon" in Italian + ["Las Ostrzy"]=10, -- "Forest of Blades" in Polish + ["Lasst uns Sterben!"]=10, -- "Let's Die!" / "Let us Die!" in German + ["Lixo Humano"]=10, -- "Human Trash/Waste/Garbage" in Brazilian Portuguese + ["Luurankopuutarha"]=10, -- "Skeleton Garden" in Finnish + ["Menschliche Reste"]=10, -- "Human Remains" in German + ["Puhdas Helvetti"]=10, -- "Pure Hell" in Finnish + + -- MSSP names: + ["Belshazzar's Feast"]=10, + ["Deep Rock Satanic"]=10, + ["First of the Nine Circles"]=10, + ["Mausoleum of History"]=10, -- quote from FreeSpace 2's intro + ["Meathooks"]=10, + ["The Needleworks"]=10, + + -- 2022 marker + ["1349"]=10, + ["Acheron"]=10, -- A very good early Doom1 map + ["Alla Xul"]=10, + ["Anti-God, Anti-Christ"]=10, + ["Archon"]=10, + ["As the Creatures Ascend"]=10, + ["Atrocious Humanity"]=10, + ["Ave Satanas"]=10, + ["Better Off Dead"]=10, + ["Black Gives Way to Blood"]=10, + ["Blackened Death's Embrace"]=10, + ["Blackened Sabbath"]=10, + ["Bleed for Ancient Gods"]=10, + ["Bleed Us An Ocean"]=10, + ["Bleeding Soul"]=10, + ["Blessed Black Wings"]=10, + ["Blight of God's Acre"]=10, + ["Blood of Seraphim"]=10, + ["Bolted to the Cross"]=10, + ["Book of Blood"]=10, + ["Chaotic Alliance"]=10, + ["Circle of Disease"]=10, + ["Damnation's Pride"]=10, + ["Dark Manifestations"]=10, + ["Dominator of Flesh"]=10, + ["End Of All"]=10, + ["Enter Thy Coven"]=10, + ["Flammenmanifest"]=10, + ["For the Sake of Death"]=10, + ["Forgotten Inferno"]=10, + ["Forgotten Tales"]=10, + ["Friends of the Hellcross"]=10, + ["From Their Coffined Slumber"]=10, + ["Funeral Bitch"]=10, + ["Gathering the Impure"]=10, + ["Glory Hole Hacksaw"]=10, + ["Gnawing Bones"]=10, + ["God is Dead"]=10, + ["God Made Filth"]=10, + ["Hate's Plague"]=10, + ["He Tells Lies"]=10, + ["Let's Die!"]=10, + ["Loving the Sinner"]=10, + ["Nightmare Waltz"]=10, + ["Raven's Eye View"]=10, + ["Roads to Acheron"]=10, + ["Room of Angel"]=10, + ["Satan's Hammer"]=10, + ["Secrets of Black Arts"]=10, + ["Sepulchral Winter"]=10, + ["The Claw of Religion"]=10, + ["Trip of Fire"]=10, + ["Unholy Praises"]=10, + ["Ways of the Magi"]=10, + ["Whispers in the Dark"]=10 -- end marker + + } + } + }, + -- end of 'GOTHIC' theme + + -------------------------------------------------- + + BOSS = + { + patterns = + { + ["%s"] = 10, + }, + + lexicon = + { + s = + { + ["Angelic Exodus"]=10, + ["Arena of Terror"]=10, + ["Bad Neighbors"]=10, + ["Barrier"]=10, + ["Barons' Rhapsody"]=10, + ["Battle Royale"]=10, + ["Blast Through"]=10, + ["Bleed on Me"]=10, + ["Blessed Are the Quick"]=10, + ["Bloodbath"]=10, + ["Border Crossing"]=10, + ["Boss Cage"]=10, + ["Brick Wall"]=10, + ["Captured"]=10, + ["Caughtyard"]=10, + ["Checkmate"]=10, + ["Close Combat"]=10, + ["Coliseum"]=10, + ["Coronary Bypass"]=10, + ["Creepshow"]=10, + ["Cyberstomp"]=10, + ["Death Sentence"]=10, + ["Deicide Ultra"]=10, + ["Deliverance"]=10, + ["Die Hard"]=10, + ["Divider"]=10, + ["Dog Eat Dog"]=10, + ["Do or Die"]=10, + ["End of Days"]=10, + ["Execution"]=10, + ["Eye for an Eye"]=10, + ["Fatality"]=10, + ["Fate"]=10, + ["Final Fight"]=10, + ["Fire Amok"]=10, + ["Gateway"]=10, + ["Gladiator"]=10, + ["Ground Zero"]=10, + ["Guardian"]=10, + ["Hail of Bullets"]=10, + ["Halted in Your Tracks"]=10, + ["Hard Attack"]=10, + ["Hardball"]=10, + ["Hellmouth"]=10, + ["Into The Ground"]=10, + ["I Expect You to Die"]=10, + ["Kill Frenzy"]=10, + ["Killswitch"]=10, + ["Kingdom Come"]=10, + ["Knockout"]=10, + ["Lion's Den"]=10, + ["Lucid"]=10, + ["Melee!"]=10, + ["Mission Improbable"]=10, + ["Moving Target"]=10, + ["Murderplay"]=10, + ["Nightmare Without End"]=10, + ["Nemesis"]=10, + ["No Exit!"]=10, + ["No Sweat"]=10, + ["Nowhere to Go"]=10, + ["Not So Simple"]=10, + ["Nucleus"]=10, + ["Open Fire"]=10, + ["Panic Room"]=10, + ["Perfect Conflict"]=10, + ["Playground"]=10, + ["Proving Grounds"]=10, + ["Punchline"]=10, + ["Razor's Edge"]=10, + ["Recess"]=10, + ["Rip and Tear"]=10, + ["Roadblock"]=10, + ["Screamin' Marines"]=10, + ["Showdown"]=10, + ["Showtime!"]=10, + ["Shoot First Ask Later"]=10, + ["Sinister"]=10, + ["Sink or Swim"]=10, + ["Six Feet Under"]=10, + ["Slaughterfest"]=10, + ["SNAFU"]=10, + ["Soul Trap"]=10, + ["Stop Fight Go"]=10, + ["Sudden Death"]=10, + ["The Hunt"]=10, + ["The New Fury"]=10, + ["The Purge"]=10, + ["The Second Coming"]=10, + ["The Trap"]=10, + ["There Can Be No Victory"]=10, + ["Total Doom"]=10, + ["Trapped"]=10, + ["Trial by Fire"]=10, + ["Trial of Mankind"]=10, + ["Trouble in Paradise"]=10, + ["Unmaker"]=10, + ["Unwelcome"]=10, + ["Victory Zero"]=10, + ["Welcome to Thy Doom"]=10, + ["What Color is Death?"]=10, + ["You May Not Pass!"]=10, + + -- MSSP adds names + + ["1995"]=10, + ["Above and Beyond"]=10, + ["Absolute Terror Field"]=10, + ["Ace of Spades"]=10, + ["Appointment in Samarra"]=10, + ["Armaggeddon"]=10, + ["A Study In Red"]=10, + ["Back in Black"]=10, + ["Bad Blood"]=10, + ["Bad News"]=10, + ["Bellum Infinitus"]=10, + ["Bone Hurting Juice"]=10, + ["Big Guts"]=10, + ["Black Parade"]=10, + ["Blood Drive"]=10, + ["Bloodlust"]=10, + ["Bring It"]=10, + ["Bring Out Your Dead"]=10, + ["Catch-22"]=10, + ["Dance with the Devils"]=10, + ["Darwin Awards"]=10, + ["Damnation"]=10, + ["Danger Zone"]=10, + ["Dead Reckoning"]=10, + ["Diabolus Ex"]=10, + ["Don't Stop Me Now"]=10, + ["Doom Eternal"]=10, + ["Do Panic"]=10, + ["Don't Stop Dancing 'Til The Curtains Fall"]=10, + ["Do You Want To Live Forever?"]=10, + ["Endgame"]=10, + ["Exterminatus"]=10, + ["Famous Last Words, Yours"]=10, + ["Fear No Evil"]=10, + ["Forlorn Hope"]=10, + ["FUBAR"]=10, + ["Fucking Run"]=10, + ["Fustercluck"]=10, + ["Future Imperfect"]=10, + ["Garbage Day"]=10, + ["Get Psyched!"]=10, + ["Glorious Defeat"]=10, + ["Gotcha!"]=10, + ["Gratuitous Combat Scenario"]=10, + ["Greased"]=10, + ["Grow Flowers Where You Fall"]=10, + ["Hardboiled"]=10, + ["Hardcore"]=10, + ["Heavy Metal Mayhem"]=10, + ["He Comes"]=10, + ["Hellraiser"]=10, + ["Here Comes the Night Train"]=10, + ["Hold Your Ground"]=10, + ["Highway to Hell"]=10, + ["High Water"]=10, + ["Iron Maiden"]=10, + ["I Don't Feel So Good"]=10, + ["I Told You Not to Turn Around"]=10, + ["I Ii II L"]=10, + ["Judgement"]=10, + ["Killing Fields"]=10, + ["Life's a Bitch, Then You Die"]=10, + ["Light at the End of the Tunnel, But It's a Train"]=10, + ["Max Pain"]=10, + ["Meatgrinder"]=10, + ["Mene, Mene, Tekel, Parsin"]=10, + ["Mind-chaos"]=10, + ["Mind-fog"]=10, + ["Musical Chairs but the Chair Explodes"]=10, + ["Nine Inch Nails"]=10, + ["No Chance in Hell"]=10, + ["No Rest For The Wicked"]=10, + ["No Man's Land"]=10, + ["No One Escapes"]=10, + ["No Place for a Hero"]=10, + ["No Surrender"]=10, + ["Objective: Survive"]=10, + ["One Doomed Marine"]=10, + ["Oof!"]=10, + ["On Your Knees"]=10, + ["Ouch!"]=10, + ["Ouch Oof Owie"]=10, + ["Owie!"]=10, + ["Painkiller"]=10, + ["Pressure"]=10, + ["Rains of Castamere"]=10, + ["Realm of the Mad God"]=10, + ["Red Alert"]=10, + ["Resistance is Futile"]=10, + ["Run"]=10, + ["Running with Scissors"]=10, + ["Seven Trumpets Sounding"]=10, + ["Surrounded!"]=10, + ["Standoff"]=10, + ["Stranglehold"]=10, + ["Suicide Mission"]=10, + ["Tears in the Rain"]=10, + ["Time to Kill"]=10, + ["Tip of the Spear"]=10, + ["The Fate of All Things"]=10, + ["The Game Is On"]=10, + ["Pulling the Short Straw"]=10, + ["The Part Where He Gets You"]=10, + ["The Sentinel's Playground"]=10, + ["The Throne of Skulls"]=10, + ["The Tribute"]=10, + ["The World Burns"]=10, + ["Trauma Conga Line"]=10, + ["Wayward Son"]=10, + ["Weighed and Found Wanting"]=10, + ["Wrong End of the Stick"]=10, + ["Wild Hunt"]=10, + ["You Are Already Dead"]=10, + ["You'll Float Too"]=10, + ["You'll See"]=10, + ["Zone of Alienation"]=10, + + -- Reisal adds names too + ["A Friend to Upheaval"]=10, + ["Burned and Shut In"]=10, + ["Circumscribed by Hell"]=10, + ["Destiny"]=10, + ["Diagnosis Death"]=10, + ["Disruption of Worlds"]=10, + ["Doom"]=10, -- Yeah lol, it's a word to use + ["From Every Direction"]=10, + ["Hellish Blockade"]=10, + ["In a Snag"]=10, + ["Karma's a Bitch"]=10, + ["Kill or Be Killed"]=10, + ["Knocked Down a Peg"]=10, + ["Mental Collapse"]=10, + ["Obstruction"]=10, + ["One Man's Ordeal"]=10, + ["Only Way Through"]=10, + ["Sirens Blaring"]=10, + ["Subjugation"]=10, + ["Toll Booth From Hell"]=10, + ["The Kismet of Marines"]=10, -- https://www.dictionary.com/browse/kismet + ["The Oppressors"]=10, + ["The Slow Painful Crush"]=10, + ["Unwanted Termination"]=10, + ["Wheel of Misfortune"]=10, + ["Zero Calm Here"]=10, + + ["Sentinel Prime"]=10, -- Doom Eternal + + -- 2021 additions + ["A Bit Too Simple"]=10, + ["Dead End"]=10, + ["Much Too Simple"]=10 + } + } + }, + -- end of 'BOSS' theme + + -------------------------------------------------- + + -- lexicon legend: + -- %s = Full episode names + -- %k = Body parts + -- %p = Location + -- %q = Residential area / Adverbs + -- %a = Adjective + -- %j = Abstract / Objects + -- %c = Contributor name + + EPISODE = + { + patterns = + { + -- places + ["%p of %j"] = 30, + ["The %p of %j"] = 30, + ["The %a %p"] = 40, + ["A %a %p/s"] = 40, + ["%j %q"] = 20, + ["Gateway to %j"] = 5, + ["%p/s of No Return"] = 5, + + -- homages to Episode 1, + ["%k-Deep in %j"] = 10, + ["%k-Deep in the %j"] = 5, + ["%k-High in %j"] = 5, + ["Drowning in %j"] = 10, + ["Wading through the %j"] = 5, + ["Endless %j"] = 10, + + ["Wading through the %j"] = 5, + + -- using the noun generator + ["The %p of NOUNGENEXOTIC"] = 25, + ["Attack on NOUNGENANGLICAN"] = 12, + ["Assault on NOUNGENANGLICAN"] = 12, + + -- complete names + ["%s"] = 100, + + -- contributors and their shenanigans + + -- Reisal's additions + ["%a %q"] = 10, + ["%a %j"] = 10, + ["Dead Base: %a"] = 5, + ["%j and %j"] = 5, + ["Silence: %a %j"] = 5, + ["Crystal %p"] = 5, + ["Hellfire: %j"] = 5, + ["Portal to %j"] = 5, + ["%j for the %p"] = 5, + ["The %p: %j"] = 5, + ["Discovery of NOUNGENEXOTIC"] = 5, + ["Discovery of NOUNGENANGLICAN"] = 5, + ["Breakdown: %j"] = 5, + ["Burnout: %a %j"] = 5, + ["Crushed: %j"] = 5, + ["Overdose: %a"] = 5, + ["Undone by %j"] = 4, + ["Below the %p"] = 4, + ["%j: Downfall"] = 4, + ["Death by %j"] = 4, + ["Unholy %p"] = 4, + ["Shores: The %a %p"] = 4, + ["Going to NOUNGENEXOTIC"] = 4, + ["Going to NOUNGENANGLICAN"] = 4, + ["Vacation at NOUNGENEXOTIC"] = 3, + ["Vacation at NOUNGENANGLICAN"] = 3, + ["%cs Warzone"] = 3, + ["%cs %p"] = 3, + ["%p of %c"] = 2, + ["%c is Missing"] = 2, + ["%c did What?"] = 2, + + -- 2021 additions.. + ["%a Fate"]=5, + ["Death's %p"]=5, + ["Devolution: %j"]=5, + ["Fueled by %j"]=5, + ["Meltdown: %j"]=5, + ["Nullified: %a"]=5, + ["The %a Agenda"]=5, + + -- E.T.'s additions + ["%p of the %a %j"]=4, + ["%p of %a %j"]=4, + ["%p of %j"]=4 + }, + + lexicon = + { + p = -- places + { + -- arbitrary locations + Axis = 10, + Area = 10, + Center = 10, + Circle = 10, + Edge = 10, + Frontier = 10, + Point = 10, + Region = 10, + Sector = 10, + Zone = 10, + + -- geopolitical + Colony = 5, + Commune = 3, + ["City-state"] = 3, + Dominion = 10, + Duchy = 5, + Emirate = 3, + Empire = 5, + ["Free State"] = 3, + --Kingdom = 7, + Principality = 3, + --Hegemony = 10, + + -- medieval + Citadel = 15, + Fortress = 10, + Palace = 7, + Spire = 5, + Towers = 15, + Well = 8, + Vaults = 10, + + -- modern + Arcology = 5, + City = 15, + District = 10, + Ghetto = 5, + House = 5, + Metropolis = 10, + Road = 8, + Town = 8, + Trail = 8, + + -- huge locations + Boundary = 10, + Dimension = 20, + Domain = 10, + Plane = 10, + Planet = 5, + Realm = 10, + World = 10, + Territory = 5, + + -- terrain + Atoll = 7, + Badlands = 10, + Barrens = 10, + Bay = 10, + Cape = 7, + Channel = 7, + Cliffs = 10, + Coast = 10, + Crater = 10, + Crags = 10, + Delta = 5, + Desert = 10, + Fens = 7, + Forest = 7, + Fields = 10, + Glaciers = 7, + Gorge = 7, + Grassland = 7, + Gulf = 10, + Hills = 10, + Inlet = 7, + Isthmus = 7, + Lagoon = 7, + Lake = 7, + Lands = 15, + Lowland = 10, + Mountains = 10, + Mire = 10, + Moors = 10, + Ocean = 7, + Promontory = 8, + Ravine = 10, + Rift = 15, + Ridge = 10, + River = 10, + Peninsula = 10, + Plains = 10, + Plateau = 7, + Sea = 7, + Shores = 25, + Steppe = 7, + Strait = 7, + Tundra = 10, + Wasteland = 20, + Vale = 10, + Valley = 10, + Veins = 7, + + -- dead/underground + Burrows = 7, + Catacombs = 7, + Cavern = 10, + Chasm = 10, + Crypt = 5, + Dungeons = 10, + Hollow = 10, + Maze = 10, + Labyrinth = 7, + Pits = 10, + Warrens = 10, + Underworld = 10, + + -- tech + Base = 10, + Complex = 10, + Facility = 5, + Installation = 5, + Outpost = 7, + Redoubt = 7, + Quarters = 5, + Station = 10, + + Cradle = 10, + Skies = 10, + + -- trapped places + Entanglement = 5, + Maze = 10, + Labyrinth = 10, + Quagmire = 7, + Snare = 7, + Trap = 8, + Web = 7, + + -- time + Dawn = 7, + Day = 7, + Dusk = 10, + Eventide = 5, + Midnight = 10, + Night = 10, + + -- religious + Abyss = 10, + Basilica = 10, + Cathedral = 10, + Limbo = 10, + Inferno = 10, + Purgatory = 10, + + -- architectural spots + Aisles = 10, + Edifice = 10, + Firmament = 10, + Pillar = 10, + Vestibule = 10, + Walls = 10 + }, + + q = -- adverbs? + { + City = 5, + Town = 20, + Zone = 20, + Central = 20, + + ["All Around"] = 10, + ["Awaits Thee"] = 5, + ["Galore"] = 10, + + -- stuff MSSP adds + ["Eternal"] = 10, + ["Raining Down"] = 5 + }, + + a = -- adjectives + { + -- elements + Blazing = 15, + Cold = 20, + Frozen = 20, + Fiery = 20, + Elemental = 20, + Icy = 15, + Molten = 15, + + -- lighting + Bright = 15, + Dark = 20, + Lambent = 15, + Lightless = 10, + Lucid = 10, + Luminous = 10, + Radiant = 8, + Shadowed = 15, + Tenebrous = 10, + + -- color + Black = 10, + Blue = 10, + Red = 10, + Gray = 10, + Green = 10, + White = 10, + Yellow = 10, + ["Fire-blue"] = 10, -- of course + + -- material + Adamantine = 10, + Crystal = 7, + Copper = 10, + Iron = 10, + Obsidian = 10, + Rocky = 7, + Stone = 7, + + Ebony = 10, + Ivory = 10, + + -- huge scales and measures + Abyssal = 10, + Ancient = 10, + Archaic = 10, + Bottomless = 10, + Colossal = 10, + Eternal = 10, + Gargantuan = 10, + Giant = 10, + Prodigious = 10, + Soaring = 10, + Massive = 10, + Towering = 10, + Titanic = 10, + Transcendent = 10, + Infinite = 10, + Vast = 10, + + -- bad personal qualities + Avaricious = 5, + Creepy = 10, + Cruel = 10, + Depraved = 5, + Despicable = 10, + Insane = 10, + Lonely = 20, + Malignant = 10, + Merciless = 10, + Menacing = 20, + Morose = 10, + Mortal = 10, -- lol + Nefarious = 5, + Hateful = 5, + Savage = 20, + Somber = 10, + Strange = 10, + Sinister = 10, + Sinful = 5, + Wicked = 15, + Venal = 5, + Vicious = 10, + + -- hellspawn qualities + Aberrant = 10, + Accursed = 10, + Contaminated = 10, + Corrupted = 10, + Deathly = 20, + Demonic = 10, + Dreadful = 10, + Doomed = 8, + Eldritch = 5, + Evil = 10, + Grotesque = 10, + Haunted = 5, + Hideous = 10, + Immortal = 10, + Impure = 10, + Infested = 10, + Macabre = 10, + Monstrous = 10, + Tortured = 10, + Twisted = 10, + Unclean = 7, + Unholy = 10, + Wretched = 10, + + Forbidden = 10, + Profane = 10, + + -- decay + Burned = 8, + Corroded = 10, + Crumbled = 10, + Decayed = 10, + Feculent = 10, + Fetid = 10, + Foul = 10, + Gloomy = 10, + Murky = 8, + Noxious = 8, + Rancid = 10, + Rotten = 10, + Sordid = 10, + Squalid = 10, + Tainted = 10, + Tarred = 7, + Torn = 10, + Vile = 10, + + -- abandonment/wrecked + Abandoned = 10, + Apocalyptic = 10, + Blasted = 10, + Bleak = 10, + Broken = 10, + Decrepid = 10, + Derelict = 10, + Deserted = 10, + Desolate = 10, + Faded = 5, + Forlorn = 10, + Forsaken = 15, + Isolated = 10, + Ruined = 7, + Shattered = 10, + Solitary = 8, + + Wanton = 10, + Godless = 5, + Nameless = 5, + + -- finale + Absolute = 5, + Final = 10, + Terminal = 5, + Ultimate = 10 + }, + + k = -- body parts (because Doom 1 Episode 1) + { + Knee = 30, + Neck = 20, + Waist = 10, + Chest = 3, + Thigh = 3 + }, + + j = -- objects + { + -- battle + Battle = 10, + War = 10, + + -- blood and guts + Corpses = 20, + Bodies = 20, + Bones = 10, + Blood = 20, + Dead = 7, + Demise = 5, + Entrails = 7, + Ichor = 8, + Gore = 20, + Gibs = 10, + Viscera = 10, + + -- destructive acts + Annihilation = 10, + Betrayal = 5, + Carnage = 20, + Collusion = 10, + Chaos = 15, + Death = 15, + Deceit = 10, + Deception = 10, + Destruction = 10, + Devastation = 10, + Extermination = 10, + Extinction = 10, + Genocide = 5, + Ruin = 10, + Slaughter = 10, + Treachery = 7, + Trickery = 7, + + -- disease + Affliction = 7, + Atrophy = 7, + Pestilence = 10, + Scourge = 10, + + -- disaster + Adversity = 10, + Calamity = 10, + Cataclysm = 10, + Catastrophe = 10, + Tremors = 10, + Tribulation = 10, + Quake = 7, + Woe = 7, + + -- pollution + Ash = 8, + Filth = 10, + Grime = 8, + Mush = 5, + Nukage = 10, + Slime = 10, + Sludge = 10, + Slush = 5, + Smog = 10, + Soot = 10, + + -- creatures and mystical entities + Beasts = 10, + Devils = 10, + Demons = 10, + Imps = 10, + Monsters = 10, + Souls = 10, + Zombies = 10, + + -- feels + Agony = 10, + Anger = 5, + Despair = 10, + Doom = 5, + Fear = 10, + Grief = 5, + Horror = 20, + Madness = 10, + Misery = 10, + Pain = 10, + Terror = 10, + + Nightmares = 10, + Illusion = 10, + + -- elements + Darkness = 10, + Fire = 10, + Flames = 10, + Frost = 10, + Lava = 10, + Magma = 10, + Poison = 10 + }, + + s = -- single whole names + { + ["A Price To Pay"] = 10, + ["Aftershock"] = 10, + ["Bad Dream"] = 10, + ["Defenders of Hell"] = 10, + ["Entombed"] = 10, + ["Halloween"] = 10, + ["Limbo"] = 10, + ["Origin of Venom"] = 10, + ["Sealed Fate"] = 10, + ["Warbringer"] = 10, + + ["A Storm Cometh"] = 10, + ["Battlefield"] = 10, + ["Bestial Experiment"] = 10, + ["Beyond Earth"] = 10, + ["Breeding Chambers"] = 10, + ["Code Red"] = 10, + ["Hell Breaks Loose"] = 10, + ["The Treason Well"] = 10, + ["Under an Alien Sky"] = 10, + + ["As The World Burns"] = 10, + ["Deadly Harvest"] = 10, + ["Desperate Measures"] = 10, + ["Everlasting Night"] = 10, + ["Left for Dead"] = 10, + ["New Beginning"] = 10, + ["Oblivion Upon Us"] = 10, + ["The Healer Stalks"] = 10, + ["When Ashes Rise"] = 10, + + ["Abandon all Hope"] = 10, + ["Chaos Rising"] = 10, + ["Ex Nihilo"] = 10, + ["Genesis of Genocide"] = 10, + ["The Devil's Emissary"] = 10, + ["The Howling Void"] = 10, + ["Torturous Existence"] = 10, + ["Pulse of Depravity"] = 10, + ["Say Thy Prayers!"] = 10, + ["Vengeance Denied"] = 10, + + ["The Lost Base"] = 10, + ["Hell's Playground"] = 10, + ["Crimson Reprieve"] = 10, + ["Souls of the Damned"] = 10, + ["In the Face of Armageddon"] = 10, + ["Highway to Hell"] = 10, + ["Time to Bleed"] = 10, + + ["Into the Shadows"] = 10, + ["And Now You Die"] = 10, + ["Halls of Lamentation"] = 10, + ["Intruder Alert"] = 10, + ["Security Breach"] = 10, + ["Arena From Hell"] = 10, + + -- these by Reisal (mostly) + ["Radio Silence"] = 10, + ["Liquidation"] = 10, + ["Return to Hell"] = 10, + ["A Chilling Discovery"] = 10, + ["Human Stagnation"] = 10, + ["Thou Art Doomed"] = 10, + ["Fathomless Abyss"] = 10, + ["Insecurity"] = 10, + ["Pathos 666"] = 10, + ["Toxic Grievance"] = 10, + ["Hell's Injustice"] = 10, + ["Gate to Nowhere"] = 10, + ["Of Horns And Blood"] = 10, + ["Disadvantaged"] = 10, + ["Silent Hell"] = 10, + ["Ghosts of Tei Tenga"] = 10, + ["End of Everything"] = 10, + ["Ashes And Plasma"] = 10, + ["A New Kind of Army"] = 10, + ["Post-Human Paradox"] = 10, + ["Neverending Twilight"] = 10, + ["Tower of Limbs"] = 10, + ["Burial in Space"] = 10, + ["The Sons of Mars"] = 10, + ["Parallel Absolution"] = 10, + ["A Clockwork Death"] = 10, + ["Dolor Extremus"] = 10, + ["Spiritus Malus"] = 10, + + -- homages to DOOM 1 Episodes + ["Explosion"] = 3, + ["Enter the Flames"] = 3, + ["Burning in Hell"] = 3, + ["Blazing Shores"] = 3, + ["Lakes of Fire"] = 3, + ["Hellfires"] = 3, + + ["Thy Soul Devoured"] = 5, + ["Thy Shrivelled Mind"] = 5, + ["Thou Shalt Die"] = 5, + ["Consumed by Flames"] = 3, + + -- MSSP adds some more names + ["Dead Rising"] = 10, + ["A Minute to Midnight"] = 10, + ["Maelstrom of Chaos"] = 10, + ["Shadows Fall"] = 10, + ["Mortally Challenged"] = 10, -- actually coined by Terry Pratchett + ["Stormbreak"] = 10, + ["Firewinds"] = 10, + ["The Kiss of Death"] = 10, + ["Murder Without Sin"] = 10, + + ["A Night Full of Terrors"] = 10, + ["The Throne of Fire"] = 10, + ["Fire and Blood"] = 10, + ["Remembrance"] = 10, + ["What Is Dead May Never Die"] = 10, -- see, even great authors can do a + ["All Men Must Die"] = 10, -- "people die when they are killed", + ["The Dance of Demons"] = 10, + ["The Gift of Death"] = 10, + + ["The Lord of Terror"] = 10, + ["Soulreaver"] = 10, + ["Trail of Tears"] = 10, + ["The Curse of Undeath"] = 10, + ["Hell's Foundry"] = 10, + ["Angels Fall First"] = 10, + ["Fresh Meat"] = 10, + ["Demonic Invasion in Progress"] = 10, + ["The Hammer Falls"] = 10, + ["Egress"] = 10, + ["The Culling"] = 10, + ["Eye of the Storm"] = 10, + ["Hallowed Ground"] = 10, + + -- mythical underworlds (including from D&D) + ["The Vestibule of Hell"] = 10, + ["River of Acheron"] = 10, + ["Caves of Avernus"] = 10, + ["Planes of Asphodel"] = 10, + ["The Wastes of Cania"] = 10, + ["Cocytus"] = 10, + ["The City of Dis"] = 10, + ["The Void of Erebus"] = 10, + ["Vale of Gehennom"] = 10, + ["Maze of Maladomini"] = 10, + ["Spires of Malbolge"] = 10, + ["Pools of Minauros"] = 10, + ["The Rift of Nessus"] = 10, + ["The Void of Lethe"] = 10, + ["Pits of Phlegethos"] = 10, + ["Stygian Abyss"] = 10, + ["Gates of Tartarus"] = 10, + + ["No Mercy"] = 10, -- yes, these are L4D campaign names + ["Crash Course"] = 10, + ["Death Toll"] = 10, + ["Dead Air"] = 10, + ["Blood Harvest"] = 10, + ["The Sacrifice"] = 10, + ["The Last Stand"] = 10, + + ["Dead Center"] = 10, -- yes, now L4D2, + ["The Passing"] = 10, + ["Dark Carnival"] = 10, + ["Swamp Fever"] = 10, + ["Hard Rain"] = 10, + ["The Parish"] = 10, + + -- Max Payne + ["A Cold Day in Hell"] = 10, + ["A Bit Closer to Heaven"] = 10, + + ["Blood Veins of Phobos"] = 10, + ["Playing it Bogart"] = 10, + ["Let Guns do the Talking"] = 10, + ["Fear That Gives Men Wings"] = 10, + ["Ragna Rock"] = 10, + ["Pain and Suffering"] = 10, + ["Rats and Oily Water"] = 10, + ["Take me to Cold Steel"] = 10, + ["The Deep Six"] = 10, + ["In The Land of the Blind"] = 10, + ["Hidden Truths"] = 10, + ["Byzantine Power Game"] = 10, + + ["Forget Being Subtle"] = 10, + ["Stepping on Toes"] = 10, + ["A Few Bullets Back"] = 10, + ["In The Crossfire"] = 10, + + ["Riding Shotgun"] = 10, + ["Ice Hard and Slick"] = 10, + ["Straight from a Bad Dream"] = 10, + + -- 2021 stuff.. + ["Absolution"]=10, -- Doom 64, + ["Beyond Eternity"]=10, + ["Beyond Serenity"]=10, + ["Damaged"]=10, + ["Dead Shining Star"]=10, -- A V:28 song title + ["Eerie Delights"]=10, + ["Forcing Your Way"]=10, -- Nod to Final Fantasy + ["Hope Dies Here"]=10, + ["Mephisto"]=10, + ["Ouroboros"]=10, + ["Peace of Mind"]=10, + ["Regret"]=10, + ["Seclusion"]=10, + ["Shades of Gray"]=10, + ["Shoot to Kill"]=10, + ["Shutdown"]=10, + ["Stygian Outlook"]=10, + ["Submission"]=10, + ["The Culling Fields"]=10, + ["Tranquility"]=10, + ["Unleash The Energy"]=10, -- Also V:28 (See: https://www.metal-archives.com/bands/V%3A28/16470 ) + ["Whispers from the Void"]=10, + + -- WAD title stuff + ["Crossing Acheron"]=5, + ["Cyberdreams"]=5 + }, + + c = -- oh boy, here we go again... + { + NOUNMEMBERS = 10 + } + } + }, + -- end of 'EPISODE' theme + + + -------------------------------------------------- + + TITLE = + { + patterns = + { + -- e.g. dark dimension + ["%a %p"] = 100, -- Descriptive Place + ["The %a %p"] = 80, -- The Descriptive Place + ["Into the %a %p"] = 10, -- Into the Descriptive Place + + -- e.g. eternal gore + ["%a %d"] = 100, -- Descriptive Object + + -- of e.g. city of souls + ["%p of %d"] = 100, -- Place of Object + ["%d in the %p"] = 80, -- Object in the Place + ["%d at the %p"] = 80, -- Ojbect at the Place + + ["The %e of %d"] = 60, -- The Entity of Object + ["%e in the %p"] = 60, -- Entity in the Place + + -- of the e.g. realm of the devil + ["%p of the %e"] = 100, -- Place of the Entity + ["The %p of the %e"] = 75, -- The Place of the Entity + ["The %d of the %e"] = 75, -- The Abstract Object of the Entity + ["The %a %d of the %a %e"] = 75, -- The Descriptive Object of the Descriptive Entity + ["The %a %p of the %a %e"] = 75, -- The Descriptive Place of the Descriptive Entity + + -- miscellaneous + ["Beyond the %p"] = 8, + ["Journey to the %p"] = 6, + + ["%d Forever"] = 5, + ["%d Always"] = 5, + ["Not enough %d"] = 7, + ["%d Revealed"] = 5, + + ["The %e Cometh"] = 5, + ["The %e will Rise"] = 5, + ["The %e must Die"] = 5, + ["Fight the %e"] = 5, + ["Age of the %e"] = 5, + ["Back to the %a %p"] = 5, + + -- MSSP adds grammar rules + + ["Assault on the %a %p"] = 8, -- Assault on the Descriptive Place + ["Destroy the %a %p"] = 8, -- Destroy the Descriptive Place + ["Attack of the %a %e"] = 8, -- Attack of the Descriptive Entity + ["Return of the %e"] = 8, -- Return of the Entity + ["A WAD full of %d"] = 5, -- A WAD Full of Abstract Objects + ["Return of the %e"] = 8,-- Return of the Entity + ["Some very %a %p"] = 8, -- Some very Descriptive Place + ["Zone of %d"] = 8, -- Zone of Abstract Object + ["The %e WAD"] = 5, -- The Entity WAD + ["Showdown with the %e"] = 7, + ["They are %a"] = 7, + ["Call of %d"] = 8, + ["The %e and the %e"] = 10, + ["The %e VS the %e"] = 7, + ["The %d Within"] = 5, + ["%a and %a"] = 8, + ["Escape from the %a %e"] = 10, + ["The %e The %e and The %d"] = 8, + + ["%c did this"] = 3, + ["The %a %p of %c"] = 3, + + -- Simply located lexicon location (So you don't need to scroll up and down if you forget) + -- If we want to be be more specific, we could just add more lexicons, like I did with %m below. + -- %a = Adjective + -- %p = Place + -- %c = Contributor name + -- %d = Abstract / Abstract-like + -- %e = Entities + -- %m = Material / Metal alloy + + -- Reisal adds more grammar rules + ["Vacation in the %d %p"] = 10, -- Vacation in the [Description] [Place] + ["Evil Unleashed: %a %d"] = 10, + ["%c's %d"] = 4, -- [Name]'s Abstract Object + ["%c's %a %p"] = 4, -- [Name]'s [Adjective] [Place] + ["%c's %p"] = 4, -- [Name]'s [Place] + ["Dirty Deeds for the %e"] = 7, -- Dirty Deeds for the [Entity] + ["The %e Attacks the %d %p"] = 7, -- The [Entity] Attacks the [Adjective] [Place] + ["Is %c %a?"] = 2, -- Is [Name] Adjective? + ["%c Is NOT %a!"] = 2, + ["%c's Playhouse"] = 3, -- [Name]'s Playhouse + ["%c's Warzone"] = 3, -- [Name]'s Warzone + ["%d: the %a %p"] = 7, + ["Death: %a %p"] = 7, + ["The %p: Our %d"] = 7, + ["Chaos: %a %p"] = 5, + ["Complete %d"] = 5, + ["Total %d"] = 5, + ["Treachery: The %d"] = 5, + ["Reborn: The %d"]=5, + ["Quietus: Complete %d"] = 4, + ["Is %c By The %a %p?"] = 3, + ["%a Death and %d"] = 5, + ["This WAD has %d"] = 5, -- This WAD has Abstract Objects + ["%c's %a WAD"] = 3, -- [Name]'s [Adjective] WAD + ["%c's WAD"] = 3, + ["%c's Fun Zone"] = 3, + ["Did %c Do This?"] = 3, + ["The %e Lurks Within"] = 5, -- The [Entity] Lurks Within + ["The %e Lurks Below"] = 5, + ["%e Knows You"] = 4, + ["Destruction of the %d %p"] = 5, -- Destruction of the [Adjective] [Place] + ["%a Black Metal"] = 5, -- [Adjective] Black Metal + ["%a Doom Metal"] = 5, -- [Adjective] Doom Metal + ["Sin City: The %a %p"] = 5, + ["Sin City: The %d"] = 5, + ["Ruination: %a %p"] = 3, + ["The %a %p of %m"] = 5, + ["Dead Base: The %d"] = 5, + ["Demise of the %e"] = 4, + ["%m and %c"]=4, + ["The %e's Fun %a %p"] = 4, + ["The %m %p"] = 4, + ["As The %e Gather"] = 4, + ["Insane %a %d"] = 4, + ["Plenty of %d"] = 4, + ["Hell's %a Division: %d"] = 4, + ["%a Sorcery"] = 3, + ["%a Witchcraft"] = 3, + ["%a Hellcraft"] = 3, + ["%d! Oh My Oh My"] = 3, + ["Is %c %a?"]=3 + }, + + lexicon = + { + a = --adjectives + { + -- elemental + Burning = 10, + Blazing = 15, + Blistering = 10, + Cold = 10, + Dry = 10, + Earthen = 10, + Fiery = 10, + Frozen = 10, + Poisonous = 10, + Smothering = 10, + Shocking = 10, + + -- grit + Festering = 5, + Fecund = 5, + Fetid = 5, + Filthy = 5, + Foul = 5, + Gory = 10, + Grisly = 15, + Infested = 10, + Lacerating = 10, + + -- size + Endless = 20, + Extreme = 10, + Infinite = 10, + + -- emotion + Acrimonious = 10, + Anguished = 5, + Baleful = 10, + Cruel = 10, + Dejected = 5, + Dolorous = 5, + Forlorn = 15, + Grievious = 15, + Grim = 15, + Lonely = 10, + Malevolent = 10, + Maleficent = 5, + Malignant = 7, + Melancholic = 5, + Menacing = 20, + Morbid = 20, + Nefarious = 15, + Raging = 10, + Savage = 30, + Sonorous = 10, + Sordid = 5, + Sullen = 5, + Spiteful = 5, + Tragic = 5, + Virulent = 10, + Vindictive = 7, + Vitriolic = 10, + Woeful = 10, + + -- destroyed or decay + Abandoned = 10, + Annihilated = 10, + Astray = 10, + Banished = 10, + Bleak = 10, + Broken = 10, + Deserted = 10, + Desolate = 15, + Forgotten = 10, + Forsaken = 10, + Lonely = 10, + Lost = 10, + Neglected = 10, + Oppressive = 10, + Ravaged = 10, + Shunned = 10, + Splintered = 10, + Wrecked = 10, + + -- weird + Multifarious = 5, + Weird = 10, + Strange = 10, + Surreal = 7, + + -- evilz + Blasphemous = 15, + Corrupt = 15, + Chaotic = 15, + Cursed = 10, + Demonic = 15, + Deplorable = 15, + Disgraceful = 10, + Evil = 15, + Feral = 10, + Ghastly = 10, + Ghoulish = 10, + Godless = 10, + Gruesome = 15, + Harrowing = 10, + Haunted = 10, + Hellish = 10, + Malicious = 10, + Malevolent = 10, + Monstrous = 15, + Profane = 15, + Sacreligious = 15, + Sinful = 15, + Tortured = 10, + Unholy = 10, + Visceral = 15, + Vile = 5, + Violent = 10, + Wicked = 10, + Wretched = 15, + + -- danger + Ailing = 5, + Deathly = 20, + Doomed = 10, + Fatal = 10, + Macabre = 10, + + -- holy + Blessed = 7, + Divine = 10, + Hallowed = 10, + Righteous = 10, + Sanctimonious = 10, + + -- asthetic + Appalling = 15, + Dark = 20, + Dreadful = 20, + Eerie = 10, + Hidden = 10, + Lurid = 10, + Terrifying = 20, + + -- celestial + Astral = 5, + Cosmic = 5, + Lunar = 10, + Solar = 10, + Stellar = 10, + + Lit = 8 + }, + + p = -- places + { + -- civilian places + City = 15, + Carnival = 10, + Causeway = 5, + Complex = 10, + Concourse = 10, + Crossing = 5, + Durance = 10, + Gateway = 10, + Ghetto = 5, + Halls = 10, + House = 10, + Hub = 10, + Streets = 5, + Towers = 15, + Prison = 10, + Ward = 10, + + -- generic locations/navigational + Beacon = 10, + Center = 5, + Path = 10, + Waypoint = 10, + Ways = 10, + + -- beautification + Garden = 10, + Mazes = 10, + Ruins = 10, + Tree = 10, + + -- holy sites + Basilica = 5, + Citadel = 15, + Chapel = 10, + Chambers = 10, + Oracle = 10, + Tabernacle = 5, + Temple = 15, + + -- medieval? + Domain = 10, + Den = 5, + Fiefdom = 5, + Kingdom = 10, + Lair = 5, + Stronghold = 5, + Pits = 10, + + -- celestial/extraterrestrial + -- this one is sorted by size? + World = 15, + Planet = 15, + Territories = 10, + Realm = 15, + Dimension = 10, + Plane = 10, + Netherworld = 10, + + -- natural landscapes + Acres = 10, + Barrows = 15, + Caverns = 15, + Canyon = 15, + Coast = 10, + Climb = 15, + Crevice = 10, + Fields = 10, + Hills = 10, + Highlands = 10, + Island = 15, + Land = 10, + Mountains = 10, + Moor = 15, + Paradise = 10, + Pass = 15, + Peak = 10, + Plateau = 15, + Pinnacle = 15, + Ridge = 10, + River = 10, + Sands = 10, + Shores = 20, + Span = 10, + Steppe = 10, + Strand = 10, + Valley = 20, + Vale = 20, + Wastes = 10, + Zenith = 10, + + -- burials + Burial = 10, + Catacombs = 10, + Crypt = 15, + Dungeons = 10, + Hollows = 10, + Mausoleum = 10, + Mortuary = 10, + Necropolis = 10, + Ossuary = 10, + Polyandrium = 10, + Tomb = 15, + Vault = 10, + + Firmament = 10, + Gallows = 8, + + -- deep, deep underground + Abyss = 10, + Perdition = 10, + Purgatory = 10, + Inferno = 10, + Underworld = 10, + + -- military + Base = 10, + Battlefront = 10, + Containment = 10, + Facility = 10, + Outpost = 10, + + -- times + Day = 10, + Dawn = 15, + Evening = 10, + Meridian = 10, + Noon = 10, + Night = 30, + Twilight = 10, + + -- scales of time + Eternity = 10, + Millenium = 10, + Century = 10, + Decade = 10, + Eon = 10, -- 100k x 365d. 365k yr + Aeon = 10, -- 1m x 365d. 3.65m yr / 1B yrs / Could also represent an indefinite amount of time too + Indiction = 7, -- 15 year cycle + Epoch = 7, -- 7.3m yrs + Megannum = 7, -- 1m years + + + -- seasons/weather + Rain = 15, + Winter = 15, + Storms = 15, + Blizzard = 15, + Snow = 10, + Ashfall = 10, + Drought = 10, + Wildfire = 10, + Sandstorm = 10, + Tornadoes = 10, + Wind = 10, + Avalanche = 8, + Mist = 8, + Fog = 8, + Autumn = 8, + Fall = 8, + Summer = 8, + Thundersnow = 8 + }, + + -- these are quite abstract + d = -- treated a bit like objects + { + -- gibs + Blood = 20, + Viscera = 10, + Slime = 5, + Sludge = 5, + + -- words transfered from places + -- because these aren't places at all + -- needs to be categorized + Feast = 10, + Harvest = 10, + Knowledge = 10, + Labours = 10, + Life = 8, + Lore = 10, + March = 10, + Portrait = 10, + Remembrance = 10, + Watch = 10, + + -- emotions/feels + Abuse = 10, -- "Abused" makes no sense in some aspects + Apathy = 5, + Anguish = 10, + Agony = 20, + Bereavement = 10, + Bleakness = 5, + Chaos = 10, + Contempt = 5, + Cruelty = 10, + Doom = 10, + Defilement = 15, + Despair = 10, + Dismay = 10, + Dread = 15, + Dreariness = 20, + Fear = 20, + Fury = 10, + Grief = 5, + Hate = 10, + Incompetence = 15, + Ineptitude = 10, + Lividness = 10, + Madness = 10, + Misery = 10, + Obstinance = 10, + Pain = 10, + Rage = 10, + Revulsion = 5, + Scorn = 10, + Spite = 15, + Silence = 20, + Tactility = 5, + Terror = 20, + Torment = 15, + Wrath = 10, + Vengeance = 20, + Violence = 15, -- "Violent" doesn't make sense + Withdrawal = 10, -- Most title additions of using "Withdrawn" wouldn't make sense + + -- occult + Ceremony = 10, + Cult = 10, + Horror = 10, + Idolatry = 10, + Magic = 15, + Magik = 10, + Ritual = 10, -- Could also be religious + Shadows = 10, + + Death = 20, -- This really is an all-around word + Flames = 20, + + -- religious + Belief = 10, + Choir = 10, + Conviction = 10, + Deliverance = 10, + Doctrine = 10, + Dogma = 10, + Faith = 10, + Hell = 10, -- Fits better here + Icons = 10, -- as in religious icons + Souls = 10, -- Frequently mentioned in religious texts as well, namely Judeo-Christian + Tenets = 10, -- Also occult + + -- states of mind, states in mind + Bliss = 10, + Dreams = 20, + Chaos = 10, + Nightmares = 20, + Insanity = 10, + Transience = 10, + + -- story devices + Bane = 10, + Legends = 10, + Genesis = 10, + Heroes = 10, + Imagination = 7, + Myths = 10, + Origins = 10, + Saga = 10, + Tales = 7, + Villains = 10, + + -- states of matter + Conception = 10, + Creation = 10, + Destruction = 10, + Disintegration = 10, + Extinction = 10, + Formation = 10, + Nascency = 10, + Subjugation = 10, + Undoing = 10, + + -- military + Battle = 10, + Campaign = 10, + Duty = 10, + Orders = 10, + Siege = 10, + Skirmishes = 10, + War = 10, + + -- uhh + Bondage = 10, + Inflation = 10, + Voraciousness = 10, + Transmogrification = 10, + + -- acts of evil + Desecration = 10, + Despoilment = 10, + Marauding = 10, + Pillage = 10, + Plunder = 10, + Raid = 10, + Ransack = 10, + Slaughter = 10, + + -- encounter + Accostment = 7, + Approach = 7, + Confrontation = 10, + Contact = 10, + Encounter = 10, + Rendezvous = 8, + Meeting = 10, + + -- kinds of speech (sometimes bad) + Casuistry = 8, + Chant = 10, + Chorus = 10, + Decree = 10, + Declarations = 10, + Edicts = 10, + Mandate = 10, + Paragolism = 10, + Sophistry = 10, + + -- cups of metaphorical substrate + Canon = 8, + Dogma = 10, + Maxims = 8, + Piety = 8, + Precepts = 10, + Tenets = 10, + + -- secret organizations + Cabal = 10, + Circle = 10, + Creed = 10, -- Also religious + League = 8, + Order = 10, + Sect = 8, + + -- state crimes + Collusion = 10, + Conspiracy = 10, + Heresy = 10,-- In WH 40k it is if you're not Chaos + Machinations = 10, + Ruse = 10, + Subterfurge = 10, + Treason = 10, + + -- curses + Affliction = 10, + Anathema = 10, + Bane = 10, + Calamity = 8, + Curse = 10, + Pestilence = 8, + Scourge = 10, + Trouble = 8, + Tribulation = 10, + Vexation = 8 + }, + + e = -- entities + { + -- DOOOOM!!! + ["Arch-Vile"] = 7, + Cyberdemon = 15, + Doomhunter = 5, -- Doom Eternal + ["Doom Slayer"] = 3, -- DOOM/Doom Eternal + ["Hell Noble"] = 7, -- Also known as a Baron, I guess + ["Hell Priest"]=7, -- Doom Eternal + ["Lost Souls"] = 7, + Marine = 15, + Mastermind = 15, + + -- religion + Adept = 10, + Antichrist = 10, + Archangel = 10, + Beast = 20, + Crusaders = 10, + Demons = 20, + Defiler = 20, + Denouncer = 10, + Devil = 20, + Dissenter = 20, + Gods = 20, + Heretic = 20, + Hellspawn = 20, + Idolater = 20, -- An idol worshipper + Infidel = 20, + ["Left Behind"] = 10, + Martyr = 10, + Nephilim = 10, + Pagans = 10, + Prophet = 10, + Saint = 10, + Seraph = 10, + Sinner = 15, + Shaman = 10, + Wicked = 20, + Wretched = 20, + + -- fantasy/magical + Aliens = 10, + Ancients = 15, + Anima = 7, + Bastards = 15, + Banshee = 7, + Cerberus = 10, + Chimera = 10, + Cyclops = 5, + Damned = 15, + Dragon = 10, + Drowned = 10, + Exile = 10, + Giants = 10, + Ghouls = 7, + Hexers = 10, + Keepers = 15, + Lich = 10, + Manticore = 10, + Minotaurs = 15, + Necromancer = 20, + Oracle = 15, + Reaper = 10, + Shaper = 10, + Trolls = 7, + Titans = 10, + Undead = 20, + Vampire = 7, + Wight = 7, + Wraith = 10, + Wyrm = 7, + Wyvern = 7, + Zombies = 10, + + -- Lovecraft + Elders = 10, + ["Deep Ones"] = 10, + ["Old Ones"] = 10, + Tentacles = 10, + + -- predatious animals + --(or generally infamous animals) + Cobra = 8, + Crow = 8, + Deathstalkers = 10, + Eagle = 8, + Hawk = 8, + Lion = 7, + Piranha = 8, + Raven = 8, + Scorpion = 8, + Snake = 8, + Spider = 8, + Wolf = 8, + + -- general adjectives + Abject = 10, + Corrupt = 20, + Cursed = 15, + Dead = 20, + Deplorable = 15, + Dishonorable = 15, + Doomed = 25, + Fearless = 20, + Hopeless = 20, + Hunted = 20, + Lost = 20, + Risen = 20, + Tormented = 20, + Worthless = 10, + + -- war + Despoiler = 10, + Destroyer = 10, + Executioner = 10, + Exterminator = 10, + Horde = 10, + Iconoclast = 10, + Invaders = 10, + Legion = 10, + Master = 10, + Overlord = 20, + Warmonger = 10, + Ravager = 10, + Swarm = 10, + + -- people who do bad and/or kill people + Assassin = 10, + Bandits = 8, + Brigands = 10, + Brutes = 10, + Malefactor = 10, + Marauder = 10, + Murderer = 10, + Outlaw = 8, + Thief = 8, + Transgressor = 10, + Vandals = 8, + + -- people with normal jobs + -- but sound bad in certain contexts + Butcher = 10, + Hunter = 10, + Soldiers = 10, + Slayer = 10, + + Unbeliever = 10, + -- Reisal adds things here + ["Sin Bringer"] = 10, + ["The Icon"] = 10, + Deathbringers = 10, + Dreadlords = 10, + Hellbringers = 15, + Voidbringers = 10, + + -- filth + Afflicted = 10, + Carious = 15, + Decaying = 20, + Fetid = 15, + Foul = 10, + Nidorous = 20, + Putrefied = 20, + Noxious = 15, + Rancid = 20, + Rotting = 25, + Tainted = 20, + Withered = 15, + + -- Pain + Agonized = 15, + Bleeding = 20, + Bloody = 10, + Charred = 15, + Eviscerated = 15, + Mangled = 10, + Mutilated = 20, + Suffering = 10, + Tortured = 10 + }, + + -- Materials, namely metal alloys + m = + { + Iron = 30, + Steel = 15, + Cobalt = 7, + Gold = 15, + Brass = 5, + Silver = 10, + Bronze = 5, + Copper = 7 + }, + + c = -- contributor names + { + NOUNMEMBERS = 10 + } + } + }, + + + SUB_TITLE = + { + patterns = + { + ["%s"] = 60 + }, + + lexicon = + { + s = + { + -- sequels + ["II"] = 60, + ["III"] = 60, + ["IV"] = 30, + ["V"] = 15, + ["VI"] = 5, + ["VII"] = 5, + ["VIII"] = 5, + ["IX"] = 5, + ["X"] = 5, + ["XI"] = 5, + ["XII"] = 5, + + ["R E D U X"] = 10, + ["Revisited"] = 10, + ["Reloaded"] = 10, + ["Remastered"] = 10, + ["Special Edition"] = 10, + ["Limited Edition"] = 10, + ["Anniversary Edition"] = 10, + ["Full Mag Edition"] = 10, + + ["A New Generation"] = 40, + ["The Resurrection"] = 30, + ["The Reckoning"] = 40, + ["Evil Is Reborn"] = 20, + + ["The Struggle Continues..."] = 20, + ["The Endless Fight"] = 20, + ["Recurring Evil"] = 20, + ["The Demons Are Back"] = 20, + ["Battle Everlasting"] = 20, + + -- prequels + ["G E N E S I S"] = 40, + ["The Awakening"] = 40, + ["Evil Unleashed"] = 20, + ["The Dead Shall Rise"] = 20, + ["Where It All Began"] = 20, + ["Dawn Of Eternity"] = 20, + ["Dawn of Evil"] = 20, + ["The Invasion Begins"] = 20, + ["The Prophecy Unfolds"] = 20, + + ["Prelude to Destruction"] = 25, + + -- OBsidian specifics + ["Obsidian Special"] = 50, + ["Obsidian Exclusive"] = 50, + ["Obsidian Limited Ed"] = 50, + ["By Obsidian Contribs"] = 35, + ["Carthage Special"] = 20, + ["Simon-v Special"] = 20, + ["Reisal Approved"] = 20, + ["Caligari Tested"] = 20, + ["Frozsoul Edition"] = 20, + ["Garrett Approves"] = 20, + ["MogWaltz Plus Plus"] = 20, + ["Craneo Edition"] = 20, + ["Tapwave Exclusive"] = 20, + ["EpicTyphlosion A OK"] = 20, + ["Phytolizer Tweaked"] = 20, + + -- describe the place + ["A God-forsaken Place"] = 20, + ["A Land In Turmoil"] = 20, + ["Demise of Humanity"] = 25, + ["Point Of No Return"] = 20, + ["Hell's Fury"] = 25, + ["Gateway to Hell"] = 20, + ["What Lurks Beneath"] = 20, + ["Where Devils Spawn"] = 20, + ["The Evil Within"] = 20, + + -- miscellaneous + ["A Dreaded Obligation"] = 30, + ["Bullets and Death"] = 25, + ["Cycle of Death"] = 30, + ["Crushing Odds"] = 30, + ["Die and Die Again"] = 30, + ["Humanity's Epitaph"] = 30, + ["Obligated to Die"] = 30, + ["Of Dark Light"] = 30, + ["Redemption Denied"] = 30, + ["Senseless Violence"] = 40, + ["Souls Denied"] = 30, + ["Your Dire Obligation"] = 30, + + ["A Fight for Survival"] = 20, + ["All Or Nothing"] = 20, + ["Chaos Ensues"] = 20, + ["Days Of Rage"] = 20, + ["Beyond Salvation"] = 20, + ["Last Chance"] = 20, + ["No Salvation"] = 20, + ["No More Time"] = 20, + ["No Time To Waste"] = 20, + ["No Time Left"] = 20, + ["One Last Chance"] = 20, + ["Out Of Time"] = 20, + ["Hell's Pinnacle"] = 20, + ["The Final Hour"] = 20, + ["Thirst for Vengeance"] = 20, + + ["The Apocalypse Has Come"] = 20, + ["The Brink of Disaster"] = 20, + ["Nobody Is Safe"] = 10, + ["Nowhere Is Safe"] = 10, + ["The Seeds of War"] = 20, + ["The Will To Survive"] = 20, + + -- Reisal adds names + ["A Masterpiece in Progress"] = 40, + ["A Bloody Good Time"] = 30, + ["A Brand New World!"] = 30, + ["A Developed Hellscape"] = 20, + ["A Fantastic Place!"] = 25, + ["A Folly For You"] = 20, + ["A Multitude of Fun!"] = 25, + ["A Pistol is Not Enough!"] = 25, + ["A Survivor's Test"] = 30, + ["A Withered World"] = 25, + ["Abrasive to the Core"] = 30, + ["Abuse Beyond Measure"] = 20, + ["Always Being Improved"] = 40, + ["Always Fun!"] = 30, + ["Amped Up!"] = 20, + ["An Excellent Choice!"] = 25, + ["An Obsidian Production"] = 40, + ["Another New World!"] = 30, + ["Are You Man Enough?"] = 20, + ["As Above, So Below"] = 30, + ["Best Played With Friends!"]=20, + ["Billions of Potential Levels!"] = 40, + ["Blasted Into Bits"] = 25, + ["Blasting Away!"] = 20, + ["Bleed a Whole Lot More"] = 25, + ["Bleeding Heavily"] = 35, + ["Brace For Impact"] = 25, + ["Breakdown of Order"] = 20, + ["Bring Extra Ammunition!"] = 30, + ["Brought to Your Knees!"] = 20, + ["Bugs Do Exist, Plz Report!"] = 20, + ["Burn It All Down"] = 30, + ["Burning Bright in the Sky"] = 30, + ["Burnt, Shot, Crushed, Blasted!"] = 20, + ["Can It Be Any Harder?"] = 25, + ["Carnal Desires"]=20, + ["Check Us On The Discord!"] = 35, + ["Cleansed By Fire"] = 25, + ["Complete Destruction"]=20, + ["Constantly Being Improved!"] = 30, + ["Contains 200% More Subway Tunnels"]=15, + ["Continued Destruction"] = 20, + ["Corruption Abound"]=20, + ["Corruption Unfettered"] = 20, + ["Crash and Burn!"] = 20, + ["Crimes Against Humanity"] = 25, + ["Crucifixion By Buckshot"] = 20, + ["Cruising for a Bruising"] = 30, + ["Crushed into Dust"] = 30, + ["Darkness Awaits Thee"] = 20, + ["Death is Not An Option"] = 25, + ["Descent Into Madness"] = 30, + ["Die a Million Deaths"] = 25, + ["Die and Die Once More"] = 20, + ["Division by Blood"] = 20, + ["Do Draconian Quantity!"]=15, + ["Emblem of Destruction"] = 25, + ["Embrace Your Doom"] = 30, + ["Enemy Sighted!"] = 20, + ["Environmental Abuse!"] = 20, + ["Enter Combat"] = 25, + ["Everybody Loves The Sub Titles"] = 20, + ["Excessive Damage!"] = 25, + ["Explosions Galore"] = 20, + ["Existing To Bleed"] = 25, + ["Face Smashed In"] = 20, + ["Fairness Not Guaranteed"]=20, + ["Fantastic!"] = 30, + ["Feel the Pain!"] = 25, + ["For The Emperor!"] = 30, -- Warhammer 40K + ["Get Psyched!"] = 30, -- Wolfenstein 3D + ["Get Scorched"] = 30, + ["Getting a Bit Spicy"] = 20, + ["High Impact Abuse"] = 35, + ["Hold On To Your Butts"] = 25, -- From Arnold in Jurassic Park, 1993, + ["Hold Your Ground"] = 30, + ["Is It Too Hard?"]=15, + ["If it Moves, Shoot It"] = 30, + ["It's a Disaster!"] = 20, + ["It's Hard, Is it Not?"] = 25, + ["It's Just Chaos"] = 20, + ["It's Just Dead"] = 30, + ["It's Raw!"] = 30, + ["Jacked Up Past Safe Levels!"] = 25, + ["John Romero says Hello"] = 25, + ["Let's Get It On!"] = 30, + ["Local Hellspawn Need Not Apply"] = 30, + ["Lots More Where That Came From!"] = 30, + ["Made with Blood, Sweat and Tears"] = 20, + ["Make it Dark, Make it Evil"] = 30, + ["Make it Like Silent Hill!"] = 25, + ["Mandatory Destruction"]=20, + ["Max out Trap Difficulty!"]=15, + ["Masochism For Imps!"] = 30, + ["Mods Usually Make Things Better!"] = 20, + ["Move it up a Notch"] = 25, + ["Move Your Ass!"]=20, + ["More Maps to Kill Things On!"] = 35, + ["Nailed Via Obsidian Spikes"] = 20, + ["Nappies Required to Play"]=15, + ["Nearly Unlimited Variety!"] = 30, + ["Not A Walk in the Park!"] = 30, + ["Not Safe For Game Journalists"] = 35, + ["Now with Dynamic Lights!"] = 30, + ["Now with more Impse"] = 30,-- This is not a spelling error, look it up lol + ["Oblige is Love, Oblige is Life"] = 40, + ["Perfect on Ultra-Violence"] = 30, + ["Peripheral Vision is Mandatory!"] = 30, + ["Please Let Us Know!"] = 25, + ["Potential Bugs May Exist!"] = 20, + ["Prepare to Run Lots!"] = 20, + ["Psychological Abuse"] = 30, + ["Purified Sin"] = 20, + ["Ramp it to the MAX!"] = 25, + ["Road to the World Cup"] = 20, -- By Swedra + ["Random by Nature"] = 30, + ["Recreate id's Aesthetics!"]=10, + ["Reign of Destruction"] = 25, + ["Set the World Alight"]=15, + ["Shining Bright!"] = 30, + ["Should be A-OK!"] = 20, + ["Single and Multiplayer!"] = 30, + ["Skilled Players Sign Here"] = 25, + ["Speedrunners are SOL"] = 25, + ["Surviving By A Thread"] = 30, + ["Symphony No 666 in H Minor"]=20, + ["Tacticality Optional"] = 30, + ["Take it Seriously"]=25, + ["Tell Us What You Think"] = 40, + ["Tell Your Friends!"] = 30, + ["The Chaosbringer"] = 20, + ["The Chaosweaver"] = 20, -- Partially from a Scar Symmetry song + ["The Corridors of Contempt"] = 25, + ["The Deadzone"] = 20, + ["The Devil's Playground"] = 30, + ["The Hellweaver"]=20, + ["The More, The Merrier"] = 25, + ["The New Challengers"] = 20, -- This one by Craneo + ["The Principles of Doom"] = 30, + ["The Threads of Life"] = 20, + ["The Shreds of Humanity"] = 20, + ["The True Story of Brutal Abuse"] = 20, + ["The World Beyond"] = 25, + ["There is Always Doomworld!"] = 20, + ["There's Always More!"] = 25, + ["There Is No Rationale"] = 20, + ["Third Strike"] = 20, -- Also by Craneo + ["This Fading Earth"]=15, + ["This Generator Slays Demons"] = 25, + ["This Is a Subtitle!"] = 20, + ["This WAD Shouldn't Suck"] = 25, + ["Thrashed Up for Seconds"] = 30, + ["Time to Man Up"] = 30, + ["Too Hard? Too Bad!"]=20, + ["Total Blackout"] = 20, + ["Totally Worth Your Time"] = 25, + ["Trust in Thy Firearms"] = 20, + ["Turn it to 11!"] = 30, -- Spinal Tap + ["Turned Up to 110 Percent!"] = 20, + ["TY for Supporting Obsidian!"] = 30, + ["Under Construction"] = 25, + ["Unrelenting Numbers!"] = 20, + ["Up and At Em!"] = 30, + ["Vigilance Is A Requirement!"] = 25, + ["Virtuous By Nature"] = 20, + ["Violation By Shotgun Barrel"] = 25, + ["We Have to Start Somewhere"] = 20, + ["We're in This Together"] = 25, + ["What Awaits You?"] = 30, + ["What Would Jesus Play?"] = 20, + ["Working Overtime!"] = 30, + ["You Guys Have Mods, Right?"] = 30, + ["You Think You Can Hide?"] = 25, + + -- MSSP adds names + ["Always Has Been"] = 20, + ["Hell is Infinite"] = 50, + ["Hell Aims To Please No One"] = 20, + ["Nobody Knows About Legacy 3D Lines"] = 20, + ["Live! Work! SLAY!"] = 20, + ["Invest in ObCoin Now!"] = 20, + ["Too Much Fabs, Too Few Fabs"] = 20, + ["Apparently Samey Yet Chaotic"] = 20, + ["The Category is... DOOM!"] = 20, + ["Too Many Features, They Said"] = 20, + ["Not Replacing Mappers, Devs Are Too"] = 20, + ["Obsidian is not an AI."] = 20, + ["Not an AI Until it Can Do Taxes"] = 20, + ["Who Generates the Generators?"] = 20, + + -- based on popular movie/TV slogans + ["A Minute in Hell"] = 20, + ["Whoever Wins We Lose"] = 20, + ["The Demons are Back"] = 20, + ["Trapped in Hell"] = 20, + ["Hell is War"] = 20, + ["Escape or Die Trying"] = 20, + ["No Rest for the Wicked"] = 20, + ["Be Very Afraid"] = 20, + ["There Can Only Be One"] = 20, + ["Angels Fall"] = 20, + ["The Last Man on Earth"] = 20, + ["Welcome to the Suck"] = 20, + ["A Hellspawn Reality"] = 20, + ["Wake Up Screaming"] = 20, + ["Wish You Were Here"] = 20, + ["The Classic"] = 20, + ["The Final Sentence"] = 20, + ["The Mission is Survive"] = 20, + ["There Will Be Blood"] = 20, + ["Not A Romantic Comedy"] = 20, + ["Might Hurt a Little"] = 20, + ["Full Metal Jacket"] = 20, + ["The Coast is Toast"] = 20, + ["Too Proud To Run"] = 20, + ["Fear Holds All Prisoner"] = 20, + ["Nothing Spreads Like Fear"] = 20, + ["A Few Days To Kill"] = 20, + ["The Future is DOOM"] = 20, + + -- book serialization/publication buzzwords + ["The Anthology"] = 40, + ["The Trilogy"] = 40, + ["The Complete Works"] = 20, + ["Omnibus Edition"] = 20, + ["Editor's Choice"] = 30, + ["The Next Chapter"] = 20, + + -- production-related phrases + ["11/10 IGN"] = 20, + ["An ObligeFlix Original Series"] = 40, + ["Classic Edition"] = 20, + ["Day One Edition"] = 20, + ["Deluxe Edition"] = 25, + ["Game of the Year Edition"] = 20, + ["Greatest Hits"] = 20, -- Craneo + ["No Microtransactions"] = 20, + ["Subscribe and Hit that Like Button"] = 40, + ["The Official Video Game Tie-in"] = 20, + ["The Original Series"] = 20, + + -- silly/annoying/occasionally informative + ["Always Keep Hydrated"] = 20, + ["Doesn't Contain Real Cheese"] = 10, + ["Go Out and Vote"] = 15, + ["Hate is Unmagic"] = 15, + ["He Doesn't Afraid of Anything"] = 15, + ["May Contain Chest-high Walls"] = 20, + ["Now With More Sentence Enhancers!"] = 10, + ["ObAdo What You ObAdon't"] = 20, + ["People Die When They Are Killed"] = 10, + ["Siri Look Up Doom Eternal"] = 10, + ["So Sad Alexa Play D RUNNIN"] = 10, + ["The World isn't Flat"] = 30, + ["Now Sashay Away"] = 30, + + -- Based on music, be it artists, song titles or album titles + ["Doomtanic Hellucinations"] = 20, -- Acid Witch - "Witchtanic Hellucinations" (song) + ["Hymns of Destruction"] = 20, -- The Adicts - "Songs of Praise" (album title) + ["Ashes of a Burning Earth"] = 25, -- Adversus Semita - "Ashes of a Burning Heaven" (song) + ["Doomx V"] = 30, -- Aeba - "Kodex V" (album title) + ["Demonic Rampage"] = 20, -- Afrobomination - "Galatic Rampage" (song) + ["Hell in Motion"] = 20, -- Against Nature - "All in Motion" (song) + ["Show Oneself the STARTAN"] = 15, -- Against Nature - "Show Myself the Door" (song) + ["The Divinity of Cyberdemons"] = 20, -- Ahab - The Divinity of Oceans (album title) + ["Enraptured by Death"] = 25, -- Akercocke - "Enraptured by Evil" (song) + ["Ceremony of Nine Icons"] = 20, -- Akercocke - "The Ceremony of Nine Angels" (song) + ["Demon's Lyric"] = 30, -- Akira Yamaoka - "Devil's Lyric" (Silent Hill Soundtrack) + ["Fear of the Abyss"] = 20, -- Akira Yamaoka - "Fear of the Dark" (Silent Hill Soundtrack) + ["Death by the Shotgun"] = 20, -- Alestorm - "Death before the Mast" (song) + ["No Secrets Known"] = 20, -- Alice in Chains - All Secrets Known (song) + ["Earth Gives Way to Hell"] = 25, -- Alice in Chains - Black Gives Way to Blue (album title) + ["Angry Demons"] = 20, -- Alice in Chains - Angry Chair (song) + ["Consciousness Beyond Peril"] = 25, -- Alienation Cold - "Dream of an Obscured Consciousness" (song) + ["Pursuit of Marines"] = 20, -- Amon Amarth - "The Pursuit of Vikings" (song) + ["Ruined Armor and Bloody Rifles"] = 20, -- Amon Amarth - "Tattered Banners and Bloody Flags" (song) + ["Maximum Doom"] = 20, -- Annihilator - "Maximum Satan" (song) + ["Sometimes They Hear The Fist"] = 25, -- Atomizer - "Sometimes they hear the Bullet" (song) + ["Hateful by Nature"] = 20, -- Atrophy - Violent by Nature (album title) + -- I'll stop here, because I have over 18,000(!!) tracks to go through and this would make this + -- list VERY, VERY LONG. - Reisal + + ["Highway to DOOM"] = 20, -- AC/DC - "Highway to Hell" (song) + ["Rhythm of Blood"] = 20, -- Unknown - "Rhythm of Red" (Tokyo Xtreme Racer Zero soundtrack) + ["Born too Deadly"] = 20, -- The Crystal Method - "Born too Slow" (song) + ["Angel and the Devil"] = 20, -- Wolfmother - "Joker and the Thief" (song) + ["No Angels Fly"] = 20, -- Sabaton - "No Bullets Fly" (song) + + -- Nerdery stuff + ["d20 Edition"] = 15 -- Also Swedra + } + } + } + -- end of 'TITLE' and 'SUB_TITLE' themes + -- end of all the 'TEXT_XXX' themes +} \ No newline at end of file diff --git a/games/harmony/params.lua b/games/harmony/params.lua new file mode 100644 index 0000000000..a39fce2773 --- /dev/null +++ b/games/harmony/params.lua @@ -0,0 +1,7 @@ +HARMONY.PARAMETERS = +{ + max_name_length = 28, + titlepic_lump = "TITLEPIC", + titlepic_format = "patch", + bex_map_prefix = "HUSTR_", +} \ No newline at end of file diff --git a/games/harmony/resources.lua b/games/harmony/resources.lua new file mode 100644 index 0000000000..123271aba1 --- /dev/null +++ b/games/harmony/resources.lua @@ -0,0 +1,127 @@ +-------------------------------------------------------------------- +-- HARMONY RESOURCES / GRAFIX +-------------------------------------------------------------------- + +HARMONY.PALETTES = -- Update with correct colors - Dasho +{ + normal = + { + 0, 0, 0, 31, 23, 11, 23, 15, 7, 75, 75, 75, 255,255,255, + 27, 27, 27, 19, 19, 19, 11, 11, 11, 7, 7, 7, 47, 55, 31, + 35, 43, 15, 23, 31, 7, 15, 23, 0, 79, 59, 43, 71, 51, 35, + 63, 43, 27, 255,183,183, 247,171,171, 243,163,163, 235,151,151, + 231,143,143, 223,135,135, 219,123,123, 211,115,115, 203,107,107, + 199, 99, 99, 191, 91, 91, 187, 87, 87, 179, 79, 79, 175, 71, 71, + 167, 63, 63, 163, 59, 59, 155, 51, 51, 151, 47, 47, 143, 43, 43, + 139, 35, 35, 131, 31, 31, 127, 27, 27, 119, 23, 23, 115, 19, 19, + 107, 15, 15, 103, 11, 11, 95, 7, 7, 91, 7, 7, 83, 7, 7, + 79, 0, 0, 71, 0, 0, 67, 0, 0, 255,235,223, 255,227,211, + 255,219,199, 255,211,187, 255,207,179, 255,199,167, 255,191,155, + 255,187,147, 255,179,131, 247,171,123, 239,163,115, 231,155,107, + 223,147, 99, 215,139, 91, 207,131, 83, 203,127, 79, 191,123, 75, + 179,115, 71, 171,111, 67, 163,107, 63, 155, 99, 59, 143, 95, 55, + 135, 87, 51, 127, 83, 47, 119, 79, 43, 107, 71, 39, 95, 67, 35, + 83, 63, 31, 75, 55, 27, 63, 47, 23, 51, 43, 19, 43, 35, 15, + 239,239,239, 231,231,231, 223,223,223, 219,219,219, 211,211,211, + 203,203,203, 199,199,199, 191,191,191, 183,183,183, 179,179,179, + 171,171,171, 167,167,167, 159,159,159, 151,151,151, 147,147,147, + 139,139,139, 131,131,131, 127,127,127, 119,119,119, 111,111,111, + 107,107,107, 99, 99, 99, 91, 91, 91, 87, 87, 87, 79, 79, 79, + 71, 71, 71, 67, 67, 67, 59, 59, 59, 55, 55, 55, 47, 47, 47, + 39, 39, 39, 35, 35, 35, 119,255,111, 111,239,103, 103,223, 95, + 95,207, 87, 91,191, 79, 83,175, 71, 75,159, 63, 67,147, 55, + 63,131, 47, 55,115, 43, 47, 99, 35, 39, 83, 27, 31, 67, 23, + 23, 51, 15, 19, 35, 11, 11, 23, 7, 191,167,143, 183,159,135, + 175,151,127, 167,143,119, 159,135,111, 155,127,107, 147,123, 99, + 139,115, 91, 131,107, 87, 123, 99, 79, 119, 95, 75, 111, 87, 67, + 103, 83, 63, 95, 75, 55, 87, 67, 51, 83, 63, 47, 159,131, 99, + 143,119, 83, 131,107, 75, 119, 95, 63, 103, 83, 51, 91, 71, 43, + 79, 59, 35, 67, 51, 27, 123,127, 99, 111,115, 87, 103,107, 79, + 91, 99, 71, 83, 87, 59, 71, 79, 51, 63, 71, 43, 55, 63, 39, + 255,255,115, 235,219, 87, 215,187, 67, 195,155, 47, 175,123, 31, + 155, 91, 19, 135, 67, 7, 115, 43, 0, 255,255,255, 255,219,219, + 255,187,187, 255,155,155, 255,123,123, 255, 95, 95, 255, 63, 63, + 255, 31, 31, 255, 0, 0, 239, 0, 0, 227, 0, 0, 215, 0, 0, + 203, 0, 0, 191, 0, 0, 179, 0, 0, 167, 0, 0, 155, 0, 0, + 139, 0, 0, 127, 0, 0, 115, 0, 0, 103, 0, 0, 91, 0, 0, + 79, 0, 0, 67, 0, 0, 231,231,255, 199,199,255, 171,171,255, + 143,143,255, 115,115,255, 83, 83,255, 55, 55,255, 27, 27,255, + 0, 0,255, 0, 0,227, 0, 0,203, 0, 0,179, 0, 0,155, + 0, 0,131, 0, 0,107, 0, 0, 83, 255,255,255, 255,235,219, + 255,215,187, 255,199,155, 255,179,123, 255,163, 91, 255,143, 59, + 255,127, 27, 243,115, 23, 235,111, 15, 223,103, 15, 215, 95, 11, + 203, 87, 7, 195, 79, 0, 183, 71, 0, 175, 67, 0, 255,255,255, + 255,255,215, 255,255,179, 255,255,143, 255,255,107, 255,255, 71, + 255,255, 35, 255,255, 0, 167, 63, 0, 159, 55, 0, 147, 47, 0, + 135, 35, 0, 79, 59, 39, 67, 47, 27, 55, 35, 19, 47, 27, 11, + 0, 0, 83, 0, 0, 71, 0, 0, 59, 0, 0, 47, 0, 0, 35, + 0, 0, 23, 0, 0, 11, 0, 47, 47, 255,159, 67, 255,231, 75, + 255,123,255, 255, 0,255, 207, 0,207, 159, 0,155, 111, 0,107, + 167,107,107 + } +} + +-- These are the only tracks used in the base Harmony IWAD (this does include the title music) +HARMONY.MUSIC_LUMPS = +{ + "D_RUNNIN", + "D_STALKS", + "D_DM2TTL", +} + +function HARMONY.make_cool_gfx() + local GREEN = + { + 0, 7, 127, 126, 125, 124, 123, + 122, 120, 118, 116, 113 + } + + local BRONZE_2 = + { + 0, 2, 191, 189, 187, 235, 233, + 223, 221, 219, 216, 213, 210 + } + + local RED = + { + 0, 2, 188,185,184,183,182,181, + 180,179,178,177,176,175,174,173 + } + + local GOLD = { 0,47,44, 167,166,165,164,163,162,161,160, 225 } + + local SILVER = { 0,246,243,240, 205,202,200,198, 196,195,194,193,192, 4 } + + + local colmaps = + { + BRONZE_2, GREEN, RED, GOLD, SILVER + } + + rand.shuffle(colmaps) + + gui.set_colormap(1, colmaps[1]) + gui.set_colormap(2, colmaps[2]) + gui.set_colormap(3, colmaps[3]) + gui.set_colormap(4, colmaps[4]) + +--[[ FIXME + + -- patches : HW313, HW316, HW329, HW309 + gui.wad_logo_gfx("RW23_1", "p", "PILL", 128,128, 1) + gui.wad_logo_gfx("RW25_3", "p", "BOLT", 128,128, 2) + gui.wad_logo_gfx("RW33_2", "p", "RELIEF", 128,128, 3) + gui.wad_logo_gfx("RW24_1", "p", "CARVE", 128,128, 4) + + -- flats + gui.wad_logo_gfx("O_PILL", "f", "PILL", 64,64, 1) + gui.wad_logo_gfx("O_BOLT", "f", "BOLT", 64,64, 2) + gui.wad_logo_gfx("O_RELIEF", "f", "RELIEF", 64,64, 3) + gui.wad_logo_gfx("O_CARVE", "f", "CARVE", 64,64, 4) +--]] +end + + +function HARMONY.all_done() + HARMONY.make_cool_gfx() +end diff --git a/games/harmony/themes.lua b/games/harmony/themes.lua new file mode 100644 index 0000000000..a48a1c783b --- /dev/null +++ b/games/harmony/themes.lua @@ -0,0 +1,907 @@ +------------------------------------------------------------------------ +-- HARMONY THEMES +------------------------------------------------------------------------ +-- +-- Copyright (C) 2006-2017 Andrew Apted +-- Copyright (C) 2008 Sam Trenholme +-- Copyright (C) 2019-2020 MsrSgtShooterPerson +-- --Adapted from MsrSgtShooterPerson's Doom themes.lua file + --Into a singular theme (Castle) for Heretic +-- +-- This program is free software; you can redistribute it and/or +-- modify it under the terms of the GNU General Public License +-- as published by the Free Software Foundation; either version 2, +-- of the License, or (at your option) any later version. +-- +------------------------------------------------------------------------ + +HARMONY.THEMES = +{ + DEFAULTS = + { + slump_config = + [[ + ; + ; Sample SLIGE config file. (Semicolon starts a comment to end of line.) + ; + ; This is the SLIGE.CFG as shipped with SLIGE itself. It contains a + ; description of the default SLIGE configuration, as hardwired into + ; the program. So having this file in the current directory under the + ; name SLIGE.CFG should produce exactly the same effect as not having + ; any config file at all. You can use this file as a base to build + ; your own config files on (but if you do, you should change these + ; comments; otherwise they'll be WRONG!). + ; + ; Dave Chess, dmchess@aol.com, chess@us.ibm.com + + ; The current implementation ignores everything before the + ; [THEMES] line also, but that will change. + + [THEMES] ; Anything after a ; is, remember, a comment + + ; We have three themes, one secret. They should all be declared + ; before any textures or flats or anything else. The only valid + ; modifier is "secret", which says that that theme should only be + ; used on secret levels. There should be at least one "secret" + ; theme. + + Theme MIL + Theme RED secret + + + ; Flats and textures and constructs and stuff are also in the [THEMES] section + + ; Textures are described by "Texture NAME ". Obvious + ; attributes include "wall", "door", and so on. Some subtler ones: + ; + ; "core " means that this texture should be common in that theme. + ; "comp " means that this texture is compatible with that theme, but + ; not to be used all that often. + ; "switch " means "the given texture is a good switch to use in + ; a room that has walls of the current texture" + ; "isswitch" means "the current texture is a good switch to use on any + ; wall in a room with a compatible theme" + ; "subtle " means "the given texture is a subtle variant of the + ; current texture, suitable for hinting at secrets" + ; "yhint N" means "when using a vertical misalignment to hint at + ; a secret door in a wall of this texture, use a y-offset of N". If + ; N is zero, it means "this wall is too visually complex to hint via a + ; y-misalignment at all; hint some other way". If no "yhint" is given, + ; the value 5 is used. + ; "noDoom2" means that the texture does not exist in the usual DOOM II + ; IWAD. "noDoom0" means it doesn't exist in the DOOM 1.2 IWAD, and + ; "noDoom1" means it's not in the DOOM 1.666 or 1.89 IWAD. If none + ; of these are specified, the texture is assumed to be in all. + ; "size " gives the size of the texture. You can leave + ; this out if the height is 128, and the width is some reasonable + ; divisor of 256 (except for doors, where you should give the real + ; width so SLIGE can make them look nice). + + ; MIL walls ; note that in MIL the walls all have explicit switches + Texture BRONZE4 wall core MIL subtle BRONZE3 switch SW1TEK noDoom0 noDoom1 + Texture STARTAN1 wall core MIL subtle STARTAN2 switch SW1STRTN noDoom2 + Texture STARTAN3 wall core MIL subtle STARG3 switch SW1STRTN + Texture STARTAN2 wall core MIL subtle STARBR2 switch SW1STRTN + Texture STARG3 wall core MIL subtle STARGR1 switch SW1STRTN + Texture STARG2 wall core MIL subtle STARG1 switch SW1STRTN + Texture STARG1 wall core MIL subtle STARG2 switch SW1STRTN + Texture BROWN96 wall core MIL subtle BROWNGRN switch SW1DIRT + Texture TEKGREN2 wall core MIL subtle TEKGREN1 switch SW1TEK noDoom0 noDoom1 + Texture BROWN1 wall core MIL switch SW1BRN2 + Texture STONE wall core MIL subtle GRAY1 switch SW1GRAY + Texture STONE6 wall comp MIL subtle STONE7 switch SW1STON6 noDoom0 noDoom1 + Texture BROWNGRN wall core MIL subtle BROWN96 switch SW1BRNGN + Texture SLADWALL wall core MIL subtle BROWNGRN switch SW1SLAD + Texture PIPEWAL2 wall comp MIL subtle PIPEWAL1 switch SW1COMP noDoom0 noDoom1 + Texture GRAYALT wall core MIL switch SW1GRAY noDoom0 noDoom1 custom + Texture TEKVINE wall comp MIL subtle TEKWALL1 switch SW1TEK yhint 0 noDoom0 noDoom1 custom + Texture SPACEW4 wall comp MIL switch SW1TEK noDoom0 noDoom1 + Texture METAL5 wall comp MIL subtle METAL3 switch SW1MET2 noDoom0 noDoom1 + Texture METAL2 switch SW1MET2 noDoom0 noDoom1 + Texture COMPUTE3 wall comp MIL switch SW1STRTN noDoom2 + Texture TEKWALL4 wall comp MIL subtle COMPWERD switch SW1COMP yhint 2 + Texture TEKWALL1 wall comp MIL subtle COMPWERD switch SW1COMP yhint 2 + Texture GRAY1 wall comp MIL subtle ICKWALL3 switch SW1GRAY + Texture GRAY7 wall comp MIL subtle GRAY1 switch SW1GRAY1 + Texture ICKWALL3 wall comp MIL subtle ICKWALL7 switch SW2GRAY + Texture BROVINE2 wall comp MIL switch SW1SLAD yhint 2 + Texture METAL1 wall comp MIL switch SW1METAL + Texture STARBR2 wall comp MIL subtle STARTAN2 switch SW1STRTN + + + ; And the lift texture + Texture PLAT1 size 128 128 lift comp MIL + + + ; RED walls + Texture SP_HOT1 wall core RED + Texture REDWALL wall core RED + Texture FIREBLU1 wall core RED subtle FIREMAG1 yhint 0 + Texture SW1HOT isswitch comp RED + ; a wall version of SKY3, just for fun. You can comment this + ; out if you think it looks ugly. + Texture SKY3_W wall comp RED realname SKY3 + + ; Doors of all kinds. "size" gives the width and height of the texture, + ; and "locked" means that it's a good texture to use on a door that only + ; opens with a switch, not a touch. + Texture TEKBRON2 size 64 128 door comp MIL noDoom0 noDoom1 + Texture SPCDOOR4 size 64 128 door comp MIL noDoom0 noDoom1 + Texture SPCDOOR3 size 64 128 door comp MIL noDoom0 noDoom1 + Texture SPCDOOR2 size 64 128 door comp MIL noDoom0 noDoom1 + Texture SPCDOOR1 size 64 128 door comp MIL noDoom0 noDoom1 + Texture DOORHI size 64 128 door comp MIL noDoom2 + Texture DOOR3 size 64 72 door comp MIL + Texture DOOR1 size 64 72 door comp MIL + Texture WOODSKUL size 64 128 door comp RED noDoom2 + Texture WOODMET2 size 64 128 door comp RED noDoom0 noDoom1 + Texture WOODGARG size 64 128 door comp RED + Texture BIGDOOR4 size 128 128 door comp MIL + Texture BIGDOOR3 size 128 128 door comp MIL + Texture BIGDOOR2 size 128 128 door comp MIL + Texture BIGDOOR1 size 128 96 door comp MIL + Texture BIGDOOR7 size 128 128 door comp RED + Texture BIGDOOR6 size 128 112 door comp RED + Texture BIGDOOR5 size 128 128 door comp RED + Texture METAL size 64 128 door comp RED + ; Our two custom locked-door textures + Texture DOORSKUL size 64 72 door locked comp MIL noDoom0 noDoom1 custom + Texture SLDOOR1 size 64 128 door locked comp MIL realname SP_DUDE5 custom + + ; Exit switches, suitable for use on any level-ending switch. All are + ; custom, and Doom2-only. + Texture EXITSWIR exitswitch comp RED noDoom0 noDoom1 custom + Texture EXITSWIT exitswitch comp MIL noDoom0 noDoom1 custom + + ; Lights, suitable for lighting recesses and stuff. + Texture BFALL1 size 8 128 light comp RED noDoom0 noDoom1 + Texture LITEREDL size 8 128 light comp RED realname LITERED noDoom2 + Texture TEKLITE light comp MIL noDoom0 noDoom1 + Texture LITE4 light comp MIL noDoom2 + Texture LITE5 light comp MIL + Texture LITE3 light comp MIL + + ; "Plaques", suitable for wall consoles and paintings and pillars and stuff. + ; "vtiles" means that it's OK to pile one on top of another, as when + ; making the big central pillar in an arena. + ; "half_plaque" means that the upper half of this texture can be used + ; by itself, as well as the whole thing. + Texture SILVER3 plaque vtiles comp MIL noDoom0 noDoom1 + Texture SPACEW3 plaque vtiles comp MIL noDoom0 noDoom1 + Texture COMPSTA2 plaque vtiles half_plaque comp MIL + Texture COMPSTA1 plaque vtiles half_plaque comp MIL + Texture COMP2 plaque vtiles half_plaque comp MIL + Texture COMPTALL plaque vtiles comp MIL + Texture COMPUTE1 plaque vtiles half_plaque comp MIL noDoom2 + Texture PLANET1 plaque vtiles half_plaque comp MIL noDoom2 + Texture SKIN2 plaque vtiles comp RED + Texture GSTFONT1 plaque comp RED + Texture FIREMAG1 plaque comp red + ; Some people think these next two look silly; + ; you can comment them out if you want to. + ; Texture SKY1 plaque + ; Texture SKY3 plaque comp RED + + ; Gratings + Texture BRNBIGC grating comp MIL noDoom2 + Texture MIDSPACE grating comp MIL noDoom0 noDoom1 + Texture MIDVINE1 grating comp MIL comp RED noDoom2 + Texture MIDBARS1 grating comp MIL comp RED noDoom0 noDoom1 + Texture MIDGRATE grating comp MIL comp RED + + ; Colors (suitable for marking key-locked things) + Texture LITERED size 8 128 red comp MIL noDoom2 + Texture DOORRED size 8 128 red comp MIL + Texture DOORRED2 size 16 128 red comp RED + Texture DOORYEL size 8 128 yellow comp MIL + Texture DOORYEL2 size 16 128 yellow comp RED + Texture LITEBLU4 size 16 128 blue comp MIL + Texture LITEBLU1 size 8 128 blue comp MIL + Texture DOORBLU size 8 128 blue comp MIL + Texture DOORBLU2 size 16 128 blue comp RED + + ; Step kickplates + Texture STEP6 size 256 16 step comp MIL + Texture STEP5 size 256 16 step comp MIL + Texture STEP4 size 256 16 step comp MIL + Texture STEP3 size 256 8 step comp MIL + Texture STEP2 size 256 8 step comp MIL + Texture STEP1 size 256 8 step comp MIL + + ; "Doorjambs" + Texture FIRELAVA jamb comp RED + Texture DOORTRAK jamb comp MIL + Texture DOORSTOP jamb comp MIL + ; Texture PIPE2 jamb comp MIL ; PIPE2 is also a wall texture + + ; Support textures, used in various places + Texture SKSNAKE2 support comp RED + Texture ROCKRED1 support comp RED + Texture COMPSPAN support comp MIL + Texture SUPPORT2 support comp MIL + Texture SHAWN2 support comp MIL + Texture ASHWALL3 support noDoom0 noDoom1 + Texture ASHWALL support noDoom2 + Texture BROWNHUG support comp MIL + Texture METAL support comp RED + + ; Bunch of things for outside patios (no themes applied here) + Texture ZIMMER1 outside noDoom0 noDoom1 + Texture ZIMMER2 outside noDoom0 noDoom1 + Texture ZIMMER3 outside noDoom0 noDoom1 + Texture ZIMMER4 outside noDoom0 noDoom1 + Texture ZIMMER5 outside noDoom0 noDoom1 + Texture ZIMMER7 outside noDoom0 noDoom1 + Texture ZIMMER8 outside noDoom0 noDoom1 + Texture TANROCK5 outside noDoom0 noDoom1 + Texture TANROCK4 outside noDoom0 noDoom1 + Texture TANROCK2 outside noDoom0 noDoom1 + Texture STUCCO outside noDoom0 noDoom1 + Texture STONE6 outside noDoom0 noDoom1 + Texture ROCK1 outside noDoom0 noDoom1 + Texture MODWALL1 outside noDoom0 noDoom1 + Texture BSTONE1 outside noDoom0 noDoom1 + Texture BRICK4 outside noDoom0 noDoom1 + Texture ASHWALL7 outside noDoom0 noDoom1 + Texture ASHWALL6 outside noDoom0 noDoom1 + Texture ASHWALL4 outside noDoom0 noDoom1 + Texture ASHWALL2 outside noDoom0 noDoom1 + Texture SP_ROCK1 outside + Texture GRAYVINE outside + Texture ICKWALL3 outside + Texture BROWN144 outside + Texture GSTONE1 outside + Texture GSTVINE1 outside + Texture BRICK10 outside NoDoom0 NoDoom1 + Texture ASHWALL3 outside NoDoom0 NoDoom1 + Texture ASHWALL outside NoDoom2 + Texture BROWNHUG outside + + ; Misc + Texture EXITSIGN gateexitsign + Texture REDWALL error + + ; This silly texture has the switch in the wrong half! + Texture SW1DIRT ybias 72 + Texture SW1MET2 ybias 64 + + ; Now the flats. Keywords should all be pretty obvious... *8) + + ; Teleport-gate floors + Flat SLGATE1 gate comp MIL comp RED custom + Flat GATE4 gate comp MIL comp RED + Flat GATE3 gate comp MIL comp RED + Flat GATE2 gate comp MIL comp RED + Flat GATE1 gate comp MIL comp RED + + ; Floors and ceilings for MIL theme + Flat SLLITE1 ceiling light comp MIL custom + Flat TLITE6_6 ceiling light comp MIL + Flat TLITE6_5 ceiling light comp MIL + Flat FLOOR7_1 ceiling outside comp MIL + Flat FLOOR5_2 ceiling comp MIL + Flat CEIL3_1 ceiling comp MIL + Flat CEIL3_2 ceiling comp MIL + Flat CEIL3_5 ceiling comp MIL + Flat FLAT14 floor comp MIL + Flat FLOOR4_1 floor comp MIL + Flat FLOOR4_8 floor comp MIL + Flat FLOOR5_1 floor comp MIL + Flat FLOOR3_3 floor ceiling comp MIL + Flat FLOOR0_2 floor comp MIL + Flat FLOOR0_1 floor comp MIL + Flat FLAT1_2 floor outside comp MIL + Flat FLAT5 floor comp MIL + Flat SLIME14 floor comp MIL noDoom0 noDoom1 + Flat SLIME15 floor comp MIL noDoom0 noDoom1 + Flat SLIME16 floor comp MIL noDoom0 noDoom1 + ; and nukage + Flat NUKAGE1 nukage comp MIL + Flat SLIME01 nukage comp MIL noDoom0 noDoom1 + + ; Floors and ceilings for (secret) RED theme + Flat SLSPARKS floor comp RED custom + Flat SFLR6_4 floor ceiling comp RED + Flat TLITE6_5 ceiling light comp RED + Flat FLOOR6_1 floor ceiling red comp RED + Flat FLOOR1_7 ceiling light comp RED + Flat FLOOR1_6 floor ceiling red comp RED + Flat FLAT5_3 floor ceiling red comp RED + Flat LAVA1 nukage comp RED + Flat BLOOD1 nukage red comp RED + Flat RROCK05 nukage comp RED noDoom0 noDoom1 + + ; Floors for outside areas not yet mentioned + Flat SLGRASS1 outside custom + Flat SLIME13 outside noDoom0 noDoom1 + Flat RROCK19 outside noDoom0 noDoom1 + Flat RROCK16 outside noDoom0 noDoom1 + Flat RROCK11 outside noDoom0 noDoom1 + Flat GRNROCK outside noDoom0 noDoom1 + Flat GRASS2 outside noDoom0 noDoom1 + Flat GRASS1 outside noDoom0 noDoom1 + Flat MFLR8_4 outside + Flat MFLR8_3 outside + Flat MFLR8_2 outside + Flat FLAT5_7 outside + Flat FLAT10 outside + + ; These are the defaults, but we'll list them anyway. + Flat FWATER1 water + Flat F_SKY1 sky + + ; Constructs: computers and crates and stuff that stand around in rooms + ; This is pretty complex! Fool with it at your peril. + + ; Family 1 is silver-colored computers; short ones and tall ones + Construct family 1 height 64 comp MIL + top FLAT9 top FLAT4 top FLAT23 top FLAT19 top FLAT18 top CRATOP1 top COMP01 + Primary COMPUTE1 yoffsets 0 64 + Primary COMPSTA2 + Primary COMPSTA1 + Secondary SUPPORT2 width 16 + Secondary SHAWN2 width 16 + Construct family 1 height 128 comp MIL + top FLAT9 top FLAT4 top FLAT23 top FLAT19 top FLAT18 top CRATOP1 top COMP01 + Primary SILVER3 + Primary COMPUTE1 yoffsets 0 64 + Secondary SILVER2 width 64 + Secondary SILVER1 width 64 + Secondary SUPPORT2 width 16 + Secondary SHAWN2 width 16 + + ; Family 2 is dark-colored computers; short and tall + Construct family 2 height 64 comp MIL + top CEIL5_1 top FLAT4 top TLITE6_1 + Primary SPACEW3 yoffsets 0 64 width 64 + Primary COMPTALL yoffsets 0 64 width 256 + Primary COMP2 yoffsets 0 64 width 256 + Secondary METAL7 yoffsets 0 64 width 64 + Secondary METAL6 yoffsets 0 64 width 64 + Secondary METAL5 yoffsets 0 64 width 64 + Secondary METAL3 yoffsets 0 64 width 64 + Secondary METAL2 yoffsets 0 64 width 64 + Secondary COMPWERD width 64 + Secondary COMPSPAN width 16 + Construct family 2 height 128 comp MIL + top CEIL5_1 top FLAT4 top TLITE6_1 + Primary SPACEW3 width 64 + Primary COMPTALL width 256 + Primary COMP2 width 256 + Secondary METAL7 yoffsets 0 64 width 64 + Secondary METAL6 yoffsets 0 64 width 64 + Secondary METAL5 yoffsets 0 64 width 64 + Secondary METAL3 yoffsets 0 64 width 64 + Secondary METAL2 yoffsets 0 64 width 64 + Secondary COMPWERD width 64 + Secondary COMPSPAN width 16 + + ; Family 3 is crates of various sizes and kinds + Construct family 3 height 64 comp MIL + top CRATOP2 + Primary CRATWIDE yoffsets 64 64 + Primary CRATE1 width 64 + Construct family 3 height 64 comp MIL + top CRATOP1 + Primary CRATWIDE + Primary CRATE2 width 64 + Construct family 3 height 64 comp MIL + top CRATOP1 + Primary CRATELIT width 32 + Construct family 3 height 32 comp MIL + top CRATOP1 + Primary CRATELIT width 32 + Construct family 3 height 16 comp MIL + top CRATOP1 + Primary CRATINY width 16 + + ; And Family 4 is bookcases; works only in Doom2 + Construct family 4 height 128 noDoom0 noDoom1 + top FLAT5_1 top CRATOP2 top CEIL5_2 top CEIL3_3 top CEIL1_1 + Secondary PANEL5 width 64 + Secondary PANCASE2 width 64 + Secondary PANCASE1 width 64 + Secondary PANBORD2 width 16 + Secondary PANBORD1 width 32 + Primary PANBOOK width 64 + + ; Mask-adjustments for the construct textures that need it + Texture PANEL5 noDoom0 noDoom1 + Texture PANCASE2 noDoom0 noDoom1 + Texture PANCASE1 noDoom0 noDoom1 + Texture PANBORD2 noDoom0 noDoom1 + Texture PANBORD1 noDoom0 noDoom1 + Texture METAL7 noDoom0 noDoom1 + Texture METAL6 noDoom0 noDoom1 + Texture METAL2 noDoom0 noDoom1 + Texture COMP2 noDoom2 + Texture SILVER2 noDoom0 noDoom1 + Texture SILVER1 noDoom0 noDoom1 + + ; Load the hardwired monster and object and so on data (required in + ; this version of SLIGE; don't remove this!) + Hardwired1 + + ; Say which lamps we like in which themes, and where barrels are allowed + ; Information like which Doom version each object is in, and which ones + ; cast light, and which ones explode, is still hardwired. + Thing 2035 comp MIL ; barrel + Thing 34 comp MIL ; candle + ;Thing 44 ; tall blue torch + ;Thing 45 ; tall green torch + Thing 46 comp RED ; tall red torch + ;Thing 55 comp RED ; short blue torch + ;Thing 56 comp RED ; short green torch + Thing 57 comp RED ; short red torch + Thing 48 comp MIL ; electric pillar + Thing 2028 comp MIL + Thing 85 comp MIL + Thing 86 comp MIL + Thing 70 comp MIL ; flaming barrel + ;Thing 35 ; candelabra + + ; and that's it! + ]] + }, + + + ndf_base = + { + slump_config = + [[ + ; + ; Sample SLIGE config file. (Semicolon starts a comment to end of line.) + ; + ; This is the SLIGE.CFG as shipped with SLIGE itself. It contains a + ; description of the default SLIGE configuration, as hardwired into + ; the program. So having this file in the current directory under the + ; name SLIGE.CFG should produce exactly the same effect as not having + ; any config file at all. You can use this file as a base to build + ; your own config files on (but if you do, you should change these + ; comments; otherwise they'll be WRONG!). + ; + ; Dave Chess, dmchess@aol.com, chess@us.ibm.com + + ; The current implementation ignores everything before the + ; [THEMES] line also, but that will change. + + [THEMES] ; Anything after a ; is, remember, a comment + + ; We have three themes, one secret. They should all be declared + ; before any textures or flats or anything else. The only valid + ; modifier is "secret", which says that that theme should only be + ; used on secret levels. There should be at least one "secret" + ; theme. + + Theme MIL + Theme RED secret + + + ; Flats and textures and constructs and stuff are also in the [THEMES] section + + ; Textures are described by "Texture NAME ". Obvious + ; attributes include "wall", "door", and so on. Some subtler ones: + ; + ; "core " means that this texture should be common in that theme. + ; "comp " means that this texture is compatible with that theme, but + ; not to be used all that often. + ; "switch " means "the given texture is a good switch to use in + ; a room that has walls of the current texture" + ; "isswitch" means "the current texture is a good switch to use on any + ; wall in a room with a compatible theme" + ; "subtle " means "the given texture is a subtle variant of the + ; current texture, suitable for hinting at secrets" + ; "yhint N" means "when using a vertical misalignment to hint at + ; a secret door in a wall of this texture, use a y-offset of N". If + ; N is zero, it means "this wall is too visually complex to hint via a + ; y-misalignment at all; hint some other way". If no "yhint" is given, + ; the value 5 is used. + ; "noDoom2" means that the texture does not exist in the usual DOOM II + ; IWAD. "noDoom0" means it doesn't exist in the DOOM 1.2 IWAD, and + ; "noDoom1" means it's not in the DOOM 1.666 or 1.89 IWAD. If none + ; of these are specified, the texture is assumed to be in all. + ; "size " gives the size of the texture. You can leave + ; this out if the height is 128, and the width is some reasonable + ; divisor of 256 (except for doors, where you should give the real + ; width so SLIGE can make them look nice). + + ; MIL walls ; note that in MIL the walls all have explicit switches + Texture BRONZE4 wall core MIL subtle BRONZE3 switch SW1TEK noDoom0 noDoom1 + Texture STARTAN1 wall core MIL subtle STARTAN2 switch SW1STRTN noDoom2 + Texture STARTAN3 wall core MIL subtle STARG3 switch SW1STRTN + Texture STARTAN2 wall core MIL subtle STARBR2 switch SW1STRTN + Texture STARG3 wall core MIL subtle STARGR1 switch SW1STRTN + Texture STARG2 wall core MIL subtle STARG1 switch SW1STRTN + Texture STARG1 wall core MIL subtle STARG2 switch SW1STRTN + Texture BROWN96 wall core MIL subtle BROWNGRN switch SW1DIRT + Texture TEKGREN2 wall core MIL subtle TEKGREN1 switch SW1TEK noDoom0 noDoom1 + Texture BROWN1 wall core MIL switch SW1BRN2 + Texture STONE wall core MIL subtle GRAY1 switch SW1GRAY + Texture STONE6 wall comp MIL subtle STONE7 switch SW1STON6 noDoom0 noDoom1 + Texture BROWNGRN wall core MIL subtle BROWN96 switch SW1BRNGN + Texture SLADWALL wall core MIL subtle BROWNGRN switch SW1SLAD + Texture PIPEWAL2 wall comp MIL subtle PIPEWAL1 switch SW1COMP noDoom0 noDoom1 + Texture GRAYALT wall core MIL switch SW1GRAY noDoom0 noDoom1 custom + Texture TEKVINE wall comp MIL subtle TEKWALL1 switch SW1TEK yhint 0 noDoom0 noDoom1 custom + Texture SPACEW4 wall comp MIL switch SW1TEK noDoom0 noDoom1 + Texture METAL5 wall comp MIL subtle METAL3 switch SW1MET2 noDoom0 noDoom1 + Texture METAL2 switch SW1MET2 noDoom0 noDoom1 + Texture COMPUTE3 wall comp MIL switch SW1STRTN noDoom2 + Texture TEKWALL4 wall comp MIL subtle COMPWERD switch SW1COMP yhint 2 + Texture TEKWALL1 wall comp MIL subtle COMPWERD switch SW1COMP yhint 2 + Texture GRAY1 wall comp MIL subtle ICKWALL3 switch SW1GRAY + Texture GRAY7 wall comp MIL subtle GRAY1 switch SW1GRAY1 + Texture ICKWALL3 wall comp MIL subtle ICKWALL7 switch SW2GRAY + Texture BROVINE2 wall comp MIL switch SW1SLAD yhint 2 + Texture METAL1 wall comp MIL switch SW1METAL + Texture STARBR2 wall comp MIL subtle STARTAN2 switch SW1STRTN + + + ; And the lift texture + Texture PLAT1 size 128 128 lift comp MIL + + + ; RED walls + Texture SP_HOT1 wall core RED + Texture REDWALL wall core RED + Texture FIREBLU1 wall core RED subtle FIREMAG1 yhint 0 + Texture SW1HOT isswitch comp RED + ; a wall version of SKY3, just for fun. You can comment this + ; out if you think it looks ugly. + Texture SKY3_W wall comp RED realname SKY3 + + ; Doors of all kinds. "size" gives the width and height of the texture, + ; and "locked" means that it's a good texture to use on a door that only + ; opens with a switch, not a touch. + Texture TEKBRON2 size 64 128 door comp MIL noDoom0 noDoom1 + Texture SPCDOOR4 size 64 128 door comp MIL noDoom0 noDoom1 + Texture SPCDOOR3 size 64 128 door comp MIL noDoom0 noDoom1 + Texture SPCDOOR2 size 64 128 door comp MIL noDoom0 noDoom1 + Texture SPCDOOR1 size 64 128 door comp MIL noDoom0 noDoom1 + Texture DOORHI size 64 128 door comp MIL noDoom2 + Texture DOOR3 size 64 72 door comp MIL + Texture DOOR1 size 64 72 door comp MIL + Texture WOODSKUL size 64 128 door comp RED noDoom2 + Texture WOODMET2 size 64 128 door comp RED noDoom0 noDoom1 + Texture WOODGARG size 64 128 door comp RED + Texture BIGDOOR4 size 128 128 door comp MIL + Texture BIGDOOR3 size 128 128 door comp MIL + Texture BIGDOOR2 size 128 128 door comp MIL + Texture BIGDOOR1 size 128 96 door comp MIL + Texture BIGDOOR7 size 128 128 door comp RED + Texture BIGDOOR6 size 128 112 door comp RED + Texture BIGDOOR5 size 128 128 door comp RED + Texture METAL size 64 128 door comp RED + ; Our two custom locked-door textures + Texture DOORSKUL size 64 72 door locked comp MIL noDoom0 noDoom1 custom + Texture SLDOOR1 size 64 128 door locked comp MIL realname SP_DUDE5 custom + + ; Exit switches, suitable for use on any level-ending switch. All are + ; custom, and Doom2-only. + Texture EXITSWIR exitswitch comp RED noDoom0 noDoom1 custom + Texture EXITSWIT exitswitch comp MIL noDoom0 noDoom1 custom + + ; Lights, suitable for lighting recesses and stuff. + Texture BFALL1 size 8 128 light comp RED noDoom0 noDoom1 + Texture LITEREDL size 8 128 light comp RED realname LITERED noDoom2 + Texture TEKLITE light comp MIL noDoom0 noDoom1 + Texture LITE4 light comp MIL noDoom2 + Texture LITE5 light comp MIL + Texture LITE3 light comp MIL + + ; "Plaques", suitable for wall consoles and paintings and pillars and stuff. + ; "vtiles" means that it's OK to pile one on top of another, as when + ; making the big central pillar in an arena. + ; "half_plaque" means that the upper half of this texture can be used + ; by itself, as well as the whole thing. + Texture SILVER3 plaque vtiles comp MIL noDoom0 noDoom1 + Texture SPACEW3 plaque vtiles comp MIL noDoom0 noDoom1 + Texture COMPSTA2 plaque vtiles half_plaque comp MIL + Texture COMPSTA1 plaque vtiles half_plaque comp MIL + Texture COMP2 plaque vtiles half_plaque comp MIL + Texture COMPTALL plaque vtiles comp MIL + Texture COMPUTE1 plaque vtiles half_plaque comp MIL noDoom2 + Texture PLANET1 plaque vtiles half_plaque comp MIL noDoom2 + Texture SKIN2 plaque vtiles comp RED + Texture GSTFONT1 plaque comp RED + Texture FIREMAG1 plaque comp red + ; Some people think these next two look silly; + ; you can comment them out if you want to. + ; Texture SKY1 plaque + ; Texture SKY3 plaque comp RED + + ; Gratings + Texture BRNBIGC grating comp MIL noDoom2 + Texture MIDSPACE grating comp MIL noDoom0 noDoom1 + Texture MIDVINE1 grating comp MIL comp RED noDoom2 + Texture MIDBARS1 grating comp MIL comp RED noDoom0 noDoom1 + Texture MIDGRATE grating comp MIL comp RED + + ; Colors (suitable for marking key-locked things) + Texture LITERED size 8 128 red comp MIL noDoom2 + Texture DOORRED size 8 128 red comp MIL + Texture DOORRED2 size 16 128 red comp RED + Texture DOORYEL size 8 128 yellow comp MIL + Texture DOORYEL2 size 16 128 yellow comp RED + Texture LITEBLU4 size 16 128 blue comp MIL + Texture LITEBLU1 size 8 128 blue comp MIL + Texture DOORBLU size 8 128 blue comp MIL + Texture DOORBLU2 size 16 128 blue comp RED + + ; Step kickplates + Texture STEP6 size 256 16 step comp MIL + Texture STEP5 size 256 16 step comp MIL + Texture STEP4 size 256 16 step comp MIL + Texture STEP3 size 256 8 step comp MIL + Texture STEP2 size 256 8 step comp MIL + Texture STEP1 size 256 8 step comp MIL + + ; "Doorjambs" + Texture FIRELAVA jamb comp RED + Texture DOORTRAK jamb comp MIL + Texture DOORSTOP jamb comp MIL + ; Texture PIPE2 jamb comp MIL ; PIPE2 is also a wall texture + + ; Support textures, used in various places + Texture SKSNAKE2 support comp RED + Texture ROCKRED1 support comp RED + Texture COMPSPAN support comp MIL + Texture SUPPORT2 support comp MIL + Texture SHAWN2 support comp MIL + Texture ASHWALL3 support noDoom0 noDoom1 + Texture ASHWALL support noDoom2 + Texture BROWNHUG support comp MIL + Texture METAL support comp RED + + ; Bunch of things for outside patios (no themes applied here) + Texture ZIMMER1 outside noDoom0 noDoom1 + Texture ZIMMER2 outside noDoom0 noDoom1 + Texture ZIMMER3 outside noDoom0 noDoom1 + Texture ZIMMER4 outside noDoom0 noDoom1 + Texture ZIMMER5 outside noDoom0 noDoom1 + Texture ZIMMER7 outside noDoom0 noDoom1 + Texture ZIMMER8 outside noDoom0 noDoom1 + Texture TANROCK5 outside noDoom0 noDoom1 + Texture TANROCK4 outside noDoom0 noDoom1 + Texture TANROCK2 outside noDoom0 noDoom1 + Texture STUCCO outside noDoom0 noDoom1 + Texture STONE6 outside noDoom0 noDoom1 + Texture ROCK1 outside noDoom0 noDoom1 + Texture MODWALL1 outside noDoom0 noDoom1 + Texture BSTONE1 outside noDoom0 noDoom1 + Texture BRICK4 outside noDoom0 noDoom1 + Texture ASHWALL7 outside noDoom0 noDoom1 + Texture ASHWALL6 outside noDoom0 noDoom1 + Texture ASHWALL4 outside noDoom0 noDoom1 + Texture ASHWALL2 outside noDoom0 noDoom1 + Texture SP_ROCK1 outside + Texture GRAYVINE outside + Texture ICKWALL3 outside + Texture BROWN144 outside + Texture GSTONE1 outside + Texture GSTVINE1 outside + Texture BRICK10 outside NoDoom0 NoDoom1 + Texture ASHWALL3 outside NoDoom0 NoDoom1 + Texture ASHWALL outside NoDoom2 + Texture BROWNHUG outside + + ; Misc + Texture EXITSIGN gateexitsign + Texture REDWALL error + + ; This silly texture has the switch in the wrong half! + Texture SW1DIRT ybias 72 + Texture SW1MET2 ybias 64 + + ; Now the flats. Keywords should all be pretty obvious... *8) + + ; Teleport-gate floors + Flat SLGATE1 gate comp MIL comp RED custom + Flat GATE4 gate comp MIL comp RED + Flat GATE3 gate comp MIL comp RED + Flat GATE2 gate comp MIL comp RED + Flat GATE1 gate comp MIL comp RED + + ; Floors and ceilings for MIL theme + Flat SLLITE1 ceiling light comp MIL custom + Flat TLITE6_6 ceiling light comp MIL + Flat TLITE6_5 ceiling light comp MIL + Flat FLOOR7_1 ceiling outside comp MIL + Flat FLOOR5_2 ceiling comp MIL + Flat CEIL3_1 ceiling comp MIL + Flat CEIL3_2 ceiling comp MIL + Flat CEIL3_5 ceiling comp MIL + Flat FLAT14 floor comp MIL + Flat FLOOR4_1 floor comp MIL + Flat FLOOR4_8 floor comp MIL + Flat FLOOR5_1 floor comp MIL + Flat FLOOR3_3 floor ceiling comp MIL + Flat FLOOR0_2 floor comp MIL + Flat FLOOR0_1 floor comp MIL + Flat FLAT1_2 floor outside comp MIL + Flat FLAT5 floor comp MIL + Flat SLIME14 floor comp MIL noDoom0 noDoom1 + Flat SLIME15 floor comp MIL noDoom0 noDoom1 + Flat SLIME16 floor comp MIL noDoom0 noDoom1 + ; and nukage + Flat NUKAGE1 nukage comp MIL + Flat SLIME01 nukage comp MIL noDoom0 noDoom1 + + ; Floors and ceilings for (secret) RED theme + Flat SLSPARKS floor comp RED custom + Flat SFLR6_4 floor ceiling comp RED + Flat TLITE6_5 ceiling light comp RED + Flat FLOOR6_1 floor ceiling red comp RED + Flat FLOOR1_7 ceiling light comp RED + Flat FLOOR1_6 floor ceiling red comp RED + Flat FLAT5_3 floor ceiling red comp RED + Flat LAVA1 nukage comp RED + Flat BLOOD1 nukage red comp RED + Flat RROCK05 nukage comp RED noDoom0 noDoom1 + + ; Floors for outside areas not yet mentioned + Flat SLGRASS1 outside custom + Flat SLIME13 outside noDoom0 noDoom1 + Flat RROCK19 outside noDoom0 noDoom1 + Flat RROCK16 outside noDoom0 noDoom1 + Flat RROCK11 outside noDoom0 noDoom1 + Flat GRNROCK outside noDoom0 noDoom1 + Flat GRASS2 outside noDoom0 noDoom1 + Flat GRASS1 outside noDoom0 noDoom1 + Flat MFLR8_4 outside + Flat MFLR8_3 outside + Flat MFLR8_2 outside + Flat FLAT5_7 outside + Flat FLAT10 outside + + ; These are the defaults, but we'll list them anyway. + Flat FWATER1 water + Flat F_SKY1 sky + + ; Constructs: computers and crates and stuff that stand around in rooms + ; This is pretty complex! Fool with it at your peril. + + ; Family 1 is silver-colored computers; short ones and tall ones + Construct family 1 height 64 comp MIL + top FLAT9 top FLAT4 top FLAT23 top FLAT19 top FLAT18 top CRATOP1 top COMP01 + Primary COMPUTE1 yoffsets 0 64 + Primary COMPSTA2 + Primary COMPSTA1 + Secondary SUPPORT2 width 16 + Secondary SHAWN2 width 16 + Construct family 1 height 128 comp MIL + top FLAT9 top FLAT4 top FLAT23 top FLAT19 top FLAT18 top CRATOP1 top COMP01 + Primary SILVER3 + Primary COMPUTE1 yoffsets 0 64 + Secondary SILVER2 width 64 + Secondary SILVER1 width 64 + Secondary SUPPORT2 width 16 + Secondary SHAWN2 width 16 + + ; Family 2 is dark-colored computers; short and tall + Construct family 2 height 64 comp MIL + top CEIL5_1 top FLAT4 top TLITE6_1 + Primary SPACEW3 yoffsets 0 64 width 64 + Primary COMPTALL yoffsets 0 64 width 256 + Primary COMP2 yoffsets 0 64 width 256 + Secondary METAL7 yoffsets 0 64 width 64 + Secondary METAL6 yoffsets 0 64 width 64 + Secondary METAL5 yoffsets 0 64 width 64 + Secondary METAL3 yoffsets 0 64 width 64 + Secondary METAL2 yoffsets 0 64 width 64 + Secondary COMPWERD width 64 + Secondary COMPSPAN width 16 + Construct family 2 height 128 comp MIL + top CEIL5_1 top FLAT4 top TLITE6_1 + Primary SPACEW3 width 64 + Primary COMPTALL width 256 + Primary COMP2 width 256 + Secondary METAL7 yoffsets 0 64 width 64 + Secondary METAL6 yoffsets 0 64 width 64 + Secondary METAL5 yoffsets 0 64 width 64 + Secondary METAL3 yoffsets 0 64 width 64 + Secondary METAL2 yoffsets 0 64 width 64 + Secondary COMPWERD width 64 + Secondary COMPSPAN width 16 + + ; Family 3 is crates of various sizes and kinds + Construct family 3 height 64 comp MIL + top CRATOP2 + Primary CRATWIDE yoffsets 64 64 + Primary CRATE1 width 64 + Construct family 3 height 64 comp MIL + top CRATOP1 + Primary CRATWIDE + Primary CRATE2 width 64 + Construct family 3 height 64 comp MIL + top CRATOP1 + Primary CRATELIT width 32 + Construct family 3 height 32 comp MIL + top CRATOP1 + Primary CRATELIT width 32 + Construct family 3 height 16 comp MIL + top CRATOP1 + Primary CRATINY width 16 + + ; And Family 4 is bookcases; works only in Doom2 + Construct family 4 height 128 noDoom0 noDoom1 + top FLAT5_1 top CRATOP2 top CEIL5_2 top CEIL3_3 top CEIL1_1 + Secondary PANEL5 width 64 + Secondary PANCASE2 width 64 + Secondary PANCASE1 width 64 + Secondary PANBORD2 width 16 + Secondary PANBORD1 width 32 + Primary PANBOOK width 64 + + ; Mask-adjustments for the construct textures that need it + Texture PANEL5 noDoom0 noDoom1 + Texture PANCASE2 noDoom0 noDoom1 + Texture PANCASE1 noDoom0 noDoom1 + Texture PANBORD2 noDoom0 noDoom1 + Texture PANBORD1 noDoom0 noDoom1 + Texture METAL7 noDoom0 noDoom1 + Texture METAL6 noDoom0 noDoom1 + Texture METAL2 noDoom0 noDoom1 + Texture COMP2 noDoom2 + Texture SILVER2 noDoom0 noDoom1 + Texture SILVER1 noDoom0 noDoom1 + + ; Load the hardwired monster and object and so on data (required in + ; this version of SLIGE; don't remove this!) + Hardwired1 + + ; Say which lamps we like in which themes, and where barrels are allowed + ; Information like which Doom version each object is in, and which ones + ; cast light, and which ones explode, is still hardwired. + Thing 2035 comp MIL ; barrel + Thing 34 comp MIL ; candle + ;Thing 44 ; tall blue torch + ;Thing 45 ; tall green torch + Thing 46 comp RED ; tall red torch + ;Thing 55 comp RED ; short blue torch + ;Thing 56 comp RED ; short green torch + Thing 57 comp RED ; short red torch + Thing 48 comp MIL ; electric pillar + Thing 2028 comp MIL + Thing 85 comp MIL + Thing 86 comp MIL + Thing 70 comp MIL ; flaming barrel + ;Thing 35 ; candelabra + + ; and that's it! + ]] + }, + +} + +function HARMONY.slump_setup() + if ob_match_game({game = {harmony=1}}) then + if OB_CONFIG.theme == "default" then + PARAM.slump_config = HARMONY.THEMES.DEFAULTS.slump_config + elseif OB_CONFIG.theme == "jumble" then + local possible_configs = {} + for _,tab in pairs(HARMONY.THEMES) do + if tab.slump_config then + table.insert(possible_configs, tab.slump_config) + end + end + PARAM.slump_config = rand.pick(possible_configs) + elseif HARMONY.THEMES[OB_CONFIG.theme].slump_config then + PARAM.slump_config = HARMONY.THEMES[OB_CONFIG.theme].slump_config + else + PARAM.slump_config = HARMONY.THEMES.DEFAULTS.slump_config + end + end +end + +------------------------------------------------------------------------ + + +OB_THEMES["ndf_base"] = +{ + label = _("NDF Base"), + game = "harmony", + name_class = "GOTHIC", + mixed_prob = 50, +} + diff --git a/games/rekkr/base.lua b/games/rekkr/base.lua new file mode 100644 index 0000000000..00ea82547f --- /dev/null +++ b/games/rekkr/base.lua @@ -0,0 +1,58 @@ +---------------------------------------------------------------- +-- GAME DEF : REKKR +---------------------------------------------------------------- +-- +-- Oblige Level Maker +-- +-- Copyright (C) 2009 Enhas +-- Copyright (C) 2011 Andrew Apted +-- +-- This program is free software; you can redistribute it and/or +-- modify it under the terms of the GNU General Public License +-- as published by the Free Software Foundation; either version 2 +-- of the License, or (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +---------------------------------------------------------------- + +REKKR = { } + +---------------------------------------------------------------- +gui.import("params") +gui.import("themes") +gui.import("resources") +gui.import("names") + +---------------------------------------------------------------- + +function REKKR.all_done() + gui.wad_insert_file("data/endoom/ENDOOM.bin", "ENDOOM") +end + +OB_GAMES["rekkr"] = +{ + label = _("REKKR"), + priority = 93, + + engine = "idtech_1", + + format = "doom", + + game_dir = "rekkr", + iwad_name = "rekkr.wad", + + tables = + { + REKKR + }, + + hooks = + { + slump_setup = REKKR.slump_setup, + all_done = REKKR.all_done + }, +} diff --git a/games/rekkr/names.lua b/games/rekkr/names.lua new file mode 100644 index 0000000000..5aee84fd22 --- /dev/null +++ b/games/rekkr/names.lua @@ -0,0 +1,4254 @@ +REKKR.NAMES = +{ + COMMON = + { + -- these words and patterns are shared by all themes + + -- FIXME... + + lexicon = + { + + -- Why not some level names common in all themes? + -- Also, how do we keep 'Common' theme full names + -- from not being in more than one theme? + -- -Reisal, 12/30/20, + + -- Another side note, please keep future definitions + -- in alphabetical order for those who add more to this + -- besides me lol + -- Reisal, 2/6/21, + + s = + { + ["A Walk on Thin Ice"]=10, + ["Alternative Means"]=10, + ["Annihilation"]=10, + ["Reisal Loves Naming"]=10, -- Bahaha! + ["Ascent into Madness"]=10, + ["Backstabbed"]=10, + ["Black Skies"]=10, + ["Blown to Bits"]=10, + ["Chaos Within"]=10, + ["Choirs of Progress"]=10, + ["Compromised"]=10, + ["Complete Breakdown"]=10, + ["Concrete Retribution"]=10, + ["Converging Hex Sequence"]=10, + ["Dead Men's Choir"]=10, + ["Duality of Entropy"]=10, + ["Dulling of the Senses"]=10, + ["Empty Echo"]=10, + ["Fading into Obscurity"]=10, + ["Finding The Path"]=10, + ["Final Suffering"]=10, + ["Fire With Fire"]=10, + ["Fueling the Flames"]=10, + ["Genocidal Delusions"]=10, + ["Go Fuck Yourself"]=10, -- Sunlust MAP29. + ["Headshot"]=10, + ["Into the Fog"]=10, + ["Liquid Violence"]=10, + ["Lost in Apathy"]=10, + ["Memories from the Surface"]=10, + ["Negative Inverted Sphere"]=10, + ["Never Forgive, Never Forget"]=10, + ["Never Give Up"]=10, + ["Nothing But Lies"]=10, + ["Nowhere"]=10, + ["No Violence, No Progress"]=10, + ["Out of Touch"]=10, + ["Parallel Tribulation"]=10, + ["Passing Through"]=10, + ["Plausable Fear"]=10, + ["Revelations of Doom"]=10, -- Also a Hellhammer song title + ["Spiraling Uncertainity"]=10, + ["The Fourth Dimension"]=10, -- Hypocrisy song and album title + ["The Marine Element"]=10, + ["The Unknown"]=10, + ["Through the Looking Glass"]=10, + ["Where Demons Roam"]=10, + ["Within the Mirror"]=10, + ["Woeful Unknown"]=10, + ["Zero Null"]=10, + + -- Single word descriptions, typically work (IE Fear for E4M9) + -- Usually adjectives or verbs, mostly negative. + ["Abandoned"]=7, + ["Absolution"]=7, + ["Agony"]=10, + ["Anguish"]=10, + ["Atonement"]=5, + ["Battered"]=7, + ["Betrayal"]=10, + ["Chaos"]=10, + ["Contempt"]=10, + ["Corruption"]=10, + ["Cowardice"]=7, + ["Deconstruction"]=7, + ["Dehumanized"]=5, + ["Despair"]=10, + ["Desperation"]=7, + ["Dismay"]=10, + ["Doubt"]=7, + ["Drained"]=5, + ["Dread"]=10, + ["Envy"]=10, + ["Euphoria"]=7, + ["Evil"]=10, + ["Fear"]=10, -- Why not? + ["Fury"]=7, + ["Guilt"]=10, + ["Hatred"]=10, + ["Lunacy"]=7, + ["Misery"]=10, + ["Nihility"]=7, + ["Numb"]=7, + ["Obliteration"]=10, + ["Pain"]=10, + ["Peril"]=10, + ["Possession"]=5, + ["Purity"]=5, + ["Redemption"]=5, + ["Resentment"]=10, + ["Revulsion"]=7, + ["Ruin"]=7, + ["Seclusion"]=5, + ["Spite"]=5, + ["Tarnished"]=5, + ["Terror"]=10, + ["Turmoil"]=10, + ["Wasted"]=5, + ["Woe"]=7, + ["Wrath"]=10, + + -- id software song name references.. + ["At Obsidian's Gate"]=10, + ["The Doom Song"]=10, + ["Dark Halls"]=10, + ["RMG Ace"]=10, + ["Suspense"]=10, + ["On the Hunt"]=10, + ["Sign of Hell"]=10, + ["I Sawed the Imps"]=10, + ["Demons on the Prey"]=10, + ["Hiding the Goodies"]=10, + ["They Gonna Getcha"]=10, + ["Sinister"]=10, + ["Noone Told me about Obsidian"]=10, + ["Untitled"]=10, -- lol yes, E3M1 is titled this + ["Shooter to the Rescue"]=10, + ["Deep into the Lua"]=10, + ["Facing the Script Error"]=10, + + -- Foreign equalivents.. + ["A La Caza"]=10, -- "On the Hunt" in Spanish + ["Siniestro"]=10, -- "Sinister" in Spanish + ["Umgang mit dem Skriptfehler"]=10, -- "Facing the Script Error" in German + + -- Doom 2.. + ["Entrance"]=10, + ["The Monster Closet Stalks"]=10, + ["Countdown to Hell"]=10, + ["Between Megawads"]=10, + ["OBSIDIAN"]=10, + ["In the Dark"]=10, + ["Dasho's got the Compiler"]=10, + ["Dave D. Taylor Blues"]=10, + ["Into Your Map Set"]=10, + ["The Demon's Dead"]=10, + ["Waiting for Craneo to Play"]=10, + ["Message from the Administrator"]=10, + ["Bye Bye Canadian Pie"]=10, + ["Reisal's Asleep"]=10, + ["Getting Too Hot"]=10, + ["Opening to Evil"]=10, + + -- Evilution.. + ["Masochistic"]=10, + ["Smells like Burning Corpse"]=10, + ["Death's Bells"]=10, + ["Too Much"]=10, + ["Agony Rhapsody"]=10, + ["Soldier of Chaos"]=10, + ["Neverending"]=10, + ["Frigid Subtleness"]=10, + ["FightDieReloadSave"]=10, + ["Legion of the Lost"]=10, + + -- PSX Doom.. + ["Retribution Dawns"]=10, + ["The Broken Ones"]=10, + ["Sanity's Edge"]=10, + ["Hell's Churn"]=10, + ["Digitized Pain"]=10, + ["The Demonic Pulse"]=10, + ["Steadfast Extermination"]=10, + ["In the Grip of Madness"]=10, + ["Creeping Brutality"]=10, + ["Hopeless Despair"]=10, + ["Bells of Agony"]=10, + + -- OwO what's this? More from Reisal?! + -- Just straight up weird or funny, rarely chosen though. Some memey stuff present! + ["A Stupid Level Name"]=2, + ["Another Generated Map"]=2, + ["Comment Ninja"]=2, + ["DOOM2.WAD"]=2, + ["Hetfield's Inflated Ego"]=2, + ["It's Been One of Those Days"]=2, -- See above + ["lol"]=2, + ["Marty's Loveable Funhouse"]=2, -- Refers to Marty Stratton, one of id's executive producers + ["Naming.lua"]=2, + ["OH NOES"]=2, + ["OwO"]=2, + ["Phobos and Deimos Kissfest"]=2, + ["Romero's Oversized Mindset"]=2, + ["Popcorn"]=2, + ["Songs of Praise"]=2, + ["Take It Like a Man"]=2, + ["The Trail to the Toilet"]=2, -- In-joke with Obsidian team, I blame Shooter for this lol + ["Tom Hall's Halls"]=2, + ["UwU"]=2, + ["We are not COMPET-N friendly!"]=2, + ["You Are Not Special"]=2, + + -- Other uncommon naming.. + ["A Major Inconvenience"]=3, + ["Clockhand's Groaning Circles"]=3, + ["Die Insane"]=3, + ["Even More Pain"]=3, + ["Instant Justice"]=3, + ["You are Just a Number"]=3, + + ["Astronomical Union"]=5, + ["Blueprint for the Apocalypse"]=5, + ["Deliirum's Tears"]=5, + ["Garden of Delusions"]=5, + ["Goat Seeds of Doom"]=5, + ["Halls of the Dead"]=5, + ["Of Light's Demise"]=5, + ["Pure Holocaust"]=5, + ["Seeds of the Chosen One"]=5, + ["Symbiotic Infusion"]=5, + ["Taste the Extreme Divine"]=5, + ["The Comfort of Cowards"]=5, + ["Turn the Page"]=5, + ["Where Storms Cease"]=5, + ["Within the Wicked Mind"]=5, + + -- What do we have? MORE Naming? Owo + -- A bunch of abstract shit is here too! - Reisal, Jun. 13, 2021 + ["A Madman's Crusade"]=10, + ["Absence of Nihility"]=10, + ["Abstract Transcendence"]=10, + ["Abstraction of Men"]=10, + ["Accepting Chaos"]=10, + ["Action at a Distance"]=10, + ["Addiction of the Obscure"]=10, + ["An Idiot's Fate"]=10, + ["Animus Nocturnus"]=10, + ["Annihilative Symmetry"]=10, + ["Apocalyptic Inverted Star"]=10, + ["Apocalyptic Life"]=10, + ["Among The Failing Stars"]=10, + ["Artificial Lightning Phenomenon"]=10, + ["As the Journey Begins"]=10, + ["As The Mirror Shatters"]=10, + ["Banished Chaotic Perceptions"]=10, + ["Beauty in Binary Death"]=10, + ["Beyond the Subliminal"]=10, + ["Bitter Season"]=10, -- Silent Hill + ["Black Fairy"]=10, -- Silent Hill + ["Black Sky Symmetry"]=10, + ["Blasphemous Iconograph"]=10, + ["Bleed Me a River"]=10, + ["Blessed Be Thy Cosmos"]=10, + ["Bodies of Venus"]=10, + ["Broken Strings"]=10, + ["Brush Off"]=10, + ["Burning Creation"]=10, + ["Calculating The Catalyst"]=10, + ["Chaotic Lunar Rhythm"]=10, + ["Choir of Cosmic Souls"]=10, + ["Chthonic Possession"]=10, + ["Coordinates to the Nightmare"]=10, + ["Constructive Deconstruction"]=10, + ["Dance With The Night Wind"]=10, -- Silent Hill + ["Dark Matter Dimensions"]=10, + ["Darkness That Lurks in Our Minds"]=10, -- Silent Hill + ["Delay's Progression"]=10, + ["Delusions of Space-Time"]=10, + ["Despair Among The Zenith"]=10, + ["Detachment From Reality"]=10, + ["Dream-Prism"]=10, + ["Driving Off the Weak"]=10, + ["Emotional Enigmatic Storms"]=10, + ["Elusive Dark Dreams"]=10, + ["Eternal Timeframe"]=10, + ["Evil Has No Boundries"]=10, + ["Expendable Nightmares"]=10, + ["Firedancer"]=10, + ["Flauros"]=10, + ["Forgotten But Not Gone"]=10, + ["Fragility of Light"]=10, + ["Fury of Sol"]=10, + ["Funeral Waltz"]=10, + ["Hell Besides You"]=10, + ["Hell's Black Metal"]=10, + ["Holographic Suicide"]=10, + ["Howling Solar Storms"]=10, + ["Hydra"]=10, + ["Iconoclastic Death Tempest"]=10, + ["Illusive Rust Titans"]=10, + ["Interlude?"]=10, + ["Into Danger"]=10, + ["Into Misery"]=10, + ["Keepers of the Veil"]=10, + ["Knights of Abstraction"]=10, + ["Life, Death, Rebirth, Gunfire"]=10, + ["Lunar Fusion Catalyst"]=10, + ["Lunacy of the Twin Stars"]=10, + ["Machinations of the Illusion"]=10, + ["Mind Machines"]=10, + ["Mirage"]=10, + ["Mon Ame Noir"]=10, -- "My Black Soul" + ["More Than Hate"]=10, + ["My Justice For You"]=10, -- Silent Hill + ["Never End Never End Never End"]=10, -- Silent Hill + ["New Death Sensation"]=10, + ["Neurons of the Ghost"]=10, + ["Nightmarish Oscillation Machine"]=10, + ["No Legacy Left Behind"]=10, + ["Nothing Lasts Forever"]=10, + ["Obscure Clarity of Death"]=10, + ["Ocularis Infernum"]=10, -- "Ocular Hell" + ["Of Hell and Kinetics"]=10, + ["One Foot in the Grave"]=10, + ["Only You"]=10, + ["Orchestrate The Infinite"]=10, + ["Oscillative Revenants"]=10, + ["Pariah"]=10, + ["Passive Destruction"]=10, + ["Persecutive Solar Death"]=10, + ["Pitch Black Progress"]=10, + ["Power Perception"]=10, + ["Prelude of Dusk"]=10, + ["Prophetic Void Illusions"]=10, + ["Prey of the Catalyst"]=10, + ["Prismatic Mushroom Helix"]=10, + ["Proper Lunar Timeframe"]=10, + ["Prismatic Firestorm"]=10, + ["Purity of the Planets"]=10, + ["Quantum Consciousness Deviation"]=10, + ["Rain"]=10, + ["Razor Red Prismatic Death"]=10, + ["Ruins of the Solar Towers"]=10, + ["Sabbath Burning Sabbath"]=10, -- Play on Black Sabbath's "Sabbath Bloody Sabbath" + ["Scars"]=10, + ["Sculpture Void"]=10, + ["Shadowvoid Sun"]=10, + ["Sickness Unto Wicked Death"]=10, + ["Sins of the Solar System"]=10, + ["Smug Yet Destructive"]=10, + ["Speakers of Truth and Time"]=10, + ["Staircase To The Abyss"]=10, -- Silent Hill + ["Stars of Stone"]=10, + ["Storm of Illusions"]=10, + ["Stream of Oscillative Moons"]=10, + ["Summer Snow"]=10, -- Silent Hill + ["Sun, Moon, Earth"]=10, + ["Symmetric Death"]=10, + ["Synchronized Chaos Waves"]=10, + ["Tampering With The Unknown"]=10, + ["Tears Of..."]=10, -- Silent Hill + ["That Dead Day"]=10, + ["The Blade"]=10, + ["The Breaking Point of Light"]=10, + ["The Great Collapse"]=10, + ["The Manifest"]=10, + ["The Prism Spheres Beyond"]=10, + ["The Quantum Star Incident"]=10, + ["The Road To Ruin"]=10, + ["The Sphere of Desire"]=10, + ["This River Runs Dry"]=10, + ["Three-Dimensional Shadows"]=10, + ["Traumatic Time Scar"]=10, + ["Time Barons"]=10, + ["Through the Obscure"]=10, + ["Underneath the Shadow Storm"]=10, + ["Veils of the Cosmic Void"]=10, + ["What Fuels The Ghosts"]=10, + ["You're Not Here"]=10, -- Silent Hill + ["You're Not Here, Right?"]=10, + + -- Foreign shit for the luls + ["Chaos und Verachtung"]=10, -- "Chaos and Contempt" + ["No se puede inventar esta mierda"]=10, -- "You Can't Make This Shit Up" in Spanish + + -- End of 2021 additions + ["Angles of Hell"]=10, + ["Among Predaceous Cliffs"]=10, + ["Ascending the Unknown"]=10, + ["Choice and Consequence"]=10, + ["Crafting the Demise"]=10, + ["Everything Has Its Place"]=10, -- Chapter name from Dead Space 3 + ["Hell's Heavy Burden"]=10, + ["History's Ember"]=10, -- Chapter name from Dead Space 3 + ["Reaching the Sky"]=10, + ["Rude Awakening"]=10, + ["Testing One's Limits"]=10, + ["The Fading Skies"]=10, + ["The Long Way Forward"]=10, + ["Turning the Page"]=10, + + -- 2022 marker, now with me combing through my music collection for names! (16k songs!) -A + ["...Again it Shall Be"]=10, + ["A Shadowplay for Yesterday"]=10, + ["Achtung!"]=10, -- "Attention!" in German + ["Addicted to Sin"]=10, + ["Admitting Fear"]=10, + ["Adrenaline Rush"]=10, + ["After"]=10, + ["Apocalyptic Visions"]=10, + ["Approaching Death"]=10, + ["Autumn Overture"]=10, + ["Beginning of a Nightmare"]=10, + ["Behind the Times"]=10, + ["Between the Abyss"]=10, + ["Beyond Northern Waves"]=10, + ["Blackness that Lurks in our Heart"]= 10, -- Akira Yamaoka - "The Darkness that Lurks in our Mind" (Silent Hill Soundtrack) + ["Breaking Silence"]=10, + ["Bring it On!"]=10, + ["Celestial Crimes"]=10, -- 1349, I think? + ["Chaos and Confusion"]=10, + ["Clavicula Nox"]=10, + ["Clawhammer"]=10, -- Silent Hill + ["Completely Unprepared"]=10, + ["Crippled Beyond Belief"]=10, + ["Crisis of Life"]=10, + ["Death in Your Eyes"]=10, + ["Death, Why Do I Envy You?"]=10, + ["Disciples of Death"]=10, + ["Disconnected Magnetic Corridors"]=10, + ["Doomsower"]=10, + ["Elastic Inverted Visions"]=10, + ["Face the Nightmare"]=10, + ["Free Will Sacrifice"]=10, + ["From the Dark Past"]=10, + ["He Who Walks Further"]=10, + ["Heaven Give Me Say"]=10, + ["How Much is Enough?"]=10, + ["I am The Black Demons"]=10, + ["Illusions of Life"]=10, + ["In the Lies Where Upon You Lay"]=10, + ["Inspiration on Demand"]=10, + ["King of the Kill"]=10, + ["Lex Obsidianis"]=10, + ["Let the New Day Begin"]=10, + ["Metallic Storm"]=10, + ["Nether Novas"]=10, + ["Nihilist Nexus"]=10, + ["Not Going Anywhere"]=10, + ["Of Monochrome Nights"]=10, + ["One Man's Failure"]=10, + ["Only Silent Skies"]=10, + ["Paled Empty Spheres"]=10, + ["Premonition"]=10, + ["Rain"]=10, + ["Reflections"]=10, + ["So Grim So True So Real"]=10, + ["Struck by Fate"]=10, + ["Take a Turn"]=10, + ["The Broken Ones"]=10, + ["The Chaos Drains"]=10, + ["The Cruel Transcendency"]=10, + ["The Emerald Parallax"]=10, + ["The First Noble Truth"]=10, + ["The Mental Abyss"]=10, + ["The Metal Creed"]=10, + ["Thrash It or Trash It"]=10, + ["Threnody"]=10, + ["Ultraviolence"]=10, + ["Unto Foolish Death"]=10, + ["View From The Nihil"]=10, + ["Voices and Victims"]=10, + ["Wail of Warning"]=10, + ["Warwolf"]=10, + ["When the Candle Fades"]=10, + ["When the Kite String Breaks"]=10, + ["World of Shit"]=10, + ["Would You, Could You?"]=10, + + -- Max Payne. Copied from EPISODE table. + ["A Cold Day in Hell"] = 10, + ["A Bit Closer to Heaven"] = 10, + ["Let Guns do the Talking"] = 10, + ["Fear That Gives Men Wings"] = 10, + ["Ragna Rock"] = 10, + ["Pain and Suffering"] = 10, + ["Take me to Cold Steel"] = 10, + ["The Deep Six"] = 10, + ["In The Land of the Blind"] = 10, + ["Hidden Truths"] = 10, + ["Byzantine Power Game"] = 10, + + ["Forget Being Subtle"] = 10, + ["Stepping on Toes"] = 10, + ["A Few Bullets Back"] = 10, + ["In The Crossfire"] = 10, + + ["Riding Shotgun"] = 10, + ["Ice Hard and Slick"] = 10, + ["Straight from a Bad Dream"] = 10, + + -- Max Payne 3 + ["Something Rotten in the Air"]=10, + ["Nothing But the Second Best"]=10, + ["Just Another Day At the Office"]=10, + ["Alive If Not Exactly Well"]=10, + ["Ain't No Reprievement Found"]=10, -- Shortened because it is very long + ["One Card Left To Play"]=10, + + -- Mid 2022 stuff.. + ["A World Long Dead"]=10, + ["Admiring One's Opponent"]=10, + ["Among the Endless Abysses"]=10, + ["Armageddon's Raid"]=10, + ["Baptism by ICBM"]=10, + ["Crosses, Death, Technology, Sin"]=10, + ["Deflier of Star Systems"]=10, + ["Destruction of Omniastic Society"]=10, + ["Doomed From the Beginning"]=10, + ["Dynasties from Ice"]=10, + ["Enigmatic Delights"]=10, + ["Erased and Forgotten"]=10, + ["Fate Forged in Name of Hate"]=10, + ["Fistfucking God's Planet"]=10, + ["Humanity is Broken"]=10, + ["Just A Little More Every Day"]=10, + ["Lunatic of God's Creation"]=10, + ["Misery Walks Among Thee"]=10, + ["Nuclear Death Terror"]=10, + ["Of Hideous Perspectives"]=10, + ["Severing Ties With This Earth"]=10, + ["Symmetry of Zero"]=10, + ["The Dying Lights of Umbrus"]=10, + ["Time's Edge"]=10, + ["To What Has Become of Us"]=10, + ["Unforgotten Treachery"]=10, + ["You Got It, I Want It"]=10, + ["Zealot"]=10, + + -- Late 2022 additions.. + ["A Scar For Every Dream"]=10, + ["Aversion to Life"]=10, + ["Begotten in Black"]=10, + ["Carnal Murder"]=10, + ["Crossing the Abyss"]=10, + ["Dampening Existence"]=10, + ["Derailed Morality"]=10, + ["Descending Shadows"]=10, + ["Destined to Rot"]=10, + ["Detestable Illumination"]=10, + ["Dreadful Consciousness"]=10, + ["Empowered by Battlespells"]=10, + ["Eternal Wheels of Life"]=10, + ["Eternity's Embrace"]=10, + ["Everflowing Sands of Time"]=10, + ["Extorted Evolution"]=10, + ["Eyes Ablaze"]=10, + ["Gutted Visions"]=10, + ["Haven Defiled"]=10, + ["In Perennial Twilight"]=10, + ["In the Waves of Darkness"]=10, + ["Inscription of Failure"]=10, + ["Law of Decay"]=10, + ["Lechery"]=10, + ["Letting Yourself Go"]=10, + ["Malevolent Firmament"]=10, + ["Meager Escapism"]=10, + ["Nameless and Faceless"]=10, + ["Obscure Affliction"]=10, + ["Obscure Evil"]=10, + ["Of a Moribund Vision"]=10, + ["Purging Nefarious Vortex"]=10, + ["Repaying Debt in Blood"]=10, + ["Righteousness Decayed"]=10, + ["Thoughts that Condemn"]=10, + ["Veil of Ignorance"]=10, + ["Virtus Tenebris"]=10, + ["Winds of Insanity"]=10, + + -- Marijuana related parody song names from death metal band Cannibis Corpse. + -- Their songs and album names are based off of other metal bands, Cannibal Corpse, + -- Bolt Thrower, Morbid Angel, etc. Made uncommon because of the silliness of the + -- track names. -A, Nov. 11th, 2022 + ["Blame it on Bud"]=3, + ["Chapel of Bowls"]=3, + ["Chronolith"]=3, + ["Effigy of the Forgetful"]=3, + ["Force Fed Shitty Grass"]=3, + ["Gallery of Stupid High"]=3, + ["Gateways to Inhalation"]=3, + ["In Battle There is No Pot"]=3, + ["In Dank Purity"]=3, + ["Left Hand Pass"]=3, + ["Lunatic of Pot's Creation"]=3, + ["Mummified in Bong Water"]=3, + ["Reefer Stashed Place"]=3, + ["Slave to the Chron"]=3, + ["Sworn to the Bag"]=3, + ["The 420th Crusade"]=3, + ["Where the Kind Lives"]=3 -- end marker + + }, + + -- end COMMON names + + v = + { + ["Curse of the"]=10, + + -- these from flyingdeath + ["Enter the"]=10, + ["Welcome to the"]=10, + ["Escape the"]=10, + ["Flight from the"]=5, + ["Journey to the"]=10, + ["Assault on the"]=15, + ["Death Awaits in the"]=5, + ["Hell in the"]=5, + + -- these by Reisal + ["Fear the"]=10, + ["Beware the"]=10, + ["Bane of the"]=10, + ["Scourge of the"]=10, + ["Ordeal of the"]=10, + ["Calamity in the"]=10, + ["Misdeed by the"]=10, + ["Dread the"]=10, + ["Shun the"]=10, + ["Plague of the"]=10, + ["Pain from the"]=10, + ["Death in the"]=10, + ["Chaos in the"]=10, + + ["Adventure to the"]=10, + ["A Jaunt to the"]=10, + + -- these by MSSP + ["Battle for the"]=15, + ["Battle through the"]=10, + ["Into the"]=10, + ["Operation"]=10, + ["Mission"]=7, + ["Objective:"]=7, + ["Counterattack in the"]=7, + ["Ambush in the"]=7, + ["Get to da"]=3, -- CHOPPAH!!! + ["War of the"]=10, + ["Return to"]=10, + ["Return to the"]=10, + + ["Raze the"]=8, + + -- these by Frozsoul + ["Revenge of the"]=10, + + -- command-like prefixes, some by Dante + ["Attack the"]=10, + ["Destroy the"]=10, + --["Shut Down the"]=15, + --["Patrol the"]=15, + ["Secure the"]=10 + --["Clear this"]=5, + --["Defend this"]=10, + + -- ^^^ Some of these sound pretty decent + -- so I enabled them. Things like shutting down + -- patrolling, defending, etc. are too explicit. + -- MSSP + } + }, + + divisors = + { + a = 10, --\ + b = 10, -- adjectives + h = 10, --/ + + n = 50, -- noun: Base, Station, City (etc) + m = 3, -- monster name: Demon, Imp, Mummy (etc) + e = 3, -- evil being: Satan (etc) + + t = 1, -- article: The XX + v = 20, -- phrase before a noun: Curse of the XX + r = 40, + + s = 1000 -- single complete names + } + }, + -- end of 'COMMON' theme + + -------------------------------------------------- + + TECH = + { + patterns = + { + -- lexicon legend: + -- %e = Entity + -- %a = Adjectives + -- %n = Places + -- %h = Explicit description (e.g. I am Satan, "Arena of ") + -- %o = Implicit description (e.g. I am Satanic, "Arena of ") + -- %v = Prefixed phrase (as per COMMON table e.g. " Arena) + -- %r = Road suffix (St., Street, Road, Rd., etc.) + + ["%a %n"] = 60, + ["%t %a %n"] = 15, + ["%t NOUNGENANGLICAN %n"] = 20, + ["%t NOUNGENEXOTIC %n"] = 7, + + [ "%n of %h"] = 15, + ["%t %n of %h"] = 8, + ["%a %n of %h"] = 6, + + [ "%n of the %o"] = 15, + ["%t %n of the %o"] = 8, + ["%a %n of the %o"] = 6, + + ["%v %n"] = 25, + ["%v %a %n"] = 25, + + --["%a %n %x"] = 20, + --["%n of the %o %x"] = 3, + --["%v %n %x"] = 5, + --["%v %a %n %x"] = 5, + + ["%s"] = 50, + + -- Types of roads, useful when Streets Mode + -- kicks in. + ["NOUNGENANGLICAN %r"] = 25, + ["NOUNNUMBER NOUNGENANGLICAN %r"] = 40, + + ["NOUNGENEXOTIC %r"] = 13, + ["NOUNNUMBER NOUNGENEXOTIC %r"] = 20, + + -- Obsidian contributor names + ["NOUNMEMBERS %n"] = 5, + + ["NOUNGENANGLICAN %n"] = 35, + ["NOUNGENEXOTIC %n"] = 10, + }, + + lexicon = + { + t = + { + The=50 + }, + + r = + { + ["St."] = 7, + ["Rd."] = 7, + ["Ave."] = 7, + ["Dr."] = 4, + ["Pl."] = 4, + ["Ln."] = 4, + Street = 3, + Road = 3, + Avenue = 3, + Drive = 2, + Place = 2, + Lane = 2 + }, + + a = + { + -- generics, + General=5, Generics=7, + + -- size + Plethoric=7, Sprawling=10, Unending=7, + Serpentine=10, Hulking=3, Giant=2, Vast=7, + Monstrous=3, Colossal=4, Towering=3, + + --+ supernatural + Arcane=5, Hidden=5, Ethereal=5, Nether_=5, + Esoteric=5, + + --+ directional + Upper=5, Lower=10, + Northern=10, Southern=10, Eastern=10, Western=10, + Northeast=5, Northwest=5, Southeast=5, Southwest=5, + Inner=5, Innermost=3, Outer=5, Outermost=3, + Focal=5, Central=5, + + --+ distance/inaccessibility + Furthest=5, Isolated=10, Remote=5, Obscure=10, + Lost=5, + Cordoned=5, Quarantined=5, Sequestered=5, + Confined=5, Secluded=5, Sealed=3, + Restricted=5, Blocked=3, Segregated=3, + Adjacent=5, Adjoining=5, Neighboring=5, + Inland=5, Outland=5, + + --+ time + Old=10, Ancient=20, Eternal=7, Archaic=7, Aged=5, + Timeworn=5, + + --+ state of repair/damage + Decrepid=20, Lost=10, Forgotten=10, Battered=5, + Ravished=10, Barren=20, Deadly=5, Rickety=5, + Flooded=5, Bombarded=2, Corrosive=2, Unsteady=3, + Ruined=3, Charred=10, Neglected=5, Decaying=5, + Deteriorated=5, Dilapidated=10, Frail=3, Flimsy=2, + Wrecked=7, + + --+ decay + Decayed=5, Putrid=5, Noxious=5, + Stagnant=10, Rancid=5, Rotten=3, + Sunken=3, Toxic=2, Polluted=10, Mephitic=5, + Infected=10, Infested=10, Infective=5, + Contaminated=10, Fetid=5, Festering=5, + + --+ weather + Windy=10, Hazy=3, Foggy=5, Misty=10, + Cloudy=5, Gray=5, Brackish=5, Overcast=10, + Humid=5, Torrid=5, Tropic=2, + + --+ city + Urban=10, Metropolitan=10, Cosmopolitan=3, + Civic=3, Communal=5, Municipal=3, + Capital=5, Commercial=5, Trading=5, + Company=5, Administrative=5, + + --+ supernatural/evil + Occult=5, Distraught=5, Malevolent=5, + Corrupted=15, Corrupt=15, Fateful=5, + Monster=15, Demonic=3, Demon=15, + Frightening=10, Creepy=5, Ominous=15, + Haunted=20, Menacing=15, + Cursed=20, Wretched=15, Bewitched=5, + Forbidden=20, Sinister=10, Mysterious=10, + Profligate=5, Depraved=5, Incorrigible=3, + Wanton=3, Dissolute=3, + + --+ wilderness + Wild=5, Savage=10, Untamed=3, + Unexplored=7, Teeming=3, Lush=3, + Lupine=2, + + --+ military/criminal possession + Invaded=5, Besieged=10, Swarmed=5, + Overtaken=5, Stolen=3, Blockaded=3, + + --+ illumination + Dark=20, Darkest=7, Dismal=10, Cimmerian=3, + Murky=5, Dim=5, Aphotic=5, Caliginous=5, + Tenebrous=5, Gloomy=5, + + --+ abandonment + Bleak=20, Abandoned=15, Forsaken=10, + Deserted=5, Vacated=5, Forgotten=12, + Derelict=15, Desolate=5, Forlorn=3, + Bereft=3, Stranded=2, Vacant=15, Empty=7, + Dead=15, + + --+ aesthetic + Horrible=10, Exotic=5, Dreadful=10, + + --+ temperature + Cold=7, Bitter=3, Frigid=5, Icy=3, + Algid=5, Polar=5, Gelid=3, Frozen=3, + Boreal=3, Hot=7, Chilly=3, Tepid=4, + Snowy=3, Wintry=5, Brisk=5, Mild=3, + Cool=5, + + --+ emotion + Lonely=2, Desperate=2, Ugly=2, + + --+ populated congestion + Crowded=3, Cramped=3, Congested=5, + Huddled=3, Compact=5, Crammed=2, + + --+ level of danger + Catastrophic=5, Perilous=15, Hostile=10, + Dangerous=10, Precarious=5, Treacherous=5, + Formidable=3, Unsafe=5, + + Unknown=5, Living=3, + Slaughter=5, Murder=5, Killing=5, + Whispering=10, + }, + + n = + { + -- castle and castle parts + Castle=20, Citadel=10, + Keep=3, Slough=3, Temple=3, + Gate=10, Prison=15, Dens=5, + Coliseum=2, Courtyard=10, Court=10, + + -- territories + City=20, Town=20, Village=10, + --[[World=5, Country=10,]] Zone=10, + Square=5, --[[Kingdom=15,]] + District=10, Precinct=10, + Dominion=10, Domain=3, Trail=10, + Region=10, Territory=5, Path=5, + --[[Province=10,]] Jurisdiction=10, + Township=10, Municipality=7, Borough=7, + + -- adventure + Trek=5, Venture=5, + Voyage=7, Odyssey=2, + + -- watery + Harbor=10, Reserve=3, Ward=3, + Seabed=5, Embankment=3, + Oasis=2, Waterways=5, + + -- dirt + Soil=10, Scum=5, + Remnants=10, Remains=5, Debris=5, + Refuse=5, Dust=5, Dirt=3, + + -- destruction + Siege=5, Assault=5, Attack=5, Ambush=5, + Onslaught=5, Stampede=5, Encounter=5, + Conflict=5, + + -- generic flatlands + Lands=10, Fields=10, Footprints=5, + Warrens=5, Outskirts=10, Lots=5, + Acreage=2, Block=10, Plots=5, + Tracts=3, + + -- generic structures/locations + Towers=10, Quarters=10, Division=3, + Hub=5, Polestar=2, Post=5, Complex=15, + Campus=5, Compound=10, Venue=2, + Annex=5, Hallways=20, Halls=5, Corridors=7, + Promenade=5, Cubicles=5, Wing=5, + Building=20, Superstructure=10, + Substructure=10, Compartment=5, + + -- pathways + Alleys=10, Backstreets=5, Lane=5, + Streets=10, Roads=5, Walk=3, + Passage=5, Avenues=3, Outlets=5, + Crossroads=5, Boulevards=3, Parkway=5, + Route=5, Thoroughfare=3, Access=5, + Drive=3, Junction=2, Course=5, + Bypass=2, Gap=5, Concourse=8, + Crossing=5, Exchange=5, Channels=5, + Row=5, Circuit=5, + + -- military + Barracks=5, Depot=3, Outpost=5, + Fortress=20, Fort=5, Stronghold=5, + Camp=3, Berths=5, Garage=5, + + -- weird ones + Echo=1, Dream=1, Nightmare=1, Bliss=1, + + -- industrial + Mines=10, Quarry=5, Docks=10, + Warehouse=10, Port=10, Mineshaft=5, + Firm=5, Workrooms=2, Works=3, + Factory=10, Forge=3, Foundry=3, + Mint=3, Sweatshops=5, Mill=10, + + -- commercial -MSSP + Mall=10, Strip=7, Market=8, + Mart=5, Bazaar=10, Bodega=5, + Souk=8, Fair=10, Stores=5, + Showrooms=5, Emporium=7, + Groceries=3, Stadium=5, Shops=5, + Agora=1, Marketplace=10, Offices=5, + Agency=3, Department=5, Bureau=3, + Suites=2, Workstation=7, + + -- civic -MSSP + Hospital=5, Park=5, Commons=10, + Gardens=15, Plaza=10, Embassy=5, + Sewers=10, Asylum=10, Forum=5, + Assembly=5, Authority=5, Services=3, + Institution=5, + + -- residential + Condominium=10, Condo=5, Chateau=2, + Projects=10, Housing=5, Coop=3, + Hive=5, Cooperative=5, Tenements=5, + Domicile=3, Habitations=3, Abode=5, + Settlement=7, Suburbs=10, Residences=5, + Shelter=10, Board=5, Bunk=3, Habitat=2, + Palace=15, Neighborhood=3, Environs=2, + Barrio=2, House=20, Mansion=10, Manor=10, + Estate=2, Slums=15, Refuge=5, Sanctuary=5, + Dwelling=3, Lofts=8, Stacks=5, Terrace=5, + + -- architectural + Roofs=10, Piazza=5, Portico=5, Loggia=3, + Galleria=5, Arcade=5, + + -- battleground + Battlefront=5, Battlezone=5, Warzone=5, + Battlegrounds=7, Front=5, Impasse=5, + Standoff=5, Deadlock=5, Stalemate=5, + Quandary=5, Quagmire=3, Imbroglio=5 + }, + + h = -- explicit descriptors (e.g. "Arena of Doom") + { + -- feels + --+ negative + Doom=20, Gloom=15, Despair=10, Sorrow=15, + Horror=20, Terror=10, Death=10, Dolor=5, + Pain=15, Fear=7, Hate=5, Desolation=3, + Misery=10, Turmoil=5, Decay=5, + Insanity=5, Helplessness=2, Misfortune=5, + Voiceless=5, + --+ positive + Solace=10, Reparation=3, Consolation=3, + Assuagement=3, + + -- descriptions of danger + Danger=10, Peril=10, + --+ elemental danger + Acid=5, Flames=5, Lava=3, + + -- states of destruction + Ruin=10, + + -- bodily objects + Bone=7, Blood=10, Claws=10, + Gore=7, Skulls=10, Tears=10, + + -- time + Dusk=5, Twilight=5, Midnight=5, Dawn=5, Daybreak=5, Sunrise=5, + Nightfall=5, Sundown=5, Eventide=5, Sunset=5, + + -- delusions + Dreams=2, Delirium=2, Delusion=2, + Doubt=5, Illusions=2, Bliss=2, + + -- bad acts + Sabotage=5, Destruction=5, + + -- material + Bronze=5, Iron=5, Steel=7, + Titanium=3, Aluminum=3, + + -- residents + --+ ethereal things + Demigods=3, Ghosts=15, Gods=10, Spirits=5, + Spectres=5, Banshees=5, Phantoms=5, + Evil=5, Ghouls=5, Demons=5, Souls=5, + + ["Hell Priests"]=3, -- Doom Eternal + + --+ fantasy creatures + Ogres=5, Gargoyles=3, + --+ people + Addicts=3, Creeps=3, Fools=1, + Menace=15, Denizens=7, Murderers=3, + Pirates=3, Vagrants=7, Junkies=3, + Madmen=2, Mortals=10, Drifters=4, + --+ explicitly religious people + Martyrs=5, Prophets=5, Zealots=3, Fanatics=3, + Believers=3, Disciples=3, + --+ animals + Crows=5, Prey=5, + Vermin=5, Vultures=5, + Spiders=2, Snakes=5, + + -- creepy furniture + Mirrors=5, Stakes=3 + }, + + o = -- implicit descriptors (e.g. "Arena of the Doomed") + { + -- abandoned + Abandoned=5, Doomed=5, Damned=5, + Forgotten=5, Forsaken=5, Lost=5, + + -- weird + Bizarre=5, Unreal=5, Strange=5, + + -- damage + Decayed=5, + + -- dirt + Filthy=5, Slime=5, + + -- illusion + Mirage=5, + + -- creatures and people + --+ wild + Pests=5, Vermin=5, + --+ paranormal + Ghosts=4, Phantasm=10, Poltergeist=10, + Wraith=10, Undead=5, Risen=5, + --+ occupational + Butcher=5, Executor=5, Fiend=5, + Slayer=5, + + -- states of being + ---+ victimized + Afflicted=5, Desperate=5, Diseased=5, + Estranged=5, Faceless=5, Homeless=5, + Misbegotten=5, Missing=5, Hunted=5, + Sick=5, Sightless=5, Unwell=5, + Quarantined=5, + ---+ craycray + Deranged=5, Disturbed=3, Hysteric=5, + Insane=5, Mad=7, + ---+ pretty much dead + Dead=5, Deceased=5, Fallen=5, + ---+ good + Bold=5, Brave=5, Dauntless=5, + Interpid=3, Savior=5, + ---+ neutral + Adamant=5, Feral=5, Untamed=5, + Vicarious=5, Wild=5, Stray=5, + ---+ evil + Lawless=5, Unforgiving=5, + + -- groups + Conclave=5, Sovereign=5, Kinship=5, + Brotherhood=5, Sisterhood=5, Guild=5, + Union=5, Fellowship=5, + + -- age and time + Ancients=5, Eternal=5, Night=10 + }, + + s = + { + -- single complete level names + + ["Abandonment"]=10, + ["Afterhours"]=10, + ["Aftermath"]=10, + ["All is Lost"]=10, + ["Archipelago"]=10, + ["Armed to the Teeth"]=10, + ["Arson Anthem"]=10, + ["Atomized"]=10, + ["Awaiting Death"]=10, + ["A Monster Too Many"]=10, + ["Bad Company"]=10, + ["Behind Enemy Lines"]=10, + ["Black and Grey"]=10, + ["Bleak"]=10, + ["Blind Salvation"]=10, + ["Blizzard of Glass"]=10, + ["Blood Red Shadows"]=10, + ["Bullets and Fireballs"]=10, + ["Buried by Time and Ash"]=10, + ["Burndown"]=10, + ["Burnout"]=10, + ["Business District"]=10, + ["Cacophobia"]=10, + ["Carnival Bizarre"]=10, + ["Chasing Demomns"]=10, + ["Cisterne"]=10, + ["Cloak of Midnight"]=10, + ["Cold Comfort"]=10, + ["Cold Sweat"]=10, + ["Countdown to Death"]=10, + ["Course of Decadence"]=10, + ["Cross Attack"]=10, + ["Crumbled Nations"]=10, + ["Crystalline Chaos"]=10, + ["Darkness at Noon"]=10, + ["Dark Apparition"]=10, + ["Dark City"]=10, + ["Dark Horizon"]=10, + ["Darkened Waters"]=10, + ["Dead End"]=10, + ["Deadfall"]=10, + ["Deadlock"]=10, + ["Deadly Visions"]=10, + ["Dead Silent"]=10, + ["Dead Zone"]=10, + ["Demons On The Prey"]=10, + ["Destroy All Humans"]=10, + ["Devil's Rejects"]=10, + ["Doomed Society"]=10, + ["Dropoff"]=10, + ["Earth Scum"]=10, + ["Eight Floors Above"]=10, + ["Endoomed"]=10, + ["Enter Combat"]=10, + ["Evil or Dead"]=10, + ["Fading to Black"]=10, + ["Fallen into Shadows"]=10, + ["Famine"]=10, + ["Fatal Doom"]=10, + ["Fight to the End"]=10, + ["Fimbul Winter"]=10, + ["Forebearer of Grievance"]=10, + ["Forgotten"]=10, + ["Foul Ruin"]=10, + ["God's Little Acre"]=10, + ["Graveflower"]=10, + ["Graveyard Shift"]=10, + ["Gray Skies"]=10, + ["Greek Fire"]=10, + ["Hellbrigade"]=10, + ["Hell's Kitchen"]=10, + ["Hell's Triumph"]=10, + ["Hidden Screams"]=10, + ["Hiding the Secrets"]=10, + ["House of a Thousand Deaths"]=10, + ["Human Debris"]=10, + ["In Remembrance"]=10, + ["In Solitary Ruin"]=10, + ["In the Final Hour"]=10, + ["Irradiated"]=10, + ["Jailbird"]=10, + ["Judgement Day"]=10, + ["Kitchen Ace"]=10, + ["Left in the Cold"]=10, + ["Library of the Lost"]=10, + ["Lights Out!"]=10, + ["Long Gone"]=10, + ["Lucid Illusion"]=10, + ["Lucifer in Starlight"]=10, + ["Lunatic Fringe"]=10, + ["Mayhem"]=10, + ["March of the Zombies"]=10, + ["Nightfall"]=10, + ["Night Stalkers"]=10, + ["Night Terrors"]=10, + ["No Guts No Glory"]=10, + ["No Rest No Peace"]=10, + ["Nothing's There"]=10, + ["On the Hunt"]=10, + ["One Too Many"]=10, + ["Open Wound"]=10, + ["Organized Chaos"]=10, + ["Overtime"]=10, + ["Patron of Antipathy"]=10, + ["Population One"]=10, + ["Poison Society"]=10, + ["Polygraph"]=10, + ["Principle of War"]=10, + ["Pitch Black"]=10, + ["Primetime Killing"]=10, + ["Progression's Delay"]=10, + ["Punctured"]=10, + ["Quietus"]=10, + ["Riddled by Gunfire"]=10, + ["R.I.P Humanity"]=10, + ["Red Valhalla"]=10, + ["Realm of Chaos"]=10, + ["Remains of Humanity"]=10, + ["Retribution"]=10, + ["Roadkill"]=10, + ["Roctagon"]=10, + ["Rotten Roots"]=10, + ["Running of the Bulls"]=10, + ["Sanctuary"]=10, + ["Set the World on Fire"]=10, + ["Shellshock"]=10, + ["Shadowland"]=10, + ["Silent Might"]=10, + ["Sin City"]=10, + ["Solitude"]=10, + ["Stakeout"]=10, + ["Stille Nacht"]=10, + ["Stonegate"]=10, + ["Subjugated"]=10, + ["Suspense"]=10, + ["Terminal Fear"]=10, + ["Ten Degrees of Fate"]=10, + ["Terrorville"]=10, + ["The Blackest Day"]=10, + ["The Bones of Many"]=10, + ["The Fading Light"]=10, + ["The Fire Still Burns"]=10, + ["The Guns Fall Silent"]=10, + ["The Hook"]=10, + ["The Silenced Lamasery"]=10, + ["The Sun No Longer Rises"]=10, + ["The Trial"]=10, + ["The Winds Speak None"]=10, + ["This is The End"]=10, + ["Tombstone"]=10, + ["Under Ruins"]=10, + ["Unleashed Aggression"]=10, + ["Urban Horror"]=10, + ["Valley of the Dead"]=10, + ["Viscera"]=10, + ["Voice of the Voiceless"]=10, + ["Walk of Faith"]=10, + ["Warzone"]=10, + ["Watch it Burn"]=10, + ["Watch your Step"]=10, + ["Where Marines Dare"]=10, + ["Witch Parade"]=10, + ["Xenophobia"]=10, + + ["Ambushed!"]=10, + ["Bullet Hole"]=10, + ["Civil Disobedience"]=10, + ["Disestablishment"]=10, + ["Eaten by the Furniture"]=10, + ["Escape is Futile"]=10, + ["Fight That!"]=10, + ["Forboding Signs"]=10, + ["Mindless Architecture"]=10, + ["Mow 'em Down!"]=10, + ["Nobody's Home"]=10, + ["No Comfort"]=10, + ["Out of Luck"]=10, + ["Passing Away"]=10, + ["Route to Death"]=10, + ["Stream of Unconsciousness"]=10, + ["Struggle No More"]=10, + ["Today You Die!"]=10, + ["Ups and Downs"]=10, + ["You Don't Belong Here"]=10, + + -- Reisal adds more names + ["A Destructive Path"]=10, + ["A Doomsday Scenario"]=10, + ["Administrative Errors"]=10, + ["Black Hole"]=10, + ["Charred To The Bone"]=10, + ["Chaos Unfolds"]=10, + ["Crosses and Pikes Abound"]=10, + ["Deny the Narrative"]=10, + ["Diamond of Chaos"]=10, + ["Hell in Your Lap"]=10, + ["Industrial Architecture"]=10, + ["Forever Wandering"]=10, + ["Manor of Glass"]=10, + ["Multi Paths, Multi Deaths"]=10, + ["Nothing But A Husk"]=10, + ["Nuclear Annihilation"]=10, + ["Null and Void"]=10, + ["Planetary Destruction"]=10, + ["Scrounge"]=10, + ["Stand Your Ground"]=10, + ["Steel Scraps"]=10, + ["The Mysteries of Octothorp"]=10, -- Come on crowbars82, come and finish your mod lol + ["The No Go Zone"]=10, + ["The Twisted Abode"]=10, + + -- Doom Eternal stuff. Would these be better under Hell? + ["Ardur"]=10, + ["Kher Lodur"]=10, + ["Neras"]=10, + ["Taras Nabad"]=10, + + -- Reisal adds more names, 2020 edition + ["A Hobo's Paradise"]=10, + ["Bombardment"]=10, + ["Everlasting Ashstorm"]=10, + ["Expenditure of Munitions"]=10, + ["Fixation on Survival"]=10, + ["Howling Corridors"]=10, + ["The Smell of Plasma"]=10, + ["Vertical Drop"]=10, + + -- 2021 naming convention by Reisal + ["A Clouded Sun"]=10, + ["A Cruel Fate"]=10, + ["A Fate No Worse"]=10, + ["Among the Abyss"]=10, + ["Art of Urban Decay"]=10, + ["Ashen Grip"]=10, -- Elder Scrolls Online stuff + ["Beyond the Mist"]=10, + ["Beyond Survival"]=10, + ["Blazing Skyscrapers"]=10, + ["Bleak Outlook"]=10, + ["Blessed Twilight"]=10, + ["Blood Among the Soot"]=10, + ["Body, Soul and Rifle"]=10, + ["Contemporary Silence"]=10, + ["Cold, Icy Winds"]=10, + ["Corporatis Infernus"]=10, + ["Crawling Through Glass"]=10, + ["Criteria of a Bum"]=10, + ["Darkened Nights"]=10, + ["Decay of Sunlight"]=10, + ["Desolation Deluxe"]=10, + ["Departure of Humanity"]=10, + ["Dumpsters and Demons"]=10, + ["Dwelling in the Shroud"]=10, + ["End of Seasons"]=10, + ["Exodus Unto Nowhere"]=10, + ["Fading Sun"]=10, + ["Firestorm"]=10, + ["Frontier of Dust"]=10, + ["Hymn of Solitude"]=10, + ["In Hiding"]=10, + ["Letting it all Go"]=10, + ["Long Forgotten"]=10, + ["Lost Forever"]=10, + ["Lurking Death"]=10, + ["Monoliths of Ruin"]=10, + ["No Go Zone"]=10, + ["No Peace Here"]=10, + ["No Return"]=10, + ["Northern Lights"]=10, + ["Nothing But Ash"]=10, + ["Peace Through Firepower"]=10, -- Command & Conquer reference + ["Rain"]=10, + ["Retirement of Man"]=10, + ["Ruined"]=10, + ["Shadows Among Us"]=10, + ["The Sawtooth Smile"]=10, + ["The Scent of Ash"]=10, + ["This Graveyard Earth"]=10, + ["Unspoken Stars"]=10, + ["Urban Megalths"]=10, + ["When All Hope is Lost"]=10, + ["Wicked Corridors"]=10, + + -- MSSP adds more names as well + ["Damned Demon Destruction"]=10, -- Demios + ["Nothing Personnel"]=10, + + -- End of 2021 additions by Reisal + ["A Weeping Statue"]=10, + ["As Shade Falls Upon Thee"]=10, + ["As The Candle Fades"]=10, + ["Ashes and Remembrance"]=10, + ["Ballad of Fog"]=10, + ["Bereavement of Earth"]=10, + ["Broken Future"]=10, + ["Cathedris Titanus Ruina"]=10, + ["Concrete and Twisted Metal"]=10, + ["Could it Get Worse?"]=10, + ["Dawn's Covenant"]=10, + ["Death Tally: Billions"]=10, + ["Discarded Kevlar"]=10, + ["Embracing Silent Death"]=10, + ["Empty Streets"]=10, + ["Fading From Existence"]=10, + ["Flatline Earth"]=10, + ["Her Silence is Telling Us"]=10, + ["Hunted Like Dogs"]=10, + ["Hunkered Down"]=10, + ["Induced Self-Destruction"]=10, + ["Lights That Lead"]=10, + ["Nameless Seeker"]=10, + ["Of Dust And Ash"]=10, + ["On Scorched Grounds"]=10, + ["Permanent Blackout"]=10, + ["Raindrops and Ashfall"]=10, + ["Reach For The Stars"]=10, + ["Requiem For The Planet"]=10, + ["Scattered To The Winds"]=10, + ["Seeing Dark Skies"]=10, + ["Shrouded Hopelessness"]=10, + ["Stardrifter"]=10, + ["Take Us Away"]=10, + ["That Special City.."]=10, + ["The Hobo's Den"]=10, + ["The Memories of Life"]=10, + ["The Ravens Come To Us"]=10, + ["The Skyward Gaze"]=10, + ["The Slow Death"]=10, + ["The Walls Whisper My Name"]=10, + ["Urban Hellscape"]=10, + ["Weaponized Despair"]=10, + + -- New Year's Eve 2021 additions by Reisal! + ["Architects of Sadism"]=10, + ["Candlestick Bitch"]=10, + ["Chaotic Opportunism"]=10, + ["Cries of the Shadows"]=10, + ["Dusk Overture"]=10, + ["Fourthcoming Kingdoms"]=10, + ["Incense, Gore and Nihility"]=10, + ["Jump In The Acid"]=10, -- Play on Metallica's "Jump in the Fire" song + ["Liquid Blood Skies"]=10, + ["Lost in the Bloody Haze"]=10, + ["Nightmarish Fixation"]=10, + ["Nothingness Hereforth"]=10, + ["Our Evil Oaths"]=10, + ["The Wizards of Gore"]=10, + ["When the Skin Strand Pops"]=10, + ["Winds That Shred Skin"]=10, + + -- 2022 marker + ["A Handful of Glass"]=10, + ["A Not So Pretty Place"]=10, + ["Cage of Mirrors"]=10, + ["Casting Shade"]=10, + ["Corvus Corona"]=10, + ["Crisis of Life"]=10, + ["Damned to Extinction"]=10, + ["Dirty Outskirts"]=10, + ["Dry Water"]=10, + ["Dustman"]=10, + ["Esperandote"]=10, + ["Eternal Gloom"]=10, + ["Far From Rescue"]=10, + ["Fear Locked Away"]=10, + ["Flesh and Dust"]=10, + ["Fog Ensues"]=10, + ["From the Lost Days"]=10, + ["Ghosting"]=10, + ["Glory Hunter"]=10, + ["Ground Dawn"]=10, + ["Guns to Rust, Hearts to Dust"]=10, + ["Hear Nothing"]=10, + ["Innocent Moon"]=10, + ["Let Us Depart"]=10, + ["Liquid Dimensions Change"]=10, + ["Magical Mystical Marine"]=10, + ["Memories Remain"]=10, + ["Memory on the Waters"]=10, + ["Mutiny on the World"]=10, + ["Nightwind"]=10, + ["Neon Nights"]=10, + ["On The Razor's Edge"]=10, + ["Paleville"]=10, + ["The Beauty of Dust"]=10, + ["The Upper Art"]=10, + ["Thunder's Cannon"]=10, + ["Thundering Hooves"]=10, + ["Time Destroys It All"]=10, + ["To Die in the Dark"]=10, + ["Too Far Gone"]=10, + ["Tragedy and Weeds"]=10, + ["Turbulence"]=10, + ["Unseen"]=10, + ["Warped Mind"]=10, + ["We Shun the Light"]=10, + ["Without Fear"]=10, + ["White Roses, White Coffin"]=10, + ["Wrapped in Solitude"]=10, + ["Your Beauty Measures More"]=10 -- end marker + } + } + }, + + -- end of 'URBAN' theme + + -------------------------------------------------- + + BOSS = + { + patterns = + { + ["%s"] = 10, + }, + + lexicon = + { + s = + { + ["Angelic Exodus"]=10, + ["Arena of Terror"]=10, + ["Bad Neighbors"]=10, + ["Barrier"]=10, + ["Barons' Rhapsody"]=10, + ["Battle Royale"]=10, + ["Blast Through"]=10, + ["Bleed on Me"]=10, + ["Blessed Are the Quick"]=10, + ["Bloodbath"]=10, + ["Border Crossing"]=10, + ["Boss Cage"]=10, + ["Brick Wall"]=10, + ["Captured"]=10, + ["Caughtyard"]=10, + ["Checkmate"]=10, + ["Close Combat"]=10, + ["Coliseum"]=10, + ["Coronary Bypass"]=10, + ["Creepshow"]=10, + ["Cyberstomp"]=10, + ["Death Sentence"]=10, + ["Deicide Ultra"]=10, + ["Deliverance"]=10, + ["Die Hard"]=10, + ["Divider"]=10, + ["Dog Eat Dog"]=10, + ["Do or Die"]=10, + ["End of Days"]=10, + ["Execution"]=10, + ["Eye for an Eye"]=10, + ["Fatality"]=10, + ["Fate"]=10, + ["Final Fight"]=10, + ["Fire Amok"]=10, + ["Gateway"]=10, + ["Gladiator"]=10, + ["Ground Zero"]=10, + ["Guardian"]=10, + ["Hail of Bullets"]=10, + ["Halted in Your Tracks"]=10, + ["Hard Attack"]=10, + ["Hardball"]=10, + ["Hellmouth"]=10, + ["Into The Ground"]=10, + ["I Expect You to Die"]=10, + ["Kill Frenzy"]=10, + ["Killswitch"]=10, + ["Kingdom Come"]=10, + ["Knockout"]=10, + ["Lion's Den"]=10, + ["Lucid"]=10, + ["Melee!"]=10, + ["Mission Improbable"]=10, + ["Moving Target"]=10, + ["Murderplay"]=10, + ["Nightmare Without End"]=10, + ["Nemesis"]=10, + ["No Exit!"]=10, + ["No Sweat"]=10, + ["Nowhere to Go"]=10, + ["Not So Simple"]=10, + ["Nucleus"]=10, + ["Open Fire"]=10, + ["Panic Room"]=10, + ["Perfect Conflict"]=10, + ["Playground"]=10, + ["Proving Grounds"]=10, + ["Punchline"]=10, + ["Razor's Edge"]=10, + ["Recess"]=10, + ["Rip and Tear"]=10, + ["Roadblock"]=10, + ["Screamin' Marines"]=10, + ["Showdown"]=10, + ["Showtime!"]=10, + ["Shoot First Ask Later"]=10, + ["Sinister"]=10, + ["Sink or Swim"]=10, + ["Six Feet Under"]=10, + ["Slaughterfest"]=10, + ["SNAFU"]=10, + ["Soul Trap"]=10, + ["Stop Fight Go"]=10, + ["Sudden Death"]=10, + ["The Hunt"]=10, + ["The New Fury"]=10, + ["The Purge"]=10, + ["The Second Coming"]=10, + ["The Trap"]=10, + ["There Can Be No Victory"]=10, + ["Total Doom"]=10, + ["Trapped"]=10, + ["Trial by Fire"]=10, + ["Trial of Mankind"]=10, + ["Trouble in Paradise"]=10, + ["Unmaker"]=10, + ["Unwelcome"]=10, + ["Victory Zero"]=10, + ["Welcome to Thy Doom"]=10, + ["What Color is Death?"]=10, + ["You May Not Pass!"]=10, + + -- MSSP adds names + + ["1995"]=10, + ["Above and Beyond"]=10, + ["Absolute Terror Field"]=10, + ["Ace of Spades"]=10, + ["Appointment in Samarra"]=10, + ["Armaggeddon"]=10, + ["A Study In Red"]=10, + ["Back in Black"]=10, + ["Bad Blood"]=10, + ["Bad News"]=10, + ["Bellum Infinitus"]=10, + ["Bone Hurting Juice"]=10, + ["Big Guts"]=10, + ["Black Parade"]=10, + ["Blood Drive"]=10, + ["Bloodlust"]=10, + ["Bring It"]=10, + ["Bring Out Your Dead"]=10, + ["Catch-22"]=10, + ["Dance with the Devils"]=10, + ["Darwin Awards"]=10, + ["Damnation"]=10, + ["Danger Zone"]=10, + ["Dead Reckoning"]=10, + ["Diabolus Ex"]=10, + ["Don't Stop Me Now"]=10, + ["Doom Eternal"]=10, + ["Do Panic"]=10, + ["Don't Stop Dancing 'Til The Curtains Fall"]=10, + ["Do You Want To Live Forever?"]=10, + ["Endgame"]=10, + ["Exterminatus"]=10, + ["Famous Last Words, Yours"]=10, + ["Fear No Evil"]=10, + ["Forlorn Hope"]=10, + ["Free Churro"]=10, + ["FUBAR"]=10, + ["Fucking Run"]=10, + ["Fustercluck"]=10, + ["Future Imperfect"]=10, + ["Garbage Day"]=10, + ["Get Psyched!"]=10, + ["Glorious Defeat"]=10, + ["Gotcha!"]=10, + ["Gratuitous Combat Scenario"]=10, + ["Greased"]=10, + ["Grow Flowers Where You Fall"]=10, + ["Hardboiled"]=10, + ["Hardcore"]=10, + ["Heavy Metal Mayhem"]=10, + ["He Comes"]=10, + ["Hellraiser"]=10, + ["Here Comes the Night Train"]=10, + ["Hold Your Ground"]=10, + ["Highway to Hell"]=10, + ["High Water"]=10, + ["Iron Maiden"]=10, + ["I Don't Feel So Good"]=10, + ["I Told You Not to Turn Around"]=10, + ["I Ii II L"]=10, + ["Judgement"]=10, + ["Killing Fields"]=10, + ["Life's a Bitch, Then You Die"]=10, + ["Light at the End of the Tunnel, But It's a Train"]=10, + ["Max Pain"]=10, + ["Meatgrinder"]=10, + ["Mene, Mene, Tekel, Parsin"]=10, + ["Mind-chaos"]=10, + ["Mind-fog"]=10, + ["Musical Chairs but the Chair Explodes"]=10, + ["Nine Inch Nails"]=10, + ["No Chance in Hell"]=10, + ["No Rest For The Wicked"]=10, + ["No Man's Land"]=10, + ["No One Escapes"]=10, + ["No Place for a Hero"]=10, + ["No Surrender"]=10, + ["Objective: Survive"]=10, + ["One Doomed Marine"]=10, + ["Oof!"]=10, + ["On Your Knees"]=10, + ["Ouch!"]=10, + ["Ouch Oof Owie"]=10, + ["Owie!"]=10, + ["Painkiller"]=10, + ["Pressure"]=10, + ["Rains of Castamere"]=10, + ["Realm of the Mad God"]=10, + ["Red Alert"]=10, + ["Resistance is Futile"]=10, + ["Run"]=10, + ["Running with Scissors"]=10, + ["Seven Trumpets Sounding"]=10, + ["Surrounded!"]=10, + ["Standoff"]=10, + ["Stranglehold"]=10, + ["Suicide Mission"]=10, + ["Tears in the Rain"]=10, + ["Time to Kill"]=10, + ["Tip of the Spear"]=10, + ["The Fate of All Things"]=10, + ["The Game Is On"]=10, + ["Pulling the Short Straw"]=10, + ["The Part Where He Gets You"]=10, + ["The Sentinel's Playground"]=10, + ["The Throne of Skulls"]=10, + ["The Tribute"]=10, + ["The View from Halfway Down"]=10, + ["The World Burns"]=10, + ["Trauma Conga Line"]=10, + ["Wayward Son"]=10, + ["Weighed and Found Wanting"]=10, + ["Wrong End of the Stick"]=10, + ["Wild Hunt"]=10, + ["You Are Already Dead"]=10, + ["You'll Float Too"]=10, + ["You'll See"]=10, + ["Zone of Alienation"]=10, + + -- Reisal adds names too + ["A Friend to Upheaval"]=10, + ["Burned and Shut In"]=10, + ["Circumscribed by Hell"]=10, + ["Destiny"]=10, + ["Diagnosis Death"]=10, + ["Disruption of Worlds"]=10, + ["Doom"]=10, -- Yeah lol, it's a word to use + ["From Every Direction"]=10, + ["Hellish Blockade"]=10, + ["In a Snag"]=10, + ["Karma's a Bitch"]=10, + ["Kill or Be Killed"]=10, + ["Knocked Down a Peg"]=10, + ["Mental Collapse"]=10, + ["Obstruction"]=10, + ["One Man's Ordeal"]=10, + ["Only Way Through"]=10, + ["Sirens Blaring"]=10, + ["Subjugation"]=10, + ["Toll Booth From Hell"]=10, + ["The Kismet of Marines"]=10, -- https://www.dictionary.com/browse/kismet + ["The Oppressors"]=10, + ["The Slow Painful Crush"]=10, + ["Unwanted Termination"]=10, + ["Wheel of Misfortune"]=10, + ["Zero Calm Here"]=10, + + ["Sentinel Prime"]=10, -- Doom Eternal + + -- 2021 additions + ["A Bit Too Simple"]=10, + ["Dead End"]=10, + ["Much Too Simple"]=10 + } + } + }, + -- end of 'BOSS' theme + + -------------------------------------------------- + + PSYCHO = + { + patterns = + { + ["%s"] = 10, + }, + + lexicon = + { + s = + { + -- soap operas, lol + ["All My Children"]=10, + ["Another World"]=10, + ["A World Apart"]=10, + ["Beast Benders"]=10, + ["Days of our Lives"]=10, + ["Dynasty"]=10, + ["Faraway Hill"]=10, + ["Falcon Crest"]=10, + ["Guiding Light"]=10, + ["Happy Days"]=10, + ["Malibu Shoes"]=10, + ["Melrose Place"]=10, + ["One Life to Live"]=10, + ["Passions"]=10, + ["Paper Dolls"]=10, + + -- foods + ["Alphabet Soup"]=10, + ["Banana Split"]=10, + ["Bland Cereal"]=10, + ["Broccoli!"]=10, + ["Candyland"]=10, + ["Chow Mein"]=10, + ["Chocolate Mountain"]=10, + ["Cooking Your Testicles"]=10, + ["Fried Chicken"]=10, + ["Fruity Tooty"]=10, + ["General Tso's Chicken"]=10, + ["Gorilla Biscuit"]=10, + ["Gingerbread Men"]=10, + ["Kitten Pie"]=10, + ["Liver and Onions"]=10, + ["Marmalade Trees"]=10, + ["Moldy Bread"]=10, + ["Mushroom Kingdom"]=10, + ["Oreos"]=10, + ["Raspberry Cheesecake"]=10, + ["Salad Melody"]=10, + ["Seedless Watermelon"]=10, + ["Sour Patch Kids"]=10, + ["Sushi Wooshy"]=10, + ["Swedish Meatballs"]=10, + ["Tasty Morsel"]=10, + ["The Brownie Institute"]=10, + ["Valleys of Cream"]=10, + ["Wurst to Wear"]=10, + + -- others + ["99 Cents"]=10, + ["100 Ways to Fry"]=10, + ["All Your Base"]=10, + ["Anthem for Doom"]=10, + ["Axis of Evil"]=10, --Sodom "Axis of Evil" track + ["Andrew's Jumpy Castle"]=10, + ["A Wibbly Wobbly Hell"]=10, + ["Baron's Hideout"]=10, + ["Bait the Hook"]=10, + ["Beginning of the Line"]=10, + ["Balls"]=10, + ["Behave Yourself"]=10, + ["Bling Bling"]=10, + ["Bill vs Steve"]=10, + ["Binary Blob World Order"]=10, + ["Bitch Lasanga"]=10, --lol Pewdiepie + ["Blimey Teddy"]=10, + ["BOHICA"]=10, --Military slang acronym "Bend over, here it comes again", + ["Bork Bork Bork"]=10, + ["Cats Rule Here"]=10, + ["Catapult!"]=10, + ["Ceiling Spikes"]=10, + ["Cool Breeze"]=10, + ["Cyberdemon's Clubhouse"]=10, + ["Code Pink"]=10, + ["Coffee Planet"]=10, + ["Chasing Eagles"]=10, + ["Clockwork"]=10, + ["Copyright Violation"]=10, + ["Construct More Pylons"]=10, + ["Cronky Blonky"]=10, + ["Culture War 101"]=10, + ["Dat"]=10, + ["Dat's Some Trippy Shit"]=10, + ["Disco Inferno"]=10, + ["Don't Feed the Demons"]=10, + ["Doomworld's Memo"]=10, + ["Dancing Letters"]=10, + ["Demonitized"]=10, + ["Dregs"]=10, + ["Dragon Rainbow"]=10, + ["Drawing Arrows"]=10, --Against Nature song + ["Dunked"]=10, + ["Dysfunctional Doomguy"]=10, + ["Essel's Fort -TM-"]=10, --esselfortium, a Doomworld regular and moderator + ["E for Effort"]=10, + ["Enter With Drag On"]=10, + ["Eye Sore"]=10, + ["ERROR: No Level Name."]=10, + ["Family Time"]=10, + ["Far Out!"]=10, + ["Fatal Error"]=10, + ["Fishing Expedition"]=10, + ["Flipping the Linedef"]=10, --retxirT + ["FOOBAR"]=10, + ["Foobie Bletch"]=10, + ["Froody Hoody Froo"]=10, + ["Fraggle's Sock"]=10, --Fraggle, Doomworld moderator and author of Chocolate Doom + ["Game Settings"]=10, + ["Geronimo"]=10, + ["Get Woke, Go Broke"]=10, --TheQuartering + ["Glass Horizon"]=10, + ["Go Boom Boom"]=10, + ["Grandstander"]=10, + ["Guts"]=10, + ["Havering Hovercrafts"]=10, + ["Hello Sailor!"]=10, + ["Hello There"]=10, + ["Hole In Your Head"]=10, --Vaguely close to Nine Inch Nails + ["Holy Smokes"]=10, --Suzzy Roche + ["Homeboy"]=10, + ["Howdy Doody"]=10, + ["Hawaiian Shirt"]=10, + ["Heard of Cows?"]=10, + ["I See Dead People"]=10, --Movie: The Sixth Sense (1999) + ["Idiots Preferred"]=10, + ["Inflating Dwarfs"]=10, --Based on a song by band named Against Nature + ["-Insert Map Name Here-"]=10, + ["Inverted Autumn"]=10, + ["It's Over 9000!"]=10, --DBZ meme + ["Ka Ching!"]=10, + ["Kate's Blanket"]=10, + ["LazyTown"]=10, -- RIP Robbie Rotten :( + ["Lame Level"]=10, + ["Level in the Pubic Domain"]=10, + ["Like Wow Man"]=10, + ["Linedef Burning"]=10, + ["Linguica's Big Block"]=10, --Doomworld co-founder and administrator + ["Linux Land"]=10, + ["LOLWUT"]=10, + ["Magnitude 10"]=10, + ["Massive WTF"]=10, + ["Map of No Return"]=10, + ["Mind Blower"]=10, + ["Meme Review"]=10, --Pewdiepie + ["Money Machine"]=10, + ["Mixed and Measured"]=10, + ["Make Oblige Great Again"]=10, --A play on Donald Trump's "Make America Great Again" slogan + ["Monkeys To Infinity"]=10, + ["Moonwalk"]=10, --Michael Jackson + ["Munchies"]=10, + ["Night Terrors"]=10, + ["No Clue"]=10, + ["Nobody Hears You"]=10, + ["Not A Clown World"]=10, + ["Note To Self"]=10, + ["Oh Noes!"]=10, + ["Omega-Kappa-Beta Outpost"]=10, + ["One Step at A Time"]=10, + ["Ooomph!"]=10, + ["Over the Rainbow"]=10, + ["Paper Cut"]=10, + ["Picasso's Abode"]=10, + ["Pirate Spaceship"]=10, + ["Poppy Seed Grinder"]=10, + ["Powered By GitHub"]=10, + ["Press ALT + F4 for God Mode!"]=10, + ["Press SPACE to Format C:"]=10, + ["Pukage"]=10, + ["Puppy Containment"]=10, + ["Pure Bliss"]=10, + ["Purple Haze"]=10, --Jimi Hendrix + ["Rainstorm Incoming"]=10, + ["Raise The Flag"]=10, + ["Resurrection"]=10, + ["Retinal Overload"]=10, + ["Robbie Rotten's Skeleton Closet"]=10, --LazyTown + ["Roast 'Em & Toast 'Em"]=10, + ["Safety Zone"]=10, + ["Shrouded in Fuzz"]=10, + ["Shenanigans"]=10, + ["Shonky Parts"]=10, + ["Silly Hall"]=10, + ["SNAFU"]=10, + ["Soylent Green"]=10, + ["Snakes and Ladders"]=10, --A well known children's tabletop game + ["Stash that Trash!"]=10, + ["Spoon Clank"]=10, --Styxhexenhammer666, + ["Sonata in Z Major"]=10, + ["Subscribe to Pewdiepie"]=10, --The old Pewdiepie/T-Series "War", + ["Super Hero"]=10, + ["Technicolor Dazzle"]=10, + ["That Guy Next Door"]=10, + ["The Bums of the Future"]=10, + ["The Perfect Map"]=10, + ["The Prefabricator"]=10, + ["Them Bones"]=10, --Alice in Chains + ["Tim's Beanie Buffet"]=10, --Timcast/Tim Pool + ["This is Not a Hangar Remake"]=10, + ["Touch Me Not"]=10, + ["Twitty Twatty Twee"]=10, --Twitter? + ["No more visplanes!"]=10, + ["Wolfgang Blues"]=10, + ["Welcome to 7-11"]=10, + ["Wet Behind the Ears"]=10, + ["What??"]=10, + ["Wheat Field"]=10, + ["Where is Reisal?"]=10, --I'm right here!! + ["Where's the Lamb Sauce?"]=10, --Gordon Ramsay + ["Yet Another Rewrite"]=10, + ["You Are Over The Sidedef Limit!"]=10, + ["You Be Gangsta"]=10, + ["You Will Oblige"]=10, + ["You'll Shoot Your Eye Out"]=10, + ["Yloh Elbib"]=10, + ["Zone of a Billion Deaths"]=10, + + -- MSSP adds names + ["404 Not Found"]=10, + ["Deleting System32"]=10, + ["Device is not Responding"]=10, + ["Hard Fault"]=10, + ["Invalid String Value"]=10, + ["LEV.description"]=10, + ["Memory Dump"]=10, + ["Please Reinstall Drivers"]=10, + ["You Have 23 Infections!!!"]=10, + ["Your System Is Below Requirements"]=10, + + -- Reisal adds errors too + ["Access is Denied"]=10, --ERROR_INVALID_ACCESS + ["Data Error"]=10, --ERROR_CRC + ["Network Access is Denied"]=10, --ERROR_NETWORK_ACCESS_DENIED + ["The Data is Invalid"]=10, --ERROR_INVALID_DATA + ["The Device is Not Ready"]=10, --ERROR_NOT_READY + ["The Environment is Incorrect"]=10, --ERROR_BAD_ENVIRONMENT + ["The Media is Write Protected"]=10, --ERROR_WRITE_PROTECTED + ["The Printer is Out of Paper"]=10, --ERROR_OUT_OF_PAPER + + -- Linux.. + ["Block Device Required"]=10, --ENOTBLK + ["Broken Pipe"]=10, --EPIPE + ["Inappropriate IOCTL for Device"]=10, --ENOTTY + ["Invalid Cross-Device Link"]=10, --EXDEV + ["Link Number Out of Range"]=10, --ELNRNG + ["No Such Process"]=10, --ESRCH + ["Protocol Driver Not Attached"]=10, --EUNATCH + ["Text File Busy"]=10, --ETXTBSY + + ["1000-Degree Knives"]=10, + ["Bad Unboxing"]=10, + ["Chocolate Rain"]=10, --Tay Zonday + ["Drink More Water"]=10, + ["EA Sports. It's In The Game"]=10, + ["Hey Sup Beautiful Bastards"]=10, --if we're really doing popular YouTubers + ["It's Just a Prank, Bro!"]=10, --had to + ["It's Just a Social Experiment"]=10, + ["Nobody Got Time For That"]=10, + ["VGCG"]=10, + ["You Wouldn't Steal a Car"]=10, + ["Papa Bless"]=10, + + -- literature (or derived/deviated from them) + ["Brave New World"]=10, + ["Caught in the Rye"]=10, + ["Silence of the Lambs"]=10, + ["The Dragon Tattoo"]=10, + ["The Raven"]=10, + + -- Bands or songs (generally or sort of psychedelic) + ["Here Comes The Rooster"]=10, --Alice in Chains + ["Here Comes The Sun"]=10, + ["Good Times Bad Times"]=10, + ["White Rabbit"]=10, + ["Tame Impala"]=10, + + -- Doom Eternal + ["Doomslayer's House of Doom"]=10, + ["Hell Priests Come to Town"]=10, + ["VEGA Says Hello"]=10, + + -- Some really weird shit + -- (See https://www.doomworld.com/forum/topic/62633-doom-human-body-allegory/ ) + ["Agonize Echo Muladhara"]=10, + ["Animating Force"]=10, + ["Ankar Left Hand Path Cat"]=10, + ["Base Tail Bone Chakra"]=10, + ["Blue Heap Monster Corpse"]=10, + ["Blue Light Begin Glow"]=10, + ["Break Mutter"]=10, + ["Bury Cloth"]=10, + ["Brain Spring Leak"]=10, + ["Climb Dog Head Eskimo"]=10, + ["Cyber Daemon Iron Shoe"]=10, + ["Daemon Annunaki Messenger"]=10, + ["Deck Chair Nose Buy"]=10, + ["Dragon Perfect Prana"]=10, + ["Heart Chakra"]=10, + ["Human Body Allegory"]=10, + ["Infinite Chakra"]=10, + ["Jumbo Jet Bury Cloth"]=10, + ["Magnum Opus Allegory"]=10, + ["Peace Flow Water Quaint"]=10, + ["Reptoid Hiss Game Wrong"]=10, + ["Rat Right Hand Path"]=10, + ["Ruin Daemon Spit Skull"]=10, + ["Skin Live Learn Speak"]=10, + ["Step Transport Hear"]=10, + ["Time Lie Quiet Town"]=10, + ["Time Vacation Burst"]=10, + ["Universe Vibration"]=10, + ["Vertabre Kundalini Enlightenment"]=10, + ["Vibrate Spirit"]=10, + + -- Reisal adds even more, 2020 edition + ["123 WAD Street"]=10, + ["Goatwave Hornstorm"]=10, + ["Hallowed Chipmunks"]=10, + ["K"]=10, + ["Locust Masqurade"]=10, + ["Super Shotgun Smoothie"]=10, + + -- Yet more shit, added as end of 2020 stuff! + -- From the Doom level name generator: + -- http://www.teamhellspawn.com/exl/name_gen/ + ["A Weather Thinker"]=10, + ["Acid Wizards"]=10, + ["Burned Goat"]=10, + ["Carmack's Castle"]=10, + ["Combining Question"]=10, + ["Consumed UAC Project"]=10, + ["Courtyard of Opiophobia"]=10, + ["Dirty Mancubus"]=10, + ["Empty Masters"]=10, + ["Fiery Biosphere"]=10, + ["Flesh Massacred"]=10, + ["For No Woeful Angels"]=10, + ["Haunted Furnace"]=10, + ["Hurt Settlement"]=10, + ["Hurting Exodus"]=10, + ["Inside the Rift"]=10, + ["Invisible Fate"]=10, + ["Losing the Problem"]=10, + ["Lost Point"]=10, + ["Making Every Question"]=10, + ["No Supply Demon"]=10, + ["Ocean"]=10, + ["Shambling Plant"]=10, + ["The Knife Path"]=10, + ["The Novice Experiment"]=10, + ["Wronging Point"]=10, + ["Void Moons"]=10, + } + } + }, + -- end of 'PSYCHO' theme + + + -------------------------------------------------- + + -- lexicon legend: + -- %s = Full episode names + -- %k = Body parts + -- %p = Location + -- %q = Residential area / Adverbs + -- %a = Adjective + -- %j = Abstract / Objects + -- %c = Contributor name + + EPISODE = + { + patterns = + { + -- places + ["%p of %j"] = 30, + ["The %p of %j"] = 30, + ["The %a %p"] = 40, + ["A %a %p/s"] = 40, + ["%j %q"] = 20, + ["Gateway to %j"] = 5, + ["%p/s of No Return"] = 5, + + -- homages to Episode 1, + ["%k-Deep in %j"] = 10, + ["%k-Deep in the %j"] = 5, + ["%k-High in %j"] = 5, + ["Drowning in %j"] = 10, + ["Wading through the %j"] = 5, + ["Endless %j"] = 10, + + ["Wading through the %j"] = 5, + + -- using the noun generator + ["The %p of NOUNGENEXOTIC"] = 25, + ["Attack on NOUNGENANGLICAN"] = 12, + ["Assault on NOUNGENANGLICAN"] = 12, + + -- complete names + ["%s"] = 100, + + -- contributors and their shenanigans + + -- Reisal's additions + ["%a %q"] = 10, + ["%a %j"] = 10, + ["Dead Base: %a"] = 5, + ["%j and %j"] = 5, + ["Silence: %a %j"] = 5, + ["Crystal %p"] = 5, + ["Hellfire: %j"] = 5, + ["Portal to %j"] = 5, + ["%j for the %p"] = 5, + ["The %p: %j"] = 5, + ["Discovery of NOUNGENEXOTIC"] = 5, + ["Discovery of NOUNGENANGLICAN"] = 5, + ["Breakdown: %j"] = 5, + ["Burnout: %a %j"] = 5, + ["Crushed: %j"] = 5, + ["Overdose: %a"] = 5, + ["Undone by %j"] = 4, + ["Below the %p"] = 4, + ["%j: Downfall"] = 4, + ["Death by %j"] = 4, + ["Unholy %p"] = 4, + ["Shores: The %a %p"] = 4, + ["Going to NOUNGENEXOTIC"] = 4, + ["Going to NOUNGENANGLICAN"] = 4, + ["Vacation at NOUNGENEXOTIC"] = 3, + ["Vacation at NOUNGENANGLICAN"] = 3, + ["%cs Warzone"] = 3, + ["%cs %p"] = 3, + ["%p of %c"] = 2, + ["%c is Missing"] = 2, + ["%c did What?"] = 2, + + -- 2021 additions.. + ["%a Fate"]=5, + ["Death's %p"]=5, + ["Devolution: %j"]=5, + ["Fueled by %j"]=5, + ["Meltdown: %j"]=5, + ["Nullified: %a"]=5, + ["The %a Agenda"]=5, + + -- E.T.'s additions + ["%p of the %a %j"]=4, + ["%p of %a %j"]=4, + ["%p of %j"]=4 + }, + + lexicon = + { + p = -- places + { + -- arbitrary locations + Axis = 10, + Area = 10, + Center = 10, + Circle = 10, + Edge = 10, + Frontier = 10, + Point = 10, + Region = 10, + Sector = 10, + Zone = 10, + + -- geopolitical + Colony = 5, + Commune = 3, + ["City-state"] = 3, + Dominion = 10, + Duchy = 5, + Emirate = 3, + Empire = 5, + ["Free State"] = 3, + --Kingdom = 7, + Principality = 3, + --Hegemony = 10, + + -- medieval + Citadel = 15, + Fortress = 10, + Palace = 7, + Spire = 5, + Towers = 15, + Well = 8, + Vaults = 10, + + -- modern + Arcology = 5, + City = 15, + District = 10, + Ghetto = 5, + House = 5, + Metropolis = 10, + Road = 8, + Town = 8, + Trail = 8, + + -- huge locations + Boundary = 10, + Dimension = 20, + Domain = 10, + Plane = 10, + Planet = 5, + Realm = 10, + World = 10, + Territory = 5, + + -- terrain + Atoll = 7, + Badlands = 10, + Barrens = 10, + Bay = 10, + Cape = 7, + Channel = 7, + Cliffs = 10, + Coast = 10, + Crater = 10, + Crags = 10, + Delta = 5, + Desert = 10, + Fens = 7, + Forest = 7, + Fields = 10, + Glaciers = 7, + Gorge = 7, + Grassland = 7, + Gulf = 10, + Hills = 10, + Inlet = 7, + Isthmus = 7, + Lagoon = 7, + Lake = 7, + Lands = 15, + Lowland = 10, + Mountains = 10, + Mire = 10, + Moors = 10, + Ocean = 7, + Promontory = 8, + Ravine = 10, + Rift = 15, + Ridge = 10, + River = 10, + Peninsula = 10, + Plains = 10, + Plateau = 7, + Sea = 7, + Shores = 25, + Steppe = 7, + Strait = 7, + Tundra = 10, + Wasteland = 20, + Vale = 10, + Valley = 10, + Veins = 7, + + -- dead/underground + Burrows = 7, + Catacombs = 7, + Cavern = 10, + Chasm = 10, + Crypt = 5, + Dungeons = 10, + Hollow = 10, + Maze = 10, + Labyrinth = 7, + Pits = 10, + Warrens = 10, + Underworld = 10, + + -- tech + Base = 10, + Complex = 10, + Facility = 5, + Installation = 5, + Outpost = 7, + Redoubt = 7, + Quarters = 5, + Station = 10, + + Cradle = 10, + Skies = 10, + + -- trapped places + Entanglement = 5, + Maze = 10, + Labyrinth = 10, + Quagmire = 7, + Snare = 7, + Trap = 8, + Web = 7, + + -- time + Dawn = 7, + Day = 7, + Dusk = 10, + Eventide = 5, + Midnight = 10, + Night = 10, + + -- religious + Abyss = 10, + Basilica = 10, + Cathedral = 10, + Limbo = 10, + Inferno = 10, + Purgatory = 10, + + -- architectural spots + Aisles = 10, + Edifice = 10, + Firmament = 10, + Pillar = 10, + Vestibule = 10, + Walls = 10 + }, + + q = -- adverbs? + { + City = 5, + Town = 20, + Zone = 20, + Central = 20, + + ["All Around"] = 10, + ["Awaits Thee"] = 5, + ["Galore"] = 10, + + -- stuff MSSP adds + ["Eternal"] = 10, + ["Raining Down"] = 5 + }, + + a = -- adjectives + { + -- elements + Blazing = 15, + Cold = 20, + Frozen = 20, + Fiery = 20, + Elemental = 20, + Icy = 15, + Molten = 15, + + -- lighting + Bright = 15, + Dark = 20, + Lambent = 15, + Lightless = 10, + Lucid = 10, + Luminous = 10, + Radiant = 8, + Shadowed = 15, + Tenebrous = 10, + + -- color + Black = 10, + Blue = 10, + Red = 10, + Gray = 10, + Green = 10, + White = 10, + Yellow = 10, + ["Fire-blue"] = 10, -- of course + + -- material + Adamantine = 10, + Crystal = 7, + Copper = 10, + Iron = 10, + Obsidian = 10, + Rocky = 7, + Stone = 7, + + Ebony = 10, + Ivory = 10, + + -- huge scales and measures + Abyssal = 10, + Ancient = 10, + Archaic = 10, + Bottomless = 10, + Colossal = 10, + Eternal = 10, + Gargantuan = 10, + Giant = 10, + Prodigious = 10, + Soaring = 10, + Massive = 10, + Towering = 10, + Titanic = 10, + Transcendent = 10, + Infinite = 10, + Vast = 10, + + -- bad personal qualities + Avaricious = 5, + Creepy = 10, + Cruel = 10, + Depraved = 5, + Despicable = 10, + Insane = 10, + Lonely = 20, + Malignant = 10, + Merciless = 10, + Menacing = 20, + Morose = 10, + Mortal = 10, -- lol + Nefarious = 5, + Hateful = 5, + Savage = 20, + Somber = 10, + Strange = 10, + Sinister = 10, + Sinful = 5, + Wicked = 15, + Venal = 5, + Vicious = 10, + + -- hellspawn qualities + Aberrant = 10, + Accursed = 10, + Contaminated = 10, + Corrupted = 10, + Deathly = 20, + Demonic = 10, + Dreadful = 10, + Doomed = 8, + Eldritch = 5, + Evil = 10, + Grotesque = 10, + Haunted = 5, + Hideous = 10, + Immortal = 10, + Impure = 10, + Infested = 10, + Macabre = 10, + Monstrous = 10, + Tortured = 10, + Twisted = 10, + Unclean = 7, + Unholy = 10, + Wretched = 10, + + Forbidden = 10, + Profane = 10, + + -- decay + Burned = 8, + Corroded = 10, + Crumbled = 10, + Decayed = 10, + Feculent = 10, + Fetid = 10, + Foul = 10, + Gloomy = 10, + Murky = 8, + Noxious = 8, + Rancid = 10, + Rotten = 10, + Sordid = 10, + Squalid = 10, + Tainted = 10, + Tarred = 7, + Torn = 10, + Vile = 10, + + -- abandonment/wrecked + Abandoned = 10, + Apocalyptic = 10, + Blasted = 10, + Bleak = 10, + Broken = 10, + Decrepid = 10, + Derelict = 10, + Deserted = 10, + Desolate = 10, + Faded = 5, + Forlorn = 10, + Forsaken = 15, + Isolated = 10, + Ruined = 7, + Shattered = 10, + Solitary = 8, + + Wanton = 10, + Godless = 5, + Nameless = 5, + + -- finale + Absolute = 5, + Final = 10, + Terminal = 5, + Ultimate = 10 + }, + + k = -- body parts (because Doom 1 Episode 1) + { + Knee = 30, + Neck = 20, + Waist = 10, + Chest = 3, + Thigh = 3 + }, + + j = -- objects + { + -- battle + Battle = 10, + War = 10, + + -- blood and guts + Corpses = 20, + Bodies = 20, + Bones = 10, + Blood = 20, + Dead = 7, + Demise = 5, + Entrails = 7, + Ichor = 8, + Gore = 20, + Gibs = 10, + Viscera = 10, + + -- destructive acts + Annihilation = 10, + Betrayal = 5, + Carnage = 20, + Collusion = 10, + Chaos = 15, + Death = 15, + Deceit = 10, + Deception = 10, + Destruction = 10, + Devastation = 10, + Extermination = 10, + Extinction = 10, + Genocide = 5, + Ruin = 10, + Slaughter = 10, + Treachery = 7, + Trickery = 7, + + -- disease + Affliction = 7, + Atrophy = 7, + Pestilence = 10, + Scourge = 10, + + -- disaster + Adversity = 10, + Calamity = 10, + Cataclysm = 10, + Catastrophe = 10, + Tremors = 10, + Tribulation = 10, + Quake = 7, + Woe = 7, + + -- pollution + Ash = 8, + Filth = 10, + Grime = 8, + Mush = 5, + Nukage = 10, + Slime = 10, + Sludge = 10, + Slush = 5, + Smog = 10, + Soot = 10, + + -- creatures and mystical entities + Beasts = 10, + Devils = 10, + Demons = 10, + Imps = 10, + Monsters = 10, + Souls = 10, + Zombies = 10, + + -- feels + Agony = 10, + Anger = 5, + Despair = 10, + Doom = 5, + Fear = 10, + Grief = 5, + Horror = 20, + Madness = 10, + Misery = 10, + Pain = 10, + Terror = 10, + + Nightmares = 10, + Illusion = 10, + + -- elements + Darkness = 10, + Fire = 10, + Flames = 10, + Frost = 10, + Lava = 10, + Magma = 10, + Poison = 10 + }, + + s = -- single whole names + { + ["A Price To Pay"] = 10, + ["Aftershock"] = 10, + ["Bad Dream"] = 10, + ["Defenders of Hell"] = 10, + ["Entombed"] = 10, + ["Halloween"] = 10, + ["Limbo"] = 10, + ["Origin of Venom"] = 10, + ["Sealed Fate"] = 10, + ["Warbringer"] = 10, + + ["A Storm Cometh"] = 10, + ["Battlefield"] = 10, + ["Bestial Experiment"] = 10, + ["Beyond Earth"] = 10, + ["Breeding Chambers"] = 10, + ["Code Red"] = 10, + ["Hell Breaks Loose"] = 10, + ["The Treason Well"] = 10, + ["Under an Alien Sky"] = 10, + + ["As The World Burns"] = 10, + ["Deadly Harvest"] = 10, + ["Desperate Measures"] = 10, + ["Everlasting Night"] = 10, + ["Left for Dead"] = 10, + ["New Beginning"] = 10, + ["Oblivion Upon Us"] = 10, + ["The Healer Stalks"] = 10, + ["When Ashes Rise"] = 10, + + ["Abandon all Hope"] = 10, + ["Chaos Rising"] = 10, + ["Ex Nihilo"] = 10, + ["Genesis of Genocide"] = 10, + ["The Devil's Emissary"] = 10, + ["The Howling Void"] = 10, + ["Torturous Existence"] = 10, + ["Pulse of Depravity"] = 10, + ["Say Thy Prayers!"] = 10, + ["Vengeance Denied"] = 10, + + ["The Lost Base"] = 10, + ["Hell's Playground"] = 10, + ["Crimson Reprieve"] = 10, + ["Souls of the Damned"] = 10, + ["In the Face of Armageddon"] = 10, + ["Highway to Hell"] = 10, + ["Time to Bleed"] = 10, + + ["Into the Shadows"] = 10, + ["And Now You Die"] = 10, + ["Halls of Lamentation"] = 10, + ["Intruder Alert"] = 10, + ["Security Breach"] = 10, + ["Arena From Hell"] = 10, + + -- these by Reisal (mostly) + ["Radio Silence"] = 10, + ["Liquidation"] = 10, + ["Return to Hell"] = 10, + ["A Chilling Discovery"] = 10, + ["Human Stagnation"] = 10, + ["Thou Art Doomed"] = 10, + ["Fathomless Abyss"] = 10, + ["Insecurity"] = 10, + ["Pathos 666"] = 10, + ["Toxic Grievance"] = 10, + ["Hell's Injustice"] = 10, + ["Gate to Nowhere"] = 10, + ["Of Horns And Blood"] = 10, + ["Disadvantaged"] = 10, + ["Silent Hell"] = 10, + ["Ghosts of Tei Tenga"] = 10, + ["End of Everything"] = 10, + ["Ashes And Plasma"] = 10, + ["A New Kind of Army"] = 10, + ["Post-Human Paradox"] = 10, + ["Neverending Twilight"] = 10, + ["Tower of Limbs"] = 10, + ["Burial in Space"] = 10, + ["The Sons of Mars"] = 10, + ["Parallel Absolution"] = 10, + ["A Clockwork Death"] = 10, + ["Dolor Extremus"] = 10, + ["Spiritus Malus"] = 10, + + -- homages to DOOM 1 Episodes + ["Explosion"] = 3, + ["Enter the Flames"] = 3, + ["Burning in Hell"] = 3, + ["Blazing Shores"] = 3, + ["Lakes of Fire"] = 3, + ["Hellfires"] = 3, + + ["Thy Soul Devoured"] = 5, + ["Thy Shrivelled Mind"] = 5, + ["Thou Shalt Die"] = 5, + ["Consumed by Flames"] = 3, + + -- MSSP adds some more names + ["Dead Rising"] = 10, + ["A Minute to Midnight"] = 10, + ["Maelstrom of Chaos"] = 10, + ["Shadows Fall"] = 10, + ["Mortally Challenged"] = 10, -- actually coined by Terry Pratchett + ["Stormbreak"] = 10, + ["Firewinds"] = 10, + ["The Kiss of Death"] = 10, + ["Murder Without Sin"] = 10, + + ["A Night Full of Terrors"] = 10, + ["The Throne of Fire"] = 10, + ["Fire and Blood"] = 10, + ["Remembrance"] = 10, + ["What Is Dead May Never Die"] = 10, -- see, even great authors can do a + ["All Men Must Die"] = 10, -- "people die when they are killed", + ["The Dance of Demons"] = 10, + ["The Gift of Death"] = 10, + + ["The Lord of Terror"] = 10, + ["Soulreaver"] = 10, + ["Trail of Tears"] = 10, + ["The Curse of Undeath"] = 10, + ["Hell's Foundry"] = 10, + ["Angels Fall First"] = 10, + ["Fresh Meat"] = 10, + ["Demonic Invasion in Progress"] = 10, + ["The Hammer Falls"] = 10, + ["Egress"] = 10, + ["The Culling"] = 10, + ["Eye of the Storm"] = 10, + ["Hallowed Ground"] = 10, + + -- mythical underworlds (including from D&D) + ["The Vestibule of Hell"] = 10, + ["River of Acheron"] = 10, + ["Caves of Avernus"] = 10, + ["Planes of Asphodel"] = 10, + ["The Wastes of Cania"] = 10, + ["Cocytus"] = 10, + ["The City of Dis"] = 10, + ["The Void of Erebus"] = 10, + ["Vale of Gehennom"] = 10, + ["Maze of Maladomini"] = 10, + ["Spires of Malbolge"] = 10, + ["Pools of Minauros"] = 10, + ["The Rift of Nessus"] = 10, + ["The Void of Lethe"] = 10, + ["Pits of Phlegethos"] = 10, + ["Stygian Abyss"] = 10, + ["Gates of Tartarus"] = 10, + + ["No Mercy"] = 10, -- yes, these are L4D campaign names + ["Crash Course"] = 10, + ["Death Toll"] = 10, + ["Dead Air"] = 10, + ["Blood Harvest"] = 10, + ["The Sacrifice"] = 10, + ["The Last Stand"] = 10, + + ["Dead Center"] = 10, -- yes, now L4D2, + ["The Passing"] = 10, + ["Dark Carnival"] = 10, + ["Swamp Fever"] = 10, + ["Hard Rain"] = 10, + ["The Parish"] = 10, + + -- Max Payne + ["A Cold Day in Hell"] = 10, + ["A Bit Closer to Heaven"] = 10, + + ["Blood Veins of Phobos"] = 10, + ["Playing it Bogart"] = 10, + ["Let Guns do the Talking"] = 10, + ["Fear That Gives Men Wings"] = 10, + ["Ragna Rock"] = 10, + ["Pain and Suffering"] = 10, + ["Rats and Oily Water"] = 10, + ["Take me to Cold Steel"] = 10, + ["The Deep Six"] = 10, + ["In The Land of the Blind"] = 10, + ["Hidden Truths"] = 10, + ["Byzantine Power Game"] = 10, + + ["Forget Being Subtle"] = 10, + ["Stepping on Toes"] = 10, + ["A Few Bullets Back"] = 10, + ["In The Crossfire"] = 10, + + ["Riding Shotgun"] = 10, + ["Ice Hard and Slick"] = 10, + ["Straight from a Bad Dream"] = 10, + + -- 2021 stuff.. + ["Absolution"]=10, -- Doom 64, + ["Beyond Eternity"]=10, + ["Beyond Serenity"]=10, + ["Damaged"]=10, + ["Dead Shining Star"]=10, -- A V:28 song title + ["Eerie Delights"]=10, + ["Forcing Your Way"]=10, -- Nod to Final Fantasy + ["Hope Dies Here"]=10, + ["Mephisto"]=10, + ["Ouroboros"]=10, + ["Peace of Mind"]=10, + ["Regret"]=10, + ["Seclusion"]=10, + ["Shades of Gray"]=10, + ["Shoot to Kill"]=10, + ["Shutdown"]=10, + ["Stygian Outlook"]=10, + ["Submission"]=10, + ["The Culling Fields"]=10, + ["Tranquility"]=10, + ["Unleash The Energy"]=10, -- Also V:28 (See: https://www.metal-archives.com/bands/V%3A28/16470 ) + ["Whispers from the Void"]=10, + + -- WAD title stuff + ["Crossing Acheron"]=5, + ["Cyberdreams"]=5 + }, + + c = -- oh boy, here we go again... + { + NOUNMEMBERS = 10 + } + } + }, + -- end of 'EPISODE' theme + + + -------------------------------------------------- + + TITLE = + { + patterns = + { + -- e.g. dark dimension + ["%a %p"] = 100, -- Descriptive Place + ["The %a %p"] = 80, -- The Descriptive Place + ["Into the %a %p"] = 10, -- Into the Descriptive Place + + -- e.g. eternal gore + ["%a %d"] = 100, -- Descriptive Object + + -- of e.g. city of souls + ["%p of %d"] = 100, -- Place of Object + ["%d in the %p"] = 80, -- Object in the Place + ["%d at the %p"] = 80, -- Ojbect at the Place + + ["The %e of %d"] = 60, -- The Entity of Object + ["%e in the %p"] = 60, -- Entity in the Place + + -- of the e.g. realm of the devil + ["%p of the %e"] = 100, -- Place of the Entity + ["The %p of the %e"] = 75, -- The Place of the Entity + ["The %d of the %e"] = 75, -- The Abstract Object of the Entity + ["The %a %d of the %a %e"] = 75, -- The Descriptive Object of the Descriptive Entity + ["The %a %p of the %a %e"] = 75, -- The Descriptive Place of the Descriptive Entity + + -- miscellaneous + ["Beyond the %p"] = 8, + ["Journey to the %p"] = 6, + + ["%d Forever"] = 5, + ["%d Always"] = 5, + ["Not enough %d"] = 7, + ["%d Revealed"] = 5, + + ["The %e Cometh"] = 5, + ["The %e will Rise"] = 5, + ["The %e must Die"] = 5, + ["Fight the %e"] = 5, + ["Age of the %e"] = 5, + ["Back to the %a %p"] = 5, + + -- MSSP adds grammar rules + + ["Assault on the %a %p"] = 8, -- Assault on the Descriptive Place + ["Destroy the %a %p"] = 8, -- Destroy the Descriptive Place + ["Attack of the %a %e"] = 8, -- Attack of the Descriptive Entity + ["Return of the %e"] = 8, -- Return of the Entity + ["A WAD full of %d"] = 5, -- A WAD Full of Abstract Objects + ["Return of the %e"] = 8,-- Return of the Entity + ["Some very %a %p"] = 8, -- Some very Descriptive Place + ["Zone of %d"] = 8, -- Zone of Abstract Object + ["The %e WAD"] = 5, -- The Entity WAD + ["Showdown with the %e"] = 7, + ["They are %a"] = 7, + ["Call of %d"] = 8, + ["The %e and the %e"] = 10, + ["The %e VS the %e"] = 7, + ["The %d Within"] = 5, + ["%a and %a"] = 8, + ["Escape from the %a %e"] = 10, + ["The %e The %e and The %d"] = 8, + + ["%c did this"] = 3, + ["The %a %p of %c"] = 3, + + -- Simply located lexicon location (So you don't need to scroll up and down if you forget) + -- If we want to be be more specific, we could just add more lexicons, like I did with %m below. + -- %a = Adjective + -- %p = Place + -- %c = Contributor name + -- %d = Abstract / Abstract-like + -- %e = Entities + -- %m = Material / Metal alloy + + -- Reisal adds more grammar rules + ["Doom: %d on Earth"] = 10, + ["Doomguy VS the %e"] = 10, -- Doomguy VS the [Entity] + ["Doomguy and the %e"] = 10, -- Doomguy and the [Entity] + ["Vacation in the %d %p"] = 10, -- Vacation in the [Description] [Place] + ["Evil Unleashed: %a %d"] = 10, + ["%c's %d"] = 4, -- [Name]'s Abstract Object + ["%c's %a %p"] = 4, -- [Name]'s [Adjective] [Place] + ["%c's %p"] = 4, -- [Name]'s [Place] + ["Dirty Deeds for the %e"] = 7, -- Dirty Deeds for the [Entity] + ["The %e Attacks the %d %p"] = 7, -- The [Entity] Attacks the [Adjective] [Place] + ["Is %c %a?"] = 2, -- Is [Name] Adjective? + ["%c Is NOT %a!"] = 2, + ["%c's Playhouse"] = 3, -- [Name]'s Playhouse + ["%c's Warzone"] = 3, -- [Name]'s Warzone + ["%d: the %a %p"] = 7, + ["Death: %a %p"] = 7, + ["The %p: Our %d"] = 7, + ["Chaos: %a %p"] = 5, + ["Complete %d"] = 5, + ["Total %d"] = 5, + ["Treachery: The %d"] = 5, + ["Reborn: The %d"]=5, + ["Quietus: Complete %d"] = 4, + ["Is %c By The %a %p?"] = 3, + ["%a Death and %d"] = 5, + ["This WAD has %d"] = 5, -- This WAD has Abstract Objects + ["%c's %a WAD"] = 3, -- [Name]'s [Adjective] WAD + ["%c's WAD"] = 3, + ["%c's Fun Zone"] = 3, + ["Did %c Do This?"] = 3, + ["The %e Lurks Within"] = 5, -- The [Entity] Lurks Within + ["The %e Lurks Below"] = 5, + ["%e Knows You"] = 4, + ["Destruction of the %d %p"] = 5, -- Destruction of the [Adjective] [Place] + ["%a Black Metal"] = 5, -- [Adjective] Black Metal + ["%a Doom Metal"] = 5, -- [Adjective] Doom Metal + ["Doomguy's Vacation with %c"] = 5, -- Doomguy's Vacation with [Name] + ["Sin City: The %a %p"] = 5, + ["Sin City: The %d"] = 5, + ["Ruination: %a %p"] = 3, + ["The %a %p of %m"] = 5, + ["Dead Base: The %d"] = 5, + ["Demise of the %e"] = 4, + ["%m and %c"]=4, + ["The %e's Fun %a %p"] = 4, + ["The %m %p"] = 4, + ["As The %e Gather"] = 4, + ["Insane %a %d"] = 4, + ["Plenty of %d"] = 4, + ["Hell's %a Division: %d"] = 4, + ["%a Sorcery"] = 3, + ["%a Witchcraft"] = 3, + ["%a Hellcraft"] = 3, + ["%d! Oh My Oh My"] = 3, + ["%c and Doomguy in the Same Room"] = 3, + ["Is %c %a?"]=3 + }, + + lexicon = + { + a = --adjectives + { + -- elemental + Burning = 10, + Blazing = 15, + Blistering = 10, + Cold = 10, + Dry = 10, + Earthen = 10, + Fiery = 10, + Frozen = 10, + Poisonous = 10, + Smothering = 10, + Shocking = 10, + + -- grit + Festering = 5, + Fecund = 5, + Fetid = 5, + Filthy = 5, + Foul = 5, + Gory = 10, + Grisly = 15, + Infested = 10, + Lacerating = 10, + + -- size + Endless = 20, + Extreme = 10, + Infinite = 10, + + -- emotion + Acrimonious = 10, + Anguished = 5, + Baleful = 10, + Cruel = 10, + Dejected = 5, + Dolorous = 5, + Forlorn = 15, + Grievious = 15, + Grim = 15, + Lonely = 10, + Malevolent = 10, + Maleficent = 5, + Malignant = 7, + Melancholic = 5, + Menacing = 20, + Morbid = 20, + Nefarious = 15, + Raging = 10, + Savage = 30, + Sonorous = 10, + Sordid = 5, + Sullen = 5, + Spiteful = 5, + Tragic = 5, + Virulent = 10, + Vindictive = 7, + Vitriolic = 10, + Woeful = 10, + + -- destroyed or decay + Abandoned = 10, + Annihilated = 10, + Astray = 10, + Banished = 10, + Bleak = 10, + Broken = 10, + Deserted = 10, + Desolate = 15, + Forgotten = 10, + Forsaken = 10, + Lonely = 10, + Lost = 10, + Neglected = 10, + Oppressive = 10, + Ravaged = 10, + Shunned = 10, + Splintered = 10, + Wrecked = 10, + + -- weird + Multifarious = 5, + Weird = 10, + Strange = 10, + Surreal = 7, + + -- evilz + Blasphemous = 15, + Corrupt = 15, + Chaotic = 15, + Cursed = 10, + Demonic = 15, + Deplorable = 15, + Disgraceful = 10, + Evil = 15, + Feral = 10, + Ghastly = 10, + Ghoulish = 10, + Godless = 10, + Gruesome = 15, + Harrowing = 10, + Haunted = 10, + Hellish = 10, + Malicious = 10, + Malevolent = 10, + Monstrous = 15, + Profane = 15, + Sacreligious = 15, + Sinful = 15, + Tortured = 10, + Unholy = 10, + Visceral = 15, + Vile = 5, + Violent = 10, + Wicked = 10, + Wretched = 15, + + -- danger + Ailing = 5, + Deathly = 20, + Doomed = 10, + Fatal = 10, + Macabre = 10, + + -- holy + Blessed = 7, + Divine = 10, + Hallowed = 10, + Righteous = 10, + Sanctimonious = 10, + + -- asthetic + Appalling = 15, + Dark = 20, + Dreadful = 20, + Eerie = 10, + Hidden = 10, + Lurid = 10, + Terrifying = 20, + + -- celestial + Astral = 5, + Cosmic = 5, + Lunar = 10, + Solar = 10, + Stellar = 10, + + Lit = 8 + }, + + p = -- places + { + -- civilian places + City = 15, + Carnival = 10, + Causeway = 5, + Complex = 10, + Concourse = 10, + Crossing = 5, + Durance = 10, + Gateway = 10, + Ghetto = 5, + Halls = 10, + House = 10, + Hub = 10, + Streets = 5, + Towers = 15, + Prison = 10, + Ward = 10, + + -- generic locations/navigational + Beacon = 10, + Center = 5, + Path = 10, + Waypoint = 10, + Ways = 10, + + -- beautification + Garden = 10, + Mazes = 10, + Ruins = 10, + Tree = 10, + + -- holy sites + Basilica = 5, + Citadel = 15, + Chapel = 10, + Chambers = 10, + Oracle = 10, + Tabernacle = 5, + Temple = 15, + + -- medieval? + Domain = 10, + Den = 5, + Fiefdom = 5, + Kingdom = 10, + Lair = 5, + Stronghold = 5, + Pits = 10, + + -- celestial/extraterrestrial + -- this one is sorted by size? + World = 15, + Planet = 15, + Territories = 10, + Realm = 15, + Dimension = 10, + Plane = 10, + Netherworld = 10, + + -- natural landscapes + Acres = 10, + Barrows = 15, + Caverns = 15, + Canyon = 15, + Coast = 10, + Climb = 15, + Crevice = 10, + Fields = 10, + Hills = 10, + Highlands = 10, + Island = 15, + Land = 10, + Mountains = 10, + Moor = 15, + Paradise = 10, + Pass = 15, + Peak = 10, + Plateau = 15, + Pinnacle = 15, + Ridge = 10, + River = 10, + Sands = 10, + Shores = 20, + Span = 10, + Steppe = 10, + Strand = 10, + Valley = 20, + Vale = 20, + Wastes = 10, + Zenith = 10, + + -- burials + Burial = 10, + Catacombs = 10, + Crypt = 15, + Dungeons = 10, + Hollows = 10, + Mausoleum = 10, + Mortuary = 10, + Necropolis = 10, + Ossuary = 10, + Polyandrium = 10, + Tomb = 15, + Vault = 10, + + Firmament = 10, + Gallows = 8, + + -- deep, deep underground + Abyss = 10, + Perdition = 10, + Purgatory = 10, + Inferno = 10, + Underworld = 10, + + -- military + Base = 10, + Battlefront = 10, + Containment = 10, + Facility = 10, + Outpost = 10, + + -- times + Day = 10, + Dawn = 15, + Evening = 10, + Meridian = 10, + Noon = 10, + Night = 30, + Twilight = 10, + + -- scales of time + Eternity = 10, + Millenium = 10, + Century = 10, + Decade = 10, + Eon = 10, -- 100k x 365d. 365k yr + Aeon = 10, -- 1m x 365d. 3.65m yr / 1B yrs / Could also represent an indefinite amount of time too + Indiction = 7, -- 15 year cycle + Epoch = 7, -- 7.3m yrs + Megannum = 7, -- 1m years + + + -- seasons/weather + Rain = 15, + Winter = 15, + Storms = 15, + Blizzard = 15, + Snow = 10, + Ashfall = 10, + Drought = 10, + Wildfire = 10, + Sandstorm = 10, + Tornadoes = 10, + Wind = 10, + Avalanche = 8, + Mist = 8, + Fog = 8, + Autumn = 8, + Fall = 8, + Summer = 8, + Thundersnow = 8 + }, + + -- these are quite abstract + d = -- treated a bit like objects + { + -- gibs + Blood = 20, + Viscera = 10, + Slime = 5, + Sludge = 5, + + -- words transfered from places + -- because these aren't places at all + -- needs to be categorized + Feast = 10, + Harvest = 10, + Knowledge = 10, + Labours = 10, + Life = 8, + Lore = 10, + March = 10, + Portrait = 10, + Remembrance = 10, + Watch = 10, + + -- emotions/feels + Abuse = 10, -- "Abused" makes no sense in some aspects + Apathy = 5, + Anguish = 10, + Agony = 20, + Bereavement = 10, + Bleakness = 5, + Chaos = 10, + Contempt = 5, + Cruelty = 10, + Doom = 10, + Defilement = 15, + Despair = 10, + Dismay = 10, + Dread = 15, + Dreariness = 20, + Fear = 20, + Fury = 10, + Grief = 5, + Hate = 10, + Incompetence = 15, + Ineptitude = 10, + Lividness = 10, + Madness = 10, + Misery = 10, + Obstinance = 10, + Pain = 10, + Rage = 10, + Revulsion = 5, + Scorn = 10, + Spite = 15, + Silence = 20, + Tactility = 5, + Terror = 20, + Torment = 15, + Wrath = 10, + Vengeance = 20, + Violence = 15, -- "Violent" doesn't make sense + Withdrawal = 10, -- Most title additions of using "Withdrawn" wouldn't make sense + + -- occult + Ceremony = 10, + Cult = 10, + Horror = 10, + Idolatry = 10, + Magic = 15, + Magik = 10, + Ritual = 10, -- Could also be religious + Shadows = 10, + + Death = 20, -- This really is an all-around word + Flames = 20, + + -- religious + Belief = 10, + Choir = 10, + Conviction = 10, + Deliverance = 10, + Doctrine = 10, + Dogma = 10, + Faith = 10, + Hell = 10, -- Fits better here + Icons = 10, -- as in religious icons + Souls = 10, -- Frequently mentioned in religious texts as well, namely Judeo-Christian + Tenets = 10, -- Also occult + + -- states of mind, states in mind + Bliss = 10, + Dreams = 20, + Chaos = 10, + Nightmares = 20, + Insanity = 10, + Transience = 10, + + -- story devices + Bane = 10, + Legends = 10, + Genesis = 10, + Heroes = 10, + Imagination = 7, + Myths = 10, + Origins = 10, + Saga = 10, + Tales = 7, + Villains = 10, + + -- states of matter + Conception = 10, + Creation = 10, + Destruction = 10, + Disintegration = 10, + Extinction = 10, + Formation = 10, + Nascency = 10, + Subjugation = 10, + Undoing = 10, + + -- military + Battle = 10, + Campaign = 10, + Duty = 10, + Orders = 10, + Siege = 10, + Skirmishes = 10, + War = 10, + + -- uhh + Bondage = 10, + Inflation = 10, + Voraciousness = 10, + Transmogrification = 10, + + -- acts of evil + Desecration = 10, + Despoilment = 10, + Marauding = 10, + Pillage = 10, + Plunder = 10, + Raid = 10, + Ransack = 10, + Slaughter = 10, + + -- encounter + Accostment = 7, + Approach = 7, + Confrontation = 10, + Contact = 10, + Encounter = 10, + Rendezvous = 8, + Meeting = 10, + + -- kinds of speech (sometimes bad) + Casuistry = 8, + Chant = 10, + Chorus = 10, + Decree = 10, + Declarations = 10, + Edicts = 10, + Mandate = 10, + Paragolism = 10, + Sophistry = 10, + + -- cups of metaphorical substrate + Canon = 8, + Dogma = 10, + Maxims = 8, + Piety = 8, + Precepts = 10, + Tenets = 10, + + -- secret organizations + Cabal = 10, + Circle = 10, + Creed = 10, -- Also religious + League = 8, + Order = 10, + Sect = 8, + + -- state crimes + Collusion = 10, + Conspiracy = 10, + Heresy = 10,-- In WH 40k it is if you're not Chaos + Machinations = 10, + Ruse = 10, + Subterfurge = 10, + Treason = 10, + + -- curses + Affliction = 10, + Anathema = 10, + Bane = 10, + Calamity = 8, + Curse = 10, + Pestilence = 8, + Scourge = 10, + Trouble = 8, + Tribulation = 10, + Vexation = 8 + }, + + e = -- entities + { + -- DOOOOM!!! + ["Arch-Vile"] = 7, + Cyberdemon = 15, + Doomhunter = 5, -- Doom Eternal + ["Doom Slayer"] = 3, -- DOOM/Doom Eternal + ["Hell Noble"] = 7, -- Also known as a Baron, I guess + ["Hell Priest"]=7, -- Doom Eternal + ["Lost Souls"] = 7, + Marine = 15, + Mastermind = 15, + + -- religion + Adept = 10, + Antichrist = 10, + Archangel = 10, + Beast = 20, + Crusaders = 10, + Demons = 20, + Defiler = 20, + Denouncer = 10, + Devil = 20, + Dissenter = 20, + Gods = 20, + Heretic = 20, + Hellspawn = 20, + Idolater = 20, -- An idol worshipper + Infidel = 20, + ["Left Behind"] = 10, + Martyr = 10, + Nephilim = 10, + Pagans = 10, + Prophet = 10, + Saint = 10, + Seraph = 10, + Sinner = 15, + Shaman = 10, + Wicked = 20, + Wretched = 20, + + -- fantasy/magical + Aliens = 10, + Ancients = 15, + Anima = 7, + Bastards = 15, + Banshee = 7, + Cerberus = 10, + Chimera = 10, + Cyclops = 5, + Damned = 15, + Dragon = 10, + Drowned = 10, + Exile = 10, + Giants = 10, + Ghouls = 7, + Hexers = 10, + Keepers = 15, + Lich = 10, + Manticore = 10, + Minotaurs = 15, + Necromancer = 20, + Oracle = 15, + Reaper = 10, + Shaper = 10, + Trolls = 7, + Titans = 10, + Undead = 20, + Vampire = 7, + Wight = 7, + Wraith = 10, + Wyrm = 7, + Wyvern = 7, + Zombies = 10, + + -- Lovecraft + Elders = 10, + ["Deep Ones"] = 10, + ["Old Ones"] = 10, + Tentacles = 10, + + -- predatious animals + --(or generally infamous animals) + Cobra = 8, + Crow = 8, + Deathstalkers = 10, + Eagle = 8, + Hawk = 8, + Lion = 7, + Piranha = 8, + Raven = 8, + Scorpion = 8, + Snake = 8, + Spider = 8, + Wolf = 8, + + -- general adjectives + Abject = 10, + Corrupt = 20, + Cursed = 15, + Dead = 20, + Deplorable = 15, + Dishonorable = 15, + Doomed = 25, + Fearless = 20, + Hopeless = 20, + Hunted = 20, + Lost = 20, + Risen = 20, + Tormented = 20, + Worthless = 10, + + -- war + Despoiler = 10, + Destroyer = 10, + Executioner = 10, + Exterminator = 10, + Horde = 10, + Iconoclast = 10, + Invaders = 10, + Legion = 10, + Master = 10, + Overlord = 20, + Warmonger = 10, + Ravager = 10, + Swarm = 10, + + -- people who do bad and/or kill people + Assassin = 10, + Bandits = 8, + Brigands = 10, + Brutes = 10, + Malefactor = 10, + Marauder = 10, + Murderer = 10, + Outlaw = 8, + Thief = 8, + Transgressor = 10, + Vandals = 8, + + -- people with normal jobs + -- but sound bad in certain contexts + Butcher = 10, + Hunter = 10, + Soldiers = 10, + Slayer = 10, + + Unbeliever = 10, + -- Reisal adds things here + ["Sin Bringer"] = 10, + ["The Icon"] = 10, + Deathbringers = 10, + Dreadlords = 10, + Hellbringers = 15, + Voidbringers = 10, + + -- filth + Afflicted = 10, + Carious = 15, + Decaying = 20, + Fetid = 15, + Foul = 10, + Nidorous = 20, + Putrefied = 20, + Noxious = 15, + Rancid = 20, + Rotting = 25, + Tainted = 20, + Withered = 15, + + -- Pain + Agonized = 15, + Bleeding = 20, + Bloody = 10, + Charred = 15, + Eviscerated = 15, + Mangled = 10, + Mutilated = 20, + Suffering = 10, + Tortured = 10 + }, + + -- Materials, namely metal alloys + m = + { + Iron = 30, + Steel = 15, + Cobalt = 7, + Gold = 15, + Brass = 5, + Silver = 10, + Bronze = 5, + Copper = 7 + }, + + c = -- contributor names + { + NOUNMEMBERS = 10 + } + } + }, + + + SUB_TITLE = + { + patterns = + { + ["%s"] = 60 + }, + + lexicon = + { + s = + { + -- sequels + ["II"] = 60, + ["III"] = 60, + ["IV"] = 30, + ["V"] = 15, + ["VI"] = 5, + ["VII"] = 5, + ["VIII"] = 5, + ["IX"] = 5, + ["X"] = 5, + ["XI"] = 5, + ["XII"] = 5, + + ["R E D U X"] = 10, + ["Revisited"] = 10, + ["Reloaded"] = 10, + ["Remastered"] = 10, + ["Special Edition"] = 10, + ["Limited Edition"] = 10, + ["Anniversary Edition"] = 10, + ["Full Mag Edition"] = 10, + + ["A New Generation"] = 40, + ["The Resurrection"] = 30, + ["The Reckoning"] = 40, + ["Evil Is Reborn"] = 20, + + ["The Struggle Continues..."] = 20, + ["The Endless Fight"] = 20, + ["Recurring Evil"] = 20, + ["The Demons Are Back"] = 20, + ["Battle Everlasting"] = 20, + + -- prequels + ["G E N E S I S"] = 40, + ["The Awakening"] = 40, + ["Evil Unleashed"] = 20, + ["The Dead Shall Rise"] = 20, + ["Where It All Began"] = 20, + ["Dawn Of Eternity"] = 20, + ["Dawn of Evil"] = 20, + ["The Invasion Begins"] = 20, + ["The Prophecy Unfolds"] = 20, + + ["Prelude to Destruction"] = 25, + + -- OBsidian specifics + ["Obsidian Special"] = 50, + ["Obsidian Exclusive"] = 50, + ["Obsidian Limited Ed"] = 50, + ["By Obsidian Contribs"] = 35, + ["Carthage Special"] = 20, + ["Simon-v Special"] = 20, + ["Reisal Approved"] = 20, + ["Caligari Tested"] = 20, + ["Frozsoul Edition"] = 20, + ["Garrett Approves"] = 20, + ["MogWaltz Plus Plus"] = 20, + ["Craneo Edition"] = 20, + ["Tapwave Exclusive"] = 20, + ["EpicTyphlosion A OK"] = 20, + ["Phytolizer Tweaked"] = 20, + + -- describe the place + ["A God-forsaken Place"] = 20, + ["A Land In Turmoil"] = 20, + ["Demise of Humanity"] = 25, + ["Point Of No Return"] = 20, + ["Hell's Fury"] = 25, + ["Gateway to Hell"] = 20, + ["What Lurks Beneath"] = 20, + ["Where Devils Spawn"] = 20, + ["The Evil Within"] = 20, + + -- miscellaneous + ["A Dreaded Obligation"] = 30, + ["Bullets and Death"] = 25, + ["Cycle of Death"] = 30, + ["Crushing Odds"] = 30, + ["Die and Die Again"] = 30, + ["Humanity's Epitaph"] = 30, + ["Obligated to Die"] = 30, + ["Of Dark Light"] = 30, + ["Redemption Denied"] = 30, + ["Senseless Violence"] = 40, + ["Souls Denied"] = 30, + ["Your Dire Obligation"] = 30, + + ["A Fight for Survival"] = 20, + ["All Or Nothing"] = 20, + ["Chaos Ensues"] = 20, + ["Days Of Rage"] = 20, + ["Beyond Salvation"] = 20, + ["Last Chance"] = 20, + ["No Salvation"] = 20, + ["No More Time"] = 20, + ["No Time To Waste"] = 20, + ["No Time Left"] = 20, + ["One Last Chance"] = 20, + ["Out Of Time"] = 20, + ["Hell's Pinnacle"] = 20, + ["The Final Hour"] = 20, + ["Thirst for Vengeance"] = 20, + + ["The Apocalypse Has Come"] = 20, + ["The Brink of Disaster"] = 20, + ["Nobody Is Safe"] = 10, + ["Nowhere Is Safe"] = 10, + ["The Seeds of War"] = 20, + ["The Will To Survive"] = 20, + + -- Reisal adds names + ["A Masterpiece in Progress"] = 40, + ["A Bloody Good Time"] = 30, + ["A Brand New World!"] = 30, + ["A Developed Hellscape"] = 20, + ["A Fantastic Place!"] = 25, + ["A Folly For You"] = 20, + ["A Multitude of Fun!"] = 25, + ["A Pistol is Not Enough!"] = 25, + ["A Survivor's Test"] = 30, + ["A Withered World"] = 25, + ["Abrasive to the Core"] = 30, + ["Abuse Beyond Measure"] = 20, + ["Always Being Improved"] = 40, + ["Always Fun!"] = 30, + ["Amped Up!"] = 20, + ["An Excellent Choice!"] = 25, + ["An Obsidian Production"] = 40, + ["Another New World!"] = 30, + ["Are You Man Enough?"] = 20, + ["As Above, So Below"] = 30, + ["Best Played With Friends!"]=20, + ["Billions of Potential Levels!"] = 40, + ["Blasted Into Bits"] = 25, + ["Blasting Away!"] = 20, + ["Bleed a Whole Lot More"] = 25, + ["Bleeding Heavily"] = 35, + ["Brace For Impact"] = 25, + ["Breakdown of Order"] = 20, + ["Bring Extra Ammunition!"] = 30, + ["Brought to Your Knees!"] = 20, + ["Bugs Do Exist, Plz Report!"] = 20, + ["Burn It All Down"] = 30, + ["Burning Bright in the Sky"] = 30, + ["Burnt, Shot, Crushed, Blasted!"] = 20, + ["Can It Be Any Harder?"] = 25, + ["Carnal Desires"]=20, + ["Check Us On The Discord!"] = 35, + ["Cleansed By Fire"] = 25, + ["Complete Destruction"]=20, + ["Constantly Being Improved!"] = 30, + ["Contains 200% More Subway Tunnels"]=15, + ["Continued Destruction"] = 20, + ["Corruption Abound"]=20, + ["Corruption Unfettered"] = 20, + ["Crash and Burn!"] = 20, + ["Crimes Against Humanity"] = 25, + ["Crucifixion By Buckshot"] = 20, + ["Cruising for a Bruising"] = 30, + ["Crushed into Dust"] = 30, + ["Darkness Awaits Thee"] = 20, + ["Death is Not An Option"] = 25, + ["Descent Into Madness"] = 30, + ["Die a Million Deaths"] = 25, + ["Die and Die Once More"] = 20, + ["Division by Blood"] = 20, + ["Do Draconian Quantity!"]=15, + ["Doomguy's Vacation"] = 25, + ["Emblem of Destruction"] = 25, + ["Embrace Your Doom"] = 30, + ["Enemy Sighted!"] = 20, + ["Environmental Abuse!"] = 20, + ["Enter Combat"] = 25, + ["Everybody Loves The Sub Titles"] = 20, + ["Excessive Damage!"] = 25, + ["Explosions Galore"] = 20, + ["Existing To Bleed"] = 25, + ["Face Smashed In"] = 20, + ["Fairness Not Guaranteed"]=20, + ["Fantastic!"] = 30, + ["Feel the Pain!"] = 25, + ["For The Emperor!"] = 30, -- Warhammer 40K + ["Get Psyched!"] = 30, -- Wolfenstein 3D + ["Get Scorched"] = 30, + ["Getting a Bit Spicy"] = 20, + ["High Impact Abuse"] = 35, + ["Hold On To Your Butts"] = 25, -- From Arnold in Jurassic Park, 1993, + ["Hold Your Ground"] = 30, + ["Is It Too Hard?"]=15, + ["If it Moves, Shoot It"] = 30, + ["It's a Disaster!"] = 20, + ["It's Hard, Is it Not?"] = 25, + ["It's Just Chaos"] = 20, + ["It's Just Dead"] = 30, + ["It's Raw!"] = 30, + ["Jacked Up Past Safe Levels!"] = 25, + ["John Romero says Hello"] = 25, + ["Let's Get It On!"] = 30, + ["Local Hellspawn Need Not Apply"] = 30, + ["Lots More Where That Came From!"] = 30, + ["Made with Blood, Sweat and Tears"] = 20, + ["Make it Dark, Make it Evil"] = 30, + ["Make it Like Silent Hill!"] = 25, + ["Mandatory Destruction"]=20, + ["Max out Trap Difficulty!"]=15, + ["Masochism For Imps!"] = 30, + ["Mods Usually Make Things Better!"] = 20, + ["Move it up a Notch"] = 25, + ["Move Your Ass!"]=20, + ["More Maps to Kill Things On!"] = 35, + ["Nailed Via Obsidian Spikes"] = 20, + ["Nappies Required to Play"]=15, + ["Nearly Unlimited Variety!"] = 30, + ["Not A Walk in the Park!"] = 30, + ["Not Safe For Game Journalists"] = 35, + ["Now with Dynamic Lights!"] = 30, + ["Now with more Impse"] = 30,-- This is not a spelling error, look it up lol + ["Oblige is Love, Oblige is Life"] = 40, + ["Perfect on Ultra-Violence"] = 30, + ["Peripheral Vision is Mandatory!"] = 30, + ["Please Let Us Know!"] = 25, + ["Potential Bugs May Exist!"] = 20, + ["Prepare to Run Lots!"] = 20, + ["Psychological Abuse"] = 30, + ["Purified Sin"] = 20, + ["Ramp it to the MAX!"] = 25, + ["Road to the World Cup"] = 20, -- By Swedra + ["Random by Nature"] = 30, + ["Recreate id's Aesthetics!"]=10, + ["Reign of Destruction"] = 25, + ["Set the World Alight"]=15, + ["Shining Bright!"] = 30, + ["Should be A-OK!"] = 20, + ["Single and Multiplayer!"] = 30, + ["Skilled Players Sign Here"] = 25, + ["Speedrunners are SOL"] = 25, + ["Surviving By A Thread"] = 30, + ["Symphony No 666 in H Minor"]=20, + ["Tacticality Optional"] = 30, + ["Take it Seriously"]=25, + ["Tell Us What You Think"] = 40, + ["Tell Your Friends!"] = 30, + ["The Chaosbringer"] = 20, + ["The Chaosweaver"] = 20, -- Partially from a Scar Symmetry song + ["The Corridors of Contempt"] = 25, + ["The Deadzone"] = 20, + ["The Devil's Playground"] = 30, + ["The Hellweaver"]=20, + ["The More, The Merrier"] = 25, + ["The New Challengers"] = 20, -- This one by Craneo + ["The Principles of Doom"] = 30, + ["The Threads of Life"] = 20, + ["The Shreds of Humanity"] = 20, + ["The True Story of Brutal Abuse"] = 20, + ["The World Beyond"] = 25, + ["There is Always Doomworld!"] = 20, + ["There's Always More!"] = 25, + ["There Is No Rationale"] = 20, + ["Third Strike"] = 20, -- Also by Craneo + ["This Fading Earth"]=15, + ["This Generator Slays Demons"] = 25, + ["This Is a Subtitle!"] = 20, + ["This WAD Shouldn't Suck"] = 25, + ["Thrashed Up for Seconds"] = 30, + ["Time to Man Up"] = 30, + ["Too Hard? Too Bad!"]=20, + ["Total Blackout"] = 20, + ["Totally Worth Your Time"] = 25, + ["Trust in Thy Firearms"] = 20, + ["Turn it to 11!"] = 30, -- Spinal Tap + ["Turned Up to 110 Percent!"] = 20, + ["TY for Supporting Obsidian!"] = 30, + ["Under Construction"] = 25, + ["Unrelenting Numbers!"] = 20, + ["Up and At Em!"] = 30, + ["Vigilance Is A Requirement!"] = 25, + ["Virtuous By Nature"] = 20, + ["Violation By Shotgun Barrel"] = 25, + ["We Have to Start Somewhere"] = 20, + ["We're in This Together"] = 25, + ["What Awaits You?"] = 30, + ["What Would Jesus Play?"] = 20, + ["Working Overtime!"] = 30, + ["You Guys Have Mods, Right?"] = 30, + ["You Think You Can Hide?"] = 25, + + -- MSSP adds names + ["Always Has Been"] = 20, + ["Hell is Infinite"] = 50, + ["Hell Aims To Please No One"] = 20, + ["Nobody Knows About Legacy 3D Lines"] = 20, + ["Live! Work! SLAY!"] = 20, + ["Invest in ObCoin Now!"] = 20, + ["Too Much Fabs, Too Few Fabs"] = 20, + ["Apparently Samey Yet Chaotic"] = 20, + ["The Category is... DOOM!"] = 20, + ["Too Many Features, They Said"] = 20, + ["Not Replacing Mappers, Devs Are Too"] = 20, + ["Obsidian is not an AI."] = 20, + ["Not an AI Until it Can Do Taxes"] = 20, + ["Who Generates the Generators?"] = 20, + + -- based on popular movie/TV slogans + ["A Minute in Hell"] = 20, + ["Whoever Wins We Lose"] = 20, + ["The Demons are Back"] = 20, + ["Trapped in Hell"] = 20, + ["Hell is War"] = 20, + ["Escape or Die Trying"] = 20, + ["No Rest for the Wicked"] = 20, + ["Be Very Afraid"] = 20, + ["There Can Only Be One"] = 20, + ["Angels Fall"] = 20, + ["The Last Man on Earth"] = 20, + ["Welcome to the Suck"] = 20, + ["A Hellspawn Reality"] = 20, + ["Wake Up Screaming"] = 20, + ["Wish You Were Here"] = 20, + ["The Classic"] = 20, + ["The Final Sentence"] = 20, + ["The Mission is Survive"] = 20, + ["There Will Be Blood"] = 20, + ["Not A Romantic Comedy"] = 20, + ["Might Hurt a Little"] = 20, + ["Full Metal Jacket"] = 20, + ["The Coast is Toast"] = 20, + ["Too Proud To Run"] = 20, + ["Fear Holds All Prisoner"] = 20, + ["Nothing Spreads Like Fear"] = 20, + ["A Few Days To Kill"] = 20, + ["The Future is DOOM"] = 20, + + -- book serialization/publication buzzwords + ["The Anthology"] = 40, + ["The Trilogy"] = 40, + ["The Complete Works"] = 20, + ["Omnibus Edition"] = 20, + ["Editor's Choice"] = 30, + ["The Next Chapter"] = 20, + + -- production-related phrases + ["11/10 IGN"] = 20, + ["An ObligeFlix Original Series"] = 40, + ["Classic Edition"] = 20, + ["Day One Edition"] = 20, + ["Deluxe Edition"] = 25, + ["Game of the Year Edition"] = 20, + ["Greatest Hits"] = 20, -- Craneo + ["No Microtransactions"] = 20, + ["Subscribe and Hit that Like Button"] = 40, + ["The Official Video Game Tie-in"] = 20, + ["The Original Series"] = 20, + + -- silly/annoying/occasionally informative + ["Always Keep Hydrated"] = 20, + ["Doesn't Contain Real Cheese"] = 10, + ["Go Out and Vote"] = 15, + ["Hate is Unmagic"] = 15, + ["He Doesn't Afraid of Anything"] = 15, + ["May Contain Chest-high Walls"] = 20, + ["Now With More Sentence Enhancers!"] = 10, + ["ObAdo What You ObAdon't"] = 20, + ["People Die When They Are Killed"] = 10, + ["Siri Look Up Doom Eternal"] = 10, + ["So Sad Alexa Play D RUNNIN"] = 10, + ["The World isn't Flat"] = 30, + ["Now Sashay Away"] = 30, + + -- Based on music, be it artists, song titles or album titles + ["Doomtanic Hellucinations"] = 20, -- Acid Witch - "Witchtanic Hellucinations" (song) + ["Hymns of Destruction"] = 20, -- The Adicts - "Songs of Praise" (album title) + ["Ashes of a Burning Earth"] = 25, -- Adversus Semita - "Ashes of a Burning Heaven" (song) + ["Doomx V"] = 30, -- Aeba - "Kodex V" (album title) + ["Demonic Rampage"] = 20, -- Afrobomination - "Galatic Rampage" (song) + ["Hell in Motion"] = 20, -- Against Nature - "All in Motion" (song) + ["Show Oneself the STARTAN"] = 15, -- Against Nature - "Show Myself the Door" (song) + ["The Divinity of Cyberdemons"] = 20, -- Ahab - The Divinity of Oceans (album title) + ["Enraptured by Death"] = 25, -- Akercocke - "Enraptured by Evil" (song) + ["Ceremony of Nine Icons"] = 20, -- Akercocke - "The Ceremony of Nine Angels" (song) + ["Demon's Lyric"] = 30, -- Akira Yamaoka - "Devil's Lyric" (Silent Hill Soundtrack) + ["Fear of the Abyss"] = 20, -- Akira Yamaoka - "Fear of the Dark" (Silent Hill Soundtrack) + ["Death by the Shotgun"] = 20, -- Alestorm - "Death before the Mast" (song) + ["No Secrets Known"] = 20, -- Alice in Chains - All Secrets Known (song) + ["Earth Gives Way to Hell"] = 25, -- Alice in Chains - Black Gives Way to Blue (album title) + ["Angry Demons"] = 20, -- Alice in Chains - Angry Chair (song) + ["Consciousness Beyond Peril"] = 25, -- Alienation Cold - "Dream of an Obscured Consciousness" (song) + ["Pursuit of Marines"] = 20, -- Amon Amarth - "The Pursuit of Vikings" (song) + ["Ruined Armor and Bloody Rifles"] = 20, -- Amon Amarth - "Tattered Banners and Bloody Flags" (song) + ["Maximum Doom"] = 20, -- Annihilator - "Maximum Satan" (song) + ["Sometimes They Hear The Fist"] = 25, -- Atomizer - "Sometimes they hear the Bullet" (song) + ["Hateful by Nature"] = 20, -- Atrophy - Violent by Nature (album title) + -- I'll stop here, because I have over 18,000(!!) tracks to go through and this would make this + -- list VERY, VERY LONG. - Reisal + + ["Highway to DOOM"] = 20, -- AC/DC - "Highway to Hell" (song) + ["Rhythm of Blood"] = 20, -- Unknown - "Rhythm of Red" (Tokyo Xtreme Racer Zero soundtrack) + ["Born too Deadly"] = 20, -- The Crystal Method - "Born too Slow" (song) + ["Angel and the Devil"] = 20, -- Wolfmother - "Joker and the Thief" (song) + ["No Angels Fly"] = 20, -- Sabaton - "No Bullets Fly" (song) + + -- Nerdery stuff + ["d20 Edition"] = 15 -- Also Swedra + } + } + } + -- end of 'TITLE' and 'SUB_TITLE' themes + -- end of all the 'TEXT_XXX' themes +} \ No newline at end of file diff --git a/games/rekkr/params.lua b/games/rekkr/params.lua new file mode 100644 index 0000000000..20af2d4a3e --- /dev/null +++ b/games/rekkr/params.lua @@ -0,0 +1,7 @@ +REKKR.PARAMETERS = +{ + max_name_length = 28, + titlepic_lump = "TITLEPIC", + titlepic_format = "patch", + bex_map_prefix = "HUSTR_", +} diff --git a/games/rekkr/resources.lua b/games/rekkr/resources.lua new file mode 100644 index 0000000000..bc98bc2a34 --- /dev/null +++ b/games/rekkr/resources.lua @@ -0,0 +1,176 @@ +-------------------------------------------------------------------- +-- REKKR RESOURCES / GRAFIX +-------------------------------------------------------------------- +-- +-- Copyright (C) 2006-2016 Andrew Apted +-- Copyright (C) 2011 Reisal +-- +-- This program is free software; you can redistribute it and/or +-- modify it under the terms of the GNU General Public License +-- as published by the Free Software Foundation; either version 2 +-- of the License, or (at your option) any later version. +-- +-------------------------------------------------------------------- + +REKKR.PALETTES = +{ + normal = + { + 0, 0, 0, 31, 23, 11, 23, 15, 7, 75, 75, 75, 255,255,255, + 27, 27, 27, 19, 19, 19, 11, 11, 11, 7, 7, 7, 47, 55, 31, + 35, 43, 15, 23, 31, 7, 15, 23, 0, 79, 59, 43, 71, 51, 35, + 63, 43, 27, 255,183,183, 247,171,171, 243,163,163, 235,151,151, + 231,143,143, 223,135,135, 219,123,123, 211,115,115, 203,107,107, + 199, 99, 99, 191, 91, 91, 187, 87, 87, 179, 79, 79, 175, 71, 71, + 167, 63, 63, 163, 59, 59, 155, 51, 51, 151, 47, 47, 143, 43, 43, + 139, 35, 35, 131, 31, 31, 127, 27, 27, 119, 23, 23, 115, 19, 19, + 107, 15, 15, 103, 11, 11, 95, 7, 7, 91, 7, 7, 83, 7, 7, + 79, 0, 0, 71, 0, 0, 67, 0, 0, 255,235,223, 255,227,211, + 255,219,199, 255,211,187, 255,207,179, 255,199,167, 255,191,155, + 255,187,147, 255,179,131, 247,171,123, 239,163,115, 231,155,107, + 223,147, 99, 215,139, 91, 207,131, 83, 203,127, 79, 191,123, 75, + 179,115, 71, 171,111, 67, 163,107, 63, 155, 99, 59, 143, 95, 55, + 135, 87, 51, 127, 83, 47, 119, 79, 43, 107, 71, 39, 95, 67, 35, + 83, 63, 31, 75, 55, 27, 63, 47, 23, 51, 43, 19, 43, 35, 15, + 239,239,239, 231,231,231, 223,223,223, 219,219,219, 211,211,211, + 203,203,203, 199,199,199, 191,191,191, 183,183,183, 179,179,179, + 171,171,171, 167,167,167, 159,159,159, 151,151,151, 147,147,147, + 139,139,139, 131,131,131, 127,127,127, 119,119,119, 111,111,111, + 107,107,107, 99, 99, 99, 91, 91, 91, 87, 87, 87, 79, 79, 79, + 71, 71, 71, 67, 67, 67, 59, 59, 59, 55, 55, 55, 47, 47, 47, + 39, 39, 39, 35, 35, 35, 119,255,111, 111,239,103, 103,223, 95, + 95,207, 87, 91,191, 79, 83,175, 71, 75,159, 63, 67,147, 55, + 63,131, 47, 55,115, 43, 47, 99, 35, 39, 83, 27, 31, 67, 23, + 23, 51, 15, 19, 35, 11, 11, 23, 7, 191,167,143, 183,159,135, + 175,151,127, 167,143,119, 159,135,111, 155,127,107, 147,123, 99, + 139,115, 91, 131,107, 87, 123, 99, 79, 119, 95, 75, 111, 87, 67, + 103, 83, 63, 95, 75, 55, 87, 67, 51, 83, 63, 47, 159,131, 99, + 143,119, 83, 131,107, 75, 119, 95, 63, 103, 83, 51, 91, 71, 43, + 79, 59, 35, 67, 51, 27, 123,127, 99, 111,115, 87, 103,107, 79, + 91, 99, 71, 83, 87, 59, 71, 79, 51, 63, 71, 43, 55, 63, 39, + 255,255,115, 235,219, 87, 215,187, 67, 195,155, 47, 175,123, 31, + 155, 91, 19, 135, 67, 7, 115, 43, 0, 255,255,255, 255,219,219, + 255,187,187, 255,155,155, 255,123,123, 255, 95, 95, 255, 63, 63, + 255, 31, 31, 255, 0, 0, 239, 0, 0, 227, 0, 0, 215, 0, 0, + 203, 0, 0, 191, 0, 0, 179, 0, 0, 167, 0, 0, 155, 0, 0, + 139, 0, 0, 127, 0, 0, 115, 0, 0, 103, 0, 0, 91, 0, 0, + 79, 0, 0, 67, 0, 0, 231,231,255, 199,199,255, 171,171,255, + 143,143,255, 115,115,255, 83, 83,255, 55, 55,255, 27, 27,255, + 0, 0,255, 0, 0,227, 0, 0,203, 0, 0,179, 0, 0,155, + 0, 0,131, 0, 0,107, 0, 0, 83, 255,255,255, 255,235,219, + 255,215,187, 255,199,155, 255,179,123, 255,163, 91, 255,143, 59, + 255,127, 27, 243,115, 23, 235,111, 15, 223,103, 15, 215, 95, 11, + 203, 87, 7, 195, 79, 0, 183, 71, 0, 175, 67, 0, 255,255,255, + 255,255,215, 255,255,179, 255,255,143, 255,255,107, 255,255, 71, + 255,255, 35, 255,255, 0, 167, 63, 0, 159, 55, 0, 147, 47, 0, + 135, 35, 0, 79, 59, 39, 67, 47, 27, 55, 35, 19, 47, 27, 11, + 0, 0, 83, 0, 0, 71, 0, 0, 59, 0, 0, 47, 0, 0, 35, + 0, 0, 23, 0, 0, 11, 0, 47, 47, 255,159, 67, 255,231, 75, + 255,123,255, 255, 0,255, 207, 0,207, 159, 0,155, 111, 0,107, + 167,107,107 + } +} + + +-------------------------------------------------------------------- + +REKKR.LEVEL_GFX_COLORS = +{ + gold = { 0,47,44, 167,166,165,164,163,162,161,160, 225 }, + silver = { 0,246,243,240, 205,202,200,198, 196,195,194,193,192, 4 }, + bronze = { 0,2, 191,188, 235,232, 221,218,215,213,211,209 }, + iron = { 0,7,5, 111,109,107,104,101,98,94,90,86,81 }, + + red = { 0,2, 191,189,187,185,183,181,179 }, + black = { 0,0,0,0, 0,0,0,0 } +} + + +function REKKR.make_cool_gfx() + local GREEN = + { + 0, 7, 127, 126, 125, 124, 123, 122, 120, 118, 116, 113 + } + + local BRONZE_2 = + { + 0, 2, 191, 189, 187, 235, 233, 223, 221, 219, 216, 213, 210 + } + + local RED = + { + 0, 2, 188,185,184,183,182,181, 180,179,178,177,176,175,174,173 + } + + local GOLD = { 0,47,44, 167,166,165,164,163,162,161,160, 225 } + + local SILVER = { 0,246,243,240, 205,202,200,198, 196,195,194,193,192, 4 } + + + local colmaps = + { + BRONZE_2, GREEN, RED, GOLD, SILVER + } + + rand.shuffle(colmaps) + + gui.set_colormap(1, colmaps[1]) + gui.set_colormap(2, colmaps[2]) + gui.set_colormap(3, colmaps[3]) + gui.set_colormap(4, colmaps[4]) + + -- patches : SP_ROCK1, SP_ROCK2, MIDBRN1, NUKESLAD + gui.wad_logo_gfx("WALL63_1", "p", "BOLT", 128,128, 2) + gui.wad_logo_gfx("WALL63_2", "p", "PILL", 128,128, 1) + gui.wad_logo_gfx("DOOR12_1", "p", "RELIEF", 64,128, 3) + gui.wad_logo_gfx("WALL57_1", "p", "CARVE", 64,128, 4) + + -- flats + gui.wad_logo_gfx("O_PILL", "f", "PILL", 64,64, 1) + gui.wad_logo_gfx("O_BOLT", "f", "BOLT", 64,64, 2) + gui.wad_logo_gfx("O_RELIEF", "f", "RELIEF", 64,64, 3) + gui.wad_logo_gfx("O_CARVE", "f", "CARVE", 64,64, 4) +end + + +function REKKR.make_level_gfx(LEVEL) + -- decide color set + if not GAME.level_gfx_colors then + local kind = rand.key_by_probs( + { + gold=12, silver=3, bronze=8, iron=10 + }) + + GAME.level_gfx_colors = assert(REKKR.LEVEL_GFX_COLORS[kind]) + end + + gui.set_colormap(1, GAME.level_gfx_colors) + + if LEVEL.patch and LEVEL.description then + gui.wad_name_gfx(LEVEL.patch, LEVEL.description, 1) + end +end + + +function REKKR.make_episode_gfx() + local colors = assert(REKKR.LEVEL_GFX_COLORS["red"]) + + gui.set_colormap(2, colors) + + for _,EPI in pairs(GAME.episodes) do + if EPI.name_patch and EPI.description then + gui.wad_name_gfx(EPI.name_patch, EPI.description, 2) + end + end +end + + +function REKKR.end_level(LEVEL) + REKKR.make_level_gfx(LEVEL) +end + + +function REKKR.all_done() + REKKR.make_cool_gfx() + REKKR.make_episode_gfx() +end diff --git a/games/rekkr/themes.lua b/games/rekkr/themes.lua new file mode 100644 index 0000000000..cfc1e6c116 --- /dev/null +++ b/games/rekkr/themes.lua @@ -0,0 +1,415 @@ +------------------------------------------------------------------------ +-- REKKR THEMES +------------------------------------------------------------------------ +-- +-- Copyright (C) 2006-2017 Andrew Apted +-- Copyright (C) 2008 Sam Trenholme +-- Copyright (C) 2019-2020 MsrSgtShooterPerson +-- +-- This program is free software; you can redistribute it and/or +-- modify it under the terms of the GNU General Public License +-- as published by the Free Software Foundation; either version 2 +-- of the License, or (at your option) any later version. +-- +------------------------------------------------------------------------ + +REKKR.THEMES = +{ + DEFAULTS = + { + slump_config = + [[ + ; + ; Sample SLIGE config file. (Semicolon starts a comment to end of line.) + ; + ; This is the SLIGE.CFG as shipped with SLIGE itself. It contains a + ; description of the default SLIGE configuration, as hardwired into + ; the program. So having this file in the current directory under the + ; name SLIGE.CFG should produce exactly the same effect as not having + ; any config file at all. You can use this file as a base to build + ; your own config files on (but if you do, you should change these + ; comments; otherwise they'll be WRONG!). + ; + ; Dave Chess, dmchess@aol.com, chess@us.ibm.com + + ; The current implementation ignores everything before the + ; [THEMES] line also, but that will change. + + [THEMES] ; Anything after a ; is, remember, a comment + + ; We have three themes, one secret. They should all be declared + ; before any textures or flats or anything else. The only valid + ; modifier is "secret", which says that that theme should only be + ; used on secret levels. There should be at least one "secret" + ; theme. + + Theme LAB ; Chex labs + Theme BAZ ; Bazoik caves/E1M5 theme + + ; Flats and textures and constructs and stuff are also in the [THEMES] section + + ; Textures are described by "Texture NAME ". Obvious + ; attributes include "wall", "door", and so on. Some subtler ones: + ; + ; "core " means that this texture should be common in that theme. + ; "comp " means that this texture is compatible with that theme, but + ; not to be used all that often. + ; "switch " means "the given texture is a good switch to use in + ; a room that has walls of the current texture" + ; "isswitch" means "the current texture is a good switch to use on any + ; wall in a room with a compatible theme" + ; "subtle " means "the given texture is a subtle variant of the + ; current texture, suitable for hinting at secrets" + ; "yhint N" means "when using a vertical misalignment to hint at + ; a secret door in a wall of this texture, use a y-offset of N". If + ; N is zero, it means "this wall is too visually complex to hint via a + ; y-misalignment at all; hint some other way". If no "yhint" is given, + ; the value 5 is used. + ; "noDoom2" means that the texture does not exist in the usual DOOM II + ; IWAD. "noDoom0" means it doesn't exist in the DOOM 1.2 IWAD, and + ; "noDoom1" means it's not in the DOOM 1.666 or 1.89 IWAD. If none + ; of these are specified, the texture is assumed to be in all. + ; "size " gives the size of the texture. You can leave + ; this out if the height is 128, and the width is some reasonable + ; divisor of 256 (except for doors, where you should give the real + ; width so SLIGE can make them look nice). + + ; Lab walls + Texture SKIN2 size 128 128 wall core LAB + Texture STARG3 size 128 128 wall core LAB subtle CEMENT6 + Texture TEKWALL2 size 128 128 wall core LAB subtle STONE2 + + ; Lab switches + Texture SW1STARG size 128 128 isswitch comp LAB + Texture SW1PIPE size 128 128 isswitch comp LAB + + ; Bazoik walls + Texture BIGDOOR2 size 128 128 wall core BAZ subtle STARGR1 + + ; Bazoik switches + Texture SW1BRCOM size 128 128 isswitch comp BAZ + + ; And the lift texture + Texture COMPBLUE size 64 128 lift comp LAB comp BAZ + + ; Doors of all kinds. "size" gives the width and height of the texture, + ; and "locked" means that it's a good texture to use on a door that only + ; opens with a switch, not a touch. + Texture BIGDOOR4 size 128 128 door comp LAB + Texture BIGDOOR1 size 128 128 door comp LAB comp BAZ + Texture SP_DUDE4 size 64 128 door comp LAB comp BAZ + Texture SKSNAKE1 size 64 128 door comp LAB comp BAZ + + ; Lab exit switches + Texture SW1STARG size 128 128 exitswitch comp LAB + Texture SW1PIPE size 128 128 exitswitch comp LAB + + ; Bazoik exit switches + Texture SW1BRCOM size 128 128 exitswitch comp BAZ + + ; Lights, suitable for lighting recesses and stuff. + Texture LITEMET size 128 128 light comp LAB + Texture BLODRIP1 size 64 128 light comp BAZ + + ; "Plaques", suitable for wall consoles and paintings and pillars and stuff. + ; "vtiles" means that it's OK to pile one on top of another, as when + ; making the big central pillar in an arena. + ; "half_plaque" means that the upper half of this texture can be used + ; by itself, as well as the whole thing. + Texture FIREWALL size 128 112 plaque vtiles comp LAB + Texture DOORTRAK size 128 128 plaque vtiles comp BAZ + Texture FIREMAG1 size 128 128 plaque comp BAZ + + ; Gratings + Texture MIDVINE1 size 256 128 grating comp LAB + Texture MIDVINE2 size 256 128 grating comp LAB + Texture SKSPINE1 size 64 128 grating comp BAZ + + ; Colors (suitable for marking key-locked things) + Texture DOORRED size 8 128 red comp LAB comp BAZ + Texture DOORYEL size 8 128 yellow comp LAB comp BAZ + Texture DOORBLU size 8 128 blue comp LAB comp BAZ + + ; Step kickplates + Texture STEP1 size 32 8 step comp LAB comp BAZ + + ; "Doorjambs" + Texture COMPSTA1 size 8 128 jamb comp LAB comp BAZ + + ; Support textures, used in various places + Texture SUPPORT2 size 64 128 support comp LAB + Texture NUKEDGE1 size 128 128 support comp BAZ + + ; Bunch of things for outside patios (no themes applied here) + Texture BIGDOOR3 size 128 128 outside + + ; Misc + Texture LITEBLU1 size 128 128 error + + ; Now the flats. Keywords should all be pretty obvious... *8) + + ; Teleport-gate floors + Flat GATE1 gate comp LAB comp BAZ + + ; Lab floors and ceilings + Flat FLOOR4_1 ceiling light comp LAB + Flat FLOOR4_1 ceiling outside comp LAB + Flat FLOOR4_1 floor comp LAB + Flat STEP1 floor comp LAB + Flat FLOOR4_1 ceiling comp LAB + Flat FLOOR4_1 floor outside comp LAB + + ; Bazoik floors and ceilings + Flat CEIL3_1 ceiling light comp BAZ + Flat CEIL3_1 ceiling outside comp BAZ + Flat CEIL3_1 floor comp BAZ + Flat CEIL3_1 ceiling comp BAZ + Flat CEIL3_1 floor outside comp BAZ + + ; and nukage + Flat BLOOD1 nukage comp LAB comp BAZ + Flat LAVA1 nukage red comp LAB comp BAZ + + ; Floors for outside areas not yet mentioned + Flat CEIL3_1 outside + + ; These are the defaults, but we'll list them anyway. + Flat FWATER1 water + Flat F_SKY1 sky + + ; Constructs: computers and crates and stuff that stand around in rooms + ; This is pretty complex! Fool with it at your peril. + + ; Family 1 is crates of various sizes and kinds + Construct family 1 height 128 comp LAB comp BAZ + top CRATOP2 + Primary CRATE2 width 64 + + ; Load the hardwired monster and object and so on data (required in + ; this version of SLIGE; don't remove this!) + Hardwired1 + + ; Say which lamps we like in which themes, and where barrels are allowed + ; Information like which Doom version each object is in, and which ones + ; cast light, and which ones explode, is still hardwired. + Thing 2028 comp LAB comp BAZ ; floor lamp + + ; and that's it! + ]] + }, + + rekkr_village = + { + slump_config = + [[ + ; + ; Sample SLIGE config file. (Semicolon starts a comment to end of line.) + ; + ; This is the SLIGE.CFG as shipped with SLIGE itself. It contains a + ; description of the default SLIGE configuration, as hardwired into + ; the program. So having this file in the current directory under the + ; name SLIGE.CFG should produce exactly the same effect as not having + ; any config file at all. You can use this file as a base to build + ; your own config files on (but if you do, you should change these + ; comments; otherwise they'll be WRONG!). + ; + ; Dave Chess, dmchess@aol.com, chess@us.ibm.com + + ; The current implementation ignores everything before the + ; [THEMES] line also, but that will change. + + [THEMES] ; Anything after a ; is, remember, a comment + + ; We have three themes, one secret. They should all be declared + ; before any textures or flats or anything else. The only valid + ; modifier is "secret", which says that that theme should only be + ; used on secret levels. There should be at least one "secret" + ; theme. + + Theme LAB ; Chex labs + Theme BAZ ; Bazoik caves/E1M5 theme + + ; Flats and textures and constructs and stuff are also in the [THEMES] section + + ; Textures are described by "Texture NAME ". Obvious + ; attributes include "wall", "door", and so on. Some subtler ones: + ; + ; "core " means that this texture should be common in that theme. + ; "comp " means that this texture is compatible with that theme, but + ; not to be used all that often. + ; "switch " means "the given texture is a good switch to use in + ; a room that has walls of the current texture" + ; "isswitch" means "the current texture is a good switch to use on any + ; wall in a room with a compatible theme" + ; "subtle " means "the given texture is a subtle variant of the + ; current texture, suitable for hinting at secrets" + ; "yhint N" means "when using a vertical misalignment to hint at + ; a secret door in a wall of this texture, use a y-offset of N". If + ; N is zero, it means "this wall is too visually complex to hint via a + ; y-misalignment at all; hint some other way". If no "yhint" is given, + ; the value 5 is used. + ; "noDoom2" means that the texture does not exist in the usual DOOM II + ; IWAD. "noDoom0" means it doesn't exist in the DOOM 1.2 IWAD, and + ; "noDoom1" means it's not in the DOOM 1.666 or 1.89 IWAD. If none + ; of these are specified, the texture is assumed to be in all. + ; "size " gives the size of the texture. You can leave + ; this out if the height is 128, and the width is some reasonable + ; divisor of 256 (except for doors, where you should give the real + ; width so SLIGE can make them look nice). + + ; Lab walls + Texture SKIN2 size 128 128 wall core LAB + Texture STARG3 size 128 128 wall core LAB subtle CEMENT6 + Texture TEKWALL2 size 128 128 wall core LAB subtle STONE2 + + ; Lab switches + Texture SW1STARG size 128 128 isswitch comp LAB + Texture SW1PIPE size 128 128 isswitch comp LAB + + ; Bazoik walls + Texture BIGDOOR2 size 128 128 wall core BAZ subtle STARGR1 + + ; Bazoik switches + Texture SW1BRCOM size 128 128 isswitch comp BAZ + + ; And the lift texture + Texture COMPBLUE size 64 128 lift comp LAB comp BAZ + + ; Doors of all kinds. "size" gives the width and height of the texture, + ; and "locked" means that it's a good texture to use on a door that only + ; opens with a switch, not a touch. + Texture BIGDOOR4 size 128 128 door comp LAB + Texture BIGDOOR1 size 128 128 door comp LAB comp BAZ + Texture SP_DUDE4 size 64 128 door comp LAB comp BAZ + Texture SKSNAKE1 size 64 128 door comp LAB comp BAZ + + ; Lab exit switches + Texture SW1STARG size 128 128 exitswitch comp LAB + Texture SW1PIPE size 128 128 exitswitch comp LAB + + ; Bazoik exit switches + Texture SW1BRCOM size 128 128 exitswitch comp BAZ + + ; Lights, suitable for lighting recesses and stuff. + Texture LITEMET size 128 128 light comp LAB + Texture BLODRIP1 size 64 128 light comp BAZ + + ; "Plaques", suitable for wall consoles and paintings and pillars and stuff. + ; "vtiles" means that it's OK to pile one on top of another, as when + ; making the big central pillar in an arena. + ; "half_plaque" means that the upper half of this texture can be used + ; by itself, as well as the whole thing. + Texture FIREWALL size 128 112 plaque vtiles comp LAB + Texture DOORTRAK size 128 128 plaque vtiles comp BAZ + Texture FIREMAG1 size 128 128 plaque comp BAZ + + ; Gratings + Texture MIDVINE1 size 256 128 grating comp LAB + Texture MIDVINE2 size 256 128 grating comp LAB + Texture SKSPINE1 size 64 128 grating comp BAZ + + ; Colors (suitable for marking key-locked things) + Texture DOORRED size 8 128 red comp LAB comp BAZ + Texture DOORYEL size 8 128 yellow comp LAB comp BAZ + Texture DOORBLU size 8 128 blue comp LAB comp BAZ + + ; Step kickplates + Texture STEP1 size 32 8 step comp LAB comp BAZ + + ; "Doorjambs" + Texture COMPSTA1 size 8 128 jamb comp LAB comp BAZ + + ; Support textures, used in various places + Texture SUPPORT2 size 64 128 support comp LAB + Texture NUKEDGE1 size 128 128 support comp BAZ + + ; Bunch of things for outside patios (no themes applied here) + Texture BIGDOOR3 size 128 128 outside + + ; Misc + Texture LITEBLU1 size 128 128 error + + ; Now the flats. Keywords should all be pretty obvious... *8) + + ; Teleport-gate floors + Flat GATE1 gate comp LAB comp BAZ + + ; Lab floors and ceilings + Flat FLOOR4_1 ceiling light comp LAB + Flat FLOOR4_1 ceiling outside comp LAB + Flat FLOOR4_1 floor comp LAB + Flat STEP1 floor comp LAB + Flat FLOOR4_1 ceiling comp LAB + Flat FLOOR4_1 floor outside comp LAB + + ; Bazoik floors and ceilings + Flat CEIL3_1 ceiling light comp BAZ + Flat CEIL3_1 ceiling outside comp BAZ + Flat CEIL3_1 floor comp BAZ + Flat CEIL3_1 ceiling comp BAZ + Flat CEIL3_1 floor outside comp BAZ + + ; and nukage + Flat BLOOD1 nukage comp LAB comp BAZ + Flat LAVA1 nukage red comp LAB comp BAZ + + ; Floors for outside areas not yet mentioned + Flat CEIL3_1 outside + + ; These are the defaults, but we'll list them anyway. + Flat FWATER1 water + Flat F_SKY1 sky + + ; Constructs: computers and crates and stuff that stand around in rooms + ; This is pretty complex! Fool with it at your peril. + + ; Family 1 is crates of various sizes and kinds + Construct family 1 height 128 comp LAB comp BAZ + top CRATOP2 + Primary CRATE2 width 64 + + ; Load the hardwired monster and object and so on data (required in + ; this version of SLIGE; don't remove this!) + Hardwired1 + + ; Say which lamps we like in which themes, and where barrels are allowed + ; Information like which Doom version each object is in, and which ones + ; cast light, and which ones explode, is still hardwired. + Thing 2028 comp LAB comp BAZ ; floor lamp + + ; and that's it! + ]] + }, + +} +------------------------------------------------------------------------ + +function REKKR.slump_setup() + if ob_match_game({game = {rekkr=1}}) then + if OB_CONFIG.theme == "default" then + PARAM.slump_config = REKKR.THEMES.DEFAULTS.slump_config + elseif OB_CONFIG.theme == "jumble" then + local possible_configs = {} + for _,tab in pairs(REKKR.THEMES) do + if tab.slump_config then + table.insert(possible_configs, tab.slump_config) + end + end + PARAM.slump_config = rand.pick(possible_configs) + elseif REKKR.THEMES[OB_CONFIG.theme].slump_config then + PARAM.slump_config = REKKR.THEMES[OB_CONFIG.theme].slump_config + else + PARAM.slump_config = REKKR.THEMES.DEFAULTS.slump_config + end + end +end + +------------------------------------------------------------------------ + +OB_THEMES["rekkr_village"] = +{ + label = _("Village"), + game = "rekkr", + name_class = "TECH", + mixed_prob = 34 +} \ No newline at end of file diff --git a/games/strife/base.lua b/games/strife/base.lua new file mode 100644 index 0000000000..069b262c73 --- /dev/null +++ b/games/strife/base.lua @@ -0,0 +1,65 @@ +------------------------------------------------------------------------ +-- BASE FILE for STRIFE +------------------------------------------------------------------------ +-- +-- Oblige Level Maker +-- +-- Copyright (C) 2006-2015 Andrew Apted +-- Copyright (C) 2011-2012 Jared Blackburn +-- +-- This program is free software; you can redistribute it and/or +-- modify it under the terms of the GNU General Public License +-- as published by the Free Software Foundation; either version 2, +-- of the License, or (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +------------------------------------------------------------------------ + +STRIFE = { } + + +------------------------------------------------------------ +gui.import("params") +gui.import("themes") +gui.import("resources") +gui.import("names") + +------------------------------------------------------------ + +function STRIFE.all_done() + local convo_file = "games/strife/data/CONVERSATIONS.wad" + + gui.wad_transfer_lump(convo_file, "SCRIPT00", "SCRIPT00") + + gui.wad_insert_file("data/endoom/ENDOOM.bin", "ENDSTRF") +end + + +OB_GAMES["strife"] = +{ + label = _("Strife"), + priority = 89, + + engine = "idtech_1", + format = "doom", + --sub_format = "strife", + + game_dir = "strife", + iwad_name = "strife1.wad", + + tables = + { + STRIFE + }, + + hooks = + { + slump_setup = STRIFE.slump_setup, + all_done = STRIFE.all_done + }, +} + diff --git a/games/strife/data/CONVERSATIONS.wad b/games/strife/data/CONVERSATIONS.wad new file mode 100644 index 0000000000000000000000000000000000000000..072bfccef0d9419b17afe068797bbfeadfef93c3 GIT binary patch literal 80376 zcmeI5-;(1-6~;Y;KnQ_A2!w>2=7!;qaW-2OV5x$ww$-*2OKL|gkIProRwZF`ldVb( zq__YI-h?~ub3s+|0z3o{z)L{#ot71A?CBXtGuYPf&Bd7L!$LPsaP zUhm%zPI_O$-c0zOge17O%p0wh2J9VGCTfX~$W02nrt011#l2MIhI@R?d40K;YyAORBS zAc3z2e5Te1z_6JFNPq-7NZ`4E&(!(=7&emt36MYs34AT!GqpYdhRq~E0wmBu0$&gK zOsx-qVKWJk010%E!1Dp0sr3OcY$gE`Ab}1N_(s5IYJC6jPleOadf80v#mqt$@$e`T!UaGD|k5+H#C5O@_fsr3f{Pm?4-0wl0U0{38xTE9o& zG(`d=KmrFK@GIE7f!6EETo=&+{H93~AOR8}f!ztbj#H`iyYu3iBtQZr&_x12gVWUd zF5Wr%Oadf80=pCVIZmb4@6L;7k^l*iKo<%80!~xwyLjj5GYOCY3G7bb0ZygX@6L;7 zk^l*iKo<%85>8X=yLjj5GYOCY3G7bb2fLqo;mp;)eKs_ci7qZ2;SLFq011%5u@N|J z=@7NPB{*J20wh2J2O#jnmNu#NEy3|J5+DH*H~@hkwX{jCZwZcj08x41P(yp*Rc7I7Is%!KjXiL(*hnZApsH~fjtwT*6$fO&5-~JkiY>5d?8?S zXctR!#bV0Xq^VWoA~AV1P>WcXYNT_OsEH}n*cNJO=MMvYv$@y%2oV0>0P%EV+oWbx z7Rg8rZCbjRT)p$;eQ$Ha==VbwKgNOP82cydGj*0(<#aj1gS2j4Zgd%bykqpNzX$2c=ZtY;46%#5<$g)+%nrwhHmp!?>1{AWD?{GA!Of1we| zebj|YN|oeQUJ)Cemhsh08{Kbh)?<_xQw{ZKihSGT{zgj9T_-XYw|D6QROymDL#dsY z{J?Dyy;}{n)^CoATE9u;cK50EcT?+|xeK-acHbHHb~6HXo!FeL`;oXlGf^^HH*IZ6 z2wz3>+PTE}FtBYcb*uCLg9g!rW<2<8W6WT$W>U&-v^6&+<~?;1uNBpK?L$G|Z5f9)Ou%{1CEd~dpTVf#O}A_5#7Xy;E!b<|wbz z`b5QcW+3;Y1TQQePFGFP#-c)z#Z=lrC1ZJw6lTDXtdEmCatf)Ul2QR?6Vehq?NX-FhEb`X*Y*Oe5 zuTY%K>M3JXfLE_r0VB(YYIE%S*uUTSwr<*68rS!fynowoy}ZjZ?7Ux5S@=qemkKGq zXywev%9ObmlRj=o4j5^mw_fi*5DD>N=X(8ygG~N6?;!U{;P?o%)q2MDH@la|6xY{U zf0yI>dW?5DuCK?)xc+AE=3Tw|sldR7x|kX>3monBsx_Cc#P3ugLq!zkE%Jup}_(-%;ct6k%@@gr_LfRTFnwOLhL_AcyADWMrX+g=Ow3+LIx@s?RcI_ zhJcrJmGM@ge3dOk*0?J6x2Y*~DOm!#StK%hsbL+VZBnQ==B`A)3aNoxB;#x56oZ4l z#RGM|eOZ^X#tBJ^S#n(Bg0mp;yjAN4sGeS z(}bSX?Bqvk7aF-!4&xKar!00*SI{a=&U~gOw@fDVref3?^@g2_+3FsbNS#Dx9;ys> zV_kL1KS_WDj)Fj2t#7QkjIhqWT2L>A#w}$!ieVm|6QcFaT6QzP@?xFjV|$4%%Rofj zC-%$~Ik4mNg`!Q8%~GQZlc7?Ef*DkLE*}g0*24l?T^RWY`>){4SUD5bFR@Y?sGosL z)^EsfOZXbE)b9iC935LaL;@tRO`v|yH;-Hw*H?KW;=EG?k=jkA_>TAw(I7(fH|GX% zw9TFW2#8il#dr~01dP4_Uo3sG-l`};5buLWOkq_sN!2>PiS@ClXbp@M&ZJ|^Zl$S- z`j`Nac-P%a|!4b1D-7I&Cc0 zlN%s9&zk&xpAT9if!ij~R_i5ZgmPnbaP_;hGEE3MmsvxIy-e0ZmL~?49jA(UuA&0d zs3^_IvIi+NNHt(xZ18LIWnF|{%8j5Ciy{WqJZ(B3O{G#H1)1tI@LBlDIP%mFSjf!Me-n;iH@mdh` literal 0 HcmV?d00001 diff --git a/games/strife/names.lua b/games/strife/names.lua new file mode 100644 index 0000000000..92d81c26d1 --- /dev/null +++ b/games/strife/names.lua @@ -0,0 +1,4111 @@ +STRIFE.NAMES = +{ + COMMON = + { + -- these words and patterns are shared by all themes + + -- FIXME... + + lexicon = + { + + -- Why not some level names common in all themes? + -- Also, how do we keep 'Common' theme full names + -- from not being in more than one theme? + -- -Reisal, 12/30/20, + + -- Another side note, please keep future definitions + -- in alphabetical order for those who add more to this + -- besides me lol + -- Reisal, 2/6/21, + + s = + { + ["A Walk on Thin Ice"]=10, + ["Alternative Means"]=10, + ["Annihilation"]=10, + ["Reisal Loves Naming"]=10, -- Bahaha! + ["Ascent into Madness"]=10, + ["Backstabbed"]=10, + ["Black Skies"]=10, + ["Blown to Bits"]=10, + ["Chaos Within"]=10, + ["Choirs of Progress"]=10, + ["Compromised"]=10, + ["Complete Breakdown"]=10, + ["Concrete Retribution"]=10, + ["Converging Hex Sequence"]=10, + ["Dead Men's Choir"]=10, + ["Duality of Entropy"]=10, + ["Dulling of the Senses"]=10, + ["Empty Echo"]=10, + ["Fading into Obscurity"]=10, + ["Finding The Path"]=10, + ["Final Suffering"]=10, + ["Fire With Fire"]=10, + ["Fueling the Flames"]=10, + ["Genocidal Delusions"]=10, + ["Go Fuck Yourself"]=10, -- Sunlust MAP29. + ["Headshot"]=10, + ["Into the Fog"]=10, + ["Liquid Violence"]=10, + ["Lost in Apathy"]=10, + ["Memories from the Surface"]=10, + ["Negative Inverted Sphere"]=10, + ["Never Forgive, Never Forget"]=10, + ["Never Give Up"]=10, + ["Nothing But Lies"]=10, + ["Nowhere"]=10, + ["No Violence, No Progress"]=10, + ["Out of Touch"]=10, + ["Parallel Tribulation"]=10, + ["Passing Through"]=10, + ["Plausable Fear"]=10, + ["Revelations of Doom"]=10, -- Also a Hellhammer song title + ["Spiraling Uncertainity"]=10, + ["The Fourth Dimension"]=10, -- Hypocrisy song and album title + ["The Marine Element"]=10, + ["The Unknown"]=10, + ["Through the Looking Glass"]=10, + ["Where Demons Roam"]=10, + ["Within the Mirror"]=10, + ["Woeful Unknown"]=10, + ["Zero Null"]=10, + + -- Single word descriptions, typically work (IE Fear for E4M9) + -- Usually adjectives or verbs, mostly negative. + ["Abandoned"]=7, + ["Absolution"]=7, + ["Agony"]=10, + ["Anguish"]=10, + ["Atonement"]=5, + ["Battered"]=7, + ["Betrayal"]=10, + ["Chaos"]=10, + ["Contempt"]=10, + ["Corruption"]=10, + ["Cowardice"]=7, + ["Deconstruction"]=7, + ["Dehumanized"]=5, + ["Despair"]=10, + ["Desperation"]=7, + ["Dismay"]=10, + ["Doubt"]=7, + ["Drained"]=5, + ["Dread"]=10, + ["Envy"]=10, + ["Euphoria"]=7, + ["Evil"]=10, + ["Fear"]=10, -- Why not? + ["Fury"]=7, + ["Guilt"]=10, + ["Hatred"]=10, + ["Lunacy"]=7, + ["Misery"]=10, + ["Nihility"]=7, + ["Numb"]=7, + ["Obliteration"]=10, + ["Pain"]=10, + ["Peril"]=10, + ["Possession"]=5, + ["Purity"]=5, + ["Redemption"]=5, + ["Resentment"]=10, + ["Revulsion"]=7, + ["Ruin"]=7, + ["Seclusion"]=5, + ["Spite"]=5, + ["Tarnished"]=5, + ["Terror"]=10, + ["Turmoil"]=10, + ["Wasted"]=5, + ["Woe"]=7, + ["Wrath"]=10, + + -- id software song name references.. + ["At Obsidian's Gate"]=10, + ["The Doom Song"]=10, + ["Dark Halls"]=10, + ["RMG Ace"]=10, + ["Suspense"]=10, + ["On the Hunt"]=10, + ["Sign of Hell"]=10, + ["I Sawed the Imps"]=10, + ["Demons on the Prey"]=10, + ["Hiding the Goodies"]=10, + ["They Gonna Getcha"]=10, + ["Sinister"]=10, + ["Noone Told me about Obsidian"]=10, + ["Untitled"]=10, -- lol yes, E3M1 is titled this + ["Shooter to the Rescue"]=10, + ["Deep into the Lua"]=10, + ["Facing the Script Error"]=10, + + -- Foreign equalivents.. + ["A La Caza"]=10, -- "On the Hunt" in Spanish + ["Siniestro"]=10, -- "Sinister" in Spanish + ["Umgang mit dem Skriptfehler"]=10, -- "Facing the Script Error" in German + + -- Doom 2.. + ["Entrance"]=10, + ["The Monster Closet Stalks"]=10, + ["Countdown to Hell"]=10, + ["Between Megawads"]=10, + ["OBSIDIAN"]=10, + ["In the Dark"]=10, + ["Dasho's got the Compiler"]=10, + ["Dave D. Taylor Blues"]=10, + ["Into Your Map Set"]=10, + ["The Demon's Dead"]=10, + ["Waiting for Craneo to Play"]=10, + ["Message from the Administrator"]=10, + ["Bye Bye Canadian Pie"]=10, + ["Reisal's Asleep"]=10, + ["Getting Too Hot"]=10, + ["Opening to Evil"]=10, + + -- Evilution.. + ["Masochistic"]=10, + ["Smells like Burning Corpse"]=10, + ["Death's Bells"]=10, + ["Too Much"]=10, + ["Agony Rhapsody"]=10, + ["Soldier of Chaos"]=10, + ["Neverending"]=10, + ["Frigid Subtleness"]=10, + ["FightDieReloadSave"]=10, + ["Legion of the Lost"]=10, + + -- PSX Doom.. + ["Retribution Dawns"]=10, + ["The Broken Ones"]=10, + ["Sanity's Edge"]=10, + ["Hell's Churn"]=10, + ["Digitized Pain"]=10, + ["The Demonic Pulse"]=10, + ["Steadfast Extermination"]=10, + ["In the Grip of Madness"]=10, + ["Creeping Brutality"]=10, + ["Hopeless Despair"]=10, + ["Bells of Agony"]=10, + + -- OwO what's this? More from Reisal?! + -- Just straight up weird or funny, rarely chosen though. Some memey stuff present! + ["A Stupid Level Name"]=2, + ["Another Generated Map"]=2, + ["Comment Ninja"]=2, + ["DOOM2.WAD"]=2, + ["Hetfield's Inflated Ego"]=2, + ["It's Been One of Those Days"]=2, -- See above + ["lol"]=2, + ["Marty's Loveable Funhouse"]=2, -- Refers to Marty Stratton, one of id's executive producers + ["Naming.lua"]=2, + ["OH NOES"]=2, + ["OwO"]=2, + ["Phobos and Deimos Kissfest"]=2, + ["Romero's Oversized Mindset"]=2, + ["Popcorn"]=2, + ["Songs of Praise"]=2, + ["Take It Like a Man"]=2, + ["The Trail to the Toilet"]=2, -- In-joke with Obsidian team, I blame Shooter for this lol + ["Tom Hall's Halls"]=2, + ["UwU"]=2, + ["We are not COMPET-N friendly!"]=2, + ["You Are Not Special"]=2, + + -- Other uncommon naming.. + ["A Major Inconvenience"]=3, + ["Clockhand's Groaning Circles"]=3, + ["Die Insane"]=3, + ["Even More Pain"]=3, + ["Instant Justice"]=3, + ["You are Just a Number"]=3, + + ["Astronomical Union"]=5, + ["Blueprint for the Apocalypse"]=5, + ["Deliirum's Tears"]=5, + ["Garden of Delusions"]=5, + ["Goat Seeds of Doom"]=5, + ["Halls of the Dead"]=5, + ["Of Light's Demise"]=5, + ["Pure Holocaust"]=5, + ["Seeds of the Chosen One"]=5, + ["Symbiotic Infusion"]=5, + ["Taste the Extreme Divine"]=5, + ["The Comfort of Cowards"]=5, + ["Turn the Page"]=5, + ["Where Storms Cease"]=5, + ["Within the Wicked Mind"]=5, + + -- What do we have? MORE Naming? Owo + -- A bunch of abstract shit is here too! - Reisal, Jun. 13, 2021 + ["A Madman's Crusade"]=10, + ["Absence of Nihility"]=10, + ["Abstract Transcendence"]=10, + ["Abstraction of Men"]=10, + ["Accepting Chaos"]=10, + ["Action at a Distance"]=10, + ["Addiction of the Obscure"]=10, + ["An Idiot's Fate"]=10, + ["Animus Nocturnus"]=10, + ["Annihilative Symmetry"]=10, + ["Apocalyptic Inverted Star"]=10, + ["Apocalyptic Life"]=10, + ["Among The Failing Stars"]=10, + ["Artificial Lightning Phenomenon"]=10, + ["As the Journey Begins"]=10, + ["As The Mirror Shatters"]=10, + ["Banished Chaotic Perceptions"]=10, + ["Beauty in Binary Death"]=10, + ["Beyond the Subliminal"]=10, + ["Bitter Season"]=10, -- Silent Hill + ["Black Fairy"]=10, -- Silent Hill + ["Black Sky Symmetry"]=10, + ["Blasphemous Iconograph"]=10, + ["Bleed Me a River"]=10, + ["Blessed Be Thy Cosmos"]=10, + ["Bodies of Venus"]=10, + ["Broken Strings"]=10, + ["Brush Off"]=10, + ["Burning Creation"]=10, + ["Calculating The Catalyst"]=10, + ["Chaotic Lunar Rhythm"]=10, + ["Choir of Cosmic Souls"]=10, + ["Chthonic Possession"]=10, + ["Coordinates to the Nightmare"]=10, + ["Constructive Deconstruction"]=10, + ["Dance With The Night Wind"]=10, -- Silent Hill + ["Dark Matter Dimensions"]=10, + ["Darkness That Lurks in Our Minds"]=10, -- Silent Hill + ["Delay's Progression"]=10, + ["Delusions of Space-Time"]=10, + ["Despair Among The Zenith"]=10, + ["Detachment From Reality"]=10, + ["Dream-Prism"]=10, + ["Driving Off the Weak"]=10, + ["Emotional Enigmatic Storms"]=10, + ["Elusive Dark Dreams"]=10, + ["Eternal Timeframe"]=10, + ["Evil Has No Boundries"]=10, + ["Expendable Nightmares"]=10, + ["Firedancer"]=10, + ["Flauros"]=10, + ["Forgotten But Not Gone"]=10, + ["Fragility of Light"]=10, + ["Fury of Sol"]=10, + ["Funeral Waltz"]=10, + ["Hell Besides You"]=10, + ["Hell's Black Metal"]=10, + ["Holographic Suicide"]=10, + ["Howling Solar Storms"]=10, + ["Hydra"]=10, + ["Iconoclastic Death Tempest"]=10, + ["Illusive Rust Titans"]=10, + ["Interlude?"]=10, + ["Into Danger"]=10, + ["Into Misery"]=10, + ["Keepers of the Veil"]=10, + ["Knights of Abstraction"]=10, + ["Life, Death, Rebirth, Gunfire"]=10, + ["Lunar Fusion Catalyst"]=10, + ["Lunacy of the Twin Stars"]=10, + ["Machinations of the Illusion"]=10, + ["Mind Machines"]=10, + ["Mirage"]=10, + ["Mon Ame Noir"]=10, -- "My Black Soul" + ["More Than Hate"]=10, + ["My Justice For You"]=10, -- Silent Hill + ["Never End Never End Never End"]=10, -- Silent Hill + ["New Death Sensation"]=10, + ["Neurons of the Ghost"]=10, + ["Nightmarish Oscillation Machine"]=10, + ["No Legacy Left Behind"]=10, + ["Nothing Lasts Forever"]=10, + ["Obscure Clarity of Death"]=10, + ["Ocularis Infernum"]=10, -- "Ocular Hell" + ["Of Hell and Kinetics"]=10, + ["One Foot in the Grave"]=10, + ["Only You"]=10, + ["Orchestrate The Infinite"]=10, + ["Oscillative Revenants"]=10, + ["Pariah"]=10, + ["Passive Destruction"]=10, + ["Persecutive Solar Death"]=10, + ["Pitch Black Progress"]=10, + ["Power Perception"]=10, + ["Prelude of Dusk"]=10, + ["Prophetic Void Illusions"]=10, + ["Prey of the Catalyst"]=10, + ["Prismatic Mushroom Helix"]=10, + ["Proper Lunar Timeframe"]=10, + ["Prismatic Firestorm"]=10, + ["Purity of the Planets"]=10, + ["Quantum Consciousness Deviation"]=10, + ["Rain"]=10, + ["Razor Red Prismatic Death"]=10, + ["Ruins of the Solar Towers"]=10, + ["Sabbath Burning Sabbath"]=10, -- Play on Black Sabbath's "Sabbath Bloody Sabbath" + ["Scars"]=10, + ["Sculpture Void"]=10, + ["Shadowvoid Sun"]=10, + ["Sickness Unto Wicked Death"]=10, + ["Sins of the Solar System"]=10, + ["Smug Yet Destructive"]=10, + ["Speakers of Truth and Time"]=10, + ["Staircase To The Abyss"]=10, -- Silent Hill + ["Stars of Stone"]=10, + ["Storm of Illusions"]=10, + ["Stream of Oscillative Moons"]=10, + ["Summer Snow"]=10, -- Silent Hill + ["Sun, Moon, Earth"]=10, + ["Symmetric Death"]=10, + ["Synchronized Chaos Waves"]=10, + ["Tampering With The Unknown"]=10, + ["Tears Of..."]=10, -- Silent Hill + ["That Dead Day"]=10, + ["The Blade"]=10, + ["The Breaking Point of Light"]=10, + ["The Great Collapse"]=10, + ["The Manifest"]=10, + ["The Prism Spheres Beyond"]=10, + ["The Quantum Star Incident"]=10, + ["The Road To Ruin"]=10, + ["The Sphere of Desire"]=10, + ["This River Runs Dry"]=10, + ["Three-Dimensional Shadows"]=10, + ["Traumatic Time Scar"]=10, + ["Time Barons"]=10, + ["Through the Obscure"]=10, + ["Underneath the Shadow Storm"]=10, + ["Veils of the Cosmic Void"]=10, + ["What Fuels The Ghosts"]=10, + ["You're Not Here"]=10, -- Silent Hill + ["You're Not Here, Right?"]=10, + + -- Foreign shit for the luls + ["Chaos und Verachtung"]=10, -- "Chaos and Contempt" + ["No se puede inventar esta mierda"]=10, -- "You Can't Make This Shit Up" in Spanish + + -- End of 2021 additions + ["Angles of Hell"]=10, + ["Among Predaceous Cliffs"]=10, + ["Ascending the Unknown"]=10, + ["Choice and Consequence"]=10, + ["Crafting the Demise"]=10, + ["Everything Has Its Place"]=10, -- Chapter name from Dead Space 3 + ["Hell's Heavy Burden"]=10, + ["History's Ember"]=10, -- Chapter name from Dead Space 3 + ["Reaching the Sky"]=10, + ["Rude Awakening"]=10, + ["Testing One's Limits"]=10, + ["The Fading Skies"]=10, + ["The Long Way Forward"]=10, + ["Turning the Page"]=10, + + -- 2022 marker, now with me combing through my music collection for names! (16k songs!) -A + ["...Again it Shall Be"]=10, + ["A Shadowplay for Yesterday"]=10, + ["Achtung!"]=10, -- "Attention!" in German + ["Addicted to Sin"]=10, + ["Admitting Fear"]=10, + ["Adrenaline Rush"]=10, + ["After"]=10, + ["Apocalyptic Visions"]=10, + ["Approaching Death"]=10, + ["Autumn Overture"]=10, + ["Beginning of a Nightmare"]=10, + ["Behind the Times"]=10, + ["Between the Abyss"]=10, + ["Beyond Northern Waves"]=10, + ["Blackness that Lurks in our Heart"]= 10, -- Akira Yamaoka - "The Darkness that Lurks in our Mind" (Silent Hill Soundtrack) + ["Breaking Silence"]=10, + ["Bring it On!"]=10, + ["Celestial Crimes"]=10, -- 1349, I think? + ["Chaos and Confusion"]=10, + ["Clavicula Nox"]=10, + ["Clawhammer"]=10, -- Silent Hill + ["Completely Unprepared"]=10, + ["Crippled Beyond Belief"]=10, + ["Crisis of Life"]=10, + ["Death in Your Eyes"]=10, + ["Death, Why Do I Envy You?"]=10, + ["Disciples of Death"]=10, + ["Disconnected Magnetic Corridors"]=10, + ["Doomsower"]=10, + ["Elastic Inverted Visions"]=10, + ["Face the Nightmare"]=10, + ["Free Will Sacrifice"]=10, + ["From the Dark Past"]=10, + ["He Who Walks Further"]=10, + ["Heaven Give Me Say"]=10, + ["How Much is Enough?"]=10, + ["I am The Black Demons"]=10, + ["Illusions of Life"]=10, + ["In the Lies Where Upon You Lay"]=10, + ["Inspiration on Demand"]=10, + ["King of the Kill"]=10, + ["Lex Obsidianis"]=10, + ["Let the New Day Begin"]=10, + ["Metallic Storm"]=10, + ["Nether Novas"]=10, + ["Nihilist Nexus"]=10, + ["Not Going Anywhere"]=10, + ["Of Monochrome Nights"]=10, + ["One Man's Failure"]=10, + ["Only Silent Skies"]=10, + ["Paled Empty Spheres"]=10, + ["Premonition"]=10, + ["Rain"]=10, + ["Reflections"]=10, + ["So Grim So True So Real"]=10, + ["Struck by Fate"]=10, + ["Take a Turn"]=10, + ["The Broken Ones"]=10, + ["The Chaos Drains"]=10, + ["The Cruel Transcendency"]=10, + ["The Emerald Parallax"]=10, + ["The First Noble Truth"]=10, + ["The Mental Abyss"]=10, + ["The Metal Creed"]=10, + ["Thrash It or Trash It"]=10, + ["Threnody"]=10, + ["Ultraviolence"]=10, + ["Unto Foolish Death"]=10, + ["View From The Nihil"]=10, + ["Voices and Victims"]=10, + ["Wail of Warning"]=10, + ["Warwolf"]=10, + ["When the Candle Fades"]=10, + ["When the Kite String Breaks"]=10, + ["World of Shit"]=10, + ["Would You, Could You?"]=10, + + -- Max Payne. Copied from EPISODE table. + ["A Cold Day in Hell"] = 10, + ["A Bit Closer to Heaven"] = 10, + ["Let Guns do the Talking"] = 10, + ["Fear That Gives Men Wings"] = 10, + ["Ragna Rock"] = 10, + ["Pain and Suffering"] = 10, + ["Take me to Cold Steel"] = 10, + ["The Deep Six"] = 10, + ["In The Land of the Blind"] = 10, + ["Hidden Truths"] = 10, + ["Byzantine Power Game"] = 10, + + ["Forget Being Subtle"] = 10, + ["Stepping on Toes"] = 10, + ["A Few Bullets Back"] = 10, + ["In The Crossfire"] = 10, + + ["Riding Shotgun"] = 10, + ["Ice Hard and Slick"] = 10, + ["Straight from a Bad Dream"] = 10, + + -- Max Payne 3 + ["Something Rotten in the Air"]=10, + ["Nothing But the Second Best"]=10, + ["Just Another Day At the Office"]=10, + ["Alive If Not Exactly Well"]=10, + ["Ain't No Reprievement Found"]=10, -- Shortened because it is very long + ["One Card Left To Play"]=10, + + -- Mid 2022 stuff.. + ["A World Long Dead"]=10, + ["Admiring One's Opponent"]=10, + ["Among the Endless Abysses"]=10, + ["Armageddon's Raid"]=10, + ["Baptism by ICBM"]=10, + ["Crosses, Death, Technology, Sin"]=10, + ["Deflier of Star Systems"]=10, + ["Destruction of Omniastic Society"]=10, + ["Doomed From the Beginning"]=10, + ["Dynasties from Ice"]=10, + ["Enigmatic Delights"]=10, + ["Erased and Forgotten"]=10, + ["Fate Forged in Name of Hate"]=10, + ["Fistfucking God's Planet"]=10, + ["Humanity is Broken"]=10, + ["Just A Little More Every Day"]=10, + ["Lunatic of God's Creation"]=10, + ["Misery Walks Among Thee"]=10, + ["Nuclear Death Terror"]=10, + ["Of Hideous Perspectives"]=10, + ["Severing Ties With This Earth"]=10, + ["Symmetry of Zero"]=10, + ["The Dying Lights of Umbrus"]=10, + ["Time's Edge"]=10, + ["To What Has Become of Us"]=10, + ["Unforgotten Treachery"]=10, + ["You Got It, I Want It"]=10, + ["Zealot"]=10, + + -- Late 2022 additions.. + ["A Scar For Every Dream"]=10, + ["Aversion to Life"]=10, + ["Begotten in Black"]=10, + ["Carnal Murder"]=10, + ["Crossing the Abyss"]=10, + ["Dampening Existence"]=10, + ["Derailed Morality"]=10, + ["Descending Shadows"]=10, + ["Destined to Rot"]=10, + ["Detestable Illumination"]=10, + ["Dreadful Consciousness"]=10, + ["Empowered by Battlespells"]=10, + ["Eternal Wheels of Life"]=10, + ["Eternity's Embrace"]=10, + ["Everflowing Sands of Time"]=10, + ["Extorted Evolution"]=10, + ["Eyes Ablaze"]=10, + ["Gutted Visions"]=10, + ["Haven Defiled"]=10, + ["In Perennial Twilight"]=10, + ["In the Waves of Darkness"]=10, + ["Inscription of Failure"]=10, + ["Law of Decay"]=10, + ["Lechery"]=10, + ["Letting Yourself Go"]=10, + ["Malevolent Firmament"]=10, + ["Meager Escapism"]=10, + ["Nameless and Faceless"]=10, + ["Obscure Affliction"]=10, + ["Obscure Evil"]=10, + ["Of a Moribund Vision"]=10, + ["Purging Nefarious Vortex"]=10, + ["Repaying Debt in Blood"]=10, + ["Righteousness Decayed"]=10, + ["Thoughts that Condemn"]=10, + ["Veil of Ignorance"]=10, + ["Virtus Tenebris"]=10, + ["Winds of Insanity"]=10, + + -- Marijuana related parody song names from death metal band Cannibis Corpse. + -- Their songs and album names are based off of other metal bands, Cannibal Corpse, + -- Bolt Thrower, Morbid Angel, etc. Made uncommon because of the silliness of the + -- track names. -A, Nov. 11th, 2022 + ["Blame it on Bud"]=3, + ["Chapel of Bowls"]=3, + ["Chronolith"]=3, + ["Effigy of the Forgetful"]=3, + ["Force Fed Shitty Grass"]=3, + ["Gallery of Stupid High"]=3, + ["Gateways to Inhalation"]=3, + ["In Battle There is No Pot"]=3, + ["In Dank Purity"]=3, + ["Left Hand Pass"]=3, + ["Lunatic of Pot's Creation"]=3, + ["Mummified in Bong Water"]=3, + ["Reefer Stashed Place"]=3, + ["Slave to the Chron"]=3, + ["Sworn to the Bag"]=3, + ["The 420th Crusade"]=3, + ["Where the Kind Lives"]=3 -- end marker + + }, + + -- end COMMON names + + v = + { + ["Curse of the"]=10, + + -- these from flyingdeath + ["Enter the"]=10, + ["Welcome to the"]=10, + ["Escape the"]=10, + ["Flight from the"]=5, + ["Journey to the"]=10, + ["Assault on the"]=15, + ["Death Awaits in the"]=5, + ["Hell in the"]=5, + + -- these by Reisal + ["Fear the"]=10, + ["Beware the"]=10, + ["Bane of the"]=10, + ["Scourge of the"]=10, + ["Ordeal of the"]=10, + ["Calamity in the"]=10, + ["Misdeed by the"]=10, + ["Dread the"]=10, + ["Shun the"]=10, + ["Plague of the"]=10, + ["Pain from the"]=10, + ["Death in the"]=10, + ["Chaos in the"]=10, + + ["Adventure to the"]=10, + ["A Jaunt to the"]=10, + + -- these by MSSP + ["Battle for the"]=15, + ["Battle through the"]=10, + ["Into the"]=10, + ["Operation"]=10, + ["Mission"]=7, + ["Objective:"]=7, + ["Counterattack in the"]=7, + ["Ambush in the"]=7, + ["Get to da"]=3, -- CHOPPAH!!! + ["War of the"]=10, + ["Return to"]=10, + ["Return to the"]=10, + + ["Raze the"]=8, + + -- these by Frozsoul + ["Revenge of the"]=10, + + -- command-like prefixes, some by Dante + ["Attack the"]=10, + ["Destroy the"]=10, + --["Shut Down the"]=15, + --["Patrol the"]=15, + ["Secure the"]=10 + --["Clear this"]=5, + --["Defend this"]=10, + + -- ^^^ Some of these sound pretty decent + -- so I enabled them. Things like shutting down + -- patrolling, defending, etc. are too explicit. + -- MSSP + } + }, + + divisors = + { + a = 10, --\ + b = 10, -- adjectives + h = 10, --/ + + n = 50, -- noun: Base, Station, City (etc) + m = 3, -- monster name: Demon, Imp, Mummy (etc) + e = 3, -- evil being: Satan (etc) + + t = 1, -- article: The XX + v = 20, -- phrase before a noun: Curse of the XX + r = 40, + + s = 1000 -- single complete names + } + }, + -- end of 'COMMON' theme + + -------------------------------------------------- + + CASTLE = + { + patterns = + { + -- lexicon legend: + -- %e = Entity + -- %a = Adjectives + -- %n = Places + -- %h = Explicit description (e.g. I am Satan, "Arena of ") + -- %o = Implicit description (e.g. I am Satanic, "Arena of ") + -- %v = Prefixed phrase (as per COMMON table e.g. " Arena) + + ["%a %n"] = 60, + ["%t %a %n"] = 20, + + --["%a %n %x"] = 20, + --["%t %a %n %x"] = 8, + + ["%n of %h"] = 26, + ["%a %n of %h"] = 10, + ["%a %n of the %o"] = 10, + + ["%e's %n"] = 10, + ["%e's %a %n"] = 8, + ["%e's %n of %h"] = 6, + ["%e's %n of the %o"] = 6, + + ["%v %n"] = 25, + ["%v %a %n"] = 25, + + ["%s"] = 100, + + ["Killing for %e"] = 3, + ["Killing in %e's name"] = 3, + ["Dying for %e"] = 3, + ["Dying in %e's name"] = 3, + ["Unworthy for %e"] = 3, + ["%e's Bitch"] = 2, + }, + + lexicon = + { + t = + { + The=50, + }, + + e = + { + Romero=1, -- the Icon of Sin + + -- Judeo-Christian literature evil stuff (includes Ars Goetia) + Satan=10, ["The Devil"]=7, Lucifer=7, Amon=3, Agares=3, + Malthus=3, Beelzebub=3, Moloch=3, + Xezbeth=3, Botis=2, Sitri=2, Mammon=3, Saleos=3, + Haborym=3, Raum=2, Forcas=3, + Ipos=3, Xezbeth=3, Abaddon=3, Phenex=2, + Baal=3, Berith=3, -- isn't this like the same guy, just his first and last name? + Haagenti=3, Caim=2, Seir=3, Nybbas=2, + Astaroth=2, Leviathan=1, + Pithius=3, Lempo=3, Kasdeya=3, + + -- OMG THEY'RE FRENCH?! + Balber=3, Carreau=3, Carnivean=3, + Oeillet=3, Rosier=2, Luvart=2, + Verrier=2, Olivier=2, Verrine=3, + -- They sound so undemonic you could almost + -- believe they're names of beautiful French + -- people sitting in a cafe while having + -- some cheese and wine + + Dante=5, + + Ahazu=3, --Wikipedia + Abezithibou=2, Abyzou=2, Agaliarept=2, + Asmodeus=3, Azazel=3, Balam=3, + Baphomet=3, Barbas=3, Barbatos=3, + Belial=3, Beleth=3, Bifrons=1, + Caim=2, Corson=2, Crocell=2, Dantalion=3, + Demogorgon=3, Eisheth=3, Focalor=3, Foras=3, + Forneus=3, Gaap=3, Gaderel=2, Gamigin=2, + Gremory=3, Gusion=1, Legion=5, Lilith=5, + Malphas=3, Marax=3, Marchosias=3, Merihem=3, + Murmur=3, Naamah=3, Naberius=3, Orias=3, + Orobas=2, Ose=2, Paimon=3, Penemue=3, + Pruflas=3, Rahab=3, Renove=2, Sabnock=3, + Samael=3, Sitri=2, Soneillon=3, + Salpsan=3, Shedim=3, Stolas=3, Surgat=3, + Tannin=3, Ukobach=3, Valac=3, Vapula=3, + Valac=2, Vepar=3, Zagan=3, Zepar=3, Ziminar=3, + + Titivullus=3, Belphegor=3, + + Korah=3, + + -- Native American stuff + Dzoavits=2, Wendigo=3, Vucub=3, Wechuge=2, + + -- Greek stuff + Abraxas=3, Chimera=5, Minotaur=5, Pandora=1, Minos=2, + Cerberus=5, Typhon=3, Echidna=3, Arachne=3, Medusa=3, + Atropos=3, Thanatos=3, Nyx=2, Sthenno=3, + + -- Roman evil stuff + Hades=3, Orcus=3, Mefitis=3, Morta=3, + Mors=3, Nox=2, Vediovus=3, Tuchulcha=3, + Vanth=3, + + -- Nordic stuff + Loki=3, Hel=3, Skadi=3, Aegir=3, Ran=3, + Ymir=3, Fenrir=3, Jormungand=3, Nidhogg=3, + Skoll=2, Hati=2, Surt=2, Garm=3, + + -- Egyptian stuff + Ammit=3, Apep=3, Kek=2, Set=3, Shezmu=3, + Anti=2, Anzus=2, Apophis=3, + + -- Germanic stuff + Mephisto=3, Faust=3, Bilwis=2, + + -- Polish stuff + Boruta=3, + + -- Arabic stuff + Jinn=2, Deccal=3, Iblis=3, Ifrit=3, Dajjal=3, + Azar=3, Firawn=3, Haman=3, Jault=3, Samiri=3, + + -- Slavic stuff + Rusalka=3, Chernevog=3, Jeretik=3, Vila=3, + + -- Indonesian stuff + Barong=2, Pocong=2, Pontianak=2, Rangda=2, + Suanggi=2, Toyol=2, + + -- Iranian stuff + Astovidatu=3, Indra=3, Vaya=3, Zarich=3, + + -- Filipino! + Batibat=2, Danag=2, + + -- Here come the Lovecraftians! + Ktulu=2, Dagon=3, Nyarlathotep=2, + + -- civilizations that don't even exist anymore + -- evil stuff (Sumerians, Akkadians etc.) + Erishkigal=3, Utukku=3, Namtar=2, Lamashtu=2, + Ninurta=3, ["Ardat Lili"]=2, Asag=2, + + -- Diablo games + Diablo=7, Andariel=3, Duriel=3, Belial=3, + Azmodan=3, Rakanoth=3, Inarius=3, Izual=3, + Adria=1, ["Tal Rasha"]=2, + + -- comics, TV + Helgor=3, Eligos=3, + + -- Dungeons and Dragons / Pathfinder + -- note: a lot of these names are probably borrowed + -- from elsewhere (i.e. real world cultures) so they + -- should be sorted into there instead... + Yeenoghlu=3, Adimarchus=3, Lolth=3, + Gresil=2, Jubilex=3, Kerzit=2, Caasimolar=3, + + -- Warhammer 40k + Nurgle=2, Khorne=2, Tzeentch=2, Slaanesh=2, + + --==| couldn't figure it out |==-- + --+ totally no clue + Ceren=2, Dozod=2, Kalrac=2, Quenna=3, + + Draco=2, -- it's Latin for dragon but I don't know anything else more specific + Ouroboros=5, -- actually sort of a neutral symbol + + -- Hexen? + Vuradi=2, + + --+ Are these book authors? They don't seem to be the 'demonic' sort. + Oltion=2, Orgel=2, + + --+ Is this supposed to be Balrog from LotR or a variant from other media? + Balrok=3, + + -- Chaos Lords + -- See: https://en.wikipedia.org/wiki/Law_and_Chaos + Arioch=3, Mabelode=3, Urleh=3, Xiombarg=3, + + -- Demonology A-Z names, see: https://hellhorror.com/demon-names-list-A/ + Abatu=3, Abdiel=3, Abduxuel=3, Abezethibou=3, Adramelech=3, Angrboda=3, Apollyon=3, + Asakku=3, Atazoth=3, Flauros=3, Glasyalabolas=3, Jezebeth=3, Merihim=3, Morax=3, + Nicor=3, Nybbas=3, Nysrogh=3, Onoskelis=3, Philatanus=3, Sonneillon=3, Sorath=4, + Thamuz=3, Valafar=3, Verdelet=3, + + + -- Obsidian contributor names + NOUNMEMBERS = 90, + + NOUNGENEXOTIC = 700 + }, + + a = + { + -- size + Monumental=5, Colossal=10, Sprawling=5, Massive=5, + Small=3, Endless=10, Gigantic=5, Mighty=5, Enormous=5, + Giant=3, Great=3, Elephantine=3, Grand=3, Gargantuan=5, + Imposing=5, Monstrous=5, Prodigious=3, Maximum=5, + + -- generic scales? + Raw=2, Sheer=10, + + -- location + Underground=10, Subterranean=5, + Cloaked=3, Hermetic=3, + Occult=10, Surreptious=15, + Inner=15, Abysmal=10, Deepest=15, + Concealed=7, Clandestine=5, Outer=5, + Outlying=5, + + -- age + Elder=15, Ancient=15, Eternal=5, + Eldritch=7, Archaic=7, + + -- color + Black=5, Gray=5, Red=5, Crimson=5, + Ochre=5, Ashen=5, + + -- dirty + Foul=10, Defiled=10, Ravished=5, Murky=3, + Begrimed=5, Filthy=5, Sloven=5, + Stagnant=7, Rancid=10, Rotten=15, Festering=5, + Fractured=5, Entombed=5, Vile=15, + Revolting=10, Putrid=5, Skinned=3, + Fallen=10, Stinking=1, Grungy=3, + Smoky=5, Flagrant=20, Aching=5, + Acrid=5, Fetid=2, + + -- contents + --+ guts n stuff + Blood=20, Bloody=5, Blood_filled=3, + Blood_stained=2, Blood_soaked=3, + Bleeding=3, + --+ fire and brimstone + Burning=20, Burnt=5, Scorching=5, + Melting=5, Red_Hot=5, + Lava=5, Lava_filled=3, Magma=5, + Monstrous=15, Monster=5, Zombie=10, + Demonic=15, Demon=5, Ghoulish=5, + Haunted=10, Ghostly=15, Ghastly=5, + Cyberdemon=5, Necromancers=5, Mastermind=5, + --+ monarchs + Queens=5, Princes=5, Arch_Duke=5, + Dukes=5, Kings=5, Royal=5, Squire=4, + Baron=5, Knights=7, + --+ pagans + Wizard=5, Warlock=2, Wiccan=3, + Heathen=3, + --+ dirty poor guys + Rat_infested=5, Downtrodden=3, + Slime=5, + + -- descriptive + Nebulous=5, + Oppressive=5, + + Gothic=7, Orphic=3, + + -- scary-wary + Ominous=20, Terrifying=5, Gruesome=10, + Gloomy=5, Awful=10, Execrable=10, Uncanny=15, + Horrible=10, Horrendous=10, Screaming=3, + Dismal=10, Dank=5, Frightful=5, + Dreaded=15, Nightmare=5, Dolor=5, + + -- authority + Sovereign=7, Triumph=2, + + -- danger/fatalism + Brutal=20, Grisly=15, Tortuous=10, + Disastrous=2, Ill_fated=10, Frail=3, + Fatal=10, Final=5, Terminal=2, Painful=5, + Deadly=3, + + -- magical (neutral) + Mystic=7, Mystical=2, Magical=2, Magic=2, + Arcane=5, Esoteric=5, Abstruse=3, + + -- bad personal qualities + Cruel=5, Crass=2, Sullen=10, Bitter=7, + Uncivilised=2, Vexatious=5, Perverse=5, + Morbid=10, Loathsome=5, Vulgar=5, + Wretched=3, Caustic=5, Shameful=5, + + -- neutral personal qualities (hey, I'm a quiet guy -MSSP) + Silent=5, Enigmatic=5, Shameless=3, + Godless=5, God_forsaken=7, Ungodly=3, -- does putting this here + Sacreligious=5, Unspiritual=2, -- reveal too much about + -- my own opinions? -MSSP + + -- good personal qualities (why though?) + Poignant=3, + + -- explicitly very evil + Evil=30, Unholy=20, Wicked=15, + Abhorrent=3, Abominable=5, Bestial=5, + Direful=2, Execrated=2, Hexed=3, + Immoral=5, Impure=5, Utmost=5, + Merciless=7, Pestilent=5, Profane=5, + Vicious=10, Violent=10, Desecrated=5, + Accursed=5, Malodorous=5, Despicable=2, + Heinous=5, Mephitic=2, Peccant=5, + Sordid=2, Grievous=2, Ferine=2, Sinful=5, + Unblessed=3, Unsanctified=2, Despoiled=3, + + Immortal=3, + + -- abandonment/disrepair/negligence + Detested=5, Ruined=5, Barren=5, Feeble=3, Dilapidated=5, + Flimsy=3, Corroded=5, Derelict=5, Frail=3, Crumbling=4, + Decrepid=3, Desolate=10, Forgotten=10, Rickety=5, Dusty=3, + Decaying=3, + + -- holy + Ceremonial=5, Liturgical=5, Solemn=5, Deistic=5, Sanctified=5, + Divine=5, Devout=5, Sacerdotal=5, Sacred=5, Spiritual=5, + Clerical=5, Hallowed=5, Cherished=5, Revered=5, Venerable=5, + Angelic=5, Consecrated=5, Enshrined=5, Numinous=5, + + -- material + Adamantine=5, Bronze=5, Copper=5, + Rocky=5, Stone=5, Masonic=5, + Iron=5, Steel=5, Hellforged=5, + Obsidian=5, Mythril=5, + Rusted=5, Guilded=5, God_Forged=3 + }, + + n = + { -- MSSP-TODO: this area needs some more sorting (merge categories) + -- places + --+ burials + Crypt=20, Tomb=15, Graveyard=10, + Cloister=5, Sepulcher=7, Hecatomb=3, + Catacombs=10, + --+ neutral underground + Pit=10, Cavern=10, Cave=5, Chasm=5, Ravine=5, + Lair=15, Den=7, Abyss=5, Gulch=5, Gorge=5, + --+ neutral aboveground + Wasteland=15, Town=5, Ghetto=2, City=5, + Well=5, Realm=10, Domain=10, Gulf=5, + Hive=5, Abode=15, Township=7, Hamlet=7, + Municipality=7, Community=5, + --+ terrain + Valley=10, River=5, Lowland=5, Plain=5, Vale=5, + Coulee=5, Gully=5, Channel=5, + --+ temples + Grotto=15, Chapel=10, Church=7, + Mosque=5, Cathedral=5, Tabernacle=3, + Palace=5, Citadel=5, Abbey=5, + --+ building sections + Hall=7, Rooms=3, Chamber=10, + + -- terrain + Mountains=2, Swaths=2, Crags=3, Shores=5, + + -- generic locations (not necessarily religious + -- in nature nor exclusive to hell) + Tower=3, Gate=3, Village=3, Sanctuary=3, + Prison=3, Sanctum=10, Arena=3, Spire=10, + Demesne=5, Canton=5, Settlement=5, Dominion=5, + Province=5, Protectorate=5, + + -- weird ones + Communion=5, Monolith=5, Crucible=5, + Excruciation=1, Abnormality=1, + Hallucination=1, Teracculus=2, + Ceremony=3, Threshold=3, + Ache=2, Apocalypse=1, Resurrection=5, + Absolution=5, Crux=5, Culmination=5, + Sacrament=5, Plight=5, Liturgy=5, + Choir=5, + + -- Shadiversity approved castle parts -MSSP + Ramparts=8, Keep=10, Gatehouse=8, + Bailey=5, Barbican=5, Well=10, + Motte=4, Battlements=10, Ward=7, + Turrets=3, Oubliette=3, Stockades=3, + Bartizan=3, Brattice=3, Postern=3, + Cistern=3, + + -- temples of sorts + Temple=20, + Basillica=3, Chapel=10, Monastery=10, + Abbey=10, Monastery=10, Friary=3, + Priorate=5, Lamasery=3, Convent=10, + Hermitage=5, Ziggurat=10, Bethel=3, + Parish=3, Sacellum=3, + + --+ parts of temples + ---+ (based on Greek architecture) + Cella=3, Terastyle=2, Hexastyle=2, + Dipteral=3, Anta=3, Tholos=3, + Peripteral=3, Hypostyle=2, + + ---+ (based on old Jewish stuff) + Soreg=2, Hekhal=2, Debir=1, + + -- modern-ish church bits + Baptistery=3, Ciborium=3, Nave=3, + Clerestory=3, Transept=5, Scriptorium=7, + Synagogue=10, Belfries=2, Pulpitum=3, + Dais=3, Feretory=5, Maqsurah=3, + Peripteral=3, Chantry=3, Font=2, + Sacristy=3, Narthex=5, Altar=7, + Shrine=10, + + Plumbery=2, + + Monstrance=3, Reliquary=10, + + --+ stuff priests own + Parsonage=3, Vicarage=3, Rectory=3, + Clege=3, Presbytery=3, Benefice=3, + Manse=3, + + --+ groups of priests + Clergy=1, Cardinalate=2, Conclave=3, + Pastorate=2, Rabbinate=2, Canonry=3, + Deaconry=3, Order=3, + + --+ districts of church/religious offices + Diocese=3, Episcopate=3, Prelacy=3, + Bishopric=3, Curacy=3, Chancellery=5, + + -- deady stuff + Mausoleum=15, Undercroft=5, Entombment=5, + Morgue=5, Labyrinth=5, Dungeon=10, + Cenotaph=5, Vault=10, Culverts=5, + + Domicile=5, + Library=15, + + -- medieval architecture + Collonade=5, Aisles=5, Ambulatory=3, + Apse=3, Arcade=10, Courts=5, + Billet=5, Hoarding=5, Loggia=3, + Oriel=3, Pier=5, Triforium=3, + Jetty=2, Pylon=5, + + -- generic architectural stuff + Banister=5, Gallery=5, + Parapet=5, Terraces=5, Banquette=2, + Balcony=3, Cusp=3, Portal=5, + Tribune=7, Vestibule=10, Atrium=10, + Monitor=5, Niche=10, Oculus=5, + Solar=5, Cellars=10, Alcoves=3, + + -- other synonyms for arena + Gridiron=3, Hippodrome=3, Pit=3, + Grounds=3, Stade=3, Strand=3, + Coliseum=3, + + -- synyonyms for slaughterhouse + Abattoir=3, Butchery=3, + + -- shapes + Dome=10, Quadrangle=3, Rotunda=2, + Circle=10, Triangle=3, Ring=5, + Oval=2, + + Pavillion=5, Monument=10, Garth=3, + Minaret=3, + + -- nest + Nest=10, Aerie=5, Haunt=3, + + -- prison + Durance=5, Captivity=3, Confinement=3, + Isolation=3, Duress=3, Remand=2, Thralldom=2, + Immuration=3, Bastille=2, Brig=3, + Sty=3, Antechamber=3, Hold=3 + }, + + h = -- explicit descriptions i.e. "Arena of Death", + { + -- fire and brimstone + Hell=10, Fire=10, Flames=10, + Darkness=10, Limbo=3, Souls=10, Shadows=10, + + -- violence + Carnage=10, Gore=5, Rapine=10, Liquidation=7, + Destruction=5, Doom=15, Butchery=10, + Flesh=10, Corpses=10, Bones=10, Havoc=10, + Viscera=5, Skulls=10, Bloodshed=10, Warfare=5, + + -- disaster + Tragedy=10, Famine=10, Chaos=15, Struggle=10, + + -- religious discord, that kind of fun stuff + Iconoclasm=10, Defection=10, + Blasphemy=10, Paganism=10, + Schism=10, Sectarianism=10, Sin=10, Mayhem=10, + Strain=5, Supplication=5, Witchcraft=5, + Heresy=10, + + -- definitely bad things + Fallacy=10, Deception=10, Infidelity=10, + Suffering=5, Torment=10, Torture=10, + Treachery=5, Lunacy=5, Woe=5, + + -- emotions and physical pain + Horror=10, Terror=10, Death=15, + Sorrow=10, Hate=10, Misery=10, + Pain=15, Fear=5, Trauma=10, + Agony=10, Anguish=10, + + -- negative emotions made manifest + Whispers=5, Tears=3, Screams=5, + + Dread=5, Fate=5, Locusts=2, Erebus=5, Lethe=2, + Reckoning=5, Minos=3, Hades=7, Acheron=5, + Leviathan=5, Baphomet=5, Devils=10 + }, + + o = -- implicit objects e.g. "Arena of the Doomed", + { + -- entities + --+ alive people + Denizens=10, Emissary=10, Seer=10, + Wretched=10, Vicar=10, + --+ dead people + Dead=10, Fallen=10, Possessed=10, + Undead=10, + --+ bad folk + Betrayers=10, Corpsegrinder=10, Destroyer=10, + Necromancer=10, Sinner=10, Wicked=10, + Witches=10, Unmaker=10, + --+ ir/religious figures + Acolyte=10, Apostates=10, Missionary=10, + Priest=10, Prophets=10, Neophyte=10, Oracle=10, + Saints=10, Zealots=10, + --+ creatures + Beast=10, Behemoth=10, Minions=10, + + -- personal qualities + --+ outright evil + Abhorrent=10, Barbaric=10, Deplorable=10, + Depraved=10, Diabolical=10, Ghastly=10, Impure=10, + Insidious=10, Infernal=10, Malevolent=10, + Malicious=10, Nefarious=10, Ruthless=10, + Sinister=10, + --+ negative + Angry=10, Belligerent=10, + Baneful=10, Crooked=10, Decayed=10, + Deceitful=10, Deceptive=10, Dishonored=10, + Disobedient=10, Dreadful=10, Dreary=10, + Dying=10, Enraged=10, Gloomy=10, + Grotesque=10, Foul=10, + Grisly=10, Gruesome=10, Gullible=10, + Hateful=10, Hideous=10, Insane=10, + Knavish=10, Loathsome=10, + Obscene=10, Savage=10, Sick=10, + Spiteful=10, Ugly=10, Vicious=10, + Vile=10, + --+ neutral + Cunning=10, Unheard=10, Unknown=10, + + -- weird + Absurd=10, + + -- age + Ancient=10, Archaic=10, + + -- damage states + Blackened=10, Bleak=10, Bleeding=10, + Corroded=10, Corrosive=10, Deformed=10, + Dismal=10, Exposed=10, Gutted=7, Exenterated=5, + Ruined=10, Collapsed=5, Decimated=5, + + -- tainted + Chaotic=10, Corrupt=10, Defiled=10, + Noxious=10, Poisoned=10, Putrid=10, + Repulsive=10, Rotten=10, Tainted=10, + + -- abandoned + Condemned=10, Damned=10, Decaying=10, + Desolate=10, Dissolute=10, Forgotten=10, + Forsaken=10, + + -- things that cause anxiety + Failures=10, + + -- danger + Hazardous=10, Parlous=10, Perilous=10, + Treacherous=10 + }, + + s = + { + -- single complete level names + + ["Absent Savior"]=10, + ["Absolution Neglect"]=10, + ["All is Lost"]=10, + ["Alone Walking"]=10, + ["Ankle Deep in Blood"]=10, + ["Angelus Mortis"]=10, + ["Ashes to Ashes"]=10, + ["Architect of Troubled Sleep"]=10, + ["Atrocitic Hunt"]=10, + ["Atrophy of the Soul"]=10, + ["A Dream of Death"]=10, + ["A Putrid Serenity"]=10, + ["Aura of Filth"]=10, + ["A Vile Peace"]=10, + ["Awaiting Evil"]=10, + ["Bad Blood"]=10, + ["Baptised in Parasites"]=10, + ["Bathed in Viscera"]=10, + ["Bearer of Pain"]=10, + ["Beyond Death"]=10, + ["Beyond Fate"]=10, + ["Beyond the Apocalypse"]=10, + ["Black Moon"]=10, + ["Blazing Flames of War"]=10, + ["Bled Dry"]=10, + ["Blinded by Fear"]=10, + ["Blood Clot"]=10, + ["Bloodless Unreality"]=10, + ["Bloodstains"]=10, + ["Blood for Blood"]=10, + ["Blood Red Shadows"]=10, + ["Blood Throne"]=10, + ["Blood Vanity"]=10, + ["Bloody Mist"]=10, + ["Body and Soul"]=10, + ["Bonded by Blood"]=10, + ["Born/Dead"]=10, + ["Born in the Flames"]=10, + ["Birthplace of Fate"]=10, + ["Brotherhood of Ruin"]=10, + ["Buried Alive"]=10, + ["Burning Sea"]=10, + ["Cato's Escort"]=10, + ["Centromere"]=10, + ["Charred Flesh"]=10, + ["Cocoon of Filth"]=10, + ["Cold Comfort"]=10, + ["Collection of Corpses"]=10, + ["Compelled to Kill"]=10, + ["Cocytus"]=10, + ["Corpsehaven"]=10, + ["Corrupted"]=10, + ["Creeping Brutality"]=10, + ["Cries of Pain"]=10, + ["Crimson Tears"]=10, + ["Crown of Snakes"]=10, + ["Crucifix of the Damned"] = 10, + ["Cynicism of Vitality"]=10, + ["Dare to Dream"]=10, + ["Dark Citadel"]=10, + ["Dark Crusade"]=10, + ["Dark Echo"]=10, + ["Dark Light"]=10, + ["Darkness Ensues"]=10, + ["Dead Inside"]=10, + ["Dead Traditions"]=10, + ["Dead Words Speak"]=10, + ["Deadly Intentions"]=10, + ["Death Cycle"]=10, + ["Death Grate"]=10, + ["Death Spawn"]=10, + ["Death's Gratification"]=10, + ["Deathstay"]=10, + ["Defective Decay"]=10, + ["Demon's Gate"]=10, + ["Depths of Hatred"]=10, + ["Desquamation"]=10, + ["Destroyer of Worlds"]=10, + ["Diamortal"]=10, + ["Disdain and Anguish"]=10, + ["Disease"]=10, + ["Dissidence Volta"]=10, + ["Dithyamb of Sadism"]=10, + ["Dogma Destroyed"]=10, + ["Dreaming in Red"]=10, + ["Drowning the Light"]=10, + ["Durance of Hate"]=10, + ["Echos of the Dead"]=10, + ["Elderworld"]=10, + ["Embraced by Lucifer"]=10, + ["Emissary of Pain"]=10, + ["Empty Life"]=10, + ["End of Everything"]=10, + ["End of the Line"]=10, + ["Essence of Black"]=10, + ["Etherworld"]=10, + ["Evil Oath"]=10, + ["Extinction of Mankind"]=10, + ["Exuviated Offscouring"]=10, + ["Ezra's Influence"]=10, + ["Falling Sky"]=10, + ["False Promises"]=10, + ["Fear Catalyst"]=10, + ["Feed of Decay"]=10, + ["Feign Sympathy"]=10, + ["Fenchurch"]=10, + ["Fields of Gluttony"]=10, + ["Final Revelation"]=10, + ["Food for the Demons"]=10, + ["Freeze Mentality"]=10, + ["From the Deeps"]=10, + ["Frost and Fire"]=10, + ["Fucked by Fire"]=10, + ["Funeral of the Gods"]=10, + ["Ghost Trail"]=10, + ["Gore Galore"]=10, + ["Gottesmord"]=10, + ["Guttural Breath"]=10, + ["Half Light"]=10, + ["Hell Arrives"]=10, + ["Hell's Churn"]=10, + ["Hellfire"]=10, + ["Helpless"]=10, + ["Herald of Demons"]=10, + ["Hope is Dead"]=10, + ["Hopeless Despair"]=10, + ["Human Compost"]=10, + ["Human Insecticide"]=10, + ["Human Landfill"]=10, + ["Human Trafficking"]=10, + ["Hunted"]=10, + ["Incinerated Cross"]=10, + ["Infected Grave"]=10, + ["Iniquity Inferior"]=10, + ["Insolent Terror"]=10, + ["Internal Darkness"]=10, + ["I Stand Defiant"]=10, + ["Lava Love"]=10, + ["Left Hand Path"]=10, + ["Legion"]=10, + ["Lifecode Sin"]=10, + ["Locust Hide"]=10, + ["Lord of Destruction"]=10, + ["Lost in Oblivion"]=10, + ["Lychgate"]=10, + ["Made in Hell"]=10, + ["Mandatory Suicide"]=10, + ["Manifest Destination"]=10, + ["Marbellum"]=10, + ["Meltdown"]=10, + ["Menzobarranzen"]=10, + ["Myth of Progress"]=10, + ["Necessary Death"]=10, + ["Necromancide"]=10, + ["Necropolis"]=10, + ["Necrosis"]=10, + ["Nomen Luni"]=10, + ["Nothing Lasts Forever"]=10, + ["Obsidian Fragments"]=10, + ["Octarena"]=10, + ["Opus Satani"]=10, + ["Origin of Nausea"]=10, + ["Pain Eternal"]=10, + ["Panzer Pentagram"]=10, + ["Paranoia"]=10, + ["Parasitic Skies"]=10, + ["Path of a Fallen Angel"]=10, + ["Pazuzu's Run"]=10, + ["Pentadrome"]=10, + ["Perdition's Massacre"]=10, + ["Perished in Pain"]=10, + ["Perversitas Sancta"]=10, + ["Portal of No Return"]=10, + ["Post Combustion"]=10, + ["Punishment Defined"]=10, + ["Purgation in Molten Metal"]=10, + ["Purgatorio"]=10, + ["Razorfist"]=10, + ["Realm of Souls"]=10, + ["Red Dream"]=10, + ["Reduced to Dust"]=10, + ["Retribution Dawns"]=10, + ["Return to Hell"]=10, + ["Ripped Intestines"]=10, + ["Running Scared"]=10, + ["Sado-Masochistic"]=10, + ["Saint Scream"]=10, + ["Sacred Utopia"]=10, + ["Sanity's Edge"]=10, + ["Scourge of Humanity"]=10, + ["Sculptor of Flesh"]=10, + ["Sphacelus"]=10, + ["Satan's Disgust"]=10, + ["Satanic Propaganda"]=10, + ["Satanic Supremacy"]=10, + ["Sawn in Half"]=10, + ["Seven Deadly Sins"]=10, + ["Severe Burns"]=10, + ["Shallow Grave"]=10, + ["Shambled Dimension"]=10, + ["Shannara"]=10, + ["Sheol"]=10, + ["Sign of Evil"]=10, + ["Sinners Bleed"]=10, + ["Sins of Allegiance"]=10, + ["Sins of the Fallen"]=10, + ["Shadow Keep"]=10, + ["Skinfeast"]=10, + ["Skin Graft"]=10, + ["Skullbog"]=10, + ["Slow Death"]=10, + ["Soulburn"]=10, + ["Soul Scars"]=10, + ["Spheres of Madness"]=10, -- Song by Decapitated, a Polish death metal band + ["Spiritual Madness"]=10, + ["Stained Tombs"]=10, + ["Stripped of Flesh"]=10, + ["Stygiophobia"]=10, + ["Sympathy Denied"]=10, + ["The Bleeding"]=10, -- Doom 64 + ["The Heretic's Touch"]=10, + ["The Rotted Foul"]=10, + ["Time and Dust"]=10, + ["Terminal Filth"]=10, + ["The Ecomium of Terror"]=10, + ["The Sun Never Rises"]=10, + ["The Yawning Abyss"]=10, + ["Thinning the Horde"]=10, + ["Tomb of Souls"]=10, + ["Trialed in Flames"]=10, + ["Trivial Anguish"]=10, + ["Twisted Beyond Reason"]=10, + ["Tyranny"]=10, + ["Unhealing Wounds"]=10, + ["Vertigone"]=10, + ["Vomitorium"]=10, + ["Weaving Darkness"]=10, + ["Well of Souls"]=10, + ["What Color is Death?"]=10, + ["Where No Light Is"]=10, + ["Where Shadows Live"]=10, + ["Wrapped in Barbwire"]=10, + ["Ziggurat"]=10, + ["Zoweseandek"]=10, + + ["Divine Intoxication"]=10, + ["Dying for It"]=10, + ["Infernal Directorate"]=10, + ["Glutton for Punishment"]=10, + ["Gore Soup"]=10, + ["Kill Thy Neighbor"]=10, + ["Murderous Intent"]=10, + ["No Sanctuary"]=10, + ["Out for Revenge"]=10, + ["Rampage!"]=10, + ["Rip in Reality"]=10, + ["Reaper Unleashed"]=10, + ["Searching for Sanity"]=10, + ["Slice 'em Twice!"]=10, + ["Sorrowful Faction"]=10, + ["Taste the Blade"]=10, + ["Traces of Evil"]=10, + ["Twists and Turns"]=10, + ["Voices in the Blood"]=10, + ["Welcome to the Coalface"]=10, + ["You Can't Handle the Noose"]=10, + + -- Reisal adds new names + ["Segmentus Infernus"]=10, + ["Voidborne"]=10, + + -- Reisal adds even more names, 2020 Edition + ["Apocalyptic Prophecy"]=10, + ["Artwork of Affliction"]=10, + ["Blood Red Sunshine"]=10, + ["Chaotic Malfeasance"]=10, + ["Compulsive Psychosis"]=10, -- Hypocrisy song, melodic death metal + ["Crushed Will"]=10, + ["Death and Dreaming"]=10, + ["Dessicated and Devoured"]=10, + ["Destruction of Free Will"]=10, + ["Hellsower"]=10, + ["Hellwave Catalyst"]=10, + ["Honor of the Demons"]=10, + ["Human Cattle"]=10, + ["Human Hunting Grounds"]=10, + ["Left Limbless"]=10, + ["Musings of a Demon"]=10, + ["Nocturnal Devotion"]=10, + ["Obelisk of Timelessness"]=10, + ["Only Death Matters Here"]=10, + ["Oscuridad y Muerte"]=10, -- Darkness and Death. Please fix if incorrect. + ["Profundis Inferni Convivae"]=10, -- Depths of Hell. Please confirm. + ["Processed and Discarded"]=10, + ["Pure Blasphemy"]=10, + ["Sanguine Plataeu"]=10, + ["Shattered Reality"]=10, + ["Tribute to the Dark Ones"]=10, + ["Unto the Unhallowed Abyss"]=10, + ["Wretched Mortal Form"]=10, + + -- 2020 end of year additions + ["A Harrowing Journey"]=10, + ["Anchors of Cruelty"]=10, + ["Barbequed Viscera"]=10, + ["Crispy Fried Epidermis"]=10, + ["Fissure of Blood"]=10, + ["Hell's Fortune"]=10, + ["Pure Peril"]=10, + ["Simply Macabre"]=10, + ["Towers in the Fog"]=10, + ["Weaving of the Artery"]=10, + + -- 2021 naming conventions from Armaerus + ["Abstractus Diabolis"]=10, + ["Agonizer Mortus"]=10, + ["Ash in the Eyes"]=10, + ["Blood Fountain"]=10, + ["Blood Overload"]=10, + ["Bodies for Sale"]=10, + ["Bodily Assimilation"]=10, + ["Chains of Suffering"]=10, + ["Death's Gratification"]=10, + ["Devil's Dilemma"]=10, + ["Divine Abjuration"]=10, + ["Doors To Nowhere"]=10, + ["Dominus Infernum"]=10, + ["Drizzled With Phlegm"]=10, + ["Emporium of Skulls"]=10, + ["Fearful Whispers"]=10, + ["Fueled by Tears"]=10, + ["Funeral Monolith"]=10, + ["Goat Worship"]=10, + ["Human Barbeque"]=10, -- Nod to Evilution + ["Human Garbage"]=10, + ["Intestinal Jumprope"]=10, + ["Killing Time, Killing You"]=10, + ["Lunacy of Mankind"]=10, + ["Melted from Within"]=10, + ["Nazarene's Scripture"]=10, + ["Organ Slushie"]=10, + ["Out of the Frying Pan"]=10, + ["Sermons of Sin"]=10, + ["Smoke and Misery"]=10, + ["Spectral Anomalies"]=10, + ["Tasty Human Giblets"]=10, + ["The Beauty in Impalement"]=10, + ["The Bitter Times"]=10, + ["The Grey of Winter"]=10, + ["The Hexvoid"]=10, + ["The Invocation of Fear"]=10, + ["Visions of Misery"]=10, + ["Void"]=10, + ["Windfall of Delerium"]=10, + ["Winds of Dusk"]=10, + ["Withered and Forgotten"]=10, + + -- More shit here. Hell names seem to be easiest to think of.. + ["Acceptance of Submission"]=10, + ["Another Day in Hell"]=10, + ["Ashen Crucifix"]=10, + ["Blood Winds"]=10, + ["Candles and Incense"]=10, + ["Cascade of Death"]=10, + ["Chainsaw Bisectioning"]=10, + ["Circle of Carrion"]=10, + ["Draped in Filth"]=10, + ["Drill it and Kill it"]=10, + ["Eternal Darkness"]=10, -- GREAT game! + ["Flames and Fury"]=10, + ["Frozen Fog"]=10, + ["Lead Us To Sin"]=10, + ["Lunar Funeral"]=10, + ["No Light Here"]=10, + ["Sins of the Icon"]=10, + ["Skeletal Rage"]=10, -- AHHHHHHHHHHHHHHHHHHHHHHHH + ["The Corpse Collector"]=10, + ["Unhallowed Purity"]=10, + ["Viviseduction"]=10, + ["We Shun the Light"]=10, + ["Wretched Human Mirror"]=10, -- Bloodbath song name + + -- End of 2021 naming convention by Reisal + ["Black As The Void"]=10, + ["Bubbling Blisters"]=10, + ["Corpse Dumpster"]=10, + ["Destructive by Design"]=10, + ["Fuel For The Hellpit"]=10, + ["Hatework"]=10, + ["Morbid Angels"]=10, -- Morbid Angel is a very good death metal band. + ["Shattered Suffering"]=10, + ["Terminal Hellocity"]=10, + ["Where Filth Resides"]=10, + + -- Foreign named things! + -- I used DeepL for nearly all of these instead of Google Translate.. + -- Please provide corrections if any of these are off/incorrect! + ["An Eine Wand Genagelt"]=10, -- "Nailed to a Wall" in German + ["Dreck, Pilze und Blut"]=10, -- "Filth, Fungi and Blood" in German + ["Donde Vagan los Muertos"]=10, -- "Where the Dead Roam/Wander" in Spanish + ["Facteur de Dissolution 666"]=10, -- "Dissolution Factor 666" in French + ["Feuerspiegel"]=10, -- "Fire Mirror" in German + ["Grzech I Ofiara"]=10, -- "Sin and Sacrifice" in Polish + ["L'Empire Des Inferna"]=10, -- "The Empire of Hell" in French + ["La Presa del Demone"]=10, -- "The Grasp of the Demon" in Italian + ["Las Ostrzy"]=10, -- "Forest of Blades" in Polish + ["Lasst uns Sterben!"]=10, -- "Let's Die!" / "Let us Die!" in German + ["Lixo Humano"]=10, -- "Human Trash/Waste/Garbage" in Brazilian Portuguese + ["Luurankopuutarha"]=10, -- "Skeleton Garden" in Finnish + ["Menschliche Reste"]=10, -- "Human Remains" in German + ["Puhdas Helvetti"]=10, -- "Pure Hell" in Finnish + + -- MSSP names: + ["Belshazzar's Feast"]=10, + ["Deep Rock Satanic"]=10, + ["First of the Nine Circles"]=10, + ["Mausoleum of History"]=10, -- quote from FreeSpace 2's intro + ["Meathooks"]=10, + ["The Needleworks"]=10, + + -- 2022 marker + ["1349"]=10, + ["Acheron"]=10, -- A very good early Doom1 map + ["Alla Xul"]=10, + ["Anti-God, Anti-Christ"]=10, + ["Archon"]=10, + ["As the Creatures Ascend"]=10, + ["Atrocious Humanity"]=10, + ["Ave Satanas"]=10, + ["Better Off Dead"]=10, + ["Black Gives Way to Blood"]=10, + ["Blackened Death's Embrace"]=10, + ["Blackened Sabbath"]=10, + ["Bleed for Ancient Gods"]=10, + ["Bleed Us An Ocean"]=10, + ["Bleeding Soul"]=10, + ["Blessed Black Wings"]=10, + ["Blight of God's Acre"]=10, + ["Blood of Seraphim"]=10, + ["Bolted to the Cross"]=10, + ["Book of Blood"]=10, + ["Chaotic Alliance"]=10, + ["Circle of Disease"]=10, + ["Damnation's Pride"]=10, + ["Dark Manifestations"]=10, + ["Dominator of Flesh"]=10, + ["End Of All"]=10, + ["Enter Thy Coven"]=10, + ["Flammenmanifest"]=10, + ["For the Sake of Death"]=10, + ["Forgotten Inferno"]=10, + ["Forgotten Tales"]=10, + ["Friends of the Hellcross"]=10, + ["From Their Coffined Slumber"]=10, + ["Funeral Bitch"]=10, + ["Gathering the Impure"]=10, + ["Glory Hole Hacksaw"]=10, + ["Gnawing Bones"]=10, + ["God is Dead"]=10, + ["God Made Filth"]=10, + ["Hate's Plague"]=10, + ["He Tells Lies"]=10, + ["Let's Die!"]=10, + ["Loving the Sinner"]=10, + ["Nightmare Waltz"]=10, + ["Raven's Eye View"]=10, + ["Roads to Acheron"]=10, + ["Room of Angel"]=10, + ["Satan's Hammer"]=10, + ["Secrets of Black Arts"]=10, + ["Sepulchral Winter"]=10, + ["The Claw of Religion"]=10, + ["Trip of Fire"]=10, + ["Unholy Praises"]=10, + ["Ways of the Magi"]=10, + ["Whispers in the Dark"]=10 -- end marker + + } + } + }, + -- end of 'CASTLE' theme + + -------------------------------------------------- + + BOSS = + { + patterns = + { + ["%s"] = 10, + }, + + lexicon = + { + s = + { + ["Angelic Exodus"]=10, + ["Arena of Terror"]=10, + ["Bad Neighbors"]=10, + ["Barrier"]=10, + ["Barons' Rhapsody"]=10, + ["Battle Royale"]=10, + ["Blast Through"]=10, + ["Bleed on Me"]=10, + ["Blessed Are the Quick"]=10, + ["Bloodbath"]=10, + ["Border Crossing"]=10, + ["Boss Cage"]=10, + ["Brick Wall"]=10, + ["Captured"]=10, + ["Caughtyard"]=10, + ["Checkmate"]=10, + ["Close Combat"]=10, + ["Coliseum"]=10, + ["Coronary Bypass"]=10, + ["Creepshow"]=10, + ["Cyberstomp"]=10, + ["Death Sentence"]=10, + ["Deicide Ultra"]=10, + ["Deliverance"]=10, + ["Die Hard"]=10, + ["Divider"]=10, + ["Dog Eat Dog"]=10, + ["Do or Die"]=10, + ["End of Days"]=10, + ["Execution"]=10, + ["Eye for an Eye"]=10, + ["Fatality"]=10, + ["Fate"]=10, + ["Final Fight"]=10, + ["Fire Amok"]=10, + ["Gateway"]=10, + ["Gladiator"]=10, + ["Ground Zero"]=10, + ["Guardian"]=10, + ["Hail of Bullets"]=10, + ["Halted in Your Tracks"]=10, + ["Hard Attack"]=10, + ["Hardball"]=10, + ["Hellmouth"]=10, + ["Into The Ground"]=10, + ["I Expect You to Die"]=10, + ["Kill Frenzy"]=10, + ["Killswitch"]=10, + ["Kingdom Come"]=10, + ["Knockout"]=10, + ["Lion's Den"]=10, + ["Lucid"]=10, + ["Melee!"]=10, + ["Mission Improbable"]=10, + ["Moving Target"]=10, + ["Murderplay"]=10, + ["Nightmare Without End"]=10, + ["Nemesis"]=10, + ["No Exit!"]=10, + ["No Sweat"]=10, + ["Nowhere to Go"]=10, + ["Not So Simple"]=10, + ["Nucleus"]=10, + ["Open Fire"]=10, + ["Panic Room"]=10, + ["Perfect Conflict"]=10, + ["Playground"]=10, + ["Proving Grounds"]=10, + ["Punchline"]=10, + ["Razor's Edge"]=10, + ["Recess"]=10, + ["Rip and Tear"]=10, + ["Roadblock"]=10, + ["Screamin' Marines"]=10, + ["Showdown"]=10, + ["Showtime!"]=10, + ["Shoot First Ask Later"]=10, + ["Sinister"]=10, + ["Sink or Swim"]=10, + ["Six Feet Under"]=10, + ["Slaughterfest"]=10, + ["SNAFU"]=10, + ["Soul Trap"]=10, + ["Stop Fight Go"]=10, + ["Sudden Death"]=10, + ["The Hunt"]=10, + ["The New Fury"]=10, + ["The Purge"]=10, + ["The Second Coming"]=10, + ["The Trap"]=10, + ["There Can Be No Victory"]=10, + ["Total Doom"]=10, + ["Trapped"]=10, + ["Trial by Fire"]=10, + ["Trial of Mankind"]=10, + ["Trouble in Paradise"]=10, + ["Unmaker"]=10, + ["Unwelcome"]=10, + ["Victory Zero"]=10, + ["Welcome to Thy Doom"]=10, + ["What Color is Death?"]=10, + ["You May Not Pass!"]=10, + + -- MSSP adds names + + ["1995"]=10, + ["Above and Beyond"]=10, + ["Absolute Terror Field"]=10, + ["Ace of Spades"]=10, + ["Appointment in Samarra"]=10, + ["Armaggeddon"]=10, + ["A Study In Red"]=10, + ["Back in Black"]=10, + ["Bad Blood"]=10, + ["Bad News"]=10, + ["Bellum Infinitus"]=10, + ["Bone Hurting Juice"]=10, + ["Big Guts"]=10, + ["Black Parade"]=10, + ["Blood Drive"]=10, + ["Bloodlust"]=10, + ["Bring It"]=10, + ["Bring Out Your Dead"]=10, + ["Catch-22"]=10, + ["Dance with the Devils"]=10, + ["Darwin Awards"]=10, + ["Damnation"]=10, + ["Danger Zone"]=10, + ["Dead Reckoning"]=10, + ["Diabolus Ex"]=10, + ["Don't Stop Me Now"]=10, + ["Doom Eternal"]=10, + ["Do Panic"]=10, + ["Don't Stop Dancing 'Til The Curtains Fall"]=10, + ["Do You Want To Live Forever?"]=10, + ["Endgame"]=10, + ["Exterminatus"]=10, + ["Famous Last Words, Yours"]=10, + ["Fear No Evil"]=10, + ["Forlorn Hope"]=10, + ["FUBAR"]=10, + ["Fucking Run"]=10, + ["Fustercluck"]=10, + ["Future Imperfect"]=10, + ["Garbage Day"]=10, + ["Get Psyched!"]=10, + ["Glorious Defeat"]=10, + ["Gotcha!"]=10, + ["Gratuitous Combat Scenario"]=10, + ["Greased"]=10, + ["Grow Flowers Where You Fall"]=10, + ["Hardboiled"]=10, + ["Hardcore"]=10, + ["Heavy Metal Mayhem"]=10, + ["He Comes"]=10, + ["Hellraiser"]=10, + ["Here Comes the Night Train"]=10, + ["Hold Your Ground"]=10, + ["Highway to Hell"]=10, + ["High Water"]=10, + ["Iron Maiden"]=10, + ["I Don't Feel So Good"]=10, + ["I Told You Not to Turn Around"]=10, + ["I Ii II L"]=10, + ["Judgement"]=10, + ["Killing Fields"]=10, + ["Life's a Bitch, Then You Die"]=10, + ["Light at the End of the Tunnel, But It's a Train"]=10, + ["Max Pain"]=10, + ["Meatgrinder"]=10, + ["Mene, Mene, Tekel, Parsin"]=10, + ["Mind-chaos"]=10, + ["Mind-fog"]=10, + ["Musical Chairs but the Chair Explodes"]=10, + ["Nine Inch Nails"]=10, + ["No Chance in Hell"]=10, + ["No Rest For The Wicked"]=10, + ["No Man's Land"]=10, + ["No One Escapes"]=10, + ["No Place for a Hero"]=10, + ["No Surrender"]=10, + ["Objective: Survive"]=10, + ["One Doomed Marine"]=10, + ["Oof!"]=10, + ["On Your Knees"]=10, + ["Ouch!"]=10, + ["Ouch Oof Owie"]=10, + ["Owie!"]=10, + ["Painkiller"]=10, + ["Pressure"]=10, + ["Rains of Castamere"]=10, + ["Realm of the Mad God"]=10, + ["Red Alert"]=10, + ["Resistance is Futile"]=10, + ["Run"]=10, + ["Running with Scissors"]=10, + ["Seven Trumpets Sounding"]=10, + ["Surrounded!"]=10, + ["Standoff"]=10, + ["Stranglehold"]=10, + ["Suicide Mission"]=10, + ["Tears in the Rain"]=10, + ["Time to Kill"]=10, + ["Tip of the Spear"]=10, + ["The Fate of All Things"]=10, + ["The Game Is On"]=10, + ["Pulling the Short Straw"]=10, + ["The Part Where He Gets You"]=10, + ["The Sentinel's Playground"]=10, + ["The Throne of Skulls"]=10, + ["The Tribute"]=10, + ["The World Burns"]=10, + ["Trauma Conga Line"]=10, + ["Wayward Son"]=10, + ["Weighed and Found Wanting"]=10, + ["Wrong End of the Stick"]=10, + ["Wild Hunt"]=10, + ["You Are Already Dead"]=10, + ["You'll Float Too"]=10, + ["You'll See"]=10, + ["Zone of Alienation"]=10, + + -- Reisal adds names too + ["A Friend to Upheaval"]=10, + ["Burned and Shut In"]=10, + ["Circumscribed by Hell"]=10, + ["Destiny"]=10, + ["Diagnosis Death"]=10, + ["Disruption of Worlds"]=10, + ["Doom"]=10, -- Yeah lol, it's a word to use + ["From Every Direction"]=10, + ["Hellish Blockade"]=10, + ["In a Snag"]=10, + ["Karma's a Bitch"]=10, + ["Kill or Be Killed"]=10, + ["Knocked Down a Peg"]=10, + ["Mental Collapse"]=10, + ["Obstruction"]=10, + ["One Man's Ordeal"]=10, + ["Only Way Through"]=10, + ["Sirens Blaring"]=10, + ["Subjugation"]=10, + ["Toll Booth From Hell"]=10, + ["The Kismet of Marines"]=10, -- https://www.dictionary.com/browse/kismet + ["The Oppressors"]=10, + ["The Slow Painful Crush"]=10, + ["Unwanted Termination"]=10, + ["Wheel of Misfortune"]=10, + ["Zero Calm Here"]=10, + + ["Sentinel Prime"]=10, -- Doom Eternal + + -- 2021 additions + ["A Bit Too Simple"]=10, + ["Dead End"]=10, + ["Much Too Simple"]=10 + } + } + }, + -- end of 'BOSS' theme + + -------------------------------------------------- + + -- lexicon legend: + -- %s = Full episode names + -- %k = Body parts + -- %p = Location + -- %q = Residential area / Adverbs + -- %a = Adjective + -- %j = Abstract / Objects + -- %c = Contributor name + + EPISODE = + { + patterns = + { + -- places + ["%p of %j"] = 30, + ["The %p of %j"] = 30, + ["The %a %p"] = 40, + ["A %a %p/s"] = 40, + ["%j %q"] = 20, + ["Gateway to %j"] = 5, + ["%p/s of No Return"] = 5, + + -- homages to Episode 1, + ["%k-Deep in %j"] = 10, + ["%k-Deep in the %j"] = 5, + ["%k-High in %j"] = 5, + ["Drowning in %j"] = 10, + ["Wading through the %j"] = 5, + ["Endless %j"] = 10, + + ["Wading through the %j"] = 5, + + -- using the noun generator + ["The %p of NOUNGENEXOTIC"] = 25, + ["Attack on NOUNGENANGLICAN"] = 12, + ["Assault on NOUNGENANGLICAN"] = 12, + + -- complete names + ["%s"] = 100, + + -- contributors and their shenanigans + + -- Reisal's additions + ["%a %q"] = 10, + ["%a %j"] = 10, + ["Dead Base: %a"] = 5, + ["%j and %j"] = 5, + ["Silence: %a %j"] = 5, + ["Crystal %p"] = 5, + ["Hellfire: %j"] = 5, + ["Portal to %j"] = 5, + ["%j for the %p"] = 5, + ["The %p: %j"] = 5, + ["Discovery of NOUNGENEXOTIC"] = 5, + ["Discovery of NOUNGENANGLICAN"] = 5, + ["Breakdown: %j"] = 5, + ["Burnout: %a %j"] = 5, + ["Crushed: %j"] = 5, + ["Overdose: %a"] = 5, + ["Undone by %j"] = 4, + ["Below the %p"] = 4, + ["%j: Downfall"] = 4, + ["Death by %j"] = 4, + ["Unholy %p"] = 4, + ["Shores: The %a %p"] = 4, + ["Going to NOUNGENEXOTIC"] = 4, + ["Going to NOUNGENANGLICAN"] = 4, + ["Vacation at NOUNGENEXOTIC"] = 3, + ["Vacation at NOUNGENANGLICAN"] = 3, + ["%cs Warzone"] = 3, + ["%cs %p"] = 3, + ["%p of %c"] = 2, + ["%c is Missing"] = 2, + ["%c did What?"] = 2, + + -- 2021 additions.. + ["%a Fate"]=5, + ["Death's %p"]=5, + ["Devolution: %j"]=5, + ["Fueled by %j"]=5, + ["Meltdown: %j"]=5, + ["Nullified: %a"]=5, + ["The %a Agenda"]=5, + + -- E.T.'s additions + ["%p of the %a %j"]=4, + ["%p of %a %j"]=4, + ["%p of %j"]=4 + }, + + lexicon = + { + p = -- places + { + -- arbitrary locations + Axis = 10, + Area = 10, + Center = 10, + Circle = 10, + Edge = 10, + Frontier = 10, + Point = 10, + Region = 10, + Sector = 10, + Zone = 10, + + -- geopolitical + Colony = 5, + Commune = 3, + ["City-state"] = 3, + Dominion = 10, + Duchy = 5, + Emirate = 3, + Empire = 5, + ["Free State"] = 3, + --Kingdom = 7, + Principality = 3, + --Hegemony = 10, + + -- medieval + Citadel = 15, + Fortress = 10, + Palace = 7, + Spire = 5, + Towers = 15, + Well = 8, + Vaults = 10, + + -- modern + Arcology = 5, + City = 15, + District = 10, + Ghetto = 5, + House = 5, + Metropolis = 10, + Road = 8, + Town = 8, + Trail = 8, + + -- huge locations + Boundary = 10, + Dimension = 20, + Domain = 10, + Plane = 10, + Planet = 5, + Realm = 10, + World = 10, + Territory = 5, + + -- terrain + Atoll = 7, + Badlands = 10, + Barrens = 10, + Bay = 10, + Cape = 7, + Channel = 7, + Cliffs = 10, + Coast = 10, + Crater = 10, + Crags = 10, + Delta = 5, + Desert = 10, + Fens = 7, + Forest = 7, + Fields = 10, + Glaciers = 7, + Gorge = 7, + Grassland = 7, + Gulf = 10, + Hills = 10, + Inlet = 7, + Isthmus = 7, + Lagoon = 7, + Lake = 7, + Lands = 15, + Lowland = 10, + Mountains = 10, + Mire = 10, + Moors = 10, + Ocean = 7, + Promontory = 8, + Ravine = 10, + Rift = 15, + Ridge = 10, + River = 10, + Peninsula = 10, + Plains = 10, + Plateau = 7, + Sea = 7, + Shores = 25, + Steppe = 7, + Strait = 7, + Tundra = 10, + Wasteland = 20, + Vale = 10, + Valley = 10, + Veins = 7, + + -- dead/underground + Burrows = 7, + Catacombs = 7, + Cavern = 10, + Chasm = 10, + Crypt = 5, + Dungeons = 10, + Hollow = 10, + Maze = 10, + Labyrinth = 7, + Pits = 10, + Warrens = 10, + Underworld = 10, + + -- tech + Base = 10, + Complex = 10, + Facility = 5, + Installation = 5, + Outpost = 7, + Redoubt = 7, + Quarters = 5, + Station = 10, + + Cradle = 10, + Skies = 10, + + -- trapped places + Entanglement = 5, + Maze = 10, + Labyrinth = 10, + Quagmire = 7, + Snare = 7, + Trap = 8, + Web = 7, + + -- time + Dawn = 7, + Day = 7, + Dusk = 10, + Eventide = 5, + Midnight = 10, + Night = 10, + + -- religious + Abyss = 10, + Basilica = 10, + Cathedral = 10, + Limbo = 10, + Inferno = 10, + Purgatory = 10, + + -- architectural spots + Aisles = 10, + Edifice = 10, + Firmament = 10, + Pillar = 10, + Vestibule = 10, + Walls = 10 + }, + + q = -- adverbs? + { + City = 5, + Town = 20, + Zone = 20, + Central = 20, + + ["All Around"] = 10, + ["Awaits Thee"] = 5, + ["Galore"] = 10, + + -- stuff MSSP adds + ["Eternal"] = 10, + ["Raining Down"] = 5 + }, + + a = -- adjectives + { + -- elements + Blazing = 15, + Cold = 20, + Frozen = 20, + Fiery = 20, + Elemental = 20, + Icy = 15, + Molten = 15, + + -- lighting + Bright = 15, + Dark = 20, + Lambent = 15, + Lightless = 10, + Lucid = 10, + Luminous = 10, + Radiant = 8, + Shadowed = 15, + Tenebrous = 10, + + -- color + Black = 10, + Blue = 10, + Red = 10, + Gray = 10, + Green = 10, + White = 10, + Yellow = 10, + ["Fire-blue"] = 10, -- of course + + -- material + Adamantine = 10, + Crystal = 7, + Copper = 10, + Iron = 10, + Obsidian = 10, + Rocky = 7, + Stone = 7, + + Ebony = 10, + Ivory = 10, + + -- huge scales and measures + Abyssal = 10, + Ancient = 10, + Archaic = 10, + Bottomless = 10, + Colossal = 10, + Eternal = 10, + Gargantuan = 10, + Giant = 10, + Prodigious = 10, + Soaring = 10, + Massive = 10, + Towering = 10, + Titanic = 10, + Transcendent = 10, + Infinite = 10, + Vast = 10, + + -- bad personal qualities + Avaricious = 5, + Creepy = 10, + Cruel = 10, + Depraved = 5, + Despicable = 10, + Insane = 10, + Lonely = 20, + Malignant = 10, + Merciless = 10, + Menacing = 20, + Morose = 10, + Mortal = 10, -- lol + Nefarious = 5, + Hateful = 5, + Savage = 20, + Somber = 10, + Strange = 10, + Sinister = 10, + Sinful = 5, + Wicked = 15, + Venal = 5, + Vicious = 10, + + -- hellspawn qualities + Aberrant = 10, + Accursed = 10, + Contaminated = 10, + Corrupted = 10, + Deathly = 20, + Demonic = 10, + Dreadful = 10, + Doomed = 8, + Eldritch = 5, + Evil = 10, + Grotesque = 10, + Haunted = 5, + Hideous = 10, + Immortal = 10, + Impure = 10, + Infested = 10, + Macabre = 10, + Monstrous = 10, + Tortured = 10, + Twisted = 10, + Unclean = 7, + Unholy = 10, + Wretched = 10, + + Forbidden = 10, + Profane = 10, + + -- decay + Burned = 8, + Corroded = 10, + Crumbled = 10, + Decayed = 10, + Feculent = 10, + Fetid = 10, + Foul = 10, + Gloomy = 10, + Murky = 8, + Noxious = 8, + Rancid = 10, + Rotten = 10, + Sordid = 10, + Squalid = 10, + Tainted = 10, + Tarred = 7, + Torn = 10, + Vile = 10, + + -- abandonment/wrecked + Abandoned = 10, + Apocalyptic = 10, + Blasted = 10, + Bleak = 10, + Broken = 10, + Decrepid = 10, + Derelict = 10, + Deserted = 10, + Desolate = 10, + Faded = 5, + Forlorn = 10, + Forsaken = 15, + Isolated = 10, + Ruined = 7, + Shattered = 10, + Solitary = 8, + + Wanton = 10, + Godless = 5, + Nameless = 5, + + -- finale + Absolute = 5, + Final = 10, + Terminal = 5, + Ultimate = 10 + }, + + k = -- body parts (because Doom 1 Episode 1) + { + Knee = 30, + Neck = 20, + Waist = 10, + Chest = 3, + Thigh = 3 + }, + + j = -- objects + { + -- battle + Battle = 10, + War = 10, + + -- blood and guts + Corpses = 20, + Bodies = 20, + Bones = 10, + Blood = 20, + Dead = 7, + Demise = 5, + Entrails = 7, + Ichor = 8, + Gore = 20, + Gibs = 10, + Viscera = 10, + + -- destructive acts + Annihilation = 10, + Betrayal = 5, + Carnage = 20, + Collusion = 10, + Chaos = 15, + Death = 15, + Deceit = 10, + Deception = 10, + Destruction = 10, + Devastation = 10, + Extermination = 10, + Extinction = 10, + Genocide = 5, + Ruin = 10, + Slaughter = 10, + Treachery = 7, + Trickery = 7, + + -- disease + Affliction = 7, + Atrophy = 7, + Pestilence = 10, + Scourge = 10, + + -- disaster + Adversity = 10, + Calamity = 10, + Cataclysm = 10, + Catastrophe = 10, + Tremors = 10, + Tribulation = 10, + Quake = 7, + Woe = 7, + + -- pollution + Ash = 8, + Filth = 10, + Grime = 8, + Mush = 5, + Nukage = 10, + Slime = 10, + Sludge = 10, + Slush = 5, + Smog = 10, + Soot = 10, + + -- creatures and mystical entities + Beasts = 10, + Devils = 10, + Demons = 10, + Imps = 10, + Monsters = 10, + Souls = 10, + Zombies = 10, + + -- feels + Agony = 10, + Anger = 5, + Despair = 10, + Doom = 5, + Fear = 10, + Grief = 5, + Horror = 20, + Madness = 10, + Misery = 10, + Pain = 10, + Terror = 10, + + Nightmares = 10, + Illusion = 10, + + -- elements + Darkness = 10, + Fire = 10, + Flames = 10, + Frost = 10, + Lava = 10, + Magma = 10, + Poison = 10 + }, + + s = -- single whole names + { + ["A Price To Pay"] = 10, + ["Aftershock"] = 10, + ["Bad Dream"] = 10, + ["Defenders of Hell"] = 10, + ["Entombed"] = 10, + ["Halloween"] = 10, + ["Limbo"] = 10, + ["Origin of Venom"] = 10, + ["Sealed Fate"] = 10, + ["Warbringer"] = 10, + + ["A Storm Cometh"] = 10, + ["Battlefield"] = 10, + ["Bestial Experiment"] = 10, + ["Beyond Earth"] = 10, + ["Breeding Chambers"] = 10, + ["Code Red"] = 10, + ["Hell Breaks Loose"] = 10, + ["The Treason Well"] = 10, + ["Under an Alien Sky"] = 10, + + ["As The World Burns"] = 10, + ["Deadly Harvest"] = 10, + ["Desperate Measures"] = 10, + ["Everlasting Night"] = 10, + ["Left for Dead"] = 10, + ["New Beginning"] = 10, + ["Oblivion Upon Us"] = 10, + ["The Healer Stalks"] = 10, + ["When Ashes Rise"] = 10, + + ["Abandon all Hope"] = 10, + ["Chaos Rising"] = 10, + ["Ex Nihilo"] = 10, + ["Genesis of Genocide"] = 10, + ["The Devil's Emissary"] = 10, + ["The Howling Void"] = 10, + ["Torturous Existence"] = 10, + ["Pulse of Depravity"] = 10, + ["Say Thy Prayers!"] = 10, + ["Vengeance Denied"] = 10, + + ["The Lost Base"] = 10, + ["Hell's Playground"] = 10, + ["Crimson Reprieve"] = 10, + ["Souls of the Damned"] = 10, + ["In the Face of Armageddon"] = 10, + ["Highway to Hell"] = 10, + ["Time to Bleed"] = 10, + + ["Into the Shadows"] = 10, + ["And Now You Die"] = 10, + ["Halls of Lamentation"] = 10, + ["Intruder Alert"] = 10, + ["Security Breach"] = 10, + ["Arena From Hell"] = 10, + + -- these by Reisal (mostly) + ["Radio Silence"] = 10, + ["Liquidation"] = 10, + ["Return to Hell"] = 10, + ["A Chilling Discovery"] = 10, + ["Human Stagnation"] = 10, + ["Thou Art Doomed"] = 10, + ["Fathomless Abyss"] = 10, + ["Insecurity"] = 10, + ["Pathos 666"] = 10, + ["Toxic Grievance"] = 10, + ["Hell's Injustice"] = 10, + ["Gate to Nowhere"] = 10, + ["Of Horns And Blood"] = 10, + ["Disadvantaged"] = 10, + ["Silent Hell"] = 10, + ["Ghosts of Tei Tenga"] = 10, + ["End of Everything"] = 10, + ["Ashes And Plasma"] = 10, + ["A New Kind of Army"] = 10, + ["Post-Human Paradox"] = 10, + ["Neverending Twilight"] = 10, + ["Tower of Limbs"] = 10, + ["Burial in Space"] = 10, + ["The Sons of Mars"] = 10, + ["Parallel Absolution"] = 10, + ["A Clockwork Death"] = 10, + ["Dolor Extremus"] = 10, + ["Spiritus Malus"] = 10, + + -- homages to DOOM 1 Episodes + ["Explosion"] = 3, + ["Enter the Flames"] = 3, + ["Burning in Hell"] = 3, + ["Blazing Shores"] = 3, + ["Lakes of Fire"] = 3, + ["Hellfires"] = 3, + + ["Thy Soul Devoured"] = 5, + ["Thy Shrivelled Mind"] = 5, + ["Thou Shalt Die"] = 5, + ["Consumed by Flames"] = 3, + + -- MSSP adds some more names + ["Dead Rising"] = 10, + ["A Minute to Midnight"] = 10, + ["Maelstrom of Chaos"] = 10, + ["Shadows Fall"] = 10, + ["Mortally Challenged"] = 10, -- actually coined by Terry Pratchett + ["Stormbreak"] = 10, + ["Firewinds"] = 10, + ["The Kiss of Death"] = 10, + ["Murder Without Sin"] = 10, + + ["A Night Full of Terrors"] = 10, + ["The Throne of Fire"] = 10, + ["Fire and Blood"] = 10, + ["Remembrance"] = 10, + ["What Is Dead May Never Die"] = 10, -- see, even great authors can do a + ["All Men Must Die"] = 10, -- "people die when they are killed", + ["The Dance of Demons"] = 10, + ["The Gift of Death"] = 10, + + ["The Lord of Terror"] = 10, + ["Soulreaver"] = 10, + ["Trail of Tears"] = 10, + ["The Curse of Undeath"] = 10, + ["Hell's Foundry"] = 10, + ["Angels Fall First"] = 10, + ["Fresh Meat"] = 10, + ["Demonic Invasion in Progress"] = 10, + ["The Hammer Falls"] = 10, + ["Egress"] = 10, + ["The Culling"] = 10, + ["Eye of the Storm"] = 10, + ["Hallowed Ground"] = 10, + + -- mythical underworlds (including from D&D) + ["The Vestibule of Hell"] = 10, + ["River of Acheron"] = 10, + ["Caves of Avernus"] = 10, + ["Planes of Asphodel"] = 10, + ["The Wastes of Cania"] = 10, + ["Cocytus"] = 10, + ["The City of Dis"] = 10, + ["The Void of Erebus"] = 10, + ["Vale of Gehennom"] = 10, + ["Maze of Maladomini"] = 10, + ["Spires of Malbolge"] = 10, + ["Pools of Minauros"] = 10, + ["The Rift of Nessus"] = 10, + ["The Void of Lethe"] = 10, + ["Pits of Phlegethos"] = 10, + ["Stygian Abyss"] = 10, + ["Gates of Tartarus"] = 10, + + ["No Mercy"] = 10, -- yes, these are L4D campaign names + ["Crash Course"] = 10, + ["Death Toll"] = 10, + ["Dead Air"] = 10, + ["Blood Harvest"] = 10, + ["The Sacrifice"] = 10, + ["The Last Stand"] = 10, + + ["Dead Center"] = 10, -- yes, now L4D2, + ["The Passing"] = 10, + ["Dark Carnival"] = 10, + ["Swamp Fever"] = 10, + ["Hard Rain"] = 10, + ["The Parish"] = 10, + + -- Max Payne + ["A Cold Day in Hell"] = 10, + ["A Bit Closer to Heaven"] = 10, + + ["Blood Veins of Phobos"] = 10, + ["Playing it Bogart"] = 10, + ["Let Guns do the Talking"] = 10, + ["Fear That Gives Men Wings"] = 10, + ["Ragna Rock"] = 10, + ["Pain and Suffering"] = 10, + ["Rats and Oily Water"] = 10, + ["Take me to Cold Steel"] = 10, + ["The Deep Six"] = 10, + ["In The Land of the Blind"] = 10, + ["Hidden Truths"] = 10, + ["Byzantine Power Game"] = 10, + + ["Forget Being Subtle"] = 10, + ["Stepping on Toes"] = 10, + ["A Few Bullets Back"] = 10, + ["In The Crossfire"] = 10, + + ["Riding Shotgun"] = 10, + ["Ice Hard and Slick"] = 10, + ["Straight from a Bad Dream"] = 10, + + -- 2021 stuff.. + ["Absolution"]=10, -- Doom 64, + ["Beyond Eternity"]=10, + ["Beyond Serenity"]=10, + ["Damaged"]=10, + ["Dead Shining Star"]=10, -- A V:28 song title + ["Eerie Delights"]=10, + ["Forcing Your Way"]=10, -- Nod to Final Fantasy + ["Hope Dies Here"]=10, + ["Mephisto"]=10, + ["Ouroboros"]=10, + ["Peace of Mind"]=10, + ["Regret"]=10, + ["Seclusion"]=10, + ["Shades of Gray"]=10, + ["Shoot to Kill"]=10, + ["Shutdown"]=10, + ["Stygian Outlook"]=10, + ["Submission"]=10, + ["The Culling Fields"]=10, + ["Tranquility"]=10, + ["Unleash The Energy"]=10, -- Also V:28 (See: https://www.metal-archives.com/bands/V%3A28/16470 ) + ["Whispers from the Void"]=10, + + -- WAD title stuff + ["Crossing Acheron"]=5, + ["Cyberdreams"]=5 + }, + + c = -- oh boy, here we go again... + { + NOUNMEMBERS = 10 + } + } + }, + -- end of 'EPISODE' theme + + + -------------------------------------------------- + + TITLE = + { + patterns = + { + -- e.g. dark dimension + ["%a %p"] = 100, -- Descriptive Place + ["The %a %p"] = 80, -- The Descriptive Place + ["Into the %a %p"] = 10, -- Into the Descriptive Place + + -- e.g. eternal gore + ["%a %d"] = 100, -- Descriptive Object + + -- of e.g. city of souls + ["%p of %d"] = 100, -- Place of Object + ["%d in the %p"] = 80, -- Object in the Place + ["%d at the %p"] = 80, -- Ojbect at the Place + + ["The %e of %d"] = 60, -- The Entity of Object + ["%e in the %p"] = 60, -- Entity in the Place + + -- of the e.g. realm of the devil + ["%p of the %e"] = 100, -- Place of the Entity + ["The %p of the %e"] = 75, -- The Place of the Entity + ["The %d of the %e"] = 75, -- The Abstract Object of the Entity + ["The %a %d of the %a %e"] = 75, -- The Descriptive Object of the Descriptive Entity + ["The %a %p of the %a %e"] = 75, -- The Descriptive Place of the Descriptive Entity + + -- miscellaneous + ["Beyond the %p"] = 8, + ["Journey to the %p"] = 6, + + ["%d Forever"] = 5, + ["%d Always"] = 5, + ["Not enough %d"] = 7, + ["%d Revealed"] = 5, + + ["The %e Cometh"] = 5, + ["The %e will Rise"] = 5, + ["The %e must Die"] = 5, + ["Fight the %e"] = 5, + ["Age of the %e"] = 5, + ["Back to the %a %p"] = 5, + + -- MSSP adds grammar rules + + ["Assault on the %a %p"] = 8, -- Assault on the Descriptive Place + ["Destroy the %a %p"] = 8, -- Destroy the Descriptive Place + ["Attack of the %a %e"] = 8, -- Attack of the Descriptive Entity + ["Return of the %e"] = 8, -- Return of the Entity + ["A WAD full of %d"] = 5, -- A WAD Full of Abstract Objects + ["Return of the %e"] = 8,-- Return of the Entity + ["Some very %a %p"] = 8, -- Some very Descriptive Place + ["Zone of %d"] = 8, -- Zone of Abstract Object + ["The %e WAD"] = 5, -- The Entity WAD + ["Showdown with the %e"] = 7, + ["They are %a"] = 7, + ["Call of %d"] = 8, + ["The %e and the %e"] = 10, + ["The %e VS the %e"] = 7, + ["The %d Within"] = 5, + ["%a and %a"] = 8, + ["Escape from the %a %e"] = 10, + ["The %e The %e and The %d"] = 8, + + ["%c did this"] = 3, + ["The %a %p of %c"] = 3, + + -- Simply located lexicon location (So you don't need to scroll up and down if you forget) + -- If we want to be be more specific, we could just add more lexicons, like I did with %m below. + -- %a = Adjective + -- %p = Place + -- %c = Contributor name + -- %d = Abstract / Abstract-like + -- %e = Entities + -- %m = Material / Metal alloy + + -- Reisal adds more grammar rules + ["Vacation in the %d %p"] = 10, -- Vacation in the [Description] [Place] + ["Evil Unleashed: %a %d"] = 10, + ["%c's %d"] = 4, -- [Name]'s Abstract Object + ["%c's %a %p"] = 4, -- [Name]'s [Adjective] [Place] + ["%c's %p"] = 4, -- [Name]'s [Place] + ["Dirty Deeds for the %e"] = 7, -- Dirty Deeds for the [Entity] + ["The %e Attacks the %d %p"] = 7, -- The [Entity] Attacks the [Adjective] [Place] + ["Is %c %a?"] = 2, -- Is [Name] Adjective? + ["%c Is NOT %a!"] = 2, + ["%c's Playhouse"] = 3, -- [Name]'s Playhouse + ["%c's Warzone"] = 3, -- [Name]'s Warzone + ["%d: the %a %p"] = 7, + ["Death: %a %p"] = 7, + ["The %p: Our %d"] = 7, + ["Chaos: %a %p"] = 5, + ["Complete %d"] = 5, + ["Total %d"] = 5, + ["Treachery: The %d"] = 5, + ["Reborn: The %d"]=5, + ["Quietus: Complete %d"] = 4, + ["Is %c By The %a %p?"] = 3, + ["%a Death and %d"] = 5, + ["This WAD has %d"] = 5, -- This WAD has Abstract Objects + ["%c's %a WAD"] = 3, -- [Name]'s [Adjective] WAD + ["%c's WAD"] = 3, + ["%c's Fun Zone"] = 3, + ["Did %c Do This?"] = 3, + ["The %e Lurks Within"] = 5, -- The [Entity] Lurks Within + ["The %e Lurks Below"] = 5, + ["%e Knows You"] = 4, + ["Destruction of the %d %p"] = 5, -- Destruction of the [Adjective] [Place] + ["%a Black Metal"] = 5, -- [Adjective] Black Metal + ["%a Doom Metal"] = 5, -- [Adjective] Doom Metal + ["Sin City: The %a %p"] = 5, + ["Sin City: The %d"] = 5, + ["Ruination: %a %p"] = 3, + ["The %a %p of %m"] = 5, + ["Dead Base: The %d"] = 5, + ["Demise of the %e"] = 4, + ["%m and %c"]=4, + ["The %e's Fun %a %p"] = 4, + ["The %m %p"] = 4, + ["As The %e Gather"] = 4, + ["Insane %a %d"] = 4, + ["Plenty of %d"] = 4, + ["Hell's %a Division: %d"] = 4, + ["%a Sorcery"] = 3, + ["%a Witchcraft"] = 3, + ["%a Hellcraft"] = 3, + ["%d! Oh My Oh My"] = 3, + ["Is %c %a?"]=3 + }, + + lexicon = + { + a = --adjectives + { + -- elemental + Burning = 10, + Blazing = 15, + Blistering = 10, + Cold = 10, + Dry = 10, + Earthen = 10, + Fiery = 10, + Frozen = 10, + Poisonous = 10, + Smothering = 10, + Shocking = 10, + + -- grit + Festering = 5, + Fecund = 5, + Fetid = 5, + Filthy = 5, + Foul = 5, + Gory = 10, + Grisly = 15, + Infested = 10, + Lacerating = 10, + + -- size + Endless = 20, + Extreme = 10, + Infinite = 10, + + -- emotion + Acrimonious = 10, + Anguished = 5, + Baleful = 10, + Cruel = 10, + Dejected = 5, + Dolorous = 5, + Forlorn = 15, + Grievious = 15, + Grim = 15, + Lonely = 10, + Malevolent = 10, + Maleficent = 5, + Malignant = 7, + Melancholic = 5, + Menacing = 20, + Morbid = 20, + Nefarious = 15, + Raging = 10, + Savage = 30, + Sonorous = 10, + Sordid = 5, + Sullen = 5, + Spiteful = 5, + Tragic = 5, + Virulent = 10, + Vindictive = 7, + Vitriolic = 10, + Woeful = 10, + + -- destroyed or decay + Abandoned = 10, + Annihilated = 10, + Astray = 10, + Banished = 10, + Bleak = 10, + Broken = 10, + Deserted = 10, + Desolate = 15, + Forgotten = 10, + Forsaken = 10, + Lonely = 10, + Lost = 10, + Neglected = 10, + Oppressive = 10, + Ravaged = 10, + Shunned = 10, + Splintered = 10, + Wrecked = 10, + + -- weird + Multifarious = 5, + Weird = 10, + Strange = 10, + Surreal = 7, + + -- evilz + Blasphemous = 15, + Corrupt = 15, + Chaotic = 15, + Cursed = 10, + Demonic = 15, + Deplorable = 15, + Disgraceful = 10, + Evil = 15, + Feral = 10, + Ghastly = 10, + Ghoulish = 10, + Godless = 10, + Gruesome = 15, + Harrowing = 10, + Haunted = 10, + Hellish = 10, + Malicious = 10, + Malevolent = 10, + Monstrous = 15, + Profane = 15, + Sacreligious = 15, + Sinful = 15, + Tortured = 10, + Unholy = 10, + Visceral = 15, + Vile = 5, + Violent = 10, + Wicked = 10, + Wretched = 15, + + -- danger + Ailing = 5, + Deathly = 20, + Doomed = 10, + Fatal = 10, + Macabre = 10, + + -- holy + Blessed = 7, + Divine = 10, + Hallowed = 10, + Righteous = 10, + Sanctimonious = 10, + + -- asthetic + Appalling = 15, + Dark = 20, + Dreadful = 20, + Eerie = 10, + Hidden = 10, + Lurid = 10, + Terrifying = 20, + + -- celestial + Astral = 5, + Cosmic = 5, + Lunar = 10, + Solar = 10, + Stellar = 10, + + Lit = 8 + }, + + p = -- places + { + -- civilian places + City = 15, + Carnival = 10, + Causeway = 5, + Complex = 10, + Concourse = 10, + Crossing = 5, + Durance = 10, + Gateway = 10, + Ghetto = 5, + Halls = 10, + House = 10, + Hub = 10, + Streets = 5, + Towers = 15, + Prison = 10, + Ward = 10, + + -- generic locations/navigational + Beacon = 10, + Center = 5, + Path = 10, + Waypoint = 10, + Ways = 10, + + -- beautification + Garden = 10, + Mazes = 10, + Ruins = 10, + Tree = 10, + + -- holy sites + Basilica = 5, + Citadel = 15, + Chapel = 10, + Chambers = 10, + Oracle = 10, + Tabernacle = 5, + Temple = 15, + + -- medieval? + Domain = 10, + Den = 5, + Fiefdom = 5, + Kingdom = 10, + Lair = 5, + Stronghold = 5, + Pits = 10, + + -- celestial/extraterrestrial + -- this one is sorted by size? + World = 15, + Planet = 15, + Territories = 10, + Realm = 15, + Dimension = 10, + Plane = 10, + Netherworld = 10, + + -- natural landscapes + Acres = 10, + Barrows = 15, + Caverns = 15, + Canyon = 15, + Coast = 10, + Climb = 15, + Crevice = 10, + Fields = 10, + Hills = 10, + Highlands = 10, + Island = 15, + Land = 10, + Mountains = 10, + Moor = 15, + Paradise = 10, + Pass = 15, + Peak = 10, + Plateau = 15, + Pinnacle = 15, + Ridge = 10, + River = 10, + Sands = 10, + Shores = 20, + Span = 10, + Steppe = 10, + Strand = 10, + Valley = 20, + Vale = 20, + Wastes = 10, + Zenith = 10, + + -- burials + Burial = 10, + Catacombs = 10, + Crypt = 15, + Dungeons = 10, + Hollows = 10, + Mausoleum = 10, + Mortuary = 10, + Necropolis = 10, + Ossuary = 10, + Polyandrium = 10, + Tomb = 15, + Vault = 10, + + Firmament = 10, + Gallows = 8, + + -- deep, deep underground + Abyss = 10, + Perdition = 10, + Purgatory = 10, + Inferno = 10, + Underworld = 10, + + -- military + Base = 10, + Battlefront = 10, + Containment = 10, + Facility = 10, + Outpost = 10, + + -- times + Day = 10, + Dawn = 15, + Evening = 10, + Meridian = 10, + Noon = 10, + Night = 30, + Twilight = 10, + + -- scales of time + Eternity = 10, + Millenium = 10, + Century = 10, + Decade = 10, + Eon = 10, -- 100k x 365d. 365k yr + Aeon = 10, -- 1m x 365d. 3.65m yr / 1B yrs / Could also represent an indefinite amount of time too + Indiction = 7, -- 15 year cycle + Epoch = 7, -- 7.3m yrs + Megannum = 7, -- 1m years + + + -- seasons/weather + Rain = 15, + Winter = 15, + Storms = 15, + Blizzard = 15, + Snow = 10, + Ashfall = 10, + Drought = 10, + Wildfire = 10, + Sandstorm = 10, + Tornadoes = 10, + Wind = 10, + Avalanche = 8, + Mist = 8, + Fog = 8, + Autumn = 8, + Fall = 8, + Summer = 8, + Thundersnow = 8 + }, + + -- these are quite abstract + d = -- treated a bit like objects + { + -- gibs + Blood = 20, + Viscera = 10, + Slime = 5, + Sludge = 5, + + -- words transfered from places + -- because these aren't places at all + -- needs to be categorized + Feast = 10, + Harvest = 10, + Knowledge = 10, + Labours = 10, + Life = 8, + Lore = 10, + March = 10, + Portrait = 10, + Remembrance = 10, + Watch = 10, + + -- emotions/feels + Abuse = 10, -- "Abused" makes no sense in some aspects + Apathy = 5, + Anguish = 10, + Agony = 20, + Bereavement = 10, + Bleakness = 5, + Chaos = 10, + Contempt = 5, + Cruelty = 10, + Doom = 10, + Defilement = 15, + Despair = 10, + Dismay = 10, + Dread = 15, + Dreariness = 20, + Fear = 20, + Fury = 10, + Grief = 5, + Hate = 10, + Incompetence = 15, + Ineptitude = 10, + Lividness = 10, + Madness = 10, + Misery = 10, + Obstinance = 10, + Pain = 10, + Rage = 10, + Revulsion = 5, + Scorn = 10, + Spite = 15, + Silence = 20, + Tactility = 5, + Terror = 20, + Torment = 15, + Wrath = 10, + Vengeance = 20, + Violence = 15, -- "Violent" doesn't make sense + Withdrawal = 10, -- Most title additions of using "Withdrawn" wouldn't make sense + + -- occult + Ceremony = 10, + Cult = 10, + Horror = 10, + Idolatry = 10, + Magic = 15, + Magik = 10, + Ritual = 10, -- Could also be religious + Shadows = 10, + + Death = 20, -- This really is an all-around word + Flames = 20, + + -- religious + Belief = 10, + Choir = 10, + Conviction = 10, + Deliverance = 10, + Doctrine = 10, + Dogma = 10, + Faith = 10, + Hell = 10, -- Fits better here + Icons = 10, -- as in religious icons + Souls = 10, -- Frequently mentioned in religious texts as well, namely Judeo-Christian + Tenets = 10, -- Also occult + + -- states of mind, states in mind + Bliss = 10, + Dreams = 20, + Chaos = 10, + Nightmares = 20, + Insanity = 10, + Transience = 10, + + -- story devices + Bane = 10, + Legends = 10, + Genesis = 10, + Heroes = 10, + Imagination = 7, + Myths = 10, + Origins = 10, + Saga = 10, + Tales = 7, + Villains = 10, + + -- states of matter + Conception = 10, + Creation = 10, + Destruction = 10, + Disintegration = 10, + Extinction = 10, + Formation = 10, + Nascency = 10, + Subjugation = 10, + Undoing = 10, + + -- military + Battle = 10, + Campaign = 10, + Duty = 10, + Orders = 10, + Siege = 10, + Skirmishes = 10, + War = 10, + + -- uhh + Bondage = 10, + Inflation = 10, + Voraciousness = 10, + Transmogrification = 10, + + -- acts of evil + Desecration = 10, + Despoilment = 10, + Marauding = 10, + Pillage = 10, + Plunder = 10, + Raid = 10, + Ransack = 10, + Slaughter = 10, + + -- encounter + Accostment = 7, + Approach = 7, + Confrontation = 10, + Contact = 10, + Encounter = 10, + Rendezvous = 8, + Meeting = 10, + + -- kinds of speech (sometimes bad) + Casuistry = 8, + Chant = 10, + Chorus = 10, + Decree = 10, + Declarations = 10, + Edicts = 10, + Mandate = 10, + Paragolism = 10, + Sophistry = 10, + + -- cups of metaphorical substrate + Canon = 8, + Dogma = 10, + Maxims = 8, + Piety = 8, + Precepts = 10, + Tenets = 10, + + -- secret organizations + Cabal = 10, + Circle = 10, + Creed = 10, -- Also religious + League = 8, + Order = 10, + Sect = 8, + + -- state crimes + Collusion = 10, + Conspiracy = 10, + Heresy = 10,-- In WH 40k it is if you're not Chaos + Machinations = 10, + Ruse = 10, + Subterfurge = 10, + Treason = 10, + + -- curses + Affliction = 10, + Anathema = 10, + Bane = 10, + Calamity = 8, + Curse = 10, + Pestilence = 8, + Scourge = 10, + Trouble = 8, + Tribulation = 10, + Vexation = 8 + }, + + e = -- entities + { + -- DOOOOM!!! + ["Arch-Vile"] = 7, + Cyberdemon = 15, + Doomhunter = 5, -- Doom Eternal + ["Doom Slayer"] = 3, -- DOOM/Doom Eternal + ["Hell Noble"] = 7, -- Also known as a Baron, I guess + ["Hell Priest"]=7, -- Doom Eternal + ["Lost Souls"] = 7, + Marine = 15, + Mastermind = 15, + + -- religion + Adept = 10, + Antichrist = 10, + Archangel = 10, + Beast = 20, + Crusaders = 10, + Demons = 20, + Defiler = 20, + Denouncer = 10, + Devil = 20, + Dissenter = 20, + Gods = 20, + Heretic = 20, + Hellspawn = 20, + Idolater = 20, -- An idol worshipper + Infidel = 20, + ["Left Behind"] = 10, + Martyr = 10, + Nephilim = 10, + Pagans = 10, + Prophet = 10, + Saint = 10, + Seraph = 10, + Sinner = 15, + Shaman = 10, + Wicked = 20, + Wretched = 20, + + -- fantasy/magical + Aliens = 10, + Ancients = 15, + Anima = 7, + Bastards = 15, + Banshee = 7, + Cerberus = 10, + Chimera = 10, + Cyclops = 5, + Damned = 15, + Dragon = 10, + Drowned = 10, + Exile = 10, + Giants = 10, + Ghouls = 7, + Hexers = 10, + Keepers = 15, + Lich = 10, + Manticore = 10, + Minotaurs = 15, + Necromancer = 20, + Oracle = 15, + Reaper = 10, + Shaper = 10, + Trolls = 7, + Titans = 10, + Undead = 20, + Vampire = 7, + Wight = 7, + Wraith = 10, + Wyrm = 7, + Wyvern = 7, + Zombies = 10, + + -- Lovecraft + Elders = 10, + ["Deep Ones"] = 10, + ["Old Ones"] = 10, + Tentacles = 10, + + -- predatious animals + --(or generally infamous animals) + Cobra = 8, + Crow = 8, + Deathstalkers = 10, + Eagle = 8, + Hawk = 8, + Lion = 7, + Piranha = 8, + Raven = 8, + Scorpion = 8, + Snake = 8, + Spider = 8, + Wolf = 8, + + -- general adjectives + Abject = 10, + Corrupt = 20, + Cursed = 15, + Dead = 20, + Deplorable = 15, + Dishonorable = 15, + Doomed = 25, + Fearless = 20, + Hopeless = 20, + Hunted = 20, + Lost = 20, + Risen = 20, + Tormented = 20, + Worthless = 10, + + -- war + Despoiler = 10, + Destroyer = 10, + Executioner = 10, + Exterminator = 10, + Horde = 10, + Iconoclast = 10, + Invaders = 10, + Legion = 10, + Master = 10, + Overlord = 20, + Warmonger = 10, + Ravager = 10, + Swarm = 10, + + -- people who do bad and/or kill people + Assassin = 10, + Bandits = 8, + Brigands = 10, + Brutes = 10, + Malefactor = 10, + Marauder = 10, + Murderer = 10, + Outlaw = 8, + Thief = 8, + Transgressor = 10, + Vandals = 8, + + -- people with normal jobs + -- but sound bad in certain contexts + Butcher = 10, + Hunter = 10, + Soldiers = 10, + Slayer = 10, + + Unbeliever = 10, + -- Reisal adds things here + ["Sin Bringer"] = 10, + ["The Icon"] = 10, + Deathbringers = 10, + Dreadlords = 10, + Hellbringers = 15, + Voidbringers = 10, + + -- filth + Afflicted = 10, + Carious = 15, + Decaying = 20, + Fetid = 15, + Foul = 10, + Nidorous = 20, + Putrefied = 20, + Noxious = 15, + Rancid = 20, + Rotting = 25, + Tainted = 20, + Withered = 15, + + -- Pain + Agonized = 15, + Bleeding = 20, + Bloody = 10, + Charred = 15, + Eviscerated = 15, + Mangled = 10, + Mutilated = 20, + Suffering = 10, + Tortured = 10 + }, + + -- Materials, namely metal alloys + m = + { + Iron = 30, + Steel = 15, + Cobalt = 7, + Gold = 15, + Brass = 5, + Silver = 10, + Bronze = 5, + Copper = 7 + }, + + c = -- contributor names + { + NOUNMEMBERS = 10 + } + } + }, + + + SUB_TITLE = + { + patterns = + { + ["%s"] = 60 + }, + + lexicon = + { + s = + { + -- sequels + ["II"] = 60, + ["III"] = 60, + ["IV"] = 30, + ["V"] = 15, + ["VI"] = 5, + ["VII"] = 5, + ["VIII"] = 5, + ["IX"] = 5, + ["X"] = 5, + ["XI"] = 5, + ["XII"] = 5, + + ["R E D U X"] = 10, + ["Revisited"] = 10, + ["Reloaded"] = 10, + ["Remastered"] = 10, + ["Special Edition"] = 10, + ["Limited Edition"] = 10, + ["Anniversary Edition"] = 10, + ["Full Mag Edition"] = 10, + + ["A New Generation"] = 40, + ["The Resurrection"] = 30, + ["The Reckoning"] = 40, + ["Evil Is Reborn"] = 20, + + ["The Struggle Continues..."] = 20, + ["The Endless Fight"] = 20, + ["Recurring Evil"] = 20, + ["The Demons Are Back"] = 20, + ["Battle Everlasting"] = 20, + + -- prequels + ["G E N E S I S"] = 40, + ["The Awakening"] = 40, + ["Evil Unleashed"] = 20, + ["The Dead Shall Rise"] = 20, + ["Where It All Began"] = 20, + ["Dawn Of Eternity"] = 20, + ["Dawn of Evil"] = 20, + ["The Invasion Begins"] = 20, + ["The Prophecy Unfolds"] = 20, + + ["Prelude to Destruction"] = 25, + + -- OBsidian specifics + ["Obsidian Special"] = 50, + ["Obsidian Exclusive"] = 50, + ["Obsidian Limited Ed"] = 50, + ["By Obsidian Contribs"] = 35, + ["Carthage Special"] = 20, + ["Simon-v Special"] = 20, + ["Reisal Approved"] = 20, + ["Caligari Tested"] = 20, + ["Frozsoul Edition"] = 20, + ["Garrett Approves"] = 20, + ["MogWaltz Plus Plus"] = 20, + ["Craneo Edition"] = 20, + ["Tapwave Exclusive"] = 20, + ["EpicTyphlosion A OK"] = 20, + ["Phytolizer Tweaked"] = 20, + + -- describe the place + ["A God-forsaken Place"] = 20, + ["A Land In Turmoil"] = 20, + ["Demise of Humanity"] = 25, + ["Point Of No Return"] = 20, + ["Hell's Fury"] = 25, + ["Gateway to Hell"] = 20, + ["What Lurks Beneath"] = 20, + ["Where Devils Spawn"] = 20, + ["The Evil Within"] = 20, + + -- miscellaneous + ["A Dreaded Obligation"] = 30, + ["Bullets and Death"] = 25, + ["Cycle of Death"] = 30, + ["Crushing Odds"] = 30, + ["Die and Die Again"] = 30, + ["Humanity's Epitaph"] = 30, + ["Obligated to Die"] = 30, + ["Of Dark Light"] = 30, + ["Redemption Denied"] = 30, + ["Senseless Violence"] = 40, + ["Souls Denied"] = 30, + ["Your Dire Obligation"] = 30, + + ["A Fight for Survival"] = 20, + ["All Or Nothing"] = 20, + ["Chaos Ensues"] = 20, + ["Days Of Rage"] = 20, + ["Beyond Salvation"] = 20, + ["Last Chance"] = 20, + ["No Salvation"] = 20, + ["No More Time"] = 20, + ["No Time To Waste"] = 20, + ["No Time Left"] = 20, + ["One Last Chance"] = 20, + ["Out Of Time"] = 20, + ["Hell's Pinnacle"] = 20, + ["The Final Hour"] = 20, + ["Thirst for Vengeance"] = 20, + + ["The Apocalypse Has Come"] = 20, + ["The Brink of Disaster"] = 20, + ["Nobody Is Safe"] = 10, + ["Nowhere Is Safe"] = 10, + ["The Seeds of War"] = 20, + ["The Will To Survive"] = 20, + + -- Reisal adds names + ["A Masterpiece in Progress"] = 40, + ["A Bloody Good Time"] = 30, + ["A Brand New World!"] = 30, + ["A Developed Hellscape"] = 20, + ["A Fantastic Place!"] = 25, + ["A Folly For You"] = 20, + ["A Multitude of Fun!"] = 25, + ["A Pistol is Not Enough!"] = 25, + ["A Survivor's Test"] = 30, + ["A Withered World"] = 25, + ["Abrasive to the Core"] = 30, + ["Abuse Beyond Measure"] = 20, + ["Always Being Improved"] = 40, + ["Always Fun!"] = 30, + ["Amped Up!"] = 20, + ["An Excellent Choice!"] = 25, + ["An Obsidian Production"] = 40, + ["Another New World!"] = 30, + ["Are You Man Enough?"] = 20, + ["As Above, So Below"] = 30, + ["Best Played With Friends!"]=20, + ["Billions of Potential Levels!"] = 40, + ["Blasted Into Bits"] = 25, + ["Blasting Away!"] = 20, + ["Bleed a Whole Lot More"] = 25, + ["Bleeding Heavily"] = 35, + ["Brace For Impact"] = 25, + ["Breakdown of Order"] = 20, + ["Bring Extra Ammunition!"] = 30, + ["Brought to Your Knees!"] = 20, + ["Bugs Do Exist, Plz Report!"] = 20, + ["Burn It All Down"] = 30, + ["Burning Bright in the Sky"] = 30, + ["Burnt, Shot, Crushed, Blasted!"] = 20, + ["Can It Be Any Harder?"] = 25, + ["Carnal Desires"]=20, + ["Check Us On The Discord!"] = 35, + ["Cleansed By Fire"] = 25, + ["Complete Destruction"]=20, + ["Constantly Being Improved!"] = 30, + ["Contains 200% More Subway Tunnels"]=15, + ["Continued Destruction"] = 20, + ["Corruption Abound"]=20, + ["Corruption Unfettered"] = 20, + ["Crash and Burn!"] = 20, + ["Crimes Against Humanity"] = 25, + ["Crucifixion By Buckshot"] = 20, + ["Cruising for a Bruising"] = 30, + ["Crushed into Dust"] = 30, + ["Darkness Awaits Thee"] = 20, + ["Death is Not An Option"] = 25, + ["Descent Into Madness"] = 30, + ["Die a Million Deaths"] = 25, + ["Die and Die Once More"] = 20, + ["Division by Blood"] = 20, + ["Do Draconian Quantity!"]=15, + ["Emblem of Destruction"] = 25, + ["Embrace Your Doom"] = 30, + ["Enemy Sighted!"] = 20, + ["Environmental Abuse!"] = 20, + ["Enter Combat"] = 25, + ["Everybody Loves The Sub Titles"] = 20, + ["Excessive Damage!"] = 25, + ["Explosions Galore"] = 20, + ["Existing To Bleed"] = 25, + ["Face Smashed In"] = 20, + ["Fairness Not Guaranteed"]=20, + ["Fantastic!"] = 30, + ["Feel the Pain!"] = 25, + ["For The Emperor!"] = 30, -- Warhammer 40K + ["Get Psyched!"] = 30, -- Wolfenstein 3D + ["Get Scorched"] = 30, + ["Getting a Bit Spicy"] = 20, + ["High Impact Abuse"] = 35, + ["Hold On To Your Butts"] = 25, -- From Arnold in Jurassic Park, 1993, + ["Hold Your Ground"] = 30, + ["Is It Too Hard?"]=15, + ["If it Moves, Shoot It"] = 30, + ["It's a Disaster!"] = 20, + ["It's Hard, Is it Not?"] = 25, + ["It's Just Chaos"] = 20, + ["It's Just Dead"] = 30, + ["It's Raw!"] = 30, + ["Jacked Up Past Safe Levels!"] = 25, + ["John Romero says Hello"] = 25, + ["Let's Get It On!"] = 30, + ["Local Hellspawn Need Not Apply"] = 30, + ["Lots More Where That Came From!"] = 30, + ["Made with Blood, Sweat and Tears"] = 20, + ["Make it Dark, Make it Evil"] = 30, + ["Make it Like Silent Hill!"] = 25, + ["Mandatory Destruction"]=20, + ["Max out Trap Difficulty!"]=15, + ["Masochism For Imps!"] = 30, + ["Mods Usually Make Things Better!"] = 20, + ["Move it up a Notch"] = 25, + ["Move Your Ass!"]=20, + ["More Maps to Kill Things On!"] = 35, + ["Nailed Via Obsidian Spikes"] = 20, + ["Nappies Required to Play"]=15, + ["Nearly Unlimited Variety!"] = 30, + ["Not A Walk in the Park!"] = 30, + ["Not Safe For Game Journalists"] = 35, + ["Now with Dynamic Lights!"] = 30, + ["Now with more Impse"] = 30,-- This is not a spelling error, look it up lol + ["Oblige is Love, Oblige is Life"] = 40, + ["Perfect on Ultra-Violence"] = 30, + ["Peripheral Vision is Mandatory!"] = 30, + ["Please Let Us Know!"] = 25, + ["Potential Bugs May Exist!"] = 20, + ["Prepare to Run Lots!"] = 20, + ["Psychological Abuse"] = 30, + ["Purified Sin"] = 20, + ["Ramp it to the MAX!"] = 25, + ["Road to the World Cup"] = 20, -- By Swedra + ["Random by Nature"] = 30, + ["Recreate id's Aesthetics!"]=10, + ["Reign of Destruction"] = 25, + ["Set the World Alight"]=15, + ["Shining Bright!"] = 30, + ["Should be A-OK!"] = 20, + ["Single and Multiplayer!"] = 30, + ["Skilled Players Sign Here"] = 25, + ["Speedrunners are SOL"] = 25, + ["Surviving By A Thread"] = 30, + ["Symphony No 666 in H Minor"]=20, + ["Tacticality Optional"] = 30, + ["Take it Seriously"]=25, + ["Tell Us What You Think"] = 40, + ["Tell Your Friends!"] = 30, + ["The Chaosbringer"] = 20, + ["The Chaosweaver"] = 20, -- Partially from a Scar Symmetry song + ["The Corridors of Contempt"] = 25, + ["The Deadzone"] = 20, + ["The Devil's Playground"] = 30, + ["The Hellweaver"]=20, + ["The More, The Merrier"] = 25, + ["The New Challengers"] = 20, -- This one by Craneo + ["The Principles of Doom"] = 30, + ["The Threads of Life"] = 20, + ["The Shreds of Humanity"] = 20, + ["The True Story of Brutal Abuse"] = 20, + ["The World Beyond"] = 25, + ["There is Always Doomworld!"] = 20, + ["There's Always More!"] = 25, + ["There Is No Rationale"] = 20, + ["Third Strike"] = 20, -- Also by Craneo + ["This Fading Earth"]=15, + ["This Generator Slays Demons"] = 25, + ["This Is a Subtitle!"] = 20, + ["This WAD Shouldn't Suck"] = 25, + ["Thrashed Up for Seconds"] = 30, + ["Time to Man Up"] = 30, + ["Too Hard? Too Bad!"]=20, + ["Total Blackout"] = 20, + ["Totally Worth Your Time"] = 25, + ["Trust in Thy Firearms"] = 20, + ["Turn it to 11!"] = 30, -- Spinal Tap + ["Turned Up to 110 Percent!"] = 20, + ["TY for Supporting Obsidian!"] = 30, + ["Under Construction"] = 25, + ["Unrelenting Numbers!"] = 20, + ["Up and At Em!"] = 30, + ["Vigilance Is A Requirement!"] = 25, + ["Virtuous By Nature"] = 20, + ["Violation By Shotgun Barrel"] = 25, + ["We Have to Start Somewhere"] = 20, + ["We're in This Together"] = 25, + ["What Awaits You?"] = 30, + ["What Would Jesus Play?"] = 20, + ["Working Overtime!"] = 30, + ["You Guys Have Mods, Right?"] = 30, + ["You Think You Can Hide?"] = 25, + + -- MSSP adds names + ["Always Has Been"] = 20, + ["Hell is Infinite"] = 50, + ["Hell Aims To Please No One"] = 20, + ["Nobody Knows About Legacy 3D Lines"] = 20, + ["Live! Work! SLAY!"] = 20, + ["Invest in ObCoin Now!"] = 20, + ["Too Much Fabs, Too Few Fabs"] = 20, + ["Apparently Samey Yet Chaotic"] = 20, + ["The Category is... DOOM!"] = 20, + ["Too Many Features, They Said"] = 20, + ["Not Replacing Mappers, Devs Are Too"] = 20, + ["Obsidian is not an AI."] = 20, + ["Not an AI Until it Can Do Taxes"] = 20, + ["Who Generates the Generators?"] = 20, + + -- based on popular movie/TV slogans + ["A Minute in Hell"] = 20, + ["Whoever Wins We Lose"] = 20, + ["The Demons are Back"] = 20, + ["Trapped in Hell"] = 20, + ["Hell is War"] = 20, + ["Escape or Die Trying"] = 20, + ["No Rest for the Wicked"] = 20, + ["Be Very Afraid"] = 20, + ["There Can Only Be One"] = 20, + ["Angels Fall"] = 20, + ["The Last Man on Earth"] = 20, + ["Welcome to the Suck"] = 20, + ["A Hellspawn Reality"] = 20, + ["Wake Up Screaming"] = 20, + ["Wish You Were Here"] = 20, + ["The Classic"] = 20, + ["The Final Sentence"] = 20, + ["The Mission is Survive"] = 20, + ["There Will Be Blood"] = 20, + ["Not A Romantic Comedy"] = 20, + ["Might Hurt a Little"] = 20, + ["Full Metal Jacket"] = 20, + ["The Coast is Toast"] = 20, + ["Too Proud To Run"] = 20, + ["Fear Holds All Prisoner"] = 20, + ["Nothing Spreads Like Fear"] = 20, + ["A Few Days To Kill"] = 20, + ["The Future is DOOM"] = 20, + + -- book serialization/publication buzzwords + ["The Anthology"] = 40, + ["The Trilogy"] = 40, + ["The Complete Works"] = 20, + ["Omnibus Edition"] = 20, + ["Editor's Choice"] = 30, + ["The Next Chapter"] = 20, + + -- production-related phrases + ["11/10 IGN"] = 20, + ["An ObligeFlix Original Series"] = 40, + ["Classic Edition"] = 20, + ["Day One Edition"] = 20, + ["Deluxe Edition"] = 25, + ["Game of the Year Edition"] = 20, + ["Greatest Hits"] = 20, -- Craneo + ["No Microtransactions"] = 20, + ["Subscribe and Hit that Like Button"] = 40, + ["The Official Video Game Tie-in"] = 20, + ["The Original Series"] = 20, + + -- silly/annoying/occasionally informative + ["Always Keep Hydrated"] = 20, + ["Doesn't Contain Real Cheese"] = 10, + ["Go Out and Vote"] = 15, + ["Hate is Unmagic"] = 15, + ["He Doesn't Afraid of Anything"] = 15, + ["May Contain Chest-high Walls"] = 20, + ["Now With More Sentence Enhancers!"] = 10, + ["ObAdo What You ObAdon't"] = 20, + ["People Die When They Are Killed"] = 10, + ["Siri Look Up Doom Eternal"] = 10, + ["So Sad Alexa Play D RUNNIN"] = 10, + ["The World isn't Flat"] = 30, + ["Now Sashay Away"] = 30, + + -- Based on music, be it artists, song titles or album titles + ["Doomtanic Hellucinations"] = 20, -- Acid Witch - "Witchtanic Hellucinations" (song) + ["Hymns of Destruction"] = 20, -- The Adicts - "Songs of Praise" (album title) + ["Ashes of a Burning Earth"] = 25, -- Adversus Semita - "Ashes of a Burning Heaven" (song) + ["Doomx V"] = 30, -- Aeba - "Kodex V" (album title) + ["Demonic Rampage"] = 20, -- Afrobomination - "Galatic Rampage" (song) + ["Hell in Motion"] = 20, -- Against Nature - "All in Motion" (song) + ["Show Oneself the STARTAN"] = 15, -- Against Nature - "Show Myself the Door" (song) + ["The Divinity of Cyberdemons"] = 20, -- Ahab - The Divinity of Oceans (album title) + ["Enraptured by Death"] = 25, -- Akercocke - "Enraptured by Evil" (song) + ["Ceremony of Nine Icons"] = 20, -- Akercocke - "The Ceremony of Nine Angels" (song) + ["Demon's Lyric"] = 30, -- Akira Yamaoka - "Devil's Lyric" (Silent Hill Soundtrack) + ["Fear of the Abyss"] = 20, -- Akira Yamaoka - "Fear of the Dark" (Silent Hill Soundtrack) + ["Death by the Shotgun"] = 20, -- Alestorm - "Death before the Mast" (song) + ["No Secrets Known"] = 20, -- Alice in Chains - All Secrets Known (song) + ["Earth Gives Way to Hell"] = 25, -- Alice in Chains - Black Gives Way to Blue (album title) + ["Angry Demons"] = 20, -- Alice in Chains - Angry Chair (song) + ["Consciousness Beyond Peril"] = 25, -- Alienation Cold - "Dream of an Obscured Consciousness" (song) + ["Pursuit of Marines"] = 20, -- Amon Amarth - "The Pursuit of Vikings" (song) + ["Ruined Armor and Bloody Rifles"] = 20, -- Amon Amarth - "Tattered Banners and Bloody Flags" (song) + ["Maximum Doom"] = 20, -- Annihilator - "Maximum Satan" (song) + ["Sometimes They Hear The Fist"] = 25, -- Atomizer - "Sometimes they hear the Bullet" (song) + ["Hateful by Nature"] = 20, -- Atrophy - Violent by Nature (album title) + -- I'll stop here, because I have over 18,000(!!) tracks to go through and this would make this + -- list VERY, VERY LONG. - Reisal + + ["Highway to DOOM"] = 20, -- AC/DC - "Highway to Hell" (song) + ["Rhythm of Blood"] = 20, -- Unknown - "Rhythm of Red" (Tokyo Xtreme Racer Zero soundtrack) + ["Born too Deadly"] = 20, -- The Crystal Method - "Born too Slow" (song) + ["Angel and the Devil"] = 20, -- Wolfmother - "Joker and the Thief" (song) + ["No Angels Fly"] = 20, -- Sabaton - "No Bullets Fly" (song) + + -- Nerdery stuff + ["d20 Edition"] = 15 -- Also Swedra + } + } + } + -- end of 'TITLE' and 'SUB_TITLE' themes + -- end of all the 'TEXT_XXX' themes +} \ No newline at end of file diff --git a/games/strife/params.lua b/games/strife/params.lua new file mode 100644 index 0000000000..4f703cdbed --- /dev/null +++ b/games/strife/params.lua @@ -0,0 +1,50 @@ +------------------------------------------------------------------------ +-- STRIFE PARAMETERS and ACTIONS +------------------------------------------------------------------------ +-- +-- Oblige Level Maker +-- +-- Copyright (C) 2006-2015 Andrew Apted +-- Copyright (C) 2011-2012 Jared Blackburn + +-- This program is free software; you can redistribute it and/or +-- modify it under the terms of the GNU General Public License +-- as published by the Free Software Foundation; either version 2, +-- of the License, or (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +------------------------------------------------------------------------ + +STRIFE.PARAMETERS = +{ + max_name_length = 28, + titlepic_lump = "TITLEPIC", + titlepic_format = "patch", + -- This only works in conjunction with ZDoom's MAPINFO, as DEH/BEX don't work with vanilla Strife (I think) + bex_map_prefix = "HUSTR_", +} + +STRIFE.MUSIC_LIST = +{ + [1] = "D_ACTION", + [2] = "D_FAST", + [3] = "D_DANGER", + [4] = "D_DARKER", + [5] = "D_STRIKE", + [6] = "D_SLIDE", + [7] = "D_TRIBAL", + [8] = "D_MARCH", + [9] = "D_MOOD", + [10] = "D_CASTLE", + [11] = "D_FIGHT", + [12] = "D_SPENSE", + [13] = "D_DARK", + [14] = "D_TECH", + [15] = "D_DRONE", + [16] = "D_PANTHR", + [17] = "D_INSTRY" +} \ No newline at end of file diff --git a/games/strife/resources.lua b/games/strife/resources.lua new file mode 100644 index 0000000000..ede4d606a6 --- /dev/null +++ b/games/strife/resources.lua @@ -0,0 +1,146 @@ +------------------------------------------------------------------------ +-- STRIFE RESOURCES and GFX +------------------------------------------------------------------------ +-- +-- Copyright (C) 2006-2015 Andrew Apted +-- Copyright (C) 2011-2012 Jared Blackburn +-- +-- This program is free software; you can redistribute it and/or +-- modify it under the terms of the GNU General Public License +-- as published by the Free Software Foundation; either version 2, +-- of the License, or (at your option) any later version. +-- +------------------------------------------------------------------------ + +STRIFE.RESOURCES = {} + +STRIFE.RESOURCES.PALETTES = +{ + normal = + { + 2, 2, 2, 4, 4, 4, 15, 15, 15, 19, 19, 19, 27, 27, 27, + 28, 28, 28, 33, 33, 33, 39, 39, 39, 45, 45, 45, 51, 51, 51, + 57, 57, 57, 63, 63, 63, 69, 69, 69, 75, 75, 75, 81, 81, 81, + 86, 86, 86, 92, 92, 92, 98, 98, 98, 104,104,104, 112,112,112, + 121,121,121, 130,130,130, 139,139,139, 147,147,147, 157,157,157, + 166,166,166, 176,176,176, 185,185,185, 194,194,194, 203,203,203, + 212,212,212, 221,221,221, 230,230,230, 29, 32, 29, 38, 40, 37, + 50, 50, 50, 59, 60, 59, 69, 72, 68, 78, 80, 77, 88, 93, 86, + 97,100, 95, 109,112,104, 116,123,112, 125,131,121, 134,141,130, + 144,151,139, 153,161,148, 163,171,157, 172,181,166, 181,189,176, + 189,196,185, 22, 29, 22, 27, 36, 27, 31, 43, 31, 35, 51, 35, + 43, 55, 43, 47, 63, 47, 51, 71, 51, 59, 75, 55, 63, 83, 59, + 67, 91, 67, 75, 95, 71, 79,103, 75, 87,111, 79, 91,115, 83, + 95,123, 87, 103,131, 95, 20, 16, 36, 30, 26, 46, 40, 36, 57, + 50, 46, 67, 59, 57, 78, 69, 67, 88, 79, 77, 99, 89, 87,109, + 99, 97,120, 109,107,130, 118,118,141, 128,128,151, 138,138,162, + 148,148,172, 62, 40, 11, 75, 50, 16, 84, 59, 23, 95, 67, 30, + 103, 75, 38, 110, 83, 47, 123, 95, 55, 137,107, 62, 150,118, 75, + 163,129, 84, 171,137, 92, 180,146,101, 188,154,109, 196,162,117, + 204,170,125, 208,176,133, 27, 15, 8, 38, 20, 11, 49, 27, 14, + 61, 31, 14, 65, 35, 18, 74, 37, 19, 83, 43, 19, 87, 47, 23, + 95, 51, 27, 103, 59, 31, 115, 67, 35, 123, 75, 39, 131, 83, 47, + 143, 91, 51, 151, 99, 59, 160,108, 64, 175,116, 74, 180,126, 81, + 192,135, 91, 204,143, 93, 213,151,103, 216,159,115, 220,167,126, + 223,175,138, 227,183,149, 37, 20, 4, 47, 24, 4, 57, 28, 6, + 68, 33, 4, 76, 36, 3, 84, 40, 0, 97, 47, 2, 114, 54, 0, + 125, 63, 6, 141, 75, 9, 155, 83, 17, 162, 95, 21, 169,103, 26, + 180,113, 32, 188,124, 20, 204,136, 24, 220,148, 28, 236,160, 23, + 244,172, 47, 252,187, 57, 252,194, 70, 251,201, 83, 251,208, 97, + 251,221,123, 2, 4, 41, 2, 5, 49, 6, 8, 57, 2, 5, 65, + 2, 5, 79, 0, 4, 88, 0, 4, 96, 0, 4,104, 4, 6,121, + 2, 5,137, 20, 23,152, 38, 41,167, 56, 59,181, 74, 77,196, + 91, 94,211, 109,112,226, 127,130,240, 145,148,255, 31, 4, 4, + 39, 0, 0, 47, 0, 0, 55, 0, 0, 67, 0, 0, 79, 0, 0, + 91, 0, 0, 103, 0, 0, 115, 0, 0, 127, 0, 0, 139, 0, 0, + 155, 0, 0, 167, 0, 0, 185, 0, 0, 202, 0, 0, 220, 0, 0, + 237, 0, 0, 255, 0, 0, 255, 46, 46, 255, 91, 91, 255,137,137, + 255,171,171, 20, 16, 4, 13, 24, 9, 17, 33, 12, 21, 41, 14, + 24, 50, 17, 28, 57, 20, 32, 65, 24, 35, 73, 28, 39, 80, 31, + 44, 86, 37, 46, 95, 38, 51,104, 43, 60,122, 51, 68,139, 58, + 77,157, 66, 85,174, 73, 94,192, 81, 157, 51, 4, 170, 65, 2, + 185, 86, 4, 213,119, 6, 234,147, 5, 255,178, 6, 255,195, 26, + 255,216, 45, 4,133, 4, 8,175, 8, 2,215, 2, 3,234, 3, + 42,252, 42, 121,255,121, 3, 3,184, 15, 41,220, 28, 80,226, + 41,119,233, 54,158,239, 67,197,246, 80,236,252, 244, 14, 3, + 255, 63, 0, 255, 95, 0, 255,127, 0, 255,159, 0, 255,195, 26, + 255,223, 0, 43, 13, 64, 61, 14, 89, 90, 15,122, 120, 16,156, + 149, 16,189, 178, 17,222, 197, 74,232, 215,129,243, 234,169,253, + 61, 16, 16, 90, 36, 33, 118, 56, 49, 147, 77, 66, 176, 97, 83, + 204,117, 99, 71, 53, 2, 81, 63, 6, 96, 72, 0, 108, 80, 0, + 120, 88, 0, 128, 96, 0, 149,112, 1, 181,136, 3, 212,160, 4, + 255,255,255, + }, +} + + +------------------------------------------------------------------------ + +function STRIFE.make_cool_gfx() + local PURPLE = + { + 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, + } + + local GREEN = + { + 0, 186, 188, 190, 192, 194, 196, 198, 200, 202, + } + + local BROWN = + { + 0, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119, 121, + } + + local RED = + { + 0, 164, 166, 168, 170, 172, 174, 176, 178, 180, 183, + } + + local WHITE = + { + 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, + } + + local BLUE = + { + 0, 146, 148, 150, 152, 154, 156, 217, 219, 221, 223, + } + + + local colmaps = + { + PURPLE, GREEN, BROWN, RED, BLUE + } + + rand.shuffle(colmaps) + + gui.set_colormap(1, colmaps[1]) + gui.set_colormap(2, colmaps[2]) + gui.set_colormap(3, colmaps[3]) + gui.set_colormap(4, WHITE) + + local carve = "RELIEF" + local c_map = 3 + + if rand.odds(33) then + carve = "CARVE" + c_map = 4 + end + + -- patches : SEWER08, BRASS3, BRASS4, + gui.wad_logo_gfx("W_121", "p", "BOLT", 64,128, 1) + gui.wad_logo_gfx("W_320", "p", "PILL", 128,128, 2) + gui.wad_logo_gfx("W_321", "p", carve, 128,128, c_map) + + -- flats + gui.wad_logo_gfx("O_BOLT", "f", "BOLT", 64,64, 1) + gui.wad_logo_gfx("O_PILL", "f", "PILL", 64,64, 2) + gui.wad_logo_gfx("O_CARVE", "f", carve, 64,64, c_map) +end + + +function STRIFE.all_done() + STRIFE.make_cool_gfx() +end + diff --git a/games/strife/themes.lua b/games/strife/themes.lua new file mode 100644 index 0000000000..7f7caa9119 --- /dev/null +++ b/games/strife/themes.lua @@ -0,0 +1,368 @@ +------------------------------------------------------------------------ +-- STRIFE THEMES +------------------------------------------------------------------------ +-- +-- Copyright (C) 2006-2017 Andrew Apted +-- Copyright (C) 2008 Sam Trenholme +-- Copyright (C) 2019-2020 MsrSgtShooterPerson +-- --Adapted from MsrSgtShooterPerson's Doom themes.lua file + --Into a singular theme (Castle) for Heretic +-- +-- This program is free software; you can redistribute it and/or +-- modify it under the terms of the GNU General Public License +-- as published by the Free Software Foundation; either version 2, +-- of the License, or (at your option) any later version. +-- +------------------------------------------------------------------------ + +STRIFE.THEMES = +{ + DEFAULTS = + { + slump_config = + [[ + ; + ; Sample SLIGE config file. (Semicolon starts a comment to end of line.) + ; + ; This is the SLIGE.CFG as shipped with SLIGE itself. It contains a + ; description of the default SLIGE configuration, as hardwired into + ; the program. So having this file in the current directory under the + ; name SLIGE.CFG should produce exactly the same effect as not having + ; any config file at all. You can use this file as a base to build + ; your own config files on (but if you do, you should change these + ; comments; otherwise they'll be WRONG!). + ; + ; Dave Chess, dmchess@aol.com, chess@us.ibm.com + + ; The current implementation ignores everything before the + ; [THEMES] line also, but that will change. + + [THEMES] ; Anything after a ; is, remember, a comment + + ; We have three themes, one secret. They should all be declared + ; before any textures or flats or anything else. The only valid + ; modifier is "secret", which says that that theme should only be + ; used on secret levels. There should be at least one "secret" + ; theme. + + Theme TWN ; Town theme + + ; Flats and textures and constructs and stuff are also in the [THEMES] section + + ; Textures are described by "Texture NAME ". Obvious + ; attributes include "wall", "door", and so on. Some subtler ones: + ; + ; "core " means that this texture should be common in that theme. + ; "comp " means that this texture is compatible with that theme, but + ; not to be used all that often. + ; "switch " means "the given texture is a good switch to use in + ; a room that has walls of the current texture" + ; "isswitch" means "the current texture is a good switch to use on any + ; wall in a room with a compatible theme" + ; "subtle " means "the given texture is a subtle variant of the + ; current texture, suitable for hinting at secrets" + ; "yhint N" means "when using a vertical misalignment to hint at + ; a secret door in a wall of this texture, use a y-offset of N". If + ; N is zero, it means "this wall is too visually complex to hint via a + ; y-misalignment at all; hint some other way". If no "yhint" is given, + ; the value 5 is used. + ; "noDoom2" means that the texture does not exist in the usual DOOM II + ; IWAD. "noDoom0" means it doesn't exist in the DOOM 1.2 IWAD, and + ; "noDoom1" means it's not in the DOOM 1.666 or 1.89 IWAD. If none + ; of these are specified, the texture is assumed to be in all. + ; "size " gives the size of the texture. You can leave + ; this out if the height is 128, and the width is some reasonable + ; divisor of 256 (except for doors, where you should give the real + ; width so SLIGE can make them look nice). + + ; Twn walls + Texture BRKBRN01 size 64 128 wall core TWN subtle BRKBRN02 + + ; Twn switches + Texture SWBRIK01 size 64 128 isswitch comp TWN + + ; And the lift texture + Texture ELEVTR03 size 64 128 lift comp TWN + + ; Doors of all kinds. "size" gives the width and height of the texture, + ; and "locked" means that it's a good texture to use on a door that only + ; opens with a switch, not a touch. + Texture DORMS01 size 64 128 door comp TWN + Texture DORWL01 size 128 128 door comp TWN + + ; Twn exit switches + Texture SWBRN01 size 64 128 exitswitch comp TWN + + ; Lights, suitable for lighting recesses and stuff. + Texture LITE06 size 8 64 light comp TWN + + ; "Plaques", suitable for wall consoles and paintings and pillars and stuff. + ; "vtiles" means that it's OK to pile one on top of another, as when + ; making the big central pillar in an arena. + ; "half_plaque" means that the upper half of this texture can be used + ; by itself, as well as the whole thing. + Texture WINDW01 size 64 128 plaque vtiles half_plaque comp TWN + Texture WINDW02 size 64 128 plaque vtiles half_plaque comp TWN + Texture WINDW03 size 64 128 plaque vtiles half_plaque comp TWN + Texture WINDW04 size 64 128 plaque vtiles half_plaque comp TWN + + ; Gratings + Texture GRATE01 size 32 128 grating comp TWN + + ; Colors (suitable for marking key-locked things) + Texture BANR12 size 16 128 red comp TWN + Texture BRKHEX06 size 16 128 yellow comp TWN + Texture COMP40 size 16 128 blue comp TWN + + ; Step kickplates + Texture STAIR06 size 64 8 step comp TWN + + ; "Doorjambs" + Texture DORTRK01 size 16 128 jamb comp TWN + + ; Support textures, used in various places + Texture IRON02 size 64 128 support comp TWN + + ; Bunch of things for outside patios (no themes applied here) + Texture BRKBRN04 size 128 128 outside + + ; Misc + Texture SIGIL01 size 64 128 error + + ; Now the flats. Keywords should all be pretty obvious... *8) + + ; Teleport-gate floors + Flat F_TELE1 gate comp TWN + + ; Twn floors and ceilings + Flat F_KNTBRK floor comp TWN + Flat F_OLDWOD ceiling comp TWN + Flat F_DISCO1 ceiling light comp TWN + + Flat F_GRASS floor outside comp TWN + Flat F_BGROCK ceiling outside comp TWN + + ; and nukage + Flat F_PWATR1 nukage comp TWN + Flat F_PWATR1 nukage red comp TWN + + ; Floors for outside areas not yet mentioned + Flat F_GRASS outside + + ; These are the defaults, but we'll list them anyway. + Flat F_WATR01 water + Flat F_SKY001 sky + + ; Constructs: computers and crates and stuff that stand around in rooms + ; This is pretty complex! Fool with it at your peril. + + ; Family 1 is crates of various sizes and kinds + Construct family 1 height 128 comp TWN + top F_COVER + Primary BOXWOD02 width 64 + + ; Load the hardwired monster and object and so on data (required in + ; this version of SLIGE; don't remove this!) + Hardwired1 + + ; Say which lamps we like in which themes, and where barrels are allowed + ; Information like which Doom version each object is in, and which ones + ; cast light, and which ones explode, is still hardwired. + Thing 2028 comp TWN ; floor lamp + + ; and that's it! + ]] + }, + + town = + { + + slump_config = + [[ + ; + ; Sample SLIGE config file. (Semicolon starts a comment to end of line.) + ; + ; This is the SLIGE.CFG as shipped with SLIGE itself. It contains a + ; description of the default SLIGE configuration, as hardwired into + ; the program. So having this file in the current directory under the + ; name SLIGE.CFG should produce exactly the same effect as not having + ; any config file at all. You can use this file as a base to build + ; your own config files on (but if you do, you should change these + ; comments; otherwise they'll be WRONG!). + ; + ; Dave Chess, dmchess@aol.com, chess@us.ibm.com + + ; The current implementation ignores everything before the + ; [THEMES] line also, but that will change. + + [THEMES] ; Anything after a ; is, remember, a comment + + ; We have three themes, one secret. They should all be declared + ; before any textures or flats or anything else. The only valid + ; modifier is "secret", which says that that theme should only be + ; used on secret levels. There should be at least one "secret" + ; theme. + + Theme TWN ; Town theme + + ; Flats and textures and constructs and stuff are also in the [THEMES] section + + ; Textures are described by "Texture NAME ". Obvious + ; attributes include "wall", "door", and so on. Some subtler ones: + ; + ; "core " means that this texture should be common in that theme. + ; "comp " means that this texture is compatible with that theme, but + ; not to be used all that often. + ; "switch " means "the given texture is a good switch to use in + ; a room that has walls of the current texture" + ; "isswitch" means "the current texture is a good switch to use on any + ; wall in a room with a compatible theme" + ; "subtle " means "the given texture is a subtle variant of the + ; current texture, suitable for hinting at secrets" + ; "yhint N" means "when using a vertical misalignment to hint at + ; a secret door in a wall of this texture, use a y-offset of N". If + ; N is zero, it means "this wall is too visually complex to hint via a + ; y-misalignment at all; hint some other way". If no "yhint" is given, + ; the value 5 is used. + ; "noDoom2" means that the texture does not exist in the usual DOOM II + ; IWAD. "noDoom0" means it doesn't exist in the DOOM 1.2 IWAD, and + ; "noDoom1" means it's not in the DOOM 1.666 or 1.89 IWAD. If none + ; of these are specified, the texture is assumed to be in all. + ; "size " gives the size of the texture. You can leave + ; this out if the height is 128, and the width is some reasonable + ; divisor of 256 (except for doors, where you should give the real + ; width so SLIGE can make them look nice). + + ; Twn walls + Texture BRKBRN01 size 64 128 wall core TWN subtle BRKBRN02 + + ; Twn switches + Texture SWBRIK01 size 64 128 isswitch comp TWN + + ; And the lift texture + Texture ELEVTR03 size 64 128 lift comp TWN + + ; Doors of all kinds. "size" gives the width and height of the texture, + ; and "locked" means that it's a good texture to use on a door that only + ; opens with a switch, not a touch. + Texture DORMS01 size 64 128 door comp TWN + Texture DORWL01 size 128 128 door comp TWN + + ; Twn exit switches + Texture SWBRN01 size 64 128 exitswitch comp TWN + + ; Lights, suitable for lighting recesses and stuff. + Texture LITE06 size 8 64 light comp TWN + + ; "Plaques", suitable for wall consoles and paintings and pillars and stuff. + ; "vtiles" means that it's OK to pile one on top of another, as when + ; making the big central pillar in an arena. + ; "half_plaque" means that the upper half of this texture can be used + ; by itself, as well as the whole thing. + Texture WINDW01 size 64 128 plaque vtiles half_plaque comp TWN + Texture WINDW02 size 64 128 plaque vtiles half_plaque comp TWN + Texture WINDW03 size 64 128 plaque vtiles half_plaque comp TWN + Texture WINDW04 size 64 128 plaque vtiles half_plaque comp TWN + + ; Gratings + Texture GRATE01 size 32 128 grating comp TWN + + ; Colors (suitable for marking key-locked things) + Texture BANR12 size 16 128 red comp TWN + Texture BRKHEX06 size 16 128 yellow comp TWN + Texture COMP40 size 16 128 blue comp TWN + + ; Step kickplates + Texture STAIR06 size 64 8 step comp TWN + + ; "Doorjambs" + Texture DORTRK01 size 16 128 jamb comp TWN + + ; Support textures, used in various places + Texture IRON02 size 64 128 support comp TWN + + ; Bunch of things for outside patios (no themes applied here) + Texture BRKBRN04 size 128 128 outside + + ; Misc + Texture SIGIL01 size 64 128 error + + ; Now the flats. Keywords should all be pretty obvious... *8) + + ; Teleport-gate floors + Flat F_TELE1 gate comp TWN + + ; Twn floors and ceilings + Flat F_KNTBRK floor comp TWN + Flat F_OLDWOD ceiling comp TWN + Flat F_DISCO1 ceiling light comp TWN + + Flat F_GRASS floor outside comp TWN + Flat F_BGROCK ceiling outside comp TWN + + ; and nukage + Flat F_PWATR1 nukage comp TWN + Flat F_PWATR1 nukage red comp TWN + + ; Floors for outside areas not yet mentioned + Flat F_GRASS outside + + ; These are the defaults, but we'll list them anyway. + Flat F_WATR01 water + Flat F_SKY001 sky + + ; Constructs: computers and crates and stuff that stand around in rooms + ; This is pretty complex! Fool with it at your peril. + + ; Family 1 is crates of various sizes and kinds + Construct family 1 height 128 comp TWN + top F_COVER + Primary BOXWOD02 width 64 + + ; Load the hardwired monster and object and so on data (required in + ; this version of SLIGE; don't remove this!) + Hardwired1 + + ; Say which lamps we like in which themes, and where barrels are allowed + ; Information like which Doom version each object is in, and which ones + ; cast light, and which ones explode, is still hardwired. + Thing 2028 comp TWN ; floor lamp + + ; and that's it! + ]] + + }, + +} + +function STRIFE.slump_setup() + if ob_match_game({game = {strife=1}}) then + if OB_CONFIG.theme == "default" then + PARAM.slump_config = STRIFE.THEMES.DEFAULTS.slump_config + elseif OB_CONFIG.theme == "jumble" then + local possible_configs = {} + for _,tab in pairs(STRIFE.THEMES) do + if tab.slump_config then + table.insert(possible_configs, tab.slump_config) + end + end + PARAM.slump_config = rand.pick(possible_configs) + elseif STRIFE.THEMES[OB_CONFIG.theme].slump_config then + PARAM.slump_config = STRIFE.THEMES[OB_CONFIG.theme].slump_config + else + PARAM.slump_config = STRIFE.THEMES.DEFAULTS.slump_config + end + end +end + +------------------------------------------------------------------------ + + +OB_THEMES["town"] = +{ + label = _("Town"), + game = "strife", + name_class = "CASTLE", + mixed_prob = 50, +} + diff --git a/modules/alt_shape_grammars.lua b/modules/alt_shape_grammars.lua index ae8dc661c7..ccf70a5c59 100644 --- a/modules/alt_shape_grammars.lua +++ b/modules/alt_shape_grammars.lua @@ -49,7 +49,7 @@ OB_MODULES["alt_shape_grammars"] = { name = "float_grammar_backhalls", - label = _("The Backhalls (WIP)"), + label = _("The Backhalls"), valuator = "slider", units = _("% Chance Per Level"), min = 0, @@ -77,21 +77,6 @@ OB_MODULES["alt_shape_grammars"] = randomize_group = "architecture", }, - { - name = "float_grammar_map_01", - label = _("Eternal Entryway (WIP)"), - valuator = "slider", - units = _("% Chance Per Level"), - min = 0, - max = 100, - increment = 1, - default = 0, - tooltip = _("Sets chance of levels using the Eternal Entryway shape grammar."), - longtip = _("It's MAP01. This is an example of a non-traditional use of shape grammar to try to force a level layout into a certain shape."), - priority = 101, - randomize_group = "architecture", - }, - { name = "float_grammar_oblige_745", label = _("The OG"), diff --git a/modules/debugger.lua b/modules/debugger.lua index 28d827119c..d61a59ec18 100644 --- a/modules/debugger.lua +++ b/modules/debugger.lua @@ -236,16 +236,6 @@ OB_MODULES["material_debugger"] = }, } -OB_MODULES["experimental_games"] = -{ - name = "experimental_games", - label = _("Allow Partially Supported Games"), - engine = "!idtech_0", - port = "!limit_enforcing", - where = "experimental", - tooltip = _("The following games are in an experimental status, meaning that they may have errors when building levels, or support for certain gameplay features has not been implemented yet:\n\nChex Quest 1: SLUMP/Vanilla Port support only"), -} - OB_MODULES["pickup_params"] = { diff --git a/ports/boom.lua b/ports/boom.lua index 532afe3e85..a92688c849 100644 --- a/ports/boom.lua +++ b/ports/boom.lua @@ -149,7 +149,7 @@ OB_PORTS["boom"] = priority = 98, -- this makes it top-most, and the default engine - game = { chex1=0, doom1=1, doom2=1, hacx=0 }, + game = { chex1=0, doom1=1, doom2=1, hacx=0, harmony=0, strife=0, rekkr=0 }, tables = { diff --git a/ports/edge.lua b/ports/edge.lua index 8bbfea8561..216338451d 100644 --- a/ports/edge.lua +++ b/ports/edge.lua @@ -161,7 +161,7 @@ OB_PORTS["edge"] = priority = 95, - game = { chex1=0, doom1=1, doom2=1, hacx=0, heretic=1, ultdoom=1, tnt=1, plutonia=1 }, + game = { chex1=0, doom1=1, doom2=1, hacx=0, harmony=0, heretic=1, ultdoom=1, tnt=1, plutonia=1, strife=0, rekkr=0 }, tables = { diff --git a/ports/vanilla.lua b/ports/vanilla.lua index e0965b2a5e..e0bc810d0d 100644 --- a/ports/vanilla.lua +++ b/ports/vanilla.lua @@ -78,6 +78,6 @@ OB_PORTS["limit_enforcing"] = { label = _("Vanilla"), -- Keep Vanilla labeling for consistency engine = "idtech_1", - game = { chex1=1,doom1=1,doom2=1,ultdoom=1,heretic=1,hacx=1,wolf=0,noah=0 }, + game = { chex1=1,doom1=1,doom2=1,ultdoom=1,harmony=1,heretic=1,hacx=1,wolf=0,noah=0,strife=1,rekkr=1 }, priority = 99 } \ No newline at end of file diff --git a/ports/zdoom.lua b/ports/zdoom.lua index ae1db37f20..4326fea61f 100644 --- a/ports/zdoom.lua +++ b/ports/zdoom.lua @@ -66,7 +66,7 @@ OB_PORTS["zdoom"] = game = { - chex1=0, doom1=1, doom2=1, heretic=1, hacx=0 + chex1=0, doom1=1, doom2=1, heretic=1, hacx=0, harmony=0, strife=0, rekkr=0 }, tables = diff --git a/scripts/level.lua b/scripts/level.lua index f8b81ac30c..01a778f782 100644 --- a/scripts/level.lua +++ b/scripts/level.lua @@ -2775,13 +2775,6 @@ function Level_make_all() GAME.levels = {} GAME.episodes = {} - -- semi-supported games warning - if ob_match_game({ game = { unused=1 } }) then - if ob_mod_enabled("experimental_games") == 0 then - error(gui.gettext("\nWarning: The game that you have selected is in an experimental state. WADs may not build successfully and certain gameplay features may not be implemented yet! To ignore this warning and continue generation for these games, check the \"Allow Partially Supported Games\" checkbox located under the Experimental tab.\n\nUse the tooltip for the \"Allow Partially Supported Games\" module to find the exact status for the game in question.")) - end - end - ob_invoke_hook("get_levels") if #GAME.levels == 0 then diff --git a/scripts/obsidian.lua b/scripts/obsidian.lua index d67a030d9e..acb4d3eb08 100644 --- a/scripts/obsidian.lua +++ b/scripts/obsidian.lua @@ -569,7 +569,7 @@ function ob_update_ports() if OB_CONFIG.engine == "idtech_0" then OB_CONFIG.port = "vanilla" elseif OB_CONFIG.engine == "idtech_1" then - if OB_CONFIG.game == "chex1" or OB_CONFIG.game == "hacx" then -- Ugh + if OB_CONFIG.game == "chex1" or OB_CONFIG.game == "hacx" or OB_CONFIG.game == "harmony" or OB_CONFIG.game == "strife" or OB_CONFIG.game == "rekkr" then -- Ugh OB_CONFIG.port = "limit_enforcing" else OB_CONFIG.port = "zdoom" @@ -1902,8 +1902,14 @@ function ob_default_filename() name_tab = DOOM.NAMES elseif OB_CONFIG.game == "hacx" then name_tab = HACX.NAMES + elseif OB_CONFIG.game == "harmony" then + name_tab = HARMONY.NAMES elseif OB_CONFIG.game == "heretic" then name_tab = HERETIC.NAMES + elseif OB_CONFIG.game == "strife" then + name_tab = STRIFE.NAMES + elseif OB_CONFIG.game == "rekkr" then + name_tab = REKKR.NAMES end Naming_init(name_tab) end @@ -2374,7 +2380,10 @@ local function ob_get_module_refs() "tnt", "plutonia", "hacx", + "harmony", "heretic", + "rekkr", + "strife", "wolf3d", "spear", "noah", diff --git a/scripts/shapes.lua b/scripts/shapes.lua index 4092013454..880c78461a 100644 --- a/scripts/shapes.lua +++ b/scripts/shapes.lua @@ -20865,541 +20865,6 @@ HALL_SPROUT_1 = -- end of SHAPES.OBLIGE_745 } -SHAPES.MAP_01 = -{ - -force_level_size = 75, -- assertion errors if slider set too low - Dasho - -ignore_coverage = true, - -ROOT_1 = -{ - prob = 50, - - structure = - { - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "..............................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "..............................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "..............................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "........./RRR%................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", ".........RRRRR................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", ".........RRRRR................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", ".........RRRRR................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", ".........RRRRR................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", ".........RRRRR................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", ".........%RRR/................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "...........R.../%.............", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", ".........RRRRRRRR.............", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", ".........R...R.%/.............", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", ".........R...R................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", ".......RRRRR.R................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", ".......RRRRR.R................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", ".......RRRRR.R................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", ".......%RRR/.RRRRRRRRR%.......", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "......RRRRR./RRRRRRRRRR.......", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "............RRRRRRRRRRR.......", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "..........RRRRRRRRRRRRR.......", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "............%RRRRRRRRR/.......", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "..............................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "..............................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "..............................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "..............................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "..............................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "..............................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "..............................", - "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "..............................", - }, - - diagonals = - { - ".R", "R.", - ".R", "R.", - ".R", "R.", - ".R", "R.", - ".R", "R.", "R.", - ".R", - ".R", "R." - }, - - no_rotate = true - -}, - - ------------------------------------------ - -GROW_1 = -{ - prob = 400, --Non-MSSP default: 100, - prob_skew = 2, - - structure = - { - ".", ".", - "1", "1", - }, -}, - -SPROUT_1 = -{ - prob = 400, --Non-MSSP default: 100, - prob_skew = 2, - - structure = - { - ".", ".", - "1", "1", - }, -}, - -SQUARE_OUT_1 = -{ - prob = 400, - - pass = "square_out", - - env = "building", - - structure = - { - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "........./111%................", "........./111%................", - ".........11111................", ".........11111................", - ".........11111................", ".........11111................", - ".........11111................", ".........11111................", - ".........11111................", ".........11111................", - ".........11111................", ".........11111................", - ".........%111/................", ".........%111/................", - "...........1.../%.............", "...........1.../%.............", - ".........11111111.............", ".........11111111.............", - ".........1...1.%/.............", ".........1...1.%/.............", - ".........1...1................", ".........1...1................", - ".......11111.1................", ".......11111.1................", - ".......11111.1................", ".......11111.1................", - ".......11111.1................", ".......11111.J................", - ".......%111/.111111111%.......", ".......%111/.RRRRRRRRR%.......", - "......11111./1111111111.......", "......11111./RRRRRRRRRR.......", - "............11111111111.......", "............RRRRRRRRRRR.......", - "..........1111111111111.......", "..........RRRRRRRRRRRRR.......", - "............%111111111/.......", "............%RRRRRRRRR/.......", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - }, - - no_rotate = true, - - diagonals = - { - ".1", ".1", - "1.", "1.", - ".1", ".1", - "1.", "1.", - ".1", ".1", - "1.", "1.", - ".1", ".1", - "1.", "1.", - ".1", ".1", - "1.", "1.", - "1.", "R.", - ".1", ".R", - ".1", ".R", - "1.", "R." - }, - - joiner = - { - from_dir = 8 - } - -}, - -SQUARE_OUT_2 = -{ - prob = 400, - - pass = "square_out", - - env = "building", - - structure = - { - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "........./111%................", "........./RRR%................", - ".........11111................", ".........RRRRR................", - ".........11111................", ".........RRRRR................", - ".........11111................", ".........RRRRR................", - ".........11111................", ".........RRRRR................", - ".........11111................", ".........RRRRR................", - ".........%111/................", ".........%RRR/................", - "...........1.../%.............", "...........J.../%.............", - ".........11111111.............", ".........11111111.............", - ".........1...1.%/.............", ".........1...1.%/.............", - ".........1...1................", ".........1...1................", - ".......11111.1................", ".......11111.1................", - ".......11111.1................", ".......11111.1................", - ".......11111.c................", ".......11111.c................", - ".......%111/.ccccccccc%.......", ".......%111/.ccccccccc%.......", - "......11111./cccccccccc.......", "......11111./cccccccccc.......", - "............ccccccccccc.......", "............ccccccccccc.......", - "..........ccccccccccccc.......", "..........ccccccccccccc.......", - "............%ccccccccc/.......", "............%ccccccccc/.......", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - }, - - no_rotate = true, - - diagonals = - { - ".1", ".R", - "1.", "R.", - ".1", ".R", - "1.", "R.", - ".1", ".1", - "1.", "1.", - ".1", ".1", - "1.", "1.", - ".1", ".1", - "1.", "1.", - "c.", "c.", - ".c", ".c", - ".c", ".c", - "c.", "c." - }, - - joiner = - { - from_dir = 2 - } - -}, - -SQUARE_OUT_3 = -{ - prob = 400, - - pass = "square_out", - - env = "building", - - structure = - { - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "........./ccc%................", "........./ccc%................", - ".........ccccc................", ".........ccccc................", - ".........ccccc................", ".........ccccc................", - ".........ccccc................", ".........ccccc................", - ".........ccccc................", ".........ccccc................", - ".........ccccc................", ".........ccccc................", - ".........%ccc/................", ".........%ccc/................", - "...........c.../%.............", "...........c.../%.............", - ".........11111111.............", ".........11111111.............", - ".........1...1.%/.............", ".........1...1.%/.............", - ".........1...1................", ".........1...1................", - ".......11111.1................", ".......11111.1................", - ".......11111.1................", ".......11111.1................", - ".......11111.c................", ".......11111.c................", - ".......%111/.ccccccccc%.......", ".......%vvv/.ccccccccc%.......", - "......11111./cccccccccc.......", "......AAAAA./cccccccccc.......", - "............ccccccccccc.......", "............ccccccccccc.......", - "..........ccccccccccccc.......", "..........ccccccccccccc.......", - "............%ccccccccc/.......", "............%ccccccccc/.......", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - }, - - no_rotate = true, - - diagonals = - { - ".c", ".c", - "c.", "c.", - ".c", ".c", - "c.", "c.", - ".1", ".1", - "1.", "1.", - ".1", ".1", - "1.", "1.", - ".1", ".1", - "1.", "1.", - "c.", "c.", - ".c", ".c", - ".c", ".c", - "c.", "c." - }, - -}, - -SQUARE_OUT_4 = -{ - prob = 400, - - pass = "square_out", - - env = "building", - - structure = - { - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "........./ccc%................", "........./ccc%................", - ".........ccccc................", ".........ccccc................", - ".........ccccc................", ".........ccccc................", - ".........ccccc................", ".........ccccc................", - ".........ccccc................", ".........ccccc................", - ".........ccccc................", ".........ccccc................", - ".........%ccc/................", ".........%ccc/................", - "...........c.../%.............", "...........c.../%.............", - ".........11111111.............", ".........AAAAAAAA.............", - ".........1...1.%/.............", ".........A...A.%/.............", - ".........1...1................", ".........A...A................", - ".......11111.1................", ".......11^11.A................", - ".......11111.1................", ".......11111.A................", - ".......11111.c................", ".......11111.c................", - ".......%vvv/.ccccccccc%.......", ".......%vvv/.ccccccccc%.......", - "......xxxxx./cccccccccc.......", "......xxxxx./cccccccccc.......", - "............ccccccccccc.......", "............ccccccccccc.......", - "..........ccccccccccccc.......", "..........ccccccccccccc.......", - "............%ccccccccc/.......", "............%ccccccccc/.......", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - }, - - no_rotate = true, - - diagonals = - { - ".c", ".c", - "c.", "c.", - ".c", ".c", - "c.", "c.", - ".1", ".A", - "1.", "A.", - ".1", ".A", - "1.", "A.", - ".1", ".1", - "1.", "1.", - "c.", "c.", - ".c", ".c", - ".c", ".c", - "c.", "c." - }, - -}, - -SQUARE_OUT_5 = -{ - prob = 400, - - pass = "square_out", - - env = "building", - - structure = - { - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "........./111%................", "........./111%................", - ".........11111................", ".........11111................", - ".........11111................", ".........1C1C1................", - ".........11111................", ".........11111................", - ".........11111................", ".........1C1C1................", - ".........11111................", ".........11111................", - ".........%111/................", ".........%111/................", - "...........c.../%.............", "...........c.../%.............", - ".........cccccccc.............", ".........cccccccc.............", - ".........c...c.%/.............", ".........c...c.%/.............", - ".........c...c................", ".........c...c................", - ".......ccccc.c................", ".......ccccc.c................", - ".......ccccc.c................", ".......ccccc.c................", - ".......ccccc.c................", ".......ccccc.c................", - ".......%ccc/.ccccccccc%.......", ".......%ccc/.ccccccccc%.......", - "......ccccc./cccccccccc.......", "......ccccc./cccccccccc.......", - "............ccccccccccc.......", "............ccccccccccc.......", - "..........ccccccccccccc.......", "..........ccccccccccccc.......", - "............%ccccccccc/.......", "............%ccccccccc/.......", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - }, - - no_rotate = true, - - diagonals = - { - ".1", ".1", - "1.", "1.", - ".1", ".1", - "1.", "1.", - ".c", ".c", - "c.", "c.", - ".c", ".c", - "c.", "c.", - ".c", ".c", - "c.", "c.", - "c.", "c.", - ".c", ".c", - ".c", ".c", - "c.", "c." - }, - -}, - -SQUARE_OUT_6 = -{ - prob = 400, - - pass = "square_out", - - env = "building", - - structure = - { - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "........./ccc%................", "........./ccc%................", - ".........ccccc................", ".........ccccc................", - ".........ccccc................", ".........ccccc................", - ".........ccccc................", ".........ccccc................", - ".........ccccc................", ".........ccccc................", - ".........ccccc................", ".........ccccc................", - ".........%ccc/................", ".........%ccc/................", - "...........c.../%.............", "...........c.../%.............", - ".........cccccccc.............", ".........cccccccc.............", - ".........c...c.%/.............", ".........c...c.%/.............", - ".........c...c................", ".........c...c................", - ".......ccccc.c................", ".......ccccc.c................", - ".......ccccc.c................", ".......ccccc.c................", - ".......ccccc.c................", ".......ccccc.c................", - ".......%ccc/.111111111%.......", ".......%ccc/.111111111%.......", - "......ccccc./1111111111.......", "......ccccc./1111111111.......", - "............11111111111.......", "............11111111111.......", - "..........1111111111111.......", "..........A<11111111111.......", - "............%111111111/.......", "............%111111111/.......", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - "..............................", "..............................", - }, - - no_rotate = true, - - diagonals = - { - ".c", ".c", - "c.", "c.", - ".c", ".c", - "c.", "c.", - ".c", ".c", - "c.", "c.", - ".c", ".c", - "c.", "c.", - ".c", ".c", - "c.", "c.", - "1.", "1.", - ".1", ".1", - ".1", ".1", - "1.", "1." - }, -}, - ------------------------------------------- - ---SQUARE_OUT_FROM_CORNER_2X = ---{ - --pass = "square_out", - - --prob = 100, - - --structure = - --{ - --".",".", - --"1","1", - --}, ---}, - -DECORATE_CLOSET_2x1 = -{ - prob = 60, --40, - prob_skew = 2, - - structure = - { - "..", "TT", - "11", "11", - }, - - closet = { from_dir=2 }, -}, - -FILLER_1 = -{ - pass = "filler", - prob = 40, --30, - - structure = - { - ".", ".", - "1", "1", - }, -}, - -SMOOTHER_1 = -{ - pass = "smoother", - prob = 75, --50, - - structure = - { - ".", ".", - "1", "1", - }, -}, --- end of SHAPES.MAP_01 -} - SHAPES.BACKHALLS = { diff --git a/source_files/obsidian_main/m_theme.cc b/source_files/obsidian_main/m_theme.cc index bdb1c22229..c41547ff32 100644 --- a/source_files/obsidian_main/m_theme.cc +++ b/source_files/obsidian_main/m_theme.cc @@ -401,6 +401,8 @@ class UI_ThemeWin : public Fl_Window { " "); main_win->game_box->engine_help->copy_label(""); main_win->game_box->engine_help->labelsize(FL_NORMAL_SIZE); + main_win->game_box->game_help->labelsize(FL_NORMAL_SIZE); + main_win->game_box->game_help->copy_label(""); main_win->game_box->game->labelsize(FL_NORMAL_SIZE); main_win->game_box->game->textsize(FL_NORMAL_SIZE); main_win->game_box->game->copy_label( @@ -425,8 +427,6 @@ class UI_ThemeWin : public Fl_Window { main_win->game_box->theme->copy_label( " " " "); - main_win->game_box->theme_help->labelsize(FL_NORMAL_SIZE); - main_win->game_box->theme_help->copy_label(""); main_win->game_box->build->labelsize(header_font_size); main_win->game_box->quit->labelsize(FL_NORMAL_SIZE); for (int x = 0; x < main_win->game_box->children(); x++) { @@ -440,7 +440,7 @@ class UI_ThemeWin : public Fl_Window { main_win->game_box->engine_help->copy_label("?"); main_win->game_box->port_help->copy_label("?"); main_win->game_box->length_help->copy_label("?"); - main_win->game_box->theme_help->copy_label("?"); + main_win->game_box->game_help->copy_label("?"); main_win->build_box->seed_disp->labelsize(small_font_size); main_win->build_box->name_disp->labelsize(small_font_size); main_win->build_box->status->labelsize(FL_NORMAL_SIZE); @@ -519,6 +519,8 @@ class UI_ThemeWin : public Fl_Window { " "); main_win->game_box->engine_help->copy_label(""); main_win->game_box->engine_help->labelfont(font_style); + main_win->game_box->game_help->labelfont(font_style); + main_win->game_box->game_help->copy_label(""); main_win->game_box->game->labelfont(font_style); main_win->game_box->game->textfont(font_style); main_win->game_box->game->copy_label( @@ -543,8 +545,6 @@ class UI_ThemeWin : public Fl_Window { main_win->game_box->theme->copy_label( " " " "); - main_win->game_box->theme_help->labelfont(font_style); - main_win->game_box->theme_help->copy_label(""); main_win->game_box->build->labelfont(font_style | FL_BOLD); main_win->game_box->quit->labelfont(font_style); for (int x = 0; x < main_win->game_box->children(); x++) { @@ -558,7 +558,7 @@ class UI_ThemeWin : public Fl_Window { main_win->game_box->engine_help->copy_label("?"); main_win->game_box->port_help->copy_label("?"); main_win->game_box->length_help->copy_label("?"); - main_win->game_box->theme_help->copy_label("?"); + main_win->game_box->game_help->copy_label("?"); main_win->build_box->seed_disp->labelfont(font_style); main_win->build_box->name_disp->labelfont(font_style); main_win->build_box->status->labelfont(font_style); @@ -1059,12 +1059,12 @@ class UI_ThemeWin : public Fl_Window { main_win->game_box->engine->labelcolor(FONT_COLOR); main_win->game_box->engine_help->labelcolor(FONT_COLOR); main_win->game_box->game->labelcolor(FONT_COLOR); + main_win->game_box->game_help->labelcolor(FONT_COLOR); main_win->game_box->port->labelcolor(FONT_COLOR); main_win->game_box->port_help->labelcolor(FONT_COLOR); main_win->game_box->length->labelcolor(FONT_COLOR); main_win->game_box->length_help->labelcolor(FONT_COLOR); main_win->game_box->theme->labelcolor(FONT_COLOR); - main_win->game_box->theme_help->labelcolor(FONT_COLOR); for (int x = 0; x < main_win->game_box->children(); x++) { main_win->game_box->child(x)->redraw(); main_win->game_box->child(x)->redraw_label(); diff --git a/source_files/obsidian_main/ui_game.cc b/source_files/obsidian_main/ui_game.cc index 63f2fa207f..62dee5e1fa 100644 --- a/source_files/obsidian_main/ui_game.cc +++ b/source_files/obsidian_main/ui_game.cc @@ -77,6 +77,9 @@ UI_Game::UI_Game(int X, int Y, int W, int H) : Fl_Group(X, Y, W, H) { game->textcolor(FONT2_COLOR); game->selection_color(SELECTION); game->callback(callback_Game, this); + game_help = new UI_HelpLink(cx + cw, cy, W * 0.10, ch); + game_help->labelfont(font_style); + game_help->callback(callback_GameHelp, this); cy += y_step; @@ -113,9 +116,6 @@ UI_Game::UI_Game(int X, int Y, int W, int H) : Fl_Group(X, Y, W, H) { theme->textcolor(FONT2_COLOR); theme->selection_color(SELECTION); theme->callback(callback_Theme, this); - theme_help = new UI_HelpLink(cx + cw, cy, W * 0.10, ch); - theme_help->labelfont(font_style); - theme_help->callback(callback_ThemeHelp, this); cy += y_step; @@ -167,6 +167,22 @@ void UI_Game::callback_Game(Fl_Widget *w, void *data) { ob_set_config("game", that->game->GetID()); } +void UI_Game::callback_GameHelp(Fl_Widget *w, void *data) { + fl_cursor(FL_CURSOR_DEFAULT); + Fl_Window *win = new Fl_Window(640, 480, _("Game")); + Fl_Text_Buffer *buff = new Fl_Text_Buffer(); + Fl_Text_Display *disp = new Fl_Text_Display(20, 20, 640 - 40, 480 - 40); + disp->buffer(buff); + disp->wrap_mode(Fl_Text_Display::WRAP_AT_BOUNDS, 0); + win->resizable(*disp); + win->hotspot(0, 0, 0); + win->set_modal(); + win->show(); + // clang-format off + buff->text(_("Chex 3 Vanilla: Unofficial repackaging of Chex Quest 3 for non-ZDoom derived engines. SLUMP support only.\n\nHacX 1.2: SLUMP support only.\n\nHarmony Compat: Harmony re-release for non-ZDoom derived engines. Must be run as a PWAD in conjuction with the Doom 2/Freedoom 2 IWAD. SLUMP support only.\n\nStrife: SLUMP support only.")); + // clang-format on +} + void UI_Game::callback_Port(Fl_Widget *w, void *data) { UI_Game *that = (UI_Game *)data; @@ -239,23 +255,6 @@ void UI_Game::callback_LengthHelp(Fl_Widget *w, void *data) { // clang-format on } -void UI_Game::callback_ThemeHelp(Fl_Widget *w, void *data) { - fl_cursor(FL_CURSOR_DEFAULT); - Fl_Window *win = new Fl_Window(640, 480, _("Theme")); - Fl_Text_Buffer *buff = new Fl_Text_Buffer(); - Fl_Text_Display *disp = new Fl_Text_Display(20, 20, 640 - 40, 480 - 40); - disp->buffer(buff); - disp->wrap_mode(Fl_Text_Display::WRAP_AT_BOUNDS, 0); - win->resizable(*disp); - win->hotspot(0, 0, 0); - win->set_modal(); - win->show(); - // clang-format off - buff->text( - _("Available Themes:\n\nOriginal: Follows the theme progression of the original game.\n\nEpisodic: Each episode follows a single randomly chosen theme.\n\nBit Mixed: Theme will change every few levels.\n\nJumbled Up: Level themes are purely random.\n\nPsychedelic: Trippy.\n\nOther themes listed are game-specific.")); - // clang-format on -} - void UI_Game::Locked(bool value) { if (value) { engine->deactivate(); diff --git a/source_files/obsidian_main/ui_game.h b/source_files/obsidian_main/ui_game.h index d0e8134aba..654039f57d 100644 --- a/source_files/obsidian_main/ui_game.h +++ b/source_files/obsidian_main/ui_game.h @@ -34,10 +34,10 @@ class UI_Game : public Fl_Group { UI_RChoiceMenu *engine; UI_HelpLink *engine_help; UI_RChoiceMenu *game; + UI_HelpLink *game_help; UI_RChoiceMenu *port; UI_HelpLink *port_help; UI_RChoiceMenu *theme; - UI_HelpLink *theme_help; UI_RChoiceMenu *length; UI_HelpLink *length_help; Fl_Button *build; @@ -67,13 +67,12 @@ class UI_Game : public Fl_Group { static void callback_Length(Fl_Widget *, void *); static void callback_Theme(Fl_Widget *, void *); static void callback_EngineHelp(Fl_Widget *, void *); + static void callback_GameHelp(Fl_Widget *, void *); static void callback_PortHelp(Fl_Widget *, void *); static void callback_LengthHelp(Fl_Widget *, void *); - static void callback_ThemeHelp(Fl_Widget *, void *); static void build_callback(Fl_Widget *, void *); static void stop_callback(Fl_Widget *, void *); static void quit_callback(Fl_Widget *, void *); - static void surprise_callback(Fl_Widget *, void *); }; #endif /* __UI_GAME_H__ */ diff --git a/source_files/slump/slump.cc b/source_files/slump/slump.cc index 28cc8ecc08..c9f0c8e67b 100644 --- a/source_files/slump/slump.cc +++ b/source_files/slump/slump.cc @@ -734,7 +734,7 @@ flat *new_flat(config *c,const char *name) answer = (flat *)malloc(sizeof(*answer)); memset(answer->name,0,9); memcpy(answer->name,name,strlen(name)); - answer->gamemask = DOOM0_BIT | DOOM1_BIT | DOOM2_BIT | DOOMC_BIT | DOOMI_BIT | HERETIC_BIT | CHEX_BIT | HACX_BIT; + answer->gamemask = DOOM0_BIT | DOOM1_BIT | DOOM2_BIT | DOOMC_BIT | DOOMI_BIT | HERETIC_BIT | CHEX_BIT | HACX_BIT | HARMONY_BIT | STRIFE_BIT | REKKR_BIT; answer->compatible = 0; answer->props = 0; answer->used = SLUMP_FALSE; @@ -814,7 +814,7 @@ genus *new_genus(config *c,int thingid) answer = (genus *)malloc(sizeof(*answer)); /* Default mask */ - answer->gamemask = DOOM0_BIT|DOOM1_BIT|DOOM2_BIT|DOOMC_BIT|DOOMI_BIT|HERETIC_BIT|CHEX_BIT|HACX_BIT; + answer->gamemask = DOOM0_BIT|DOOM1_BIT|DOOM2_BIT|DOOMC_BIT|DOOMI_BIT|HERETIC_BIT|CHEX_BIT|HACX_BIT|HARMONY_BIT|STRIFE_BIT|REKKR_BIT; answer->compatible = ~(unsigned int)0; /* Assume all themes OK */ answer->thingid = thingid; answer->width = 65; /* Sort of sensible default */ @@ -870,7 +870,7 @@ texture *new_texture(config *c,const char *name) memset(answer->name,0,9); memcpy(answer->name,name,strlen(name)); answer->realname = answer->name; - answer->gamemask = DOOM0_BIT | DOOM1_BIT | DOOM2_BIT | DOOMC_BIT | DOOMI_BIT | HERETIC_BIT | CHEX_BIT | HACX_BIT; + answer->gamemask = DOOM0_BIT | DOOM1_BIT | DOOM2_BIT | DOOMC_BIT | DOOMI_BIT | HERETIC_BIT | CHEX_BIT | HACX_BIT | HARMONY_BIT | STRIFE_BIT | REKKR_BIT; answer->compatible = 0; answer->core = 0; answer->props = 0; /* Filled in later */ @@ -1060,7 +1060,7 @@ void secretize_config(config *c) c->lock_themes = SLUMP_TRUE; if (rollpercent(25)) c->force_biggest = SLUMP_TRUE; /* stub */ c->big_monsters = SLUMP_TRUE; - if (!(c->gamemask & CHEX_BIT || c->gamemask & HACX_BIT)) { + if (!(c->gamemask & CHEX_BIT || c->gamemask & HARMONY_BIT || c->gamemask & STRIFE_BIT || c->gamemask & HACX_BIT)) { c->secret_themes = SLUMP_TRUE; } else { @@ -1182,6 +1182,11 @@ config *get_config(std::filesystem::path filename) { answer->map = 0; answer->episode = 1; answer->mission = 1; + } else if (StringCaseCmp(current_game, "rekkr") == 0) { + answer->gamemask = (DOOM1_BIT|DOOMI_BIT|DOOMC_BIT|REKKR_BIT); + answer->map = 0; + answer->episode = 1; + answer->mission = 1; } else if (StringCaseCmp(current_game, "heretic") == 0) { answer->gamemask = HERETIC_BIT; answer->map = 0; @@ -1192,6 +1197,16 @@ config *get_config(std::filesystem::path filename) { answer->map = 1; answer->episode = 0; answer->mission = 0; + } else if (StringCaseCmp(current_game, "harmony") == 0) { + answer->gamemask = (DOOM2_BIT|DOOMI_BIT|HARMONY_BIT); + answer->map = 1; + answer->episode = 0; + answer->mission = 0; + } else if (StringCaseCmp(current_game, "strife") == 0) { + answer->gamemask = (DOOM2_BIT|DOOMI_BIT|STRIFE_BIT); + answer->map = 2; + answer->episode = 0; + answer->mission = 0; } else { // Doom 2 / Final Doom answer->gamemask = (DOOM2_BIT|DOOMI_BIT); answer->map = 1; @@ -1206,18 +1221,18 @@ config *get_config(std::filesystem::path filename) { answer->levelcount = 4; } else if (StringCaseCmp(wadlength, "episode") == 0) { if (StringCaseCmp(current_game, "doom2") == 0 || StringCaseCmp(current_game, "plutonia") == 0 || StringCaseCmp(current_game, "tnt") == 0 - || StringCaseCmp(current_game, "hacx") == 0) { + || StringCaseCmp(current_game, "hacx") == 0 || StringCaseCmp(current_game, "harmony") == 0 || StringCaseCmp(current_game, "strife") == 0) { answer->levelcount = 11; } else { answer->levelcount = 8; } } else { if (StringCaseCmp(current_game, "doom2") == 0 || StringCaseCmp(current_game, "plutonia") == 0 || StringCaseCmp(current_game, "tnt") == 0 - || StringCaseCmp(current_game, "hacx") == 0) { + || StringCaseCmp(current_game, "hacx") == 0 || StringCaseCmp(current_game, "harmony") == 0 || StringCaseCmp(current_game, "strife") == 0) { answer->levelcount = 32; } else if (StringCaseCmp(current_game, "doom1") == 0 || StringCaseCmp(current_game, "chex1") == 0) { answer->levelcount = 24; - } else if (StringCaseCmp(current_game, "ultdoom") == 0) { + } else if (StringCaseCmp(current_game, "ultdoom") == 0 || StringCaseCmp(current_game, "rekkr") == 0) { answer->levelcount = 32; } else { answer->levelcount = 40; // Heretic @@ -1232,7 +1247,8 @@ config *get_config(std::filesystem::path filename) { answer->do_dm = StringToInt(dm_starts); answer->do_slinfo = SLUMP_TRUE; answer->produce_null_lmps = SLUMP_FALSE; - answer->do_seclevels = (StringCaseCmp(current_game, "chex1") == 0) ? SLUMP_FALSE : SLUMP_TRUE; // review now that CQ3 Vanilla exists - Dasho + answer->do_seclevels = (StringCaseCmp(current_game, "chex1") == 0 || StringCaseCmp(current_game, "harmony") == 0 || + StringCaseCmp(current_game, "strife") == 0 || StringCaseCmp(current_game, "rekkr") == 0) ? SLUMP_FALSE : SLUMP_TRUE; answer->force_secret = SLUMP_FALSE; answer->minlight = 115; /* Is this the right place for all these? */ @@ -2907,7 +2923,7 @@ void basic_background3(uint8_t *fbuf, byte bottom, int range) /* Should there be a secret level after the current level? */ boolean need_secret_level(config *c) { - if (c->gamemask & (CHEX_BIT|HACX_BIT)) return SLUMP_FALSE; + if (c->gamemask & (CHEX_BIT|HACX_BIT|HARMONY_BIT|STRIFE_BIT)) return SLUMP_FALSE; if (c->do_seclevels==SLUMP_FALSE) return SLUMP_FALSE; if (c->gamemask & HERETIC_BIT) { switch (c->episode) { @@ -8113,7 +8129,7 @@ construct *new_construct(config *c) construct *answer = (construct *)malloc(sizeof(*answer)); answer->height = 64; - answer->gamemask = DOOM1_BIT|DOOM0_BIT|DOOM2_BIT|DOOMI_BIT|DOOMC_BIT|HERETIC_BIT|CHEX_BIT|HACX_BIT; + answer->gamemask = DOOM1_BIT|DOOM0_BIT|DOOM2_BIT|DOOMI_BIT|DOOMC_BIT|HERETIC_BIT|CHEX_BIT|HACX_BIT|HARMONY_BIT|STRIFE_BIT|REKKR_BIT; answer->compatible = 0; answer->texture_cell_anchor = NULL; answer->flat_cell_anchor = NULL; diff --git a/source_files/slump/slump.h b/source_files/slump/slump.h index 0d687e4d5e..40344329a9 100644 --- a/source_files/slump/slump.h +++ b/source_files/slump/slump.h @@ -91,6 +91,9 @@ typedef unsigned int gamebits; /* Also bitarray */ #define HERETIC_BIT (0x20) #define CHEX_BIT (0x40) #define HACX_BIT (0x80) +#define HARMONY_BIT (0x100) +#define STRIFE_BIT (0x200) +#define REKKR_BIT (0x400) /* and that's all */ typedef unsigned long propertybits; /* Another bitarray */