From 1b344056915734313402181513163aeaad0ccab1 Mon Sep 17 00:00:00 2001 From: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com> Date: Mon, 26 Feb 2024 22:36:09 -0500 Subject: [PATCH] [Xedra Evolved] Paraclesian altar wall rework (#72008) * Initial commit * Initial commit * Update with solid fog * Update docs * Arvore has a better tree mix --- data/mods/Xedra_Evolved/connect_groups.json | 6 + data/mods/Xedra_Evolved/field_type.json | 12 +- .../terrain-eruption.json | 109 ++++++++++++++++++ data/mods/Xedra_Evolved/items/resources.json | 8 ++ .../Xedra_Evolved/mapgen/genius_locum.json | 40 ++++--- doc/JSON_INFO.md | 2 +- 6 files changed, 158 insertions(+), 19 deletions(-) create mode 100644 data/mods/Xedra_Evolved/connect_groups.json create mode 100644 data/mods/Xedra_Evolved/furniture_and_terrain/terrain-eruption.json diff --git a/data/mods/Xedra_Evolved/connect_groups.json b/data/mods/Xedra_Evolved/connect_groups.json new file mode 100644 index 0000000000000..ccc0903948baa --- /dev/null +++ b/data/mods/Xedra_Evolved/connect_groups.json @@ -0,0 +1,6 @@ +[ + { + "type": "connect_group", + "id": "OBSIDIANFLOOR" + } +] diff --git a/data/mods/Xedra_Evolved/field_type.json b/data/mods/Xedra_Evolved/field_type.json index d18b4293ecebe..11db655651bcb 100644 --- a/data/mods/Xedra_Evolved/field_type.json +++ b/data/mods/Xedra_Evolved/field_type.json @@ -140,7 +140,6 @@ { "id": "fd_pollen_arvore_weaken", "type": "field_type", - "legacy_enum_id": 51, "intensity_levels": [ { "name": "pollen cloud", @@ -194,5 +193,16 @@ "display_items": false, "display_field": true, "looks_like": "fd_nuke_gas" + }, + { + "id": "fd_sylph_solid_fog", + "type": "field_type", + "looks_like": "fd_fog", + "intensity_levels": [ { "name": "solid fog", "sym": "*", "translucency": 99, "move_cost": -1, "transparent": false, "light_override": 0 } ], + "half_life": 999999999999, + "percent_spread": 0, + "phase": "gas", + "display_items": false, + "display_field": true } ] diff --git a/data/mods/Xedra_Evolved/furniture_and_terrain/terrain-eruption.json b/data/mods/Xedra_Evolved/furniture_and_terrain/terrain-eruption.json new file mode 100644 index 0000000000000..c8fafedc65488 --- /dev/null +++ b/data/mods/Xedra_Evolved/furniture_and_terrain/terrain-eruption.json @@ -0,0 +1,109 @@ +[ + { + "type": "terrain", + "id": "t_solid_fog", + "name": "wall of fog", + "looks_like": "fd_fog", + "description": "A wall of swirling fog. Despite its constant movement, it never spreads out or escapes the rough wall-shape it's in.", + "symbol": "LINE_OXOX", + "color": "light_gray", + "move_cost": 0, + "coverage": 100, + "flags": [ "NOITEM", "WALL", "NO_SCENT", "AUTO_WALL_SYMBOL", "CONNECT_WITH_WALL", "BLOCK_WIND" ] + }, + { + "type": "terrain", + "id": "t_obsidian_wall", + "name": "obsidian rock", + "looks_like": "t_rock", + "description": "A rough wall of igneous stone. It does not look like polished obsidian but you can see some resemblance.", + "symbol": "LINE_OXOX", + "//": "use pillars, 't_column_obsidian', as a compliment.", + "color": "white", + "move_cost": 0, + "coverage": 100, + "roof": "t_obsidian_roof", + "flags": [ "NOITEM", "SUPPORTS_ROOF", "WALL", "NO_SCENT", "AUTO_WALL_SYMBOL", "CONNECT_WITH_WALL", "MINEABLE", "BLOCK_WIND" ], + "bash": { + "str_min": 120, + "str_max": 400, + "sound": "crash!", + "sound_fail": "whump!", + "ter_set": "t_rock_floor", + "items": [ { "item": "obsidian_rock", "count": [ 6, 12 ] }, { "item": "material_rocksalt", "count": [ 0, 1 ], "prob": 10 } ] + } + }, + { + "type": "terrain", + "id": "t_obsidian_floor", + "name": "obsidian floor", + "description": "A relatively flat area of igneous rock. Looks stable enough to be mined with the proper mining gear.", + "symbol": ".", + "color": "light_gray", + "connect_groups": "OBSIDIANFLOOR", + "connects_to": "OBSIDIANFLOOR", + "move_cost": 2, + "roof": "t_obsidian_roof", + "flags": [ "TRANSPARENT", "INDOORS", "COLLAPSES", "SUPPORTS_ROOF", "FLAT", "ROAD" ], + "bash": { "ter_set": "t_null", "str_min": 75, "str_max": 400, "str_min_supported": 100, "bash_below": true } + }, + { + "type": "terrain", + "id": "t_column_obsidian", + "name": "column", + "looks_like": "t_rock_wall", + "description": "A natural column of igneous rock.", + "symbol": "1", + "color": "light_gray", + "move_cost": 0, + "coverage": 80, + "flags": [ "WALL", "PERMEABLE", "MINEABLE" ], + "bash": { + "str_min": 120, + "str_max": 200, + "sound": "crash!", + "sound_fail": "whump!", + "ter_set": "t_reb_cage", + "items": [ { "item": "obsidian_rock", "count": [ 10, 22 ] } ] + } + }, + { + "type": "terrain", + "id": "t_obsidian_roof", + "name": "obsidian roof", + "description": "A section of flat igneous rock.", + "looks_like": "t_rock_floor", + "symbol": ".", + "color": "brown", + "move_cost": 2, + "flags": [ "TRANSPARENT", "FLAT" ], + "bash": { "str_min": 100, "str_max": 210, "sound": "crash!", "sound_fail": "whump!", "ter_set": "t_hole", "bash_below": false } + }, + { + "type": "terrain", + "id": "t_salamander_veins", + "name": "salamander vein", + "looks_like": "t_pillar", + "description": "A vein of rare materials that appear during an eruption.", + "symbol": "1", + "color": "light_gray", + "move_cost": 0, + "coverage": 80, + "flags": [ "WALL", "PERMEABLE", "MINEABLE" ], + "bash": { + "str_min": 120, + "str_max": 200, + "sound": "crash!", + "sound_fail": "whump!", + "ter_set": "t_obsidian_floor", + "items": [ + { "item": "obsidian_rock", "count": [ 10, 22 ] }, + { "item": "copper", "count": [ 0, 750 ], "prob": 80 }, + { "item": "silver_small", "count": [ 0, 250 ], "prob": 60 }, + { "item": "gold_small", "count": [ 0, 100 ], "prob": 40 }, + { "item": "platinum_small", "count": [ 0, 25 ], "prob": 20 }, + { "item": "scrap_moon_tears", "count": [ 0, 10 ], "prob": 10 } + ] + } + } +] diff --git a/data/mods/Xedra_Evolved/items/resources.json b/data/mods/Xedra_Evolved/items/resources.json index bf9147ec34bf5..dfd27424a5898 100644 --- a/data/mods/Xedra_Evolved/items/resources.json +++ b/data/mods/Xedra_Evolved/items/resources.json @@ -235,5 +235,13 @@ "color": "brown", "name": { "str": "treesung log" }, "description": "A large log of living wood, sung from a tree by elemental magick." + }, + { + "type": "GENERIC", + "id": "obsidian_rock", + "copy-from": "rock", + "name": { "str": "chunk of obsidian", "str_pl": "chunks of obsidian" }, + "color": "black", + "description": "A chunk of obsidian, smashed from a larger rock vein. It has several wickedly sharp edges and could probably be formed into a weapon with some work." } ] diff --git a/data/mods/Xedra_Evolved/mapgen/genius_locum.json b/data/mods/Xedra_Evolved/mapgen/genius_locum.json index 3af8ae43ad99e..087d63d2db872 100644 --- a/data/mods/Xedra_Evolved/mapgen/genius_locum.json +++ b/data/mods/Xedra_Evolved/mapgen/genius_locum.json @@ -60,12 +60,13 @@ ".": "t_rock_floor", "X": "t_rock_floor", "b": "t_rock_floor", - "1": "t_rock_floor", + "1": "t_dirt", + "4": "t_dirt", "-": [ [ "t_region_groundcover_urban", 5 ], "t_region_tree_shade", 2 ], - "#": "t_rock_wall" + "#": "t_rock_wall", + "|": [ [ "t_rock", 1 ], [ "t_soil", 1 ] ] }, "furniture": { - "|": "f_hedge_tall", "b": "f_bench", "h": "f_bench", "X": "f_elemental_altar", @@ -138,12 +139,13 @@ ".": "t_rock_floor", "X": "t_rock_floor", "b": "t_rock_floor", - "1": "t_rock_floor", + "1": "t_dirt", + "4": "t_dirt", "-": [ [ "t_region_groundcover_urban", 5 ], "t_region_tree_shade", 2 ], - "#": "t_rock_wall" + "#": "t_rock_wall", + "|": "t_water_cube" }, "furniture": { - "|": "f_hedge_tall", "b": "f_bench", "h": "f_bench", "X": "f_elemental_altar", @@ -216,12 +218,13 @@ ".": "t_rock_floor", "X": "t_rock_floor", "b": "t_rock_floor", - "1": "t_rock_floor", + "1": "t_dirt", + "4": "t_dirt", "-": [ [ "t_region_groundcover_urban", 5 ], "t_region_tree_shade", 2 ], - "#": "t_rock_wall" + "#": "t_rock_wall", + "|": "t_region_tree_shade" }, "furniture": { - "|": "f_hedge_tall", "b": "f_bench", "h": "f_bench", "X": "f_elemental_altar", @@ -297,12 +300,13 @@ ".": "t_rock_floor", "X": "t_rock_floor", "b": "t_rock_floor", - "1": "t_rock_floor", + "1": "t_dirt", + "4": "t_dirt", "-": [ [ "t_region_groundcover_urban", 5 ], "t_region_tree_shade", 2 ], - "#": "t_rock_wall" + "#": "t_rock_wall", + "|": [ [ "t_obsidian_wall", 50 ], [ "t_salamander_veins", 10 ], [ "t_lava", 1 ] ] }, "furniture": { - "|": "f_hedge_tall", "b": "f_bench", "h": "f_bench", "X": "f_elemental_altar", @@ -375,12 +379,12 @@ ".": "t_rock_floor", "X": "t_rock_floor", "b": "t_rock_floor", - "1": "t_rock_floor", + "1": "t_dirt", + "4": "t_dirt", "-": [ [ "t_region_groundcover_urban", 5 ], "t_region_tree_shade", 2 ], "#": "t_rock_wall" }, "furniture": { - "|": "f_hedge_tall", "b": "f_bench", "h": "f_bench", "X": "f_elemental_altar", @@ -389,6 +393,7 @@ "3": "f_topiary_abstract", "4": "f_topiary_dragon" }, + "fields": { "|": { "field": "fd_sylph_solid_fog", "intensity": 1 } }, "item": { "X": { "item": "mutagen_airkin" } } } }, @@ -453,12 +458,13 @@ ".": "t_rock_floor", "X": "t_rock_floor", "b": "t_rock_floor", - "1": "t_rock_floor", + "1": "t_dirt", + "4": "t_dirt", "-": [ [ "t_region_groundcover_urban", 5 ], "t_region_tree_shade", 2 ], - "#": "t_rock_wall" + "#": "t_rock_wall", + "|": [ [ "t_scrap_wall", 10 ], [ "t_scrap_wall_halfway", 2 ], [ "t_brick_wall", 10 ], [ "t_brick_wall_halfway", 2 ] ] }, "furniture": { - "|": "f_hedge_tall", "b": "f_bench", "h": "f_bench", "X": "f_elemental_altar", diff --git a/doc/JSON_INFO.md b/doc/JSON_INFO.md index 68e7727fe1b79..f7cc633bf6f2c 100644 --- a/doc/JSON_INFO.md +++ b/doc/JSON_INFO.md @@ -6116,7 +6116,7 @@ Fields can exist on top of terrain/furniture, and support different intensity le "has_elec": false, // See has_fire "has_fume": false, // See has_fire, non-breathing monsters are immune to this field "display_items": true, // If the field should obscure items on this tile - "display_field": true, // If the field should obscure other fields + "display_field": true, // If the field has a visible sprite or symbol, default false "description_affix": "covered_in", // Description affix for items in this field, possible values are "in", "covered_in", "on", "under", and "illuminated_by" "wandering_field": "fd_toxic_gas", // Spawns the defined field in an `intensity-1` radius, or increases the intensity of such fields until their intensity is the same as the parent field "decrease_intensity_on_contact": true, // Decrease the field intensity by one each time a character walk on it.