From fef6004cb040c514b3b4702f024db9aa177a5c75 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Mon, 30 Dec 2019 18:53:25 -0800 Subject: [PATCH 01/16] create a cool tower --- .../Magiclysm/worldgen/wizard-towers.json | 200 ++++++++++++++++++ 1 file changed, 200 insertions(+) create mode 100644 data/mods/Magiclysm/worldgen/wizard-towers.json diff --git a/data/mods/Magiclysm/worldgen/wizard-towers.json b/data/mods/Magiclysm/worldgen/wizard-towers.json new file mode 100644 index 0000000000000..23d4817ee2f96 --- /dev/null +++ b/data/mods/Magiclysm/worldgen/wizard-towers.json @@ -0,0 +1,200 @@ +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": [ [ "wizardtower1_ground", "wizardtower1_living", "wizardtower1_golems", "wizardtower1_study", "wizardtower1_roof" ] ], + "weight": 100, + "object": { + "fill_ter": "t_floor", + "rows": [ + "!!!!!!!!!!!!!!!!!!!#####...................;;;;;........................................................................", + "!,,,,,,,,,,,,,,,,,,[[[[#...................;;;;;........................................................................", + "!,^,,,,,,######,,,,[[[[#.........#wwww#....;;;;;.........!!!!!!.........................................................", + "!,,,,,,###EBB|###,,[[[,!.......###EBBE###..............!!!!!!!!!!.......................................................", + "!,,,,#w#aa BB|BB#w#[[[,!.....###aa BB dd###..........!!!!!!!!!!!!!!.....................................................", + "!,,,##Ad | ##[[,!....##bb Adb##........!!!!!!!!!!!!!!!!....................................................", + "!,,,w bbb|aEb #[[,!....#b b#........!!!!!######!!!!!.............#wwww#..................!!!!!!.........", + "!,,##||||+||||||||+##[,!...##||||||HH ||+||##......!!!!!## | ##!!!!!...........## ##................!!!!!!!!........", + "!,,#< =[,!...#> <|||+|a uuw......!!!!##> | ##!!!!..........## dd##..............!!!!!!!!!!.......", + "!,##< hhh##!!..##> | uu##....!!!!## | ##!!!!........## M dAd##............!!!!!!!!!!!!......", + "!##|||+| 123cw,,.;w||||| |& ||#....!!!!# | #!!!!........w w............!!!!!!!!!!!!......", + ",#WD|& | hTTh ow,,.;wH A|A ## |CsC +t#....!!!!# ## #!!!!........w ## w............!!!!!!!!!!!!......", + ",# + | hTTh 5w,,.;wH b||| ##+||||+||#....!!!!# ## #!!!!........w ## w............!!!!!!!!!!!!......", + ",#fh|st| 4w,,.;wH + |u t| U#....!!!!# | #!!!!........w w............!!!!!!!!!!!!......", + ",########U &F##,,.;##H A| |u | U##....!!!!## | ##!!!!........## ##............!!!!!!!!!!!!......", + ",#UUU& + |||+||#,,,.;;#HHHbb| |u CsC|cc#......!!!!## | <##!!!!..........## >##..............!!!!!!!!!!.......", + ",# # ||dd #,,,.;;##|||||+||+|||||##......!!!!!## | ##!!!!!...........## ##................!!!!!!!!........", + ",# # ||ihd #,,,.;;;#E + Adw;.......!!!!!######!!!!!.............#wwww#..................!!!!!!.........", + ",# # + #,,,.;;;##E|b d##;.......!!!!!!!!!!!!!!!!....................................................", + ",# #||+|b b#,,,.;;;;###b BB #w#;;........!!!!!!!!!!!!!!.....................................................", + ",# #A |H bw,,,.;;;;;;###EBBE###;;;;..........!!!!!!!!!!.......................................................", + ",#MMMMMM#R |H r#,,,.;;;;;;;;#wwww#;;;;;;............!!!!!!.........................................................", + ",*______## Y|H A##,,,........;;;;;;;;;;;;;...........................................................................", + ",*______*#=##ww#ww##,,,,.........;;;;;;;;;;;............................................................................" + ], + "palettes": [ "wizardtower1_palette" ] + } + }, + { + "type": "palette", + "id": "wizardtower1_palette", + "terrain": { + ",": "t_region_groundcover_urban", + ".": "t_open_air", + "*": "t_region_shrub_decorative", + "_": "t_pavement", + ";": "t_tile_flat_roof", + "^": "t_region_tree_fruit", + "[": "t_sidewalk", + "!": "t_privacy_fence", + "#": "t_rock_wall", + "|": "t_wall_w", + "M": "t_door_metal_locked", + "+": "t_door_c", + "=": "t_door_locked", + "w": "t_window_domestic", + ">": "t_stairs_down", + "<": "t_stairs_up" + }, + "furniture": { + "&": "f_trashcan", + "a": "f_wardrobe", + "A": "f_armchair", + "b": "f_bookcase", + "B": "f_bed", + "c": "f_cupboard", + "C": "f_counter", + "d": "f_desk", + "D": "f_dryer", + "e": "f_water_heater", + "E": "f_dresser", + "f": "f_home_furnace", + "F": "f_fridge", + "h": "f_chair", + "H": "f_sofa", + "i": "f_filing_cabinet", + "I": "f_dishwasher", + "M": "f_huge_mana_crystal", + "o": "f_oven", + "r": "f_rack", + "R": "f_rack", + "s": "f_sink", + "t": "f_toilet", + "T": "f_table", + "u": "f_bathtub", + "U": "f_utility_shelf", + "W": "f_washer", + "Y": "f_rack_coat", + "1": "f_cupboard", + "2": "f_cupboard", + "3": "f_cupboard", + "4": "f_cupboard", + "5": "f_sink" + } + }, + { + "type": "overmap_terrain", + "id": "wizardtower1_ground", + "copy-from": "generic_city_building", + "name": "wizard tower" + }, + { + "type": "overmap_terrain", + "id": "wizardtower1_living", + "copy-from": "wizardtower1_ground" + }, + { + "type": "overmap_terrain", + "id": "wizardtower1_golems", + "copy-from": "wizardtower1_ground" + }, + { + "type": "overmap_terrain", + "id": "wizardtower1_study", + "copy-from": "wizardtower1_ground" + }, + { + "type": "overmap_terrain", + "id": "wizardtower1_roof", + "copy-from": "wizardtower1_ground" + }, + { + "type": "city_building", + "id": "wizard_tower_1", + "locations": [ "land" ], + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "wizardtower1_ground_north" }, + { "point": [ 0, 0, 1 ], "overmap": "wizardtower1_living_north" }, + { "point": [ 0, 0, 2 ], "overmap": "wizardtower1_golems_north" }, + { "point": [ 0, 0, 3 ], "overmap": "wizardtower1_study_north" }, + { "point": [ 0, 0, 4 ], "overmap": "wizardtower1_roof_north" } + ] + }, + { + "type": "furniture", + "id": "f_huge_mana_crystal", + "name": "huge mana crystal", + "description": "This is a mana crystal that juts from the ground as if it had sprouted up like a weed. It pulses with a delicate yellow energy, occasionally bursting with flashes of pent-up light.", + "symbol": "]", + "color": "white_yellow", + "move_cost_mod": -1, + "coverage": 75, + "required_str": -1, + "looks_like": "f_boulder_large", + "flags": [ "TRANSPARENT", "EMITTER" ], + "emissions": [ "emit_glimmer" ], + "light_emitted": 12, + "bash": { + "str_min": 25, + "str_max": 35, + "sound": "glass shattering!", + "sound_fail": "mana crackling!", + "items": [ + { "item": "crystallized_mana", "charges": [ 0, 10 ] }, + { "item": "small_mana_crystal", "count": [ 0, 3 ] }, + { "item": "glass_shard", "count": [ 8, 12 ] } + ] + } + }, + { + "type": "ammunition_type", + "id": "crystallized_mana", + "name": "crystallized mana", + "default": "crystallized_mana" + }, + { + "type": "AMMO", + "id": "crystallized_mana", + "category": "spare_parts", + "price": 1000, + "name": "crystallized mana", + "name_plural": "crystallized mana", + "symbol": "=", + "color": "yellow", + "description": "Some crystallized mana. This can be reloaded into rechargable mana crystals, but can never be unloaded.", + "flags": "TRADER_AVOID", + "volume": "100 ml", + "ammo_type": "crystallized_mana", + "reload_time": 1, + "count": 100, + "looks_like": "battery", + "fuel": { "energy": 1 } + }, + { + "id": "small_mana_crystal", + "type": "MAGAZINE", + "category": "spare_parts", + "name": "small mana crystal", + "name_plural": "small mana crystals", + "description": "This is a small mana crystal specifically designed to be attached to wand tips.", + "weight": 5, + "volume": 1, + "price": 1500, + "symbol": "=", + "color": "yellow", + "ammo_type": "crystallized_mana", + "capacity": 50, + "looks_like": "battery", + "flags": [ "NO_SALVAGE", "NO_UNLOAD" ] + } +] From 9b1fa749d596cdbb2cd25fc93fb0588a9f0a93a3 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Mon, 30 Dec 2019 21:58:57 -0800 Subject: [PATCH 02/16] create a cool tower --- data/mods/Magiclysm/items/constructs.json | 2 +- .../Magiclysm/worldgen/wizard-towers.json | 367 ++++++++++++++---- 2 files changed, 287 insertions(+), 82 deletions(-) diff --git a/data/mods/Magiclysm/items/constructs.json b/data/mods/Magiclysm/items/constructs.json index efc54880b3eb1..986a486f1e416 100644 --- a/data/mods/Magiclysm/items/constructs.json +++ b/data/mods/Magiclysm/items/constructs.json @@ -6,7 +6,7 @@ "color": "brown", "name": "broken clay golem", "category": "other", - "description": "A broken clay golem, looking like piece of post-modern art. Could be smashed for clay.", + "description": "A broken clay golem, looking like a piece of post-modern art. Could be smashed for clay.", "price": 10000, "material": [ "clay" ], "weight": "122 kg", diff --git a/data/mods/Magiclysm/worldgen/wizard-towers.json b/data/mods/Magiclysm/worldgen/wizard-towers.json index 23d4817ee2f96..c60278f2ef029 100644 --- a/data/mods/Magiclysm/worldgen/wizard-towers.json +++ b/data/mods/Magiclysm/worldgen/wizard-towers.json @@ -1,4 +1,221 @@ [ + { + "type": "furniture", + "id": "f_magic_bench", + "name": "enchanter's workbench", + "looks_like": "f_table", + "description": "An ornate oak cabinet topped by a durable resin countertop resistant to most alchemical spills and burns. It has wired in electrical and gas fittings, and has been decorated with several protection runes - mostly ornamental.", + "symbol": "0", + "bgcolor": "white", + "move_cost_mod": 2, + "coverage": 60, + "required_str": -1, + "flags": [ "TRANSPARENT", "PLACE_ITEM", "MOUNTABLE", "FLAT_SURF" ], + "deconstruct": { + "items": [ + { "item": "pipe", "count": [ 6, 12 ] }, + { "item": "cu_pipe", "count": [ 1, 4 ] }, + { "item": "cable", "charges": [ 1, 4 ] }, + { "item": "plastic_chunk", "count": [ 50, 75 ] }, + { "item": "wood_panel", "count": [ 1, 2 ] }, + { "item": "2x4", "count": [ 3, 4 ] } + ] + }, + "max_volume": 7000, + "bash": { + "str_min": 35, + "str_max": 80, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ + { "item": "splinter", "count": [ 2, 8 ] }, + { "item": "2x4", "count": [ 0, 2 ] }, + { "item": "wood_panel", "count": [ 0, 1 ] }, + { "item": "plastic_chunk", "count": [ 30, 50 ] }, + { "item": "pipe", "count": 1 }, + { "item": "cable", "charges": [ 1, 3 ] }, + { "item": "cu_pipe", "count": 1 } + ] + }, + "examine_action": "workbench", + "workbench": { "multiplier": 1.15, "mass": 300000, "volume": "100L" } + }, + { + "type": "furniture", + "id": "f_alembic", + "name": "standing alembic", + "looks_like": "f_still", + "description": "A large glass and copper alembic for distilling alchemical concoctions. It consists of a copper pot with rising spires of twisted glass draining into various removable bottles.", + "symbol": "&", + "color": "light_blue", + "move_cost_mod": -1, + "coverage": 40, + "required_str": -1, + "crafting_pseudo_item": "still_lab", + "flags": [ "TRANSPARENT", "NOITEM" ], + "deconstruct": { + "items": [ + { "item": "pot_copper", "count": 1 }, + { "item": "pipe_glass", "count": [ 1, 4 ] }, + { "item": "glass_tube_small", "charges": [ 5, 10 ] }, + { "item": "stopcock", "count": [ 1, 5 ] }, + { "item": "flask_glass", "count": [ 1, 3 ] } + ] + }, + "max_volume": 7000, + "bash": { + "str_min": 4, + "str_max": 10, + "sound": "glass breaking!", + "sound_fail": "clang!", + "items": [ + { "item": "scrap_copper", "count": [ 10, 20 ] }, + { "item": "stopcock", "count": [ 1, 5 ] }, + { "item": "glass_shard", "count": [ 25, 50 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_orrery", + "name": "orrery", + "looks_like": "f_statue", + "description": "This is a beautiful, non-scale model of the solar system. A complex series of gears allows the relative motions of the planets to be studied at the turn of a crank. This more modern version also has bluetooth and could have been controlled with an app, if there was any power anymore.", + "symbol": "@", + "color": "brown", + "move_cost_mod": -1, + "coverage": 40, + "required_str": -1, + "flags": [ "TRANSPARENT", "NOITEM" ], + "deconstruct": { + "items": [ + { "item": "clockworks", "count": [ 10, 30 ] }, + { "item": "scrap", "count": [ 10, 20 ] }, + { "item": "pipe", "charges": 9 }, + { "item": "wire", "count": [ 10, 20 ] }, + { "item": "hinge", "count": [ 1, 3 ] } + ] + }, + "max_volume": 7000, + "bash": { + "str_min": 20, + "str_max": 60, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ + { "item": "scrap", "count": [ 10, 100 ] }, + { "item": "pipe", "count": [ 1, 5 ] }, + { "item": "wire", "count": [ 3, 10 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_huge_mana_crystal", + "name": "huge mana crystal", + "description": "This is a mana crystal that juts from the ground as if it had sprouted up like a weed. It pulses with a delicate yellow energy, occasionally bursting with flashes of pent-up light.", + "symbol": "]", + "color": "white_yellow", + "move_cost_mod": -1, + "coverage": 75, + "required_str": -1, + "looks_like": "f_boulder_large", + "flags": [ "TRANSPARENT", "EMITTER" ], + "emissions": [ "emit_glimmer" ], + "light_emitted": 12, + "bash": { + "str_min": 25, + "str_max": 35, + "sound": "glass shattering!", + "sound_fail": "mana crackling!", + "items": [ + { "item": "crystallized_mana", "charges": [ 0, 10 ] }, + { "item": "small_mana_crystal", "count": [ 0, 3 ] }, + { "item": "glass_shard", "count": [ 8, 12 ] } + ] + } + }, + { + "id": "mon_plasticgolem", + "type": "MONSTER", + "name": { "str": "plastic golem" }, + "description": "Traditionally, making a golem is a months-long process involving hand tools and precision craftsmanship. A stone golem is as much a work of art as it is a magical device. The advent of 3D printing made it easy to get into the golem-making hobby, and plastic golems have soared in popularity.", + "default_faction": "factionless", + "volume": "150 L", + "weight": "70 kg", + "hp": 120, + "speed": 90, + "material": [ "plastic" ], + "symbol": "G", + "color": "light_gray", + "aggression": 30, + "morale": 100, + "armor_bash": 18, + "armor_cut": 6, + "melee_skill": 5, + "melee_dice": 3, + "melee_dice_sides": 6, + "melee_cut": 3, + "vision_day": 30, + "vision_night": 30, + "anger_triggers": [ "PLAYER_CLOSE", "HURT" ], + "regenerates": 10, + "death_drops": + { "item": "plastic_chunk", "prob": 100, "count": [ 5, 10 ] }, + "death_function": [ "BROKEN" ], + "flags": [ "SEES", "HEARS", "NO_BREATHE", "LOUDMOVES" ] + }, + { + "type": "GENERIC", + "id": "broken_plasticgolem", + "symbol": "x", + "color": "light_gray", + "name": "broken plastic golem", + "category": "other", + "description": "A broken plastic golem, like a giant action figure chewed up by an equally giant puppy. You could smash it up into recycled plastic bits.", + "price": 100, + "material": [ "plastic" ], + "weight": "70 kg", + "volume": "150 L", + "bashing": 4, + "cutting": 4, + "to_hit": -3, + "flags": [ "TRADER_AVOID", "NO_REPAIR" ] + }, + { + "type": "monstergroup", + "name": "GROUP_TOWER_GOLEM", + "default": "mon_plasticgolem", + "//": "Cheap golems used to defend the average wizard's tower.", + "monsters": [ + { "monster": "mon_plasticgolem", "freq": 60, "cost_multiplier": 1 }, + { "monster": "mon_claygolem", "freq": 20, "cost_multiplier": 1 }, + { "monster": "mon_stonegolem", "freq": 10, "cost_multiplier": 1 }, + { "monster": "mon_irongolem", "freq": 5, "cost_multiplier": 1 } + ] + }, + { + "type": "item_group", + "id": "magic_tools_and_loot", + "//": "Stuff you would find in an average wizard's workshop.", + "subtype": "collection", + "items": [ + { "group": "tools_common", "prob": 60 }, + { "group": "jewelry_safe", "prob": 10 }, + { "group": "jewelry_front", "prob": 8 }, + { "group": "potions_common", "prob": 15 }, + { "distribution": [ + { "group": "enchanted_wands_lesser", "prob": 15 }, + { "group": "spellbook_loot_1", "prob": 35, "count": [ 1, 3 ] }, + { "group": "enchanted_rings_common", "prob": 20 }, + { "group": "enchanted_rings_uncommon", "prob": 5 }, + { "group": "enchanted_combat_items", "prob": 10 }, + { "group": "enchanted_belts", "prob": 2 } + ], "prob": 15 }, + { "item": "bone_human", "prob": 60, "count-min": 1, "count-max": 5 }, + [ "toolbox", 10 ] + ] + }, { "type": "mapgen", "method": "json", @@ -13,18 +230,18 @@ "!,,,,,,###EBB|###,,[[[,!.......###EBBE###..............!!!!!!!!!!.......................................................", "!,,,,#w#aa BB|BB#w#[[[,!.....###aa BB dd###..........!!!!!!!!!!!!!!.....................................................", "!,,,##Ad | ##[[,!....##bb Adb##........!!!!!!!!!!!!!!!!....................................................", - "!,,,w bbb|aEb #[[,!....#b b#........!!!!!######!!!!!.............#wwww#..................!!!!!!.........", - "!,,##||||+||||||||+##[,!...##||||||HH ||+||##......!!!!!## | ##!!!!!...........## ##................!!!!!!!!........", - "!,,#< =[,!...#> <|||+|a uuw......!!!!##> | ##!!!!..........## dd##..............!!!!!!!!!!.......", - "!,##< hhh##!!..##> | uu##....!!!!## | ##!!!!........## M dAd##............!!!!!!!!!!!!......", - "!##|||+| 123cw,,.;w||||| |& ||#....!!!!# | #!!!!........w w............!!!!!!!!!!!!......", - ",#WD|& | hTTh ow,,.;wH A|A ## |CsC +t#....!!!!# ## #!!!!........w ## w............!!!!!!!!!!!!......", - ",# + | hTTh 5w,,.;wH b||| ##+||||+||#....!!!!# ## #!!!!........w ## w............!!!!!!!!!!!!......", - ",#fh|st| 4w,,.;wH + |u t| U#....!!!!# | #!!!!........w w............!!!!!!!!!!!!......", - ",########U &F##,,.;##H A| |u | U##....!!!!## | ##!!!!........## ##............!!!!!!!!!!!!......", - ",#UUU& + |||+||#,,,.;;#HHHbb| |u CsC|cc#......!!!!## | <##!!!!..........## >##..............!!!!!!!!!!.......", - ",# # ||dd #,,,.;;##|||||+||+|||||##......!!!!!## | ##!!!!!...........## ##................!!!!!!!!........", - ",# # ||ihd #,,,.;;;#E + Adw;.......!!!!!######!!!!!.............#wwww#..................!!!!!!.........", + "!,,,w bbb|aEb #[[,!....#b b#........!!!!!###ww#!!!!!.............#wwww#..................!!!!!!.........", + "!,,##||||+||||||||+##[,!...##||||||HH ||+||##......!!!!!##|V ##!!!!!...........##mm ##................!!!!!!!!........", + "!,,#< =[,!...#> <|||+|a uuw......!!!!##>|V 8##!!!!..........##mh F##..............!!!!!!!!!!.......", + "!,##< hTTh hhh##!!..##> | uu##....!!!!## |V 08##!!!!........## y c c##............!!!!!!!!!!!!......", + "!##|||+| hTTh 123cw,,.;w||||| |& ||#....!!!!#U |V mw!!!!........w 9cL w............!!!!!!!!!!!!......", + ",#WD|& | hTTh ow,,.;wH A|A ## |CsC +t#....!!!!#U |## hmw!!!!........w 9##cc w............!!!!!!!!!!!!......", + ",# + | hTTh 5w,,.;wH b||| ##+||||+||#....!!!!##M#### mw!!!!........wd 9## w............!!!!!!!!!!!!......", + ",#fx|st| 4w,,.;wH + |u t| U#....!!!!#0 # mw!!!!........wdA 99 w............!!!!!!!!!!!!......", + ",######## &F##,,.;##H A| |u | U##....!!!!##0 # 0##!!!!........## O ##............!!!!!!!!!!!!......", + ",#UUU& + |67| ||#,,,.;;#HHHbb| |u CsC|cc#......!!!!##0 # <##!!!!..........## >##..............!!!!!!!!!!.......", + ",# # |||| #,,,.;;##|||||+||+|||||##......!!!!!##0 M ##!!!!!...........## ##................!!!!!!!!........", + ",# # ||HHHH w,,,.;;;#E + Adw;.......!!!!!######!!!!!.............#wwww#..................!!!!!!.........", ",# # + #,,,.;;;##E|b d##;.......!!!!!!!!!!!!!!!!....................................................", ",# #||+|b b#,,,.;;;;###b BB #w#;;........!!!!!!!!!!!!!!.....................................................", ",# #A |H bw,,,.;;;;;;###EBBE###;;;;..........!!!!!!!!!!.......................................................", @@ -74,8 +291,10 @@ "H": "f_sofa", "i": "f_filing_cabinet", "I": "f_dishwasher", - "M": "f_huge_mana_crystal", + "L": "f_alembic", + "m": "f_magic_bench", "o": "f_oven", + "O": "f_orrery", "r": "f_rack", "R": "f_rack", "s": "f_sink", @@ -83,19 +302,72 @@ "T": "f_table", "u": "f_bathtub", "U": "f_utility_shelf", + "V": "f_utility_shelf", "W": "f_washer", + "x": "f_water_heater", + "y": "f_huge_mana_crystal", "Y": "f_rack_coat", "1": "f_cupboard", "2": "f_cupboard", "3": "f_cupboard", "4": "f_cupboard", - "5": "f_sink" + "5": "f_sink", + "6": "f_cupboard", + "7": "f_cupboard", + "8": "f_bookcase", + "9": "f_bookcase" + }, + "items": { + "&": { "item": "trash", "chance": 50, "repeat": [ 1, 2 ] }, + "a": [ + { "item": "dresser", "chance": 50, "repeat": [ 1, 8 ] }, + { "item": "allclothes", "chance": 10, "repeat": [ 1, 3 ] }, + { "item": "enchanted_misc", "chance": 5 } + ], + "b": [ { "item": "novels", "chance": 50, "repeat": [ 1, 15 ] }, { "item": "homebooks", "chance": 25, "repeat": [ 1, 5 ] } ], + "B": { "item": "bed", "chance": 20 }, + "c": { "item": "kitchen_counters", "chance": 5, "repeat": [ 1, 3 ] }, + "C": { "item": "snacks", "chance": 10, "repeat": [ 1, 2 ] }, + "d": { "item": "SUS_office_desk", "chance": 25 }, + "D": { "item": "snacks", "chance": 10, "repeat": [ 1, 2 ] }, + "E": { "item": "dresser", "chance": 50, "repeat": [ 1, 5 ] }, + "f": [ { "item": "SUS_fridge", "chance": 95 }, { "item": "potions_common", "chance": 5, "repeat": [ 1, 3 ] } ], + "i": [ { "item": "SUS_office_filing_cabinet", "chance": 30 }, { "item": "office", "chance": 50, "repeat": [ 1, 4 ] } ], + "I": { "item": "SUS_dishwasher", "chance": 50 }, + "m": { "item": "magic_tools_and_loot", "chance": 25 }, + "o": { "item": "SUS_oven", "chance": 70 }, + "r": { "item": "a_television", "chance": 100 }, + "R": { "item": "shoes", "chance": 20, "repeat": [ 1, 4 ] }, + "U": [ { "item": "tools_common", "chance": 40, "repeat": [ 1, 3 ] }, { "item": "mischw", "chance": 10 } ], + "V": [ + { "item": "tools_general", "chance": 60, "repeat": [ 1, 3 ] }, + { "item": "mischw", "chance": 10 }, + { "item": "magic_tools_and_loot", "chance": 5 } + ], + "Y": [ { "item": "coat_rack", "chance": 70 }, { "item": "magic_shop_clothes", "chance": 30 } ], + "1": [ { "item": "SUS_dishes", "chance": 100 }, { "item": "SUS_silverware", "chance": 100 } ], + "2": [ { "item": "SUS_cookware", "chance": 100 }, { "item": "SUS_spice_collection", "chance": 50 } ], + "3": [ { "item": "SUS_utensils", "chance": 100 }, { "item": "SUS_knife_drawer", "chance": 100 } ], + "4": [ { "item": "SUS_junk_drawer", "chance": 100 }, { "item": "SUS_appliances_cupboard", "chance": 100 } ], + "5": { "item": "SUS_kitchen_sink", "chance": 100 }, + "6": { "item": "SUS_pantry", "chance": 100 }, + "7": [ { "item": "SUS_breakfast_cupboard", "chance": 50 }, { "item": "SUS_coffee_cupboard", "chance": 50 } ], + "8": [ { "item": "homebooks", "chance": 45, "repeat": [ 1, 5 ] }, { "item": "spellbook_loot_1", "chance": 5 } ], + "9": [ + { "item": "homebooks", "chance": 45, "repeat": [ 1, 5 ] }, + { "item": "spellbook_loot_1", "chance": 15 }, + { "item": "spellbook_loot_2", "chance": 1 } + ] + }, + "monsters": { "0": { "monster": "GROUP_TOWER_GOLEM" } } }, { "type": "overmap_terrain", "id": "wizardtower1_ground", "copy-from": "generic_city_building", + "sym": "W", + "color": "light_blue", "name": "wizard tower" }, { @@ -129,72 +401,5 @@ { "point": [ 0, 0, 3 ], "overmap": "wizardtower1_study_north" }, { "point": [ 0, 0, 4 ], "overmap": "wizardtower1_roof_north" } ] - }, - { - "type": "furniture", - "id": "f_huge_mana_crystal", - "name": "huge mana crystal", - "description": "This is a mana crystal that juts from the ground as if it had sprouted up like a weed. It pulses with a delicate yellow energy, occasionally bursting with flashes of pent-up light.", - "symbol": "]", - "color": "white_yellow", - "move_cost_mod": -1, - "coverage": 75, - "required_str": -1, - "looks_like": "f_boulder_large", - "flags": [ "TRANSPARENT", "EMITTER" ], - "emissions": [ "emit_glimmer" ], - "light_emitted": 12, - "bash": { - "str_min": 25, - "str_max": 35, - "sound": "glass shattering!", - "sound_fail": "mana crackling!", - "items": [ - { "item": "crystallized_mana", "charges": [ 0, 10 ] }, - { "item": "small_mana_crystal", "count": [ 0, 3 ] }, - { "item": "glass_shard", "count": [ 8, 12 ] } - ] - } - }, - { - "type": "ammunition_type", - "id": "crystallized_mana", - "name": "crystallized mana", - "default": "crystallized_mana" - }, - { - "type": "AMMO", - "id": "crystallized_mana", - "category": "spare_parts", - "price": 1000, - "name": "crystallized mana", - "name_plural": "crystallized mana", - "symbol": "=", - "color": "yellow", - "description": "Some crystallized mana. This can be reloaded into rechargable mana crystals, but can never be unloaded.", - "flags": "TRADER_AVOID", - "volume": "100 ml", - "ammo_type": "crystallized_mana", - "reload_time": 1, - "count": 100, - "looks_like": "battery", - "fuel": { "energy": 1 } - }, - { - "id": "small_mana_crystal", - "type": "MAGAZINE", - "category": "spare_parts", - "name": "small mana crystal", - "name_plural": "small mana crystals", - "description": "This is a small mana crystal specifically designed to be attached to wand tips.", - "weight": 5, - "volume": 1, - "price": 1500, - "symbol": "=", - "color": "yellow", - "ammo_type": "crystallized_mana", - "capacity": 50, - "looks_like": "battery", - "flags": [ "NO_SALVAGE", "NO_UNLOAD" ] } ] From c7bf719737e69a87e102ef2f81491d7e5f4758cb Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Mon, 30 Dec 2019 22:21:28 -0800 Subject: [PATCH 03/16] lint --- .../Magiclysm/worldgen/wizard-towers.json | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/data/mods/Magiclysm/worldgen/wizard-towers.json b/data/mods/Magiclysm/worldgen/wizard-towers.json index c60278f2ef029..fefe78eadcc5a 100644 --- a/data/mods/Magiclysm/worldgen/wizard-towers.json +++ b/data/mods/Magiclysm/worldgen/wizard-towers.json @@ -160,8 +160,7 @@ "vision_night": 30, "anger_triggers": [ "PLAYER_CLOSE", "HURT" ], "regenerates": 10, - "death_drops": - { "item": "plastic_chunk", "prob": 100, "count": [ 5, 10 ] }, + "death_drops": { "item": "plastic_chunk", "prob": 100, "count": [ 5, 10 ] }, "death_function": [ "BROKEN" ], "flags": [ "SEES", "HEARS", "NO_BREATHE", "LOUDMOVES" ] }, @@ -204,14 +203,17 @@ { "group": "jewelry_safe", "prob": 10 }, { "group": "jewelry_front", "prob": 8 }, { "group": "potions_common", "prob": 15 }, - { "distribution": [ - { "group": "enchanted_wands_lesser", "prob": 15 }, - { "group": "spellbook_loot_1", "prob": 35, "count": [ 1, 3 ] }, - { "group": "enchanted_rings_common", "prob": 20 }, - { "group": "enchanted_rings_uncommon", "prob": 5 }, - { "group": "enchanted_combat_items", "prob": 10 }, - { "group": "enchanted_belts", "prob": 2 } - ], "prob": 15 }, + { + "distribution": [ + { "group": "enchanted_wands_lesser", "prob": 15 }, + { "group": "spellbook_loot_1", "prob": 35, "count": [ 1, 3 ] }, + { "group": "enchanted_rings_common", "prob": 20 }, + { "group": "enchanted_rings_uncommon", "prob": 5 }, + { "group": "enchanted_combat_items", "prob": 10 }, + { "group": "enchanted_belts", "prob": 2 } + ], + "prob": 15 + }, { "item": "bone_human", "prob": 60, "count-min": 1, "count-max": 5 }, [ "toolbox", 10 ] ] @@ -359,8 +361,7 @@ { "item": "spellbook_loot_2", "chance": 1 } ] }, - "monsters": { "0": { "monster": "GROUP_TOWER_GOLEM" } - } + "monsters": { "0": { "monster": "GROUP_TOWER_GOLEM" } } }, { "type": "overmap_terrain", From 65e2483a90ff2b55ee214e8ecf13ff29527c7000 Mon Sep 17 00:00:00 2001 From: i-am-erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 7 Jan 2020 21:21:27 -0800 Subject: [PATCH 04/16] split it up into a few files --- data/mods/Magiclysm/furniture.json | 136 +++++++++ .../mods/Magiclysm/itemgroups/itemgroups.json | 25 ++ data/mods/Magiclysm/items/constructs.json | 19 +- data/mods/Magiclysm/monstergroups.json | 12 + data/mods/Magiclysm/monsters/golems.json | 31 +++ .../worldgen/multitile_city_buildings.json | 12 + .../Magiclysm/worldgen/overmap_terrain.json | 28 ++ .../Magiclysm/worldgen/wizard-towers.json | 259 ------------------ 8 files changed, 262 insertions(+), 260 deletions(-) create mode 100644 data/mods/Magiclysm/monsters/golems.json diff --git a/data/mods/Magiclysm/furniture.json b/data/mods/Magiclysm/furniture.json index f00d97b8108e8..1bfcacae77e77 100644 --- a/data/mods/Magiclysm/furniture.json +++ b/data/mods/Magiclysm/furniture.json @@ -50,5 +50,141 @@ { "item": "orichalcum_sliver", "count": [ 1, 8 ], "prob": 20 } ] } + }, + { + "type": "furniture", + "id": "f_magic_bench", + "name": "enchanter's workbench", + "looks_like": "f_table", + "description": "An ornate oak cabinet topped by a durable resin countertop resistant to most alchemical spills and burns. It has wired in electrical and gas fittings, and has been decorated with several protection runes - mostly ornamental.", + "symbol": "0", + "bgcolor": "white", + "move_cost_mod": 2, + "coverage": 60, + "required_str": -1, + "flags": [ "TRANSPARENT", "PLACE_ITEM", "MOUNTABLE", "FLAT_SURF" ], + "deconstruct": { + "items": [ + { "item": "pipe", "count": [ 6, 12 ] }, + { "item": "cu_pipe", "count": [ 1, 4 ] }, + { "item": "cable", "charges": [ 1, 4 ] }, + { "item": "plastic_chunk", "count": [ 50, 75 ] }, + { "item": "wood_panel", "count": [ 1, 2 ] }, + { "item": "2x4", "count": [ 3, 4 ] } + ] + }, + "max_volume": 7000, + "bash": { + "str_min": 35, + "str_max": 80, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ + { "item": "splinter", "count": [ 2, 8 ] }, + { "item": "2x4", "count": [ 0, 2 ] }, + { "item": "wood_panel", "count": [ 0, 1 ] }, + { "item": "plastic_chunk", "count": [ 30, 50 ] }, + { "item": "pipe", "count": 1 }, + { "item": "cable", "charges": [ 1, 3 ] }, + { "item": "cu_pipe", "count": 1 } + ] + }, + "examine_action": "workbench", + "workbench": { "multiplier": 1.15, "mass": 300000, "volume": "100L" } + }, + { + "type": "furniture", + "id": "f_alembic", + "name": "standing alembic", + "looks_like": "f_still", + "description": "A large glass and copper alembic for distilling alchemical concoctions. It consists of a copper pot with rising spires of twisted glass draining into various removable bottles.", + "symbol": "&", + "color": "light_blue", + "move_cost_mod": -1, + "coverage": 40, + "required_str": -1, + "crafting_pseudo_item": "still_lab", + "flags": [ "TRANSPARENT", "NOITEM" ], + "deconstruct": { + "items": [ + { "item": "pot_copper", "count": 1 }, + { "item": "pipe_glass", "count": [ 1, 4 ] }, + { "item": "glass_tube_small", "charges": [ 5, 10 ] }, + { "item": "stopcock", "count": [ 1, 5 ] }, + { "item": "flask_glass", "count": [ 1, 3 ] } + ] + }, + "max_volume": 7000, + "bash": { + "str_min": 4, + "str_max": 10, + "sound": "glass breaking!", + "sound_fail": "clang!", + "items": [ + { "item": "scrap_copper", "count": [ 10, 20 ] }, + { "item": "stopcock", "count": [ 1, 5 ] }, + { "item": "glass_shard", "count": [ 25, 50 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_orrery", + "name": "orrery", + "looks_like": "f_statue", + "description": "This is a beautiful, non-scale model of the solar system. A complex series of gears allows the relative motions of the planets to be studied at the turn of a crank. This more modern version also has bluetooth and could have been controlled with an app, if there was any power anymore.", + "symbol": "@", + "color": "brown", + "move_cost_mod": -1, + "coverage": 40, + "required_str": -1, + "flags": [ "TRANSPARENT", "NOITEM" ], + "deconstruct": { + "items": [ + { "item": "clockworks", "count": [ 10, 30 ] }, + { "item": "scrap", "count": [ 10, 20 ] }, + { "item": "pipe", "charges": 9 }, + { "item": "wire", "count": [ 10, 20 ] }, + { "item": "hinge", "count": [ 1, 3 ] } + ] + }, + "max_volume": 7000, + "bash": { + "str_min": 20, + "str_max": 60, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ + { "item": "scrap", "count": [ 10, 100 ] }, + { "item": "pipe", "count": [ 1, 5 ] }, + { "item": "wire", "count": [ 3, 10 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_huge_mana_crystal", + "name": "huge mana crystal", + "description": "This is a mana crystal that juts from the ground as if it had sprouted up like a weed. It pulses with a delicate yellow energy, occasionally bursting with flashes of pent-up light.", + "symbol": "]", + "color": "white_yellow", + "move_cost_mod": -1, + "coverage": 75, + "required_str": -1, + "looks_like": "f_boulder_large", + "flags": [ "TRANSPARENT", "EMITTER" ], + "emissions": [ "emit_glimmer" ], + "light_emitted": 12, + "bash": { + "str_min": 25, + "str_max": 35, + "sound": "glass shattering!", + "sound_fail": "mana crackling!", + "items": [ + { "item": "crystallized_mana", "charges": [ 0, 100 ] }, + { "item": "small_mana_crystal", "count": [ 0, 3 ] }, + { "item": "glass_shard", "count": [ 8, 12 ] } + ] + } } ] diff --git a/data/mods/Magiclysm/itemgroups/itemgroups.json b/data/mods/Magiclysm/itemgroups/itemgroups.json index bce0390918afd..7381f4f53346a 100644 --- a/data/mods/Magiclysm/itemgroups/itemgroups.json +++ b/data/mods/Magiclysm/itemgroups/itemgroups.json @@ -151,6 +151,31 @@ { "item": "bulette_pearl", "prob": 8, "count-min": 1, "count-max": 2 } ] }, + { + "type": "item_group", + "id": "magic_tools_and_loot", + "//": "Stuff you would find in an average wizard's workshop or other place where someone stores magical goodies.", + "subtype": "collection", + "items": [ + { "group": "tools_common", "prob": 60 }, + { "group": "jewelry_safe", "prob": 10 }, + { "group": "jewelry_front", "prob": 8 }, + { "group": "potions_common", "prob": 15 }, + { + "distribution": [ + { "group": "enchanted_wands_lesser", "prob": 15 }, + { "group": "spellbook_loot_1", "prob": 35, "count": [ 1, 3 ] }, + { "group": "enchanted_rings_common", "prob": 20 }, + { "group": "enchanted_rings_uncommon", "prob": 5 }, + { "group": "enchanted_combat_items", "prob": 10 }, + { "group": "enchanted_belts", "prob": 2 } + ], + "prob": 15 + }, + { "item": "bone_human", "prob": 60, "count-min": 1, "count-max": 5 }, + [ "toolbox", 10 ] + ] + }, { "id": "demon_spider_lair_treasure", "type": "item_group", diff --git a/data/mods/Magiclysm/items/constructs.json b/data/mods/Magiclysm/items/constructs.json index 986a486f1e416..2717b741f2132 100644 --- a/data/mods/Magiclysm/items/constructs.json +++ b/data/mods/Magiclysm/items/constructs.json @@ -1,4 +1,4 @@ -[ + [ { "type": "GENERIC", "id": "broken_claygolem", @@ -16,6 +16,23 @@ "to_hit": -3, "flags": [ "TRADER_AVOID", "NO_REPAIR" ] }, + { + "type": "GENERIC", + "id": "broken_plasticgolem", + "symbol": "x", + "color": "light_gray", + "name": "broken plastic golem", + "category": "other", + "description": "A broken plastic golem, like a giant action figure chewed up by an equally giant puppy. You could smash it up into recycled plastic bits.", + "price": 100, + "material": [ "plastic" ], + "weight": "70 kg", + "volume": "150 L", + "bashing": 4, + "cutting": 4, + "to_hit": -3, + "flags": [ "TRADER_AVOID", "NO_REPAIR" ] + }, { "type": "GENERIC", "id": "broken_stonegolem", diff --git a/data/mods/Magiclysm/monstergroups.json b/data/mods/Magiclysm/monstergroups.json index ba251b0eba50a..286de2c020d13 100644 --- a/data/mods/Magiclysm/monstergroups.json +++ b/data/mods/Magiclysm/monstergroups.json @@ -102,5 +102,17 @@ { "monster": "mon_lizardfolk_shaman", "freq": 10, "cost_multiplier": 30 }, { "monster": "mon_lizardfolk_chieftan", "freq": 10, "cost_multiplier": 50 } ] + }, + { + "type": "monstergroup", + "name": "GROUP_TOWER_GOLEM", + "default": "mon_plasticgolem", + "//": "Cheap golems used to defend the average wizard's tower.", + "monsters": [ + { "monster": "mon_plasticgolem", "freq": 60, "cost_multiplier": 1 }, + { "monster": "mon_claygolem", "freq": 20, "cost_multiplier": 1 }, + { "monster": "mon_stonegolem", "freq": 10, "cost_multiplier": 1 }, + { "monster": "mon_irongolem", "freq": 5, "cost_multiplier": 1 } + ] } ] diff --git a/data/mods/Magiclysm/monsters/golems.json b/data/mods/Magiclysm/monsters/golems.json new file mode 100644 index 0000000000000..235afe86d3896 --- /dev/null +++ b/data/mods/Magiclysm/monsters/golems.json @@ -0,0 +1,31 @@ +[ + { + "id": "mon_plasticgolem", + "type": "MONSTER", + "name": { "str": "plastic golem" }, + "description": "Traditionally, making a golem is a months-long process involving hand tools and precision craftsmanship. A stone golem is as much a work of art as it is a magical device. The advent of 3D printing made it easy to get into the golem-making hobby, and plastic golems have soared in popularity.", + "default_faction": "factionless", + "volume": "150 L", + "weight": "70 kg", + "hp": 120, + "speed": 90, + "material": [ "plastic" ], + "symbol": "G", + "color": "light_gray", + "aggression": 30, + "morale": 100, + "armor_bash": 18, + "armor_cut": 6, + "melee_skill": 5, + "melee_dice": 3, + "melee_dice_sides": 6, + "melee_cut": 3, + "vision_day": 30, + "vision_night": 30, + "anger_triggers": [ "PLAYER_CLOSE", "HURT" ], + "regenerates": 10, + "death_drops": { "item": "plastic_chunk", "prob": 100, "count": [ 5, 10 ] }, + "death_function": [ "BROKEN" ], + "flags": [ "SEES", "HEARS", "NO_BREATHE", "LOUDMOVES" ] + } +] diff --git a/data/mods/Magiclysm/worldgen/multitile_city_buildings.json b/data/mods/Magiclysm/worldgen/multitile_city_buildings.json index b7e298e61e7f2..fb094a437db73 100644 --- a/data/mods/Magiclysm/worldgen/multitile_city_buildings.json +++ b/data/mods/Magiclysm/worldgen/multitile_city_buildings.json @@ -8,5 +8,17 @@ { "point": [ 0, 0, 1 ], "overmap": "magic_shop_2ndfloor_north" }, { "point": [ 0, 0, 2 ], "overmap": "magic_shop_roof_north" } ] + }, + { + "type": "city_building", + "id": "wizard_tower_1", + "locations": [ "land" ], + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "wizardtower1_ground_north" }, + { "point": [ 0, 0, 1 ], "overmap": "wizardtower1_living_north" }, + { "point": [ 0, 0, 2 ], "overmap": "wizardtower1_golems_north" }, + { "point": [ 0, 0, 3 ], "overmap": "wizardtower1_study_north" }, + { "point": [ 0, 0, 4 ], "overmap": "wizardtower1_roof_north" } + ] } ] diff --git a/data/mods/Magiclysm/worldgen/overmap_terrain.json b/data/mods/Magiclysm/worldgen/overmap_terrain.json index 00f559ab37660..cb406a463ea12 100644 --- a/data/mods/Magiclysm/worldgen/overmap_terrain.json +++ b/data/mods/Magiclysm/worldgen/overmap_terrain.json @@ -299,5 +299,33 @@ "sym": ".", "color": "blue", "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "wizardtower1_ground", + "copy-from": "generic_city_building", + "sym": "W", + "color": "light_blue", + "name": "wizard tower" + }, + { + "type": "overmap_terrain", + "id": "wizardtower1_living", + "copy-from": "wizardtower1_ground" + }, + { + "type": "overmap_terrain", + "id": "wizardtower1_golems", + "copy-from": "wizardtower1_ground" + }, + { + "type": "overmap_terrain", + "id": "wizardtower1_study", + "copy-from": "wizardtower1_ground" + }, + { + "type": "overmap_terrain", + "id": "wizardtower1_roof", + "copy-from": "wizardtower1_ground" } ] diff --git a/data/mods/Magiclysm/worldgen/wizard-towers.json b/data/mods/Magiclysm/worldgen/wizard-towers.json index fefe78eadcc5a..7671aadfaa3dc 100644 --- a/data/mods/Magiclysm/worldgen/wizard-towers.json +++ b/data/mods/Magiclysm/worldgen/wizard-towers.json @@ -1,223 +1,4 @@ [ - { - "type": "furniture", - "id": "f_magic_bench", - "name": "enchanter's workbench", - "looks_like": "f_table", - "description": "An ornate oak cabinet topped by a durable resin countertop resistant to most alchemical spills and burns. It has wired in electrical and gas fittings, and has been decorated with several protection runes - mostly ornamental.", - "symbol": "0", - "bgcolor": "white", - "move_cost_mod": 2, - "coverage": 60, - "required_str": -1, - "flags": [ "TRANSPARENT", "PLACE_ITEM", "MOUNTABLE", "FLAT_SURF" ], - "deconstruct": { - "items": [ - { "item": "pipe", "count": [ 6, 12 ] }, - { "item": "cu_pipe", "count": [ 1, 4 ] }, - { "item": "cable", "charges": [ 1, 4 ] }, - { "item": "plastic_chunk", "count": [ 50, 75 ] }, - { "item": "wood_panel", "count": [ 1, 2 ] }, - { "item": "2x4", "count": [ 3, 4 ] } - ] - }, - "max_volume": 7000, - "bash": { - "str_min": 35, - "str_max": 80, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ - { "item": "splinter", "count": [ 2, 8 ] }, - { "item": "2x4", "count": [ 0, 2 ] }, - { "item": "wood_panel", "count": [ 0, 1 ] }, - { "item": "plastic_chunk", "count": [ 30, 50 ] }, - { "item": "pipe", "count": 1 }, - { "item": "cable", "charges": [ 1, 3 ] }, - { "item": "cu_pipe", "count": 1 } - ] - }, - "examine_action": "workbench", - "workbench": { "multiplier": 1.15, "mass": 300000, "volume": "100L" } - }, - { - "type": "furniture", - "id": "f_alembic", - "name": "standing alembic", - "looks_like": "f_still", - "description": "A large glass and copper alembic for distilling alchemical concoctions. It consists of a copper pot with rising spires of twisted glass draining into various removable bottles.", - "symbol": "&", - "color": "light_blue", - "move_cost_mod": -1, - "coverage": 40, - "required_str": -1, - "crafting_pseudo_item": "still_lab", - "flags": [ "TRANSPARENT", "NOITEM" ], - "deconstruct": { - "items": [ - { "item": "pot_copper", "count": 1 }, - { "item": "pipe_glass", "count": [ 1, 4 ] }, - { "item": "glass_tube_small", "charges": [ 5, 10 ] }, - { "item": "stopcock", "count": [ 1, 5 ] }, - { "item": "flask_glass", "count": [ 1, 3 ] } - ] - }, - "max_volume": 7000, - "bash": { - "str_min": 4, - "str_max": 10, - "sound": "glass breaking!", - "sound_fail": "clang!", - "items": [ - { "item": "scrap_copper", "count": [ 10, 20 ] }, - { "item": "stopcock", "count": [ 1, 5 ] }, - { "item": "glass_shard", "count": [ 25, 50 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_orrery", - "name": "orrery", - "looks_like": "f_statue", - "description": "This is a beautiful, non-scale model of the solar system. A complex series of gears allows the relative motions of the planets to be studied at the turn of a crank. This more modern version also has bluetooth and could have been controlled with an app, if there was any power anymore.", - "symbol": "@", - "color": "brown", - "move_cost_mod": -1, - "coverage": 40, - "required_str": -1, - "flags": [ "TRANSPARENT", "NOITEM" ], - "deconstruct": { - "items": [ - { "item": "clockworks", "count": [ 10, 30 ] }, - { "item": "scrap", "count": [ 10, 20 ] }, - { "item": "pipe", "charges": 9 }, - { "item": "wire", "count": [ 10, 20 ] }, - { "item": "hinge", "count": [ 1, 3 ] } - ] - }, - "max_volume": 7000, - "bash": { - "str_min": 20, - "str_max": 60, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ - { "item": "scrap", "count": [ 10, 100 ] }, - { "item": "pipe", "count": [ 1, 5 ] }, - { "item": "wire", "count": [ 3, 10 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_huge_mana_crystal", - "name": "huge mana crystal", - "description": "This is a mana crystal that juts from the ground as if it had sprouted up like a weed. It pulses with a delicate yellow energy, occasionally bursting with flashes of pent-up light.", - "symbol": "]", - "color": "white_yellow", - "move_cost_mod": -1, - "coverage": 75, - "required_str": -1, - "looks_like": "f_boulder_large", - "flags": [ "TRANSPARENT", "EMITTER" ], - "emissions": [ "emit_glimmer" ], - "light_emitted": 12, - "bash": { - "str_min": 25, - "str_max": 35, - "sound": "glass shattering!", - "sound_fail": "mana crackling!", - "items": [ - { "item": "crystallized_mana", "charges": [ 0, 10 ] }, - { "item": "small_mana_crystal", "count": [ 0, 3 ] }, - { "item": "glass_shard", "count": [ 8, 12 ] } - ] - } - }, - { - "id": "mon_plasticgolem", - "type": "MONSTER", - "name": { "str": "plastic golem" }, - "description": "Traditionally, making a golem is a months-long process involving hand tools and precision craftsmanship. A stone golem is as much a work of art as it is a magical device. The advent of 3D printing made it easy to get into the golem-making hobby, and plastic golems have soared in popularity.", - "default_faction": "factionless", - "volume": "150 L", - "weight": "70 kg", - "hp": 120, - "speed": 90, - "material": [ "plastic" ], - "symbol": "G", - "color": "light_gray", - "aggression": 30, - "morale": 100, - "armor_bash": 18, - "armor_cut": 6, - "melee_skill": 5, - "melee_dice": 3, - "melee_dice_sides": 6, - "melee_cut": 3, - "vision_day": 30, - "vision_night": 30, - "anger_triggers": [ "PLAYER_CLOSE", "HURT" ], - "regenerates": 10, - "death_drops": { "item": "plastic_chunk", "prob": 100, "count": [ 5, 10 ] }, - "death_function": [ "BROKEN" ], - "flags": [ "SEES", "HEARS", "NO_BREATHE", "LOUDMOVES" ] - }, - { - "type": "GENERIC", - "id": "broken_plasticgolem", - "symbol": "x", - "color": "light_gray", - "name": "broken plastic golem", - "category": "other", - "description": "A broken plastic golem, like a giant action figure chewed up by an equally giant puppy. You could smash it up into recycled plastic bits.", - "price": 100, - "material": [ "plastic" ], - "weight": "70 kg", - "volume": "150 L", - "bashing": 4, - "cutting": 4, - "to_hit": -3, - "flags": [ "TRADER_AVOID", "NO_REPAIR" ] - }, - { - "type": "monstergroup", - "name": "GROUP_TOWER_GOLEM", - "default": "mon_plasticgolem", - "//": "Cheap golems used to defend the average wizard's tower.", - "monsters": [ - { "monster": "mon_plasticgolem", "freq": 60, "cost_multiplier": 1 }, - { "monster": "mon_claygolem", "freq": 20, "cost_multiplier": 1 }, - { "monster": "mon_stonegolem", "freq": 10, "cost_multiplier": 1 }, - { "monster": "mon_irongolem", "freq": 5, "cost_multiplier": 1 } - ] - }, - { - "type": "item_group", - "id": "magic_tools_and_loot", - "//": "Stuff you would find in an average wizard's workshop.", - "subtype": "collection", - "items": [ - { "group": "tools_common", "prob": 60 }, - { "group": "jewelry_safe", "prob": 10 }, - { "group": "jewelry_front", "prob": 8 }, - { "group": "potions_common", "prob": 15 }, - { - "distribution": [ - { "group": "enchanted_wands_lesser", "prob": 15 }, - { "group": "spellbook_loot_1", "prob": 35, "count": [ 1, 3 ] }, - { "group": "enchanted_rings_common", "prob": 20 }, - { "group": "enchanted_rings_uncommon", "prob": 5 }, - { "group": "enchanted_combat_items", "prob": 10 }, - { "group": "enchanted_belts", "prob": 2 } - ], - "prob": 15 - }, - { "item": "bone_human", "prob": 60, "count-min": 1, "count-max": 5 }, - [ "toolbox", 10 ] - ] - }, { "type": "mapgen", "method": "json", @@ -362,45 +143,5 @@ ] }, "monsters": { "0": { "monster": "GROUP_TOWER_GOLEM" } } - }, - { - "type": "overmap_terrain", - "id": "wizardtower1_ground", - "copy-from": "generic_city_building", - "sym": "W", - "color": "light_blue", - "name": "wizard tower" - }, - { - "type": "overmap_terrain", - "id": "wizardtower1_living", - "copy-from": "wizardtower1_ground" - }, - { - "type": "overmap_terrain", - "id": "wizardtower1_golems", - "copy-from": "wizardtower1_ground" - }, - { - "type": "overmap_terrain", - "id": "wizardtower1_study", - "copy-from": "wizardtower1_ground" - }, - { - "type": "overmap_terrain", - "id": "wizardtower1_roof", - "copy-from": "wizardtower1_ground" - }, - { - "type": "city_building", - "id": "wizard_tower_1", - "locations": [ "land" ], - "overmaps": [ - { "point": [ 0, 0, 0 ], "overmap": "wizardtower1_ground_north" }, - { "point": [ 0, 0, 1 ], "overmap": "wizardtower1_living_north" }, - { "point": [ 0, 0, 2 ], "overmap": "wizardtower1_golems_north" }, - { "point": [ 0, 0, 3 ], "overmap": "wizardtower1_study_north" }, - { "point": [ 0, 0, 4 ], "overmap": "wizardtower1_roof_north" } - ] } ] From e3bb2fcdb16fad00b9e6364dadfb1d65d2ca018a Mon Sep 17 00:00:00 2001 From: i-am-erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 7 Jan 2020 21:22:57 -0800 Subject: [PATCH 05/16] move golems to their own file --- data/mods/Magiclysm/monsters/golems.json | 95 ++++++++++++++++++++++ data/mods/Magiclysm/monsters/monsters.json | 95 ---------------------- 2 files changed, 95 insertions(+), 95 deletions(-) diff --git a/data/mods/Magiclysm/monsters/golems.json b/data/mods/Magiclysm/monsters/golems.json index 235afe86d3896..0c53045d0999c 100644 --- a/data/mods/Magiclysm/monsters/golems.json +++ b/data/mods/Magiclysm/monsters/golems.json @@ -1,4 +1,35 @@ [ + { + "id": "mon_claygolem", + "type": "MONSTER", + "name": "clay golem", + "description": "A large, humanoid golem made from clay. Its proportions are off and it seems fragile.", + "default_faction": "robot", + "bodytype": "human", + "species": [ "ROBOT" ], + "diff": 2, + "volume": "120 L", + "weight": "122 kg", + "hp": 100, + "speed": 80, + "material": [ "clay" ], + "symbol": "X", + "color": "brown", + "aggression": 10, + "morale": 100, + "melee_skill": 6, + "melee_dice": 2, + "melee_dice_sides": 10, + "melee_cut": 5, + "armor_bash": 10, + "armor_cut": 10, + "dodge": 0, + "vision_day": 40, + "vision_night": 40, + "anger_triggers": [ "PLAYER_CLOSE", "HURT" ], + "death_function": [ "BROKEN" ], + "flags": [ "SEES", "NO_BREATHE", "ACIDPROOF", "LOUDMOVES" ] + }, { "id": "mon_plasticgolem", "type": "MONSTER", @@ -27,5 +58,69 @@ "death_drops": { "item": "plastic_chunk", "prob": 100, "count": [ 5, 10 ] }, "death_function": [ "BROKEN" ], "flags": [ "SEES", "HEARS", "NO_BREATHE", "LOUDMOVES" ] + }, + { + "id": "mon_stonegolem", + "type": "MONSTER", + "name": "stone golem", + "description": "A large, humanoid golem made from stone. Its fists look similar to rockets.", + "default_faction": "robot", + "bodytype": "human", + "species": [ "ROBOT" ], + "diff": 2, + "volume": "120 L", + "weight": "162 kg", + "hp": 250, + "speed": 60, + "material": [ "stone" ], + "symbol": "X", + "color": "light_gray", + "aggression": 10, + "morale": 100, + "melee_skill": 6, + "melee_dice": 3, + "melee_dice_sides": 8, + "melee_cut": 6, + "armor_bash": 20, + "armor_cut": 20, + "dodge": 0, + "vision_day": 40, + "vision_night": 40, + "special_attacks": [ { "type": "spell", "spell_id": "rocket_punch", "spell_level": 5, "cooldown": 10 } ], + "anger_triggers": [ "PLAYER_CLOSE", "HURT" ], + "death_function": [ "BROKEN" ], + "flags": [ "SEES", "NO_BREATHE", "ACIDPROOF", "LOUDMOVES" ] + }, + { + "id": "mon_irongolem", + "type": "MONSTER", + "name": "iron golem", + "description": "A large, humanoid golem made from iron. Some sort of noxious gas seems to be seeping from its mouth.", + "default_faction": "robot", + "bodytype": "human", + "species": [ "ROBOT" ], + "diff": 2, + "volume": "120 L", + "weight": "945 kg", + "hp": 400, + "speed": 50, + "material": [ "iron" ], + "symbol": "X", + "color": "dark_gray", + "aggression": 10, + "morale": 100, + "melee_skill": 6, + "melee_dice": 3, + "melee_dice_sides": 10, + "melee_cut": 7, + "armor_bash": 32, + "armor_cut": 32, + "dodge": 0, + "vision_day": 40, + "vision_night": 40, + "special_attacks": [ { "type": "spell", "spell_id": "gas_attack", "spell_level": 5, "cooldown": 60 } ], + "anger_triggers": [ "PLAYER_CLOSE", "HURT" ], + "death_function": [ "BROKEN" ], + "flags": [ "SEES", "NO_BREATHE", "ACIDPROOF", "LOUDMOVES" ] } ] diff --git a/data/mods/Magiclysm/monsters/monsters.json b/data/mods/Magiclysm/monsters/monsters.json index 7fc8d45db5cf3..f9076f9f62f0f 100644 --- a/data/mods/Magiclysm/monsters/monsters.json +++ b/data/mods/Magiclysm/monsters/monsters.json @@ -330,100 +330,5 @@ "death_function": [ "NORMAL" ], "regenerates": 1, "flags": [ "SEES", "SMELLS", "HEARS", "STUMBLES", "PATH_AVOID_FIRE", "REVIVES" ] - }, - { - "id": "mon_claygolem", - "type": "MONSTER", - "name": "clay golem", - "description": "A large, humanoid golem made from clay. Its proportions are off and it seems fragile.", - "default_faction": "robot", - "bodytype": "human", - "species": [ "ROBOT" ], - "diff": 2, - "volume": "120 L", - "weight": "122 kg", - "hp": 100, - "speed": 80, - "material": [ "clay" ], - "symbol": "X", - "color": "brown", - "aggression": 10, - "morale": 100, - "melee_skill": 6, - "melee_dice": 2, - "melee_dice_sides": 10, - "melee_cut": 5, - "armor_bash": 10, - "armor_cut": 10, - "dodge": 0, - "vision_day": 40, - "vision_night": 40, - "anger_triggers": [ "PLAYER_CLOSE", "HURT" ], - "death_function": [ "BROKEN" ], - "flags": [ "SEES", "NO_BREATHE", "ACIDPROOF", "LOUDMOVES" ] - }, - { - "id": "mon_stonegolem", - "type": "MONSTER", - "name": "stone golem", - "description": "A large, humanoid golem made from stone. Its fists look similar to rockets.", - "default_faction": "robot", - "bodytype": "human", - "species": [ "ROBOT" ], - "diff": 2, - "volume": "120 L", - "weight": "162 kg", - "hp": 250, - "speed": 60, - "material": [ "stone" ], - "symbol": "X", - "color": "light_gray", - "aggression": 10, - "morale": 100, - "melee_skill": 6, - "melee_dice": 3, - "melee_dice_sides": 8, - "melee_cut": 6, - "armor_bash": 20, - "armor_cut": 20, - "dodge": 0, - "vision_day": 40, - "vision_night": 40, - "special_attacks": [ { "type": "spell", "spell_id": "rocket_punch", "spell_level": 5, "cooldown": 10 } ], - "anger_triggers": [ "PLAYER_CLOSE", "HURT" ], - "death_function": [ "BROKEN" ], - "flags": [ "SEES", "NO_BREATHE", "ACIDPROOF", "LOUDMOVES" ] - }, - { - "id": "mon_irongolem", - "type": "MONSTER", - "name": "iron golem", - "description": "A large, humanoid golem made from iron. Some sort of noxious gas seems to be seeping from its mouth.", - "default_faction": "robot", - "bodytype": "human", - "species": [ "ROBOT" ], - "diff": 2, - "volume": "120 L", - "weight": "945 kg", - "hp": 400, - "speed": 50, - "material": [ "iron" ], - "symbol": "X", - "color": "dark_gray", - "aggression": 10, - "morale": 100, - "melee_skill": 6, - "melee_dice": 3, - "melee_dice_sides": 10, - "melee_cut": 7, - "armor_bash": 32, - "armor_cut": 32, - "dodge": 0, - "vision_day": 40, - "vision_night": 40, - "special_attacks": [ { "type": "spell", "spell_id": "gas_attack", "spell_level": 5, "cooldown": 60 } ], - "anger_triggers": [ "PLAYER_CLOSE", "HURT" ], - "death_function": [ "BROKEN" ], - "flags": [ "SEES", "NO_BREATHE", "ACIDPROOF", "LOUDMOVES" ] } ] From 2ef7b0142e771d9a0a4705c5889ef9b6c24649a8 Mon Sep 17 00:00:00 2001 From: i-am-erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 7 Jan 2020 21:54:08 -0800 Subject: [PATCH 06/16] wizard tower 2 - still needs some tweaking --- .../worldgen/multitile_city_buildings.json | 12 ++++ .../Magiclysm/worldgen/overmap_terrain.json | 25 ++++++++ .../Magiclysm/worldgen/wizard-towers.json | 61 +++++++++++++++++++ 3 files changed, 98 insertions(+) diff --git a/data/mods/Magiclysm/worldgen/multitile_city_buildings.json b/data/mods/Magiclysm/worldgen/multitile_city_buildings.json index fb094a437db73..c32908efb75f8 100644 --- a/data/mods/Magiclysm/worldgen/multitile_city_buildings.json +++ b/data/mods/Magiclysm/worldgen/multitile_city_buildings.json @@ -20,5 +20,17 @@ { "point": [ 0, 0, 3 ], "overmap": "wizardtower1_study_north" }, { "point": [ 0, 0, 4 ], "overmap": "wizardtower1_roof_north" } ] + }, + { + "type": "city_building", + "id": "wizard_tower_1", + "locations": [ "land" ], + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "wizardtower2_ground_north" }, + { "point": [ 0, 0, 1 ], "overmap": "wizardtower2_stairs1_north" }, + { "point": [ 0, 0, 2 ], "overmap": "wizardtower2_stairs2_north" }, + { "point": [ 0, 0, 3 ], "overmap": "wizardtower2_study_north" }, + { "point": [ 0, 0, 4 ], "overmap": "wizardtower2_roof_north" } + ] } ] diff --git a/data/mods/Magiclysm/worldgen/overmap_terrain.json b/data/mods/Magiclysm/worldgen/overmap_terrain.json index cb406a463ea12..5b7fb6f368959 100644 --- a/data/mods/Magiclysm/worldgen/overmap_terrain.json +++ b/data/mods/Magiclysm/worldgen/overmap_terrain.json @@ -327,5 +327,30 @@ "type": "overmap_terrain", "id": "wizardtower1_roof", "copy-from": "wizardtower1_ground" + }, + { + "type": "overmap_terrain", + "id": "wizardtower2_ground", + "copy-from": "wizardtower1_ground" + }, + { + "type": "overmap_terrain", + "id": "wizardtower2_stair1", + "copy-from": "wizardtower1_ground" + }, + { + "type": "overmap_terrain", + "id": "wizardtower2_stair2", + "copy-from": "wizardtower1_ground" + }, + { + "type": "overmap_terrain", + "id": "wizardtower2_study", + "copy-from": "wizardtower1_ground" + }, + { + "type": "overmap_terrain", + "id": "wizardtower2_roof", + "copy-from": "wizardtower1_ground" } ] diff --git a/data/mods/Magiclysm/worldgen/wizard-towers.json b/data/mods/Magiclysm/worldgen/wizard-towers.json index 7671aadfaa3dc..22d7b839a2ff8 100644 --- a/data/mods/Magiclysm/worldgen/wizard-towers.json +++ b/data/mods/Magiclysm/worldgen/wizard-towers.json @@ -35,6 +35,42 @@ "palettes": [ "wizardtower1_palette" ] } }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ [ "wizardtower2_ground", "wizardtower2_stairs1", "wizardtower2_stairs2", "wizardtower2_study", "wizardtower2_roof" ] ], + "weight": 100, + "object": { + "fill_ter": "t_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", + ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", + ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", + ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", + ",,,,,,#==#w#w#w#w#,,,,,,......!!!!!!!!!!!!..............................................................................", + ",,,,,## ##,,,,,.....!!!!!!!!!!!!!!....................................::::::::::..............!!!!!!!!!!.......", + ",,,,## bHHHHb ##,,,,....!!!!!!!!!!!!!!!!..................................:: ::............!!!!!!!!!!!!......", + ",,,,w ###### w,,,,....!!!!!##ww##!!!!!.............##ww##..............:: ##ww## ::..........!!!!!!!!!!!!!!.....", + ",,,,w ## ## w,,,,....!!!!## ##!!!!............## << ##.............: ##0>>0## :..........!!!!!!!!!!!!!!.....", + ",,,,#++## ##+##,,,,....!!!## 0##!!!...........##0 ##............: ##9 9## :..........!!!!!!!!!!!!!!.....", + ",,,,# # # s#,,,,....!!!# #!!!...........# #............: #9 9# :..........!!!!!!!!!!!!!!.....", + ",,,,w + << # t#,,,,....!!!w >> w!!!...........w ## w............: + cc + :..........!!!!!!!!!!!!!!.....", + ",,,,w + ## # &#,,,,....!!!w ## w!!!...........w ## w............: + cL + :..........!!!!!!!!!!!!!!.....", + ",,,,# # # w#,,,,....!!!# #!!!...........# #............: #y y# :..........!!!!!!!!!!!!!!.....", + ",,,,##### ##+##,,,,....!!!##0 ##!!!...........## 0##............: ##9 h 9## :..........!!!!!!!!!!!!!!.....", + ",,,,#BBE## ## w,,,,....!!!!## << ##!!!!............## >> ##.............: ##mmmm## :..........!!!!!!!!!!!!!!.....", + ",,,,wBB #+#+## hw,,,,....!!!!!##ww##!!!!!.............##ww##..............:: ##ww## ::..........!!!!!!!!!!!!!!.....", + ",,,,## h # b##,,,,....!!!!!!!!!!!!!!!!..................................:: ::............!!!!!!!!!!!!......", + ",,,,,##dd #BBEBB##,,,,,.....!!!!!!!!!!!!!!....................................::::::::::..............!!!!!!!!!!.......", + ",,,,,,#ww###ww#ww#,,,,,,......!!!!!!!!!!!!..............................................................................", + ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", + ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", + ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", + ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................" + ], + "palettes": [ "wizardtower1_palette" ] + } + }, { "type": "palette", "id": "wizardtower1_palette", @@ -49,6 +85,7 @@ "!": "t_privacy_fence", "#": "t_rock_wall", "|": "t_wall_w", + ":": "t_railing", "M": "t_door_metal_locked", "+": "t_door_c", "=": "t_door_locked", @@ -86,6 +123,7 @@ "u": "f_bathtub", "U": "f_utility_shelf", "V": "f_utility_shelf", + "w": "f_shower", "W": "f_washer", "x": "f_water_heater", "y": "f_huge_mana_crystal", @@ -145,3 +183,26 @@ "monsters": { "0": { "monster": "GROUP_TOWER_GOLEM" } } } ] + + + + + + + + + + + + + + + + + + + + + + + From e37fcb150ed17e74a71cf3ee8714af230d25b48c Mon Sep 17 00:00:00 2001 From: i-am-erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 7 Jan 2020 21:59:09 -0800 Subject: [PATCH 07/16] landscaping --- .../worldgen/multitile_city_buildings.json | 2 +- .../Magiclysm/worldgen/regional_overlay.json | 6 +++++- .../Magiclysm/worldgen/wizard-towers.json | 19 ++++++++++--------- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/data/mods/Magiclysm/worldgen/multitile_city_buildings.json b/data/mods/Magiclysm/worldgen/multitile_city_buildings.json index c32908efb75f8..86da87aa931b2 100644 --- a/data/mods/Magiclysm/worldgen/multitile_city_buildings.json +++ b/data/mods/Magiclysm/worldgen/multitile_city_buildings.json @@ -23,7 +23,7 @@ }, { "type": "city_building", - "id": "wizard_tower_1", + "id": "wizard_tower_2", "locations": [ "land" ], "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "wizardtower2_ground_north" }, diff --git a/data/mods/Magiclysm/worldgen/regional_overlay.json b/data/mods/Magiclysm/worldgen/regional_overlay.json index 8c97d44c8d64a..9e902e9524562 100644 --- a/data/mods/Magiclysm/worldgen/regional_overlay.json +++ b/data/mods/Magiclysm/worldgen/regional_overlay.json @@ -2,7 +2,11 @@ { "type": "region_overlay", "regions": [ "all" ], - "city": { "shops": { "magic_shop": 100, "used_bookstore": 225 }, "basements": { "magic_basement": 50 } }, + "city": { + "houses": { "wizard_tower_1": 100, "wizard_tower_2": 100 }, + "shops": { "magic_shop": 100, "used_bookstore": 225 }, + "basements": { "magic_basement": 50 } + }, "field_coverage": { "other": { "f_boulder_large": 0.6667, "f_glow_boulder": 0.3333 } } } ] diff --git a/data/mods/Magiclysm/worldgen/wizard-towers.json b/data/mods/Magiclysm/worldgen/wizard-towers.json index 22d7b839a2ff8..9ab8cec594d35 100644 --- a/data/mods/Magiclysm/worldgen/wizard-towers.json +++ b/data/mods/Magiclysm/worldgen/wizard-towers.json @@ -43,12 +43,12 @@ "object": { "fill_ter": "t_floor", "rows": [ - ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", - ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", - ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", - ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", - ",,,,,,#==#w#w#w#w#,,,,,,......!!!!!!!!!!!!..............................................................................", - ",,,,,## ##,,,,,.....!!!!!!!!!!!!!!....................................::::::::::..............!!!!!!!!!!.......", + ",,,,,,,,,,,,,,,[[,,,,,,,................................................................................................", + ",,,,,,,,,,,,,,^[[,,,,,,,................................................................................................", + ",,,,,,,[[[[[[[[[[,,,,,,,................................................................................................", + ",,,,,,,[[[[[[[[[[,,,,,,,................................................................................................", + ",,,,,*#==#w#w#w#w#,,,,,,......!!!!!!!!!!!!..............................................................................", + ",,,,*## ##,,,,,.....!!!!!!!!!!!!!!....................................::::::::::..............!!!!!!!!!!.......", ",,,,## bHHHHb ##,,,,....!!!!!!!!!!!!!!!!..................................:: ::............!!!!!!!!!!!!......", ",,,,w ###### w,,,,....!!!!!##ww##!!!!!.............##ww##..............:: ##ww## ::..........!!!!!!!!!!!!!!.....", ",,,,w ## ## w,,,,....!!!!## ##!!!!............## << ##.............: ##0>>0## :..........!!!!!!!!!!!!!!.....", @@ -61,14 +61,15 @@ ",,,,#BBE## ## w,,,,....!!!!## << ##!!!!............## >> ##.............: ##mmmm## :..........!!!!!!!!!!!!!!.....", ",,,,wBB #+#+## hw,,,,....!!!!!##ww##!!!!!.............##ww##..............:: ##ww## ::..........!!!!!!!!!!!!!!.....", ",,,,## h # b##,,,,....!!!!!!!!!!!!!!!!..................................:: ::............!!!!!!!!!!!!......", - ",,,,,##dd #BBEBB##,,,,,.....!!!!!!!!!!!!!!....................................::::::::::..............!!!!!!!!!!.......", - ",,,,,,#ww###ww#ww#,,,,,,......!!!!!!!!!!!!..............................................................................", + ",,,,*##dd #BBEBB##*,,,,.....!!!!!!!!!!!!!!....................................::::::::::..............!!!!!!!!!!.......", + ",,,,,*#ww###ww#ww#*,,,,,......!!!!!!!!!!!!..............................................................................", ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................" ], - "palettes": [ "wizardtower1_palette" ] + "palettes": [ "wizardtower1_palette" ], + "terrain": { ",": [ [ "t_region_groundcover_urban", 50 ], [ "t_region_groundcover_forest", 5 ], "t_region_shrub", "t_region_tree" ] } } }, { From 8e99ee36de775cac12afed2e77b4d13c2611733e Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Thu, 9 Jan 2020 09:05:24 -0800 Subject: [PATCH 08/16] lint constructs.json --- data/mods/Magiclysm/items/constructs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/mods/Magiclysm/items/constructs.json b/data/mods/Magiclysm/items/constructs.json index 2717b741f2132..910cb33bc7760 100644 --- a/data/mods/Magiclysm/items/constructs.json +++ b/data/mods/Magiclysm/items/constructs.json @@ -1,4 +1,4 @@ - [ +[ { "type": "GENERIC", "id": "broken_claygolem", From ca48ca00499080daafea3fb862c5ee921a046344 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Thu, 9 Jan 2020 09:11:27 -0800 Subject: [PATCH 09/16] Update regional_overlay.json --- data/mods/Magiclysm/worldgen/regional_overlay.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/mods/Magiclysm/worldgen/regional_overlay.json b/data/mods/Magiclysm/worldgen/regional_overlay.json index 9e902e9524562..69d57cbe4dd4b 100644 --- a/data/mods/Magiclysm/worldgen/regional_overlay.json +++ b/data/mods/Magiclysm/worldgen/regional_overlay.json @@ -3,7 +3,7 @@ "type": "region_overlay", "regions": [ "all" ], "city": { - "houses": { "wizard_tower_1": 100, "wizard_tower_2": 100 }, + "houses": { "wizard_tower_1": 50, "wizard_tower_2": 50 }, "shops": { "magic_shop": 100, "used_bookstore": 225 }, "basements": { "magic_basement": 50 } }, From c83f8ad32cb00f4954144aa8958d0add23a16c22 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Thu, 9 Jan 2020 09:11:47 -0800 Subject: [PATCH 10/16] lint wizard towers --- .../Magiclysm/worldgen/wizard-towers.json | 31 +++---------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/data/mods/Magiclysm/worldgen/wizard-towers.json b/data/mods/Magiclysm/worldgen/wizard-towers.json index 9ab8cec594d35..4403a532ad375 100644 --- a/data/mods/Magiclysm/worldgen/wizard-towers.json +++ b/data/mods/Magiclysm/worldgen/wizard-towers.json @@ -69,7 +69,9 @@ ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................" ], "palettes": [ "wizardtower1_palette" ], - "terrain": { ",": [ [ "t_region_groundcover_urban", 50 ], [ "t_region_groundcover_forest", 5 ], "t_region_shrub", "t_region_tree" ] } + "terrain": { + ",": [ [ "t_region_groundcover_urban", 50 ], [ "t_region_groundcover_forest", 5 ], "t_region_shrub", "t_region_tree" ] + } } }, { @@ -86,7 +88,7 @@ "!": "t_privacy_fence", "#": "t_rock_wall", "|": "t_wall_w", - ":": "t_railing", + ":": "t_railing", "M": "t_door_metal_locked", "+": "t_door_c", "=": "t_door_locked", @@ -124,7 +126,7 @@ "u": "f_bathtub", "U": "f_utility_shelf", "V": "f_utility_shelf", - "w": "f_shower", + "w": "f_shower", "W": "f_washer", "x": "f_water_heater", "y": "f_huge_mana_crystal", @@ -184,26 +186,3 @@ "monsters": { "0": { "monster": "GROUP_TOWER_GOLEM" } } } ] - - - - - - - - - - - - - - - - - - - - - - - From a627e48c6d7a2c9c3fd5b7000b652e262959c806 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Thu, 9 Jan 2020 14:10:26 -0800 Subject: [PATCH 11/16] Apply suggestions from code review Co-Authored-By: Curtis Merrill --- data/mods/Magiclysm/furniture.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data/mods/Magiclysm/furniture.json b/data/mods/Magiclysm/furniture.json index 1bfcacae77e77..ec16f5732a843 100644 --- a/data/mods/Magiclysm/furniture.json +++ b/data/mods/Magiclysm/furniture.json @@ -73,7 +73,7 @@ { "item": "2x4", "count": [ 3, 4 ] } ] }, - "max_volume": 7000, + "max_volume": "1750 L", "bash": { "str_min": 35, "str_max": 80, @@ -114,7 +114,7 @@ { "item": "flask_glass", "count": [ 1, 3 ] } ] }, - "max_volume": 7000, + "max_volume": "1750 L", "bash": { "str_min": 4, "str_max": 10, @@ -148,7 +148,7 @@ { "item": "hinge", "count": [ 1, 3 ] } ] }, - "max_volume": 7000, + "max_volume": "1750 L", "bash": { "str_min": 20, "str_max": 60, From d886902a4131434ef828b92721286e1fa810f43c Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Fri, 10 Jan 2020 09:38:01 -0800 Subject: [PATCH 12/16] Update overmap_terrain.json --- data/mods/Magiclysm/worldgen/overmap_terrain.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/mods/Magiclysm/worldgen/overmap_terrain.json b/data/mods/Magiclysm/worldgen/overmap_terrain.json index 5b7fb6f368959..3047ecc6e4180 100644 --- a/data/mods/Magiclysm/worldgen/overmap_terrain.json +++ b/data/mods/Magiclysm/worldgen/overmap_terrain.json @@ -335,12 +335,12 @@ }, { "type": "overmap_terrain", - "id": "wizardtower2_stair1", + "id": "wizardtower2_stairs1", "copy-from": "wizardtower1_ground" }, { "type": "overmap_terrain", - "id": "wizardtower2_stair2", + "id": "wizardtower2_stairs2", "copy-from": "wizardtower1_ground" }, { From 8f80965f262b43b8e52ddd3d57c4ccdbc4ad7de0 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Fri, 10 Jan 2020 09:46:35 -0800 Subject: [PATCH 13/16] Update regional_overlay.json --- data/mods/Magiclysm/worldgen/regional_overlay.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/mods/Magiclysm/worldgen/regional_overlay.json b/data/mods/Magiclysm/worldgen/regional_overlay.json index 69d57cbe4dd4b..38ed843f0d729 100644 --- a/data/mods/Magiclysm/worldgen/regional_overlay.json +++ b/data/mods/Magiclysm/worldgen/regional_overlay.json @@ -3,7 +3,7 @@ "type": "region_overlay", "regions": [ "all" ], "city": { - "houses": { "wizard_tower_1": 50, "wizard_tower_2": 50 }, + "houses": { "wizard_tower_1": 10, "wizard_tower_2": 20 }, "shops": { "magic_shop": 100, "used_bookstore": 225 }, "basements": { "magic_basement": 50 } }, From 1716ab2e2fc4313d2d58938dd2451f2bb6af7606 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Fri, 10 Jan 2020 10:30:42 -0800 Subject: [PATCH 14/16] Update wizard-towers.json --- .../mods/Magiclysm/worldgen/wizard-towers.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/data/mods/Magiclysm/worldgen/wizard-towers.json b/data/mods/Magiclysm/worldgen/wizard-towers.json index 4403a532ad375..37c3b914e5b8c 100644 --- a/data/mods/Magiclysm/worldgen/wizard-towers.json +++ b/data/mods/Magiclysm/worldgen/wizard-towers.json @@ -47,22 +47,22 @@ ",,,,,,,,,,,,,,^[[,,,,,,,................................................................................................", ",,,,,,,[[[[[[[[[[,,,,,,,................................................................................................", ",,,,,,,[[[[[[[[[[,,,,,,,................................................................................................", - ",,,,,*#==#w#w#w#w#,,,,,,......!!!!!!!!!!!!..............................................................................", + ",,,,,*#==#W#W#W#W#,,,,,,......!!!!!!!!!!!!..............................................................................", ",,,,*## ##,,,,,.....!!!!!!!!!!!!!!....................................::::::::::..............!!!!!!!!!!.......", ",,,,## bHHHHb ##,,,,....!!!!!!!!!!!!!!!!..................................:: ::............!!!!!!!!!!!!......", - ",,,,w ###### w,,,,....!!!!!##ww##!!!!!.............##ww##..............:: ##ww## ::..........!!!!!!!!!!!!!!.....", - ",,,,w ## ## w,,,,....!!!!## ##!!!!............## << ##.............: ##0>>0## :..........!!!!!!!!!!!!!!.....", + ",,,,W ###### W,,,,....!!!!!##WW##!!!!!.............##WW##..............:: ##WW## ::..........!!!!!!!!!!!!!!.....", + ",,,,W ## ## W,,,,....!!!!## ##!!!!............## << ##.............: ##0>>0## :..........!!!!!!!!!!!!!!.....", ",,,,#++## ##+##,,,,....!!!## 0##!!!...........##0 ##............: ##9 9## :..........!!!!!!!!!!!!!!.....", ",,,,# # # s#,,,,....!!!# #!!!...........# #............: #9 9# :..........!!!!!!!!!!!!!!.....", - ",,,,w + << # t#,,,,....!!!w >> w!!!...........w ## w............: + cc + :..........!!!!!!!!!!!!!!.....", - ",,,,w + ## # &#,,,,....!!!w ## w!!!...........w ## w............: + cL + :..........!!!!!!!!!!!!!!.....", - ",,,,# # # w#,,,,....!!!# #!!!...........# #............: #y y# :..........!!!!!!!!!!!!!!.....", + ",,,,W + << # t#,,,,....!!!W >> W!!!...........W ## W............: + cc + :..........!!!!!!!!!!!!!!.....", + ",,,,W + ## # &#,,,,....!!!W ## W!!!...........W ## W............: + cL + :..........!!!!!!!!!!!!!!.....", + ",,,,# # # W#,,,,....!!!# #!!!...........# #............: #y y# :..........!!!!!!!!!!!!!!.....", ",,,,##### ##+##,,,,....!!!##0 ##!!!...........## 0##............: ##9 h 9## :..........!!!!!!!!!!!!!!.....", - ",,,,#BBE## ## w,,,,....!!!!## << ##!!!!............## >> ##.............: ##mmmm## :..........!!!!!!!!!!!!!!.....", - ",,,,wBB #+#+## hw,,,,....!!!!!##ww##!!!!!.............##ww##..............:: ##ww## ::..........!!!!!!!!!!!!!!.....", + ",,,,#BBE## ## W,,,,....!!!!## << ##!!!!............## >> ##.............: ##mmmm## :..........!!!!!!!!!!!!!!.....", + ",,,,WBB #+#+## hW,,,,....!!!!!##WW##!!!!!.............##WW##..............:: ##WW## ::..........!!!!!!!!!!!!!!.....", ",,,,## h # b##,,,,....!!!!!!!!!!!!!!!!..................................:: ::............!!!!!!!!!!!!......", ",,,,*##dd #BBEBB##*,,,,.....!!!!!!!!!!!!!!....................................::::::::::..............!!!!!!!!!!.......", - ",,,,,*#ww###ww#ww#*,,,,,......!!!!!!!!!!!!..............................................................................", + ",,,,,*#WW###WW#WW#*,,,,,......!!!!!!!!!!!!..............................................................................", ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", From 1f336042046d2aa637b005168c414a5cb171a0f8 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Fri, 10 Jan 2020 10:32:19 -0800 Subject: [PATCH 15/16] Update wizard-towers.json --- data/mods/Magiclysm/worldgen/wizard-towers.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/mods/Magiclysm/worldgen/wizard-towers.json b/data/mods/Magiclysm/worldgen/wizard-towers.json index 37c3b914e5b8c..d919aa564010e 100644 --- a/data/mods/Magiclysm/worldgen/wizard-towers.json +++ b/data/mods/Magiclysm/worldgen/wizard-towers.json @@ -56,7 +56,7 @@ ",,,,# # # s#,,,,....!!!# #!!!...........# #............: #9 9# :..........!!!!!!!!!!!!!!.....", ",,,,W + << # t#,,,,....!!!W >> W!!!...........W ## W............: + cc + :..........!!!!!!!!!!!!!!.....", ",,,,W + ## # &#,,,,....!!!W ## W!!!...........W ## W............: + cL + :..........!!!!!!!!!!!!!!.....", - ",,,,# # # W#,,,,....!!!# #!!!...........# #............: #y y# :..........!!!!!!!!!!!!!!.....", + ",,,,# # # w#,,,,....!!!# #!!!...........# #............: #y y# :..........!!!!!!!!!!!!!!.....", ",,,,##### ##+##,,,,....!!!##0 ##!!!...........## 0##............: ##9 h 9## :..........!!!!!!!!!!!!!!.....", ",,,,#BBE## ## W,,,,....!!!!## << ##!!!!............## >> ##.............: ##mmmm## :..........!!!!!!!!!!!!!!.....", ",,,,WBB #+#+## hW,,,,....!!!!!##WW##!!!!!.............##WW##..............:: ##WW## ::..........!!!!!!!!!!!!!!.....", From b29d5b7c37e3ecc4c577059fb76408ee6ace2e26 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Fri, 10 Jan 2020 10:35:16 -0800 Subject: [PATCH 16/16] Update wizard-towers.json --- .../Magiclysm/worldgen/wizard-towers.json | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/data/mods/Magiclysm/worldgen/wizard-towers.json b/data/mods/Magiclysm/worldgen/wizard-towers.json index d919aa564010e..c48c0156f8e7a 100644 --- a/data/mods/Magiclysm/worldgen/wizard-towers.json +++ b/data/mods/Magiclysm/worldgen/wizard-towers.json @@ -47,22 +47,22 @@ ",,,,,,,,,,,,,,^[[,,,,,,,................................................................................................", ",,,,,,,[[[[[[[[[[,,,,,,,................................................................................................", ",,,,,,,[[[[[[[[[[,,,,,,,................................................................................................", - ",,,,,*#==#W#W#W#W#,,,,,,......!!!!!!!!!!!!..............................................................................", + ",,,,,*#==#w#w#w#w#,,,,,,......!!!!!!!!!!!!..............................................................................", ",,,,*## ##,,,,,.....!!!!!!!!!!!!!!....................................::::::::::..............!!!!!!!!!!.......", ",,,,## bHHHHb ##,,,,....!!!!!!!!!!!!!!!!..................................:: ::............!!!!!!!!!!!!......", - ",,,,W ###### W,,,,....!!!!!##WW##!!!!!.............##WW##..............:: ##WW## ::..........!!!!!!!!!!!!!!.....", - ",,,,W ## ## W,,,,....!!!!## ##!!!!............## << ##.............: ##0>>0## :..........!!!!!!!!!!!!!!.....", + ",,,,w ###### w,,,,....!!!!!##ww##!!!!!.............##ww##..............:: ##ww## ::..........!!!!!!!!!!!!!!.....", + ",,,,w ## ## w,,,,....!!!!## ##!!!!............## << ##.............: ##0>>0## :..........!!!!!!!!!!!!!!.....", ",,,,#++## ##+##,,,,....!!!## 0##!!!...........##0 ##............: ##9 9## :..........!!!!!!!!!!!!!!.....", ",,,,# # # s#,,,,....!!!# #!!!...........# #............: #9 9# :..........!!!!!!!!!!!!!!.....", - ",,,,W + << # t#,,,,....!!!W >> W!!!...........W ## W............: + cc + :..........!!!!!!!!!!!!!!.....", - ",,,,W + ## # &#,,,,....!!!W ## W!!!...........W ## W............: + cL + :..........!!!!!!!!!!!!!!.....", - ",,,,# # # w#,,,,....!!!# #!!!...........# #............: #y y# :..........!!!!!!!!!!!!!!.....", + ",,,,w + << # t#,,,,....!!!w >> w!!!...........w ## w............: + cc + :..........!!!!!!!!!!!!!!.....", + ",,,,w + ## # &#,,,,....!!!w ## w!!!...........w ## w............: + cL + :..........!!!!!!!!!!!!!!.....", + ",,,,# # # ~#,,,,....!!!# #!!!...........# #............: #y y# :..........!!!!!!!!!!!!!!.....", ",,,,##### ##+##,,,,....!!!##0 ##!!!...........## 0##............: ##9 h 9## :..........!!!!!!!!!!!!!!.....", - ",,,,#BBE## ## W,,,,....!!!!## << ##!!!!............## >> ##.............: ##mmmm## :..........!!!!!!!!!!!!!!.....", - ",,,,WBB #+#+## hW,,,,....!!!!!##WW##!!!!!.............##WW##..............:: ##WW## ::..........!!!!!!!!!!!!!!.....", + ",,,,#BBE## ## w,,,,....!!!!## << ##!!!!............## >> ##.............: ##mmmm## :..........!!!!!!!!!!!!!!.....", + ",,,,wBB #+#+## hw,,,,....!!!!!##ww##!!!!!.............##ww##..............:: ##ww## ::..........!!!!!!!!!!!!!!.....", ",,,,## h # b##,,,,....!!!!!!!!!!!!!!!!..................................:: ::............!!!!!!!!!!!!......", ",,,,*##dd #BBEBB##*,,,,.....!!!!!!!!!!!!!!....................................::::::::::..............!!!!!!!!!!.......", - ",,,,,*#WW###WW#WW#*,,,,,......!!!!!!!!!!!!..............................................................................", + ",,,,,*#ww###ww#ww#*,,,,,......!!!!!!!!!!!!..............................................................................", ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", ",,,,,,,,,,,,,,,,,,,,,,,,................................................................................................", @@ -126,7 +126,7 @@ "u": "f_bathtub", "U": "f_utility_shelf", "V": "f_utility_shelf", - "w": "f_shower", + "~": "f_shower", "W": "f_washer", "x": "f_water_heater", "y": "f_huge_mana_crystal",