diff --git a/data/mods/Xedra_Evolved/itemgroups/monster_drops.json b/data/mods/Xedra_Evolved/itemgroups/monster_drops.json index a49f5bc2f8300..a92700bfdc544 100644 --- a/data/mods/Xedra_Evolved/itemgroups/monster_drops.json +++ b/data/mods/Xedra_Evolved/itemgroups/monster_drops.json @@ -389,6 +389,24 @@ { "item": "bio_ar", "prob": 1 } ] }, + { + "type": "item_group", + "subtype": "collection", + "id": "mon_salamagman_death_drops", + "entries": [ { "item": "salamagman_handaxe", "damage": [ 1, 4 ] }, { "item": "skirt", "damage": [ 2, 3 ] } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "mon_salamagman_champion_death_drops", + "entries": [ { "item": "salamagman_battleaxe", "damage": [ 1, 4 ] }, { "item": "skirt", "damage": [ 2, 3 ] } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "mon_salamagman_warlord_death_drops", + "entries": [ { "item": "salamagman_macuahuitl", "damage": [ 1, 4 ] }, { "item": "skirt", "damage": [ 2, 3 ] } ] + }, { "id": "feral_agent_death_drops", "type": "item_group", diff --git a/data/mods/Xedra_Evolved/items/corpses.json b/data/mods/Xedra_Evolved/items/corpses.json index ceab6058a3a2e..9ef218dfa871a 100644 --- a/data/mods/Xedra_Evolved/items/corpses.json +++ b/data/mods/Xedra_Evolved/items/corpses.json @@ -69,5 +69,41 @@ "to_hit": -2, "flags": [ "TRADER_AVOID", "NO_REPAIR" ], "melee_damage": { "bash": 10 } + }, + { + "type": "GENERIC", + "id": "corpse_fae", + "//": "Changeling corpses.", + "copy-from": "corpse", + "name": { "str": "fae corpse" }, + "description": "The dead body of a changeling. There are multiple bites across the body and numerous scratches. It looks like blood loss might have brought them down.", + "looks_like": "corpse_generic_human", + "material": [ "fae_flesh" ], + "snippet_category": [ + { + "id": "generic_fae_corpse_01", + "text": "The dead body of a changeling. There are multiple bites across the body and numerous scratches. It looks like blood loss might have brought them down." + }, + { + "id": "generic_fae_corpse_02", + "text": "Extreme burns cover the body of this changeling. In multiple locations the charring goes all the way to the bone." + }, + { + "id": "generic_fae_corpse_03", + "text": "Several ballistic wounds seem to have brought down this changeling. It probably happened elsewhere and they escaped to here." + }, + { + "id": "generic_fae_corpse_04", + "text": "This lifeless body is covered in a rime of frost, that seems resistant to the prevailing weather." + }, + { + "id": "generic_fae_corpse_05", + "text": "This changeling seems to have gotten themselves impaled upon an unhealthy number of large thorns. What kind of plant could do this?" + }, + { + "id": "generic_fae_corpse_06", + "text": "This changeling corpse has a belly wound that appears to be caused by a sword and is also missing its hand." + } + ] } ] diff --git a/data/mods/Xedra_Evolved/items/melee.json b/data/mods/Xedra_Evolved/items/melee.json index ae21d94686c7e..a1b9820798c20 100644 --- a/data/mods/Xedra_Evolved/items/melee.json +++ b/data/mods/Xedra_Evolved/items/melee.json @@ -88,6 +88,61 @@ "weapon_category": [ "SHORT_SWORDS" ], "relic_data": { "passive_effects": [ { "has": "WIELD", "condition": "ALWAYS", "hit_you_effect": [ { "id": "distant_thunder" } ] } ] } }, + { + "type": "GENERIC", + "id": "salamagman_handaxe", + "category": "weapons", + "price": 12400, + "price_postapoc": 1000, + "name": { "str": "salamagman hand axe" }, + "symbol": ";", + "color": "light_gray", + "description": "A one-handed combat axe, the blade is slightly larger than a tomahawk.", + "material": [ "tezcatlipocas_blood" ], + "volume": "750 ml", + "weight": "792 g", + "flags": [ "DURABLE_MELEE", "SHEATH_AXE" ], + "weapon_category": [ "HAND_AXES" ], + "thrown_damage": [ + { "damage_type": "bash", "amount": 6 }, + { "damage_type": "cut", "amount": 16 }, + { "damage_type": "heat", "amount": 8 } + ], + "melee_damage": { "bash": 10, "cut": 21, "heat": 15 } + }, + { + "id": "salamagman_battleaxe", + "type": "TOOL", + "name": { "str": "salamagman battle axe" }, + "looks_like": "ch_battleaxe", + "description": "A huge axe designed for warfare. Made of forged dreamdross, and enchanted to channel heat into those it wounds.", + "weight": "2102 g", + "volume": "2500 ml", + "longest_side": "100 cm", + "price": 400000, + "price_postapoc": 120000, + "to_hit": { "grip": "weapon", "length": "long", "surface": "line", "balance": "uneven" }, + "material": [ "tezcatlipocas_blood" ], + "symbol": "P", + "color": "black_red", + "techniques": [ "WBLOCK_1", "WIDE", "BRUTAL", "SWEEP" ], + "qualities": [ [ "AXE", 2 ], [ "BUTCHER", -20 ] ], + "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "SHEATH_AXE" ], + "weapon_category": [ "HOOKING_WEAPONRY", "GREAT_AXES" ], + "category": "weapons", + "melee_damage": { "bash": 19, "cut": 41, "heat": 21 } + }, + { + "type": "GENERIC", + "id": "salamagman_macuahuitl", + "name": { "str": "obsidian macuahuitl" }, + "description": "Astute observers of Mesoamerican history may recognize this as a macuahuitl, the favored weapon of the Aztecs. This macuahuitl looks as though it was made deep inside of a black mirror.", + "copy-from": "lc_aztec_sword", + "price": 400000, + "price_postapoc": 120000, + "material": [ "tezcatlipocas_blood" ], + "melee_damage": { "bash": 24, "cut": 30, "heat": 21 } + }, { "id": "distant_thunder", "type": "SPELL", diff --git a/data/mods/Xedra_Evolved/items/resources.json b/data/mods/Xedra_Evolved/items/resources.json index 3fe22c8f168fb..dc95e1dad65aa 100644 --- a/data/mods/Xedra_Evolved/items/resources.json +++ b/data/mods/Xedra_Evolved/items/resources.json @@ -246,6 +246,55 @@ "symbol": "=", "color": "white" }, + { + "id": "sheet_elemental_gossamer", + "type": "GENERIC", + "category": "spare_parts", + "name": { "str": "elemental gossamer sheet" }, + "description": "A 12-inch by 24-inch sheet of elemental gossamer fabric, like a swatch plucked from a rainbow.", + "weight": "50 g", + "volume": "47 ml", + "price": 2000, + "price_postapoc": 20, + "material": [ "elemental_fae_cotton" ], + "symbol": "=", + "color": "white" + }, + { + "id": "sheet_elemental_gossamer_patchwork", + "copy-from": "sheet_gossamer", + "type": "GENERIC", + "name": { "str": "patchwork elemental gossamer sheet" }, + "description": "A 12-inch by 24-inch sheet of elemental gossamer sewn together from patches of various clothing parts. Suitable for making clothing if you lack proper material sheets.", + "price": 200, + "price_postapoc": 20 + }, + { + "id": "elemental_gossamer_patchwork", + "type": "TOOL", + "category": "spare_parts", + "name": { "str": "elemental gossamer patch", "str_pl": "elemental gossamer patches" }, + "description": "A 6-inch square elemental gossamer patch, suitable for repairing and tailoring clothing.", + "weight": "6 g", + "volume": "6 ml", + "price": 200, + "price_postapoc": 2, + "material": [ "elemental_fae_cotton" ], + "symbol": ",", + "color": "white", + "flags": [ "NO_SALVAGE" ] + }, + { + "id": "elemental_scrap_gossamer", + "copy-from": "scrap_worthless", + "type": "GENERIC", + "name": { "str_sp": "elemental gossamer scraps" }, + "description": "Filmy bits of elemental gossamer, barely there. Not useful for much.", + "volume": "1 ml", + "material": [ "elemental_fae_cotton" ], + "symbol": "=", + "color": "white" + }, { "id": "gambeson_batting_gossamer", "type": "TOOL", @@ -271,12 +320,27 @@ "description": "A large log of living wood, sung from a tree by elemental magick." }, { - "type": "GENERIC", + "type": "AMMO", "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." + "color": "black_red", + "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.", + "symbol": "*", + "category": "spare_parts", + "material": [ "obsidian" ], + "ammo_type": "rock", + "flags": [ "TRADER_AVOID", "NPC_THROWN" ], + "weight": "657 g", + "volume": "250 ml", + "longest_side": "8 cm", + "damage": { "damage_type": "stab", "amount": 5 }, + "range": 10, + "dispersion": 14, + "loudness": 0, + "to_hit": -1, + "effects": [ "NEVER_MISFIRES", "NON_FOULING", "RECOVER_60" ], + "melee_damage": { "stab": 3 } }, { "type": "GENERIC", diff --git a/data/mods/Xedra_Evolved/mapgen/mutable/salamander_eruption.json b/data/mods/Xedra_Evolved/mapgen/mutable/salamander_eruption.json new file mode 100644 index 0000000000000..577b520a45b87 --- /dev/null +++ b/data/mods/Xedra_Evolved/mapgen/mutable/salamander_eruption.json @@ -0,0 +1,599 @@ +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": "salamander_eruption_ground", + "object": { + "fill_ter": "t_region_groundcover", + "rows": [ + " ", + " ", + " << ", + " --------- ", + " --,,,,,,,---- ", + " <-,,,,,,,,,,,--- ", + " <-,,,,,,,,,,,,-< ", + " --,,,,,<,,,,,,-< ", + " --,,,,,,,,,,,,,-- ", + " <-,,,,,,,,,,,,,,-- ", + " --,,,,,,,,,,,,,,,-- ", + " -,,,,,,,><,,,,,,,,- ", + " -,,,,,,,><,,,,,,,,- ", + " -,,,,,,,,,,,,,,,,,- ", + " <-,,,,,,,,,,,,,,,,,- ", + " --,,,,,,,,,,,,,,,--- ", + " -,,,,,,,,,,,,,,,,-< ", + " --,,,,,<,,,,,,,<,,-< ", + " <-,,,,,,,,,,,,,,,,--- ", + " ---,----,,,,,,,,,,--- ", + " ---<<-,,,,,,---,-< ", + " <-,------<-- ", + " --- - ", + " " + ], + "terrain": { + " ": [ [ "t_dirt", 2 ], [ "t_region_groundcover", 7 ], [ "t_pit_shallow", 2 ], "t_lava" ], + ",": [ "t_obsidian_floor" ], + "-": [ "t_obsidian_wall" ], + "<": [ "t_slope_up" ], + ">": [ "t_slope_down" ] + }, + "place_fields": [ + { "field": "fd_blood", "x": [ 3, 19 ], "y": [ 4, 20 ], "repeat": [ 30, 50 ] }, + { "field": "fd_blood_insect", "x": [ 3, 19 ], "y": [ 4, 20 ], "repeat": [ 20, 30 ] } + ], + "place_monster": [ + { "monster": "mon_dermatik_larva", "x": [ 3, 22 ], "y": [ 8, 22 ], "repeat": [ 2, 4 ] }, + { "monster": "mon_dermatik_midwife", "x": [ 10, 12 ], "y": [ 14, 17 ], "repeat": [ 0, 2 ] }, + { "monster": "mon_dermatik", "x": [ 0, 23 ], "y": [ 0, 23 ], "repeat": [ 1, 4 ] } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "salamander_eruption_roof", + "object": { + "fill_ter": "t_open_air", + "rows": [ + " ", + " ", + " >> ", + " ,,,,,,,,, ", + " ,,,,,,,,,,,,, ", + " >,,,,,,,,,,,,,,, ", + " >,,,,,,,,,,,,,,> ", + " ,,,,,,,>,,,,,,,> ", + " ,,,,,,,,,,,,,,,,, ", + " >,,,,,,,,,,,,,,,,, ", + " ,,,,,,,,,,,,,,,,,,, ", + " ,,,,,,,,,>,,,,,,,,, ", + " ,,,,,,,,,>,,,,,,,,, ", + " ,,,,,,,,,,,,,,,,,,, ", + " >,,,,,,,,,,,,,,,,,,, ", + " ,,,,,,,,,,,,,,,,,,,, ", + " ,,,,,,,,,,,,,,,,,,> ", + " ,,,,,,,>,,,,,,,>,,,> ", + " >,,,,,,,,,,,,,,,,,,,, ", + " ,,,,,,,,,,,,,,,,,,,,, ", + " ,,,>>,,,,,,,,,,,,> ", + " >,,,,,,,,>,, ", + " ,,, , ", + " " + ], + "terrain": { ",": [ "t_obsidian_roof" ], ">": [ "t_slope_down" ] } + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "salamander_eruption_entrance", + "object": { + "fill_ter": "t_obsidian_floor", + "rows": [ + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + " ~~~~~~~ ", + " ~~~~~~~ ", + " ~~~~~~~ ", + " ~~~@~~~ ", + " ~>~~~~~ ", + " ~>~~~~~ ", + " ~~~~~~~ ", + " ", + " ! ", + " ", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######" + ], + "terrain": { + "#": "t_rock", + " ": [ [ "t_puddle_underground", 1 ], [ "t_obsidian_floor", 10 ] ], + "~": "t_obsidian_floor", + ">": "t_slope_up" + }, + "nested": { + " ": { + "chunks": [ [ "salamander_sinkhole", 1 ], [ "fallen_adventurer", 1 ], [ "mine_minerals_equipment", 1 ], [ "null", 50 ] ] + }, + "!": { "chunks": [ [ "salamander_toxic_gas", 1 ], [ "null", 9 ] ] }, + "@": { "chunks": [ [ "mine_lava", 1 ], [ "null", 15 ] ] } + }, + "place_nested": [ + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 0 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 1 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 2 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 3 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 4 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 5 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 6 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 17 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 18 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 19 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 20 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 21 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 22 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 23 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 0 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 1 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 2 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 3 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 4 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 5 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 6 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 17 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 18 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 19 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 20 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 21 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 22 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 23 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "salamander_tunnel_straight", + "object": { + "fill_ter": "t_obsidian_floor", + "rows": [ + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### ~~~~~~~ #######", + "####### ~~~~~~~ #######", + "####### ~~~~~~~ #######", + "####### ~~~@~~~ #######", + "####### ~~~~~~~ #######", + "####### ~~~~~~~ #######", + "####### ~~~~~~~ #######", + "####### #######", + "####### ! #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######" + ], + "terrain": { "#": "t_rock", " ": [ [ "t_puddle_underground", 1 ], [ "t_obsidian_floor", 10 ] ], "~": "t_obsidian_floor" }, + "nested": { + " ": { + "chunks": [ [ "salamander_sinkhole", 1 ], [ "fallen_adventurer", 1 ], [ "mine_minerals_equipment", 1 ], [ "null", 50 ] ] + }, + "!": { "chunks": [ [ "salamander_toxic_gas", 1 ], [ "mine_lava", 1 ], [ "null", 9 ] ] }, + "@": { "chunks": [ [ "mine_lava", 1 ], [ "null", 15 ] ] } + }, + "place_nested": [ + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 0 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 1 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 2 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 3 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 4 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 5 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 6 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 7 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 8 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 9 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 10 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 11 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 12 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 13 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 14 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 15 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 16 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 17 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 18 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 19 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 20 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 21 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 22 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 23 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "salamander_tunnel_end", + "object": { + "fill_ter": "t_obsidian_floor", + "rows": [ + "########################", + "########################", + "########################", + "########################", + "########################", + "########################", + "########################", + "########################", + "########################", + "########################", + "########################", + "########################", + "####### #######", + "####### #######", + "####### ~~~~~~~ #######", + "####### ~~~~~~~ #######", + "####### ~~~~~~~ #######", + "####### ~~~@~~~ #######", + "####### ~~~~~~~ #######", + "####### ~~~~~~~ #######", + "####### ~~~~~~~ #######", + "####### #######", + "####### ! #######", + "####### #######" + ], + "terrain": { "#": "t_rock", " ": [ [ "t_puddle_underground", 1 ], [ "t_obsidian_floor", 10 ] ], "~": "t_obsidian_floor" }, + "nested": { + " ": { + "chunks": [ [ "salamander_sinkhole", 1 ], [ "fallen_adventurer", 1 ], [ "mine_minerals_equipment", 1 ], [ "null", 50 ] ] + }, + "!": { "chunks": [ [ "salamander_toxic_gas", 1 ], [ "null", 9 ] ] }, + "@": { "chunks": [ [ "mine_lava", 1 ], [ "null", 15 ] ] } + }, + "place_nested": [ + { "chunks": [ "transition_down" ], "joins": { "below": "-2_to_-3" }, "x": 11, "y": 12 }, + { "chunks": [ "transition_up" ], "joins": { "above": "-2_to_-3" }, "x": 11, "y": 12 }, + { "chunks": [ "transition_down" ], "joins": { "below": "-3_to_-4" }, "x": 11, "y": 12 }, + { "chunks": [ "transition_up" ], "joins": { "above": "-3_to_-4" }, "x": 11, "y": 12 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 12 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 13 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 14 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 15 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 16 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 17 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 18 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 19 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 20 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 21 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 22 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 23 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "salamander_tunnel_curved", + "object": { + "fill_ter": "t_obsidian_floor", + "rows": [ + "########################", + "########################", + "########################", + "########################", + "########################", + "########################", + "########################", + "####### ", + "####### ", + "####### ~~~~~~~ ", + "####### ~~~~~~~ ", + "####### ~~~~~~~ ", + "####### ~~~@~~~ ", + "####### ~~~~~~~ ", + "####### ~~~~~~~ ", + "####### ~~~~~~~ ", + "####### ! ", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######" + ], + "terrain": { "#": "t_rock", " ": [ [ "t_puddle_underground", 1 ], [ "t_obsidian_floor", 10 ] ], "~": "t_obsidian_floor" }, + "nested": { + " ": { + "chunks": [ [ "salamander_sinkhole", 1 ], [ "fallen_adventurer", 1 ], [ "mine_minerals_equipment", 1 ], [ "null", 50 ] ] + }, + "!": { "chunks": [ [ "salamander_toxic_gas", 1 ], [ "null", 9 ] ] }, + "@": { "chunks": [ [ "mine_lava", 1 ], [ "null", 15 ] ] } + }, + "place_nested": [ + { "chunks": [ "salamander_tunnel_bounds_h1" ], "x": [ 4, 6 ], "y": 7 }, + { "chunks": [ "salamander_tunnel_bounds_h1" ], "x": [ 4, 6 ], "y": 8 }, + { "chunks": [ "salamander_tunnel_bounds_h1" ], "x": [ 4, 6 ], "y": 9 }, + { "chunks": [ "salamander_tunnel_bounds_h1" ], "x": [ 4, 6 ], "y": 10 }, + { "chunks": [ "salamander_tunnel_bounds_h1" ], "x": [ 4, 6 ], "y": 11 }, + { "chunks": [ "salamander_tunnel_bounds_h1" ], "x": [ 4, 6 ], "y": 12 }, + { "chunks": [ "salamander_tunnel_bounds_h1" ], "x": [ 4, 6 ], "y": 13 }, + { "chunks": [ "salamander_tunnel_bounds_h1" ], "x": [ 4, 6 ], "y": 14 }, + { "chunks": [ "salamander_tunnel_bounds_h1" ], "x": [ 4, 6 ], "y": 15 }, + { "chunks": [ "salamander_tunnel_bounds_h1" ], "x": [ 4, 6 ], "y": 16 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 17 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 18 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 19 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 20 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 21 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 22 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 23 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 7 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 8 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 9 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 10 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 11 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 12 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 13 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 14 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 15 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 16 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 17 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 18 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 19 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 20 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 21 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 22 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 23 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "salamander_tunnel_tee", + "object": { + "fill_ter": "t_obsidian_floor", + "rows": [ + "########################", + "########################", + "########################", + "########################", + "########################", + "########################", + "########################", + " ", + " ~~~~~~~ ", + " ~~~~~~~ ", + " ~~~~~~~ ", + " ~~~@~~~ ", + " ~~~~~~~ ", + " ~~~~~~~ ", + " ~~~~~~~ ", + " ", + " ! ", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######" + ], + "terrain": { "#": "t_rock", " ": [ [ "t_puddle_underground", 1 ], [ "t_obsidian_floor", 10 ] ], "~": "t_obsidian_floor" }, + "nested": { + " ": { + "chunks": [ [ "salamander_sinkhole", 1 ], [ "fallen_adventurer", 1 ], [ "mine_minerals_equipment", 1 ], [ "null", 50 ] ] + }, + "!": { "chunks": [ [ "salamander_toxic_gas", 1 ], [ "null", 9 ] ] }, + "@": { "chunks": [ [ "mine_lava", 1 ], [ "null", 15 ] ] } + }, + "place_nested": [ + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 17 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 18 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 19 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 20 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 21 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 22 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 23 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 0 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 1 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 2 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 3 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 4 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 5 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 6 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 7 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 8 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 9 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 10 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 11 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 12 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 13 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 14 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 15 }, + { "chunks": [ "salamander_tunnel_bounds_v1" ], "y": [ 4, 6 ], "x": 16 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 17 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 18 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 19 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 20 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 21 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 22 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 23 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "salamander_tunnel_four_way", + "object": { + "fill_ter": "t_obsidian_floor", + "rows": [ + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + " ~~~~~~~ ", + " ~~~~~~~ ", + " ~~~~~~~ ", + " ~~~@~~~ ", + " ~~~~~~~ ", + " ~~~~~~~ ", + " ~~~~~~~ ", + " ", + " ! ", + " ", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######", + "####### #######" + ], + "terrain": { "#": "t_rock", " ": [ [ "t_puddle_underground", 1 ], [ "t_obsidian_floor", 10 ] ], "~": "t_obsidian_floor" }, + "nested": { + " ": { + "chunks": [ [ "salamander_sinkhole", 1 ], [ "fallen_adventurer", 1 ], [ "mine_minerals_equipment", 1 ], [ "null", 50 ] ] + }, + "!": { "chunks": [ [ "salamander_toxic_gas", 1 ], [ "null", 9 ] ] }, + "@": { "chunks": [ [ "mine_lava", 1 ], [ "null", 15 ] ] } + }, + "place_nested": [ + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 0 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 1 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 2 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 3 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 4 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 5 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 6 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 17 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 18 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 19 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 20 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 21 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 22 }, + { "chunks": [ "salamander_tunnel_bounds_h" ], "x": [ 4, 6 ], "y": 23 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 0 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 1 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 2 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 3 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 4 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 5 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 6 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 17 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 18 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 19 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 20 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 21 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 22 }, + { "chunks": [ "salamander_tunnel_bounds_v" ], "y": [ 4, 6 ], "x": 23 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "salamander_finale", + "weight": 100, + "object": { + "fill_ter": "t_obsidian_floor", + "rows": [ + "#### ####", + "#@@@ @@@#", + "#@ @###", + "#@ @###", + "#@ @###", + "#@ @###", + "#@ @###", + "##@@@ @###", + "####@@@ @###", + "######@@ @@@@#", + "#######@ @@####", + "#######@@@ @@@ @@@#####", + "#########@ @##@ @#######", + "#########@ @##@ @#######", + "#########@ @@@ @#######", + "#########@ @#######", + "#########@ @@ @#######", + "#########@ @ @#######", + "#########@ @@ @#######", + "#########@ @ @#######", + "#########@ @#######", + "#########@ @ @#######", + "#########@ @@ @#######", + "#########@ @ @#######" + ], + "terrain": { "#": "t_rock", "@": [ [ "t_rock", 4 ], [ "t_obsidian_floor", 1 ] ] }, + "furniture": { " ": [ [ "f_null", 5 ], "f_rubble_rock" ] }, + "items": { " ": { "item": "mine_equipment", "chance": 3 } }, + "monster": { " ": { "monster": "mon_zombie_miner", "chance": 5 } }, + "nested": { " ": { "chunks": [ [ "mine_minerals_equipment", 10 ], [ "null", 100 ] ] } } + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "salamander_finale", + "weight": 30, + "object": { + "rows": [ + "#### ####", + "#@@@ @@@#", + "#@ D @###", + "#@ @###", + "#@ @###", + "#@ @###", + "#@ @###", + "##@@@ @###", + "####@@@ @###", + "######@@ @@@@#", + "#######@ @@####", + "#######@@@------@@@#####", + "#########@------@#######", + "#########@------@#######", + "#########@------@#######", + "#########@------@#######", + "#########@------@#######", + "#########@------@#######", + "#########@------@#######", + "#########@------@#######", + "#########@------@#######", + "#########@------@#######", + "#########@------@#######", + "#########@------@#######" + ], + "terrain": { + " ": "t_obsidian_floor", + "#": "t_rock", + "@": [ [ "t_rock", 4 ], [ "t_obsidian_floor", 1 ] ], + "-": "t_obsidian_floor", + "D": "t_obsidian_floor" + }, + "monster": { "D": { "monster": "mon_salamagman_warlord_butterfly" } } + } + } +] diff --git a/data/mods/Xedra_Evolved/mapgen/mutable/salamander_eruption_nested.json b/data/mods/Xedra_Evolved/mapgen/mutable/salamander_eruption_nested.json new file mode 100644 index 0000000000000..5d6f49feaf129 --- /dev/null +++ b/data/mods/Xedra_Evolved/mapgen/mutable/salamander_eruption_nested.json @@ -0,0 +1,314 @@ +[ + { + "type": "palette", + "id": "salamander_eruption_palette", + "terrain": { "#": "t_obsidian_wall", " ": "t_obsidian_floor", "$": "t_obsidian_roof" }, + "furniture": { "$": "f_boulder_large" } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "spiral_cw", + "object": { + "palettes": [ "salamander_eruption_palette" ], + "mapgensize": [ 6, 6 ], + "rows": [ + "######", + " #", + "#### #", + "# # #", + "# #", + "######" + ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "spiral_ccw", + "object": { + "palettes": [ "salamander_eruption_palette" ], + "mapgensize": [ 6, 6 ], + "rows": [ + "######", + "# ", + "# ####", + "# # #", + "# #", + "######" + ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "spiral_boulder_cw", + "object": { + "palettes": [ "salamander_eruption_palette" ], + "mapgensize": [ 6, 6 ], + "rows": [ + "$$$$$$", + " $", + "$$$$ $", + "$ $ $", + "$ $", + "$$$$$$" + ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "spiral_boulder_ccw", + "object": { + "palettes": [ "salamander_eruption_palette" ], + "mapgensize": [ 6, 6 ], + "rows": [ + "$$$$$$", + "$ ", + "$ $$$$", + "$ $ $", + "$ $", + "$$$$$$" + ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "salamander_tunnel_entrance", + "object": { + "mapgensize": [ 8, 8 ], + "rows": [ + " ## ", + " ##", + " ", + " ", + "# ", + "## ", + "### ", + "### " + ], + "terrain": { " ": "t_rock_floor", "#": "t_rock" }, + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ] + } + }, + { + "//": "walls of tunnel that can shift from side to side to make the tunnel wind", + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "salamander_tunnel_bounds_h", + "object": { + "mapgensize": [ 14, 14 ], + "rows": [ + "###№ №###", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ], + "terrain": { "#": "t_rock", "№": [ [ "t_salamander_veins", 10 ], [ "t_rock", 90 ] ] } + } + }, + { + "//": "walls of tunnel that can shift from side to side to make the tunnel wind", + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "salamander_tunnel_bounds_h1", + "object": { + "mapgensize": [ 14, 14 ], + "rows": [ + "###№ ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ], + "terrain": { "#": "t_rock", "№": [ [ "t_salamander_veins", 10 ], [ "t_rock", 90 ] ] } + } + }, + { + "//": "walls of mine tunnel that can shift from side to side to make the tunnel wind", + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "salamander_tunnel_bounds_v", + "object": { + "mapgensize": [ 14, 14 ], + "rows": [ + "# ", + "# ", + "# ", + "№ ", + " ", + " ", + " ", + " ", + " ", + " ", + "№ ", + "# ", + "# ", + "# " + ], + "terrain": { "#": "t_rock", "№": [ [ "t_salamander_veins", 10 ], [ "t_rock", 90 ] ] } + } + }, + { + "//": "walls of mine tunnel that can shift from side to side to make the tunnel wind", + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "salamander_tunnel_bounds_v1", + "object": { + "mapgensize": [ 14, 14 ], + "rows": [ + "# ", + "# ", + "# ", + "№ ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ], + "terrain": { "#": "t_rock", "№": [ [ "t_salamander_veins", 10 ], [ "t_rock", 90 ] ] } + } + }, + { + "//": "walls of mine tunnel that can shift from side to side to make the tunnel wind", + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "salamander_tunnel_bounds_v2", + "object": { + "mapgensize": [ 14, 14 ], + "rows": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "№ ", + "# ", + "# ", + "# " + ], + "terrain": { "#": "t_rock", "№": [ [ "t_salamander_veins", 10 ], [ "t_rock", 90 ] ] } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "salamander_sinkhole", + "object": { + "mapgensize": [ 1, 1 ], + "place_terrain": [ { "ter": "t_obsidian_floor", "x": 0, "y": 0 } ], + "place_traps": [ { "trap": "tr_sinkhole", "x": 0, "y": 0 } ], + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "salamander_toxic_gas", + "object": { "mapgensize": [ 1, 1 ], "place_fields": [ { "field": "fd_gas_vent", "x": 0, "y": 0, "intensity": 2, "age": 20 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fallen_adventurer", + "object": { + "mapgensize": [ 1, 1 ], + "place_items": [ { "item": "map_extra_fallen_adventurer", "x": [ 0, 0 ], "y": [ 0, 0 ], "chance": 100 } ], + "place_fields": [ { "field": "fd_blood", "x": [ 0, 0 ], "y": [ 0, 0 ] }, { "field": "fd_gibs_flesh", "x": [ 0, 0 ], "y": [ 0, 0 ] } ] + } + }, + { + "type": "item_group", + "subtype": "collection", + "id": "map_extra_fallen_adventurer", + "//": "Nested group to damage the container-item", + "entries": [ { "group": "map_extra_fallen_adventurer_corpse", "prob": 100, "damage": [ 3, 4 ] } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "map_extra_fallen_adventurer_corpse", + "container-item": "corpse_fae", + "entries": [ { "group": "changeling_bannerman_death_drops", "prob": 100 } ] + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "mine_lava", + "object": { + "palettes": [ "salamander_eruption_palette" ], + "mapgensize": [ 4, 4 ], + "rows": [ + "* ", + "** ", + " ** ", + " **" + ], + "terrain": { "*": "t_lava" }, + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ] + } + }, + { + "//": "slopes down to be used where appropriate", + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "transition_down", + "object": { + "mapgensize": [ 2, 2 ], + "rows": [ + "<<", + "<<" + ], + "terrain": { "<": "t_slope_down" }, + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ] + } + }, + { + "//": "slopes up to be used where appropriate", + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "transition_up", + "object": { + "mapgensize": [ 2, 2 ], + "rows": [ + ">>", + ">>" + ], + "terrain": { ">": "t_slope_up" }, + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ] + } + } +] diff --git a/data/mods/Xedra_Evolved/mapgen/overmap_terrain.json b/data/mods/Xedra_Evolved/mapgen/overmap_terrain.json index 10d8710edaad7..d845a28484ddc 100644 --- a/data/mods/Xedra_Evolved/mapgen/overmap_terrain.json +++ b/data/mods/Xedra_Evolved/mapgen/overmap_terrain.json @@ -164,6 +164,50 @@ "see_cost": "high", "mondensity": 2 }, + { + "type": "overmap_terrain", + "id": [ "salamander_eruption_ground" ], + "name": "salamander eruption", + "sym": "E", + "color": "red_cyan", + "see_cost": "high", + "flags": [ "KNOWN_DOWN", "NO_ROTATE" ] + }, + { + "type": "overmap_terrain", + "id": [ "salamander_eruption_roof" ], + "name": "salamander eruption roof", + "sym": "E", + "color": "red_cyan", + "see_cost": "high", + "flags": [ "NO_ROTATE" ] + }, + { + "type": "overmap_terrain", + "id": [ "salamander_eruption_entrance" ], + "name": "salamander tunnels entrance", + "sym": "O", + "color": "red_cyan", + "see_cost": "high", + "flags": [ "KNOWN_UP", "KNOWN_DOWN", "NO_ROTATE" ] + }, + { + "type": "overmap_terrain", + "id": "salamander_tunnel", + "name": "salamander tunnels", + "color": "red_cyan", + "see_cost": "high", + "spawns": { "group": "GROUP_SALAMANDER_ERUPTION", "population": [ 1, 2 ], "chance": 100 }, + "flags": [ "LINEAR" ] + }, + { + "type": "overmap_terrain", + "id": "salamander_finale", + "name": "salamander tunnels", + "sym": "E", + "color": "red_cyan", + "see_cost": "high" + }, { "type": "overmap_terrain", "id": [ "xedra_monochrome_meadow" ], diff --git a/data/mods/Xedra_Evolved/material.json b/data/mods/Xedra_Evolved/material.json index c0e3f4323771b..27bf672191ed2 100644 --- a/data/mods/Xedra_Evolved/material.json +++ b/data/mods/Xedra_Evolved/material.json @@ -70,7 +70,7 @@ "type": "material", "id": "moon_tears", "name": "Moon Tears", - "//": "Common matrial used by Fae artisans instead of iron.", + "//": "Common material used by Fae artisans instead of iron.", "density": 13, "specific_heat_liquid": 0.82, "specific_heat_solid": 0.45, @@ -83,6 +83,23 @@ "resist": { "bash": 13, "cut": 20, "acid": 10, "heat": 10, "bullet": 16, "electric": 10 }, "repair_difficulty": 4 }, + { + "type": "material", + "id": "tezcatlipocas_blood", + "name": "Tezcatlipoca's blood", + "//": "Common material used by Salamander artisans instead of iron. Weapons made of this material will do additional heat effects/damage. Armor made of it will have additional warmth and protection from cold.", + "density": 13, + "specific_heat_liquid": 0.82, + "specific_heat_solid": 0.45, + "latent_heat": 773, + "chip_resist": 40, + "repaired_with": "forged_dreamstuff_ingot", + "dmg_adj": [ "marked", "dented", "smashed", "shattered" ], + "bash_dmg_verb": "dented", + "cut_dmg_verb": "scratched", + "resist": { "bash": 8, "cut": 20, "acid": 6, "bullet": 9, "electric": 10, "heat": 30 }, + "repair_difficulty": 4 + }, { "type": "material", "id": "moon_tears_fine_chain", @@ -126,6 +143,44 @@ "resist": { "bash": 2, "cut": 3, "acid": 6, "heat": 2, "bullet": 3 }, "repair_difficulty": 4 }, + { + "type": "material", + "id": "elemental_fae_cotton", + "name": "Elemental gossamer", + "//": "Material for use in fae clothing. It's 4/3rds the weight and 4/3rds as encumbering as cotton. Won't burn and twice the difficulty to repair.", + "density": 2.13, + "specific_heat_liquid": 0.02, + "specific_heat_solid": 0.02, + "latent_heat": 205, + "soft": true, + "chip_resist": 6, + "breathability": "GOOD", + "wind_resist": 70, + "repaired_with": "elemental_gossamer_patchwork", + "salvaged_into": "elemental_gossamer_patchwork", + "dmg_adj": [ "ripped", "torn", "shredded", "tattered" ], + "bash_dmg_verb": "ripped", + "cut_dmg_verb": "cut", + "burn_data": [ { "immune": true }, { "immune": true }, { "immune": true } ], + "resist": { "bash": 2, "cut": 3, "acid": 6, "heat": 2, "bullet": 3 }, + "repair_difficulty": 8 + }, + { + "type": "material", + "id": "obsidian", + "name": "Obsidian", + "//": "Density based on obsidian", + "density": 2.6, + "specific_heat_liquid": 0.82, + "specific_heat_solid": 0.45, + "latent_heat": 273, + "chip_resist": 17, + "dmg_adj": [ "scratched", "cut", "cracked", "shattered" ], + "bash_dmg_verb": "cracked", + "cut_dmg_verb": "chipped", + "burn_data": [ { "immune": true }, { "immune": true }, { "immune": true } ], + "resist": { "bash": 4, "cut": 6, "acid": 8, "heat": 3, "bullet": 3 } + }, { "type": "material", "//": "similar to layered kevlar, cotton sewn in a way to extend its protectiveness. stopgap material for gambesons until material protection is more thoroughly reworked.", diff --git a/data/mods/Xedra_Evolved/monster_special_attacks/monster_special_attacks.json b/data/mods/Xedra_Evolved/monster_special_attacks/monster_special_attacks.json index 6de1985349557..1a0c4b4eaec89 100644 --- a/data/mods/Xedra_Evolved/monster_special_attacks/monster_special_attacks.json +++ b/data/mods/Xedra_Evolved/monster_special_attacks/monster_special_attacks.json @@ -58,6 +58,58 @@ "difficulty": 2, "energy_source": "NONE" }, + { + "type": "monster_attack", + "attack_type": "melee", + "id": "salamagman_handaxe", + "cooldown": 1, + "move_cost": 134, + "accuracy": 4, + "damage_max_instance": [ { "damage_type": "bash", "amount": 14 }, { "damage_type": "cut", "amount": 28 } ], + "condition": { "and": [ { "not": { "u_has_effect": "maimed_arm" } }, { "not": { "u_has_effect": "disarmed" } } ] }, + "hit_dmg_u": "%1$s hits your %2$s with an axe!", + "hit_dmg_npc": "%1$s hits 's %2$s with an hand axe!", + "miss_msg_u": "%1$s tries to hit you, but you dodge!", + "miss_msg_npc": "%1$s tries to hit , but they dodge!", + "no_dmg_msg_u": "%1$s hits your %2$s without penetrating your armor.", + "no_dmg_msg_npc": "%1$s hits 's %2$s without penetrating their armor." + }, + { + "type": "monster_attack", + "attack_type": "melee", + "id": "salamagman_battleaxe", + "cooldown": 1, + "move_cost": 134, + "accuracy": 5, + "damage_max_instance": [ { "damage_type": "bash", "amount": 14 }, { "damage_type": "cut", "amount": 28 } ], + "condition": { "and": [ { "not": { "u_has_effect": "maimed_arm" } }, { "not": { "u_has_effect": "disarmed" } } ] }, + "hit_dmg_u": "%1$s hits your %2$s with an axe!", + "hit_dmg_npc": "%1$s hits 's %2$s with an axe!", + "miss_msg_u": "%1$s tries to hit you, but you dodge!", + "miss_msg_npc": "%1$s tries to hit , but they dodge!", + "no_dmg_msg_u": "%1$s hits your %2$s without penetrating your armor.", + "no_dmg_msg_npc": "%1$s hits 's %2$s without penetrating their armor." + }, + { + "type": "monster_attack", + "attack_type": "melee", + "id": "salamagman_macuahuitl", + "cooldown": 1, + "move_cost": 134, + "accuracy": 5, + "damage_max_instance": [ + { "damage_type": "bash", "amount": 14 }, + { "damage_type": "cut", "amount": 36 }, + { "damage_type": "heat", "amount": 12 } + ], + "condition": { "and": [ { "not": { "u_has_effect": "maimed_arm" } }, { "not": { "u_has_effect": "disarmed" } } ] }, + "hit_dmg_u": "%1$s hits your %2$s with an axe!", + "hit_dmg_npc": "%1$s hits 's %2$s with an axe!", + "miss_msg_u": "%1$s tries to hit you, but you dodge!", + "miss_msg_npc": "%1$s tries to hit , but they dodge!", + "no_dmg_msg_u": "%1$s hits your %2$s without penetrating your armor.", + "no_dmg_msg_npc": "%1$s hits 's %2$s without penetrating their armor." + }, { "type": "monster_attack", "attack_type": "melee", diff --git a/data/mods/Xedra_Evolved/monsters/elementals.json b/data/mods/Xedra_Evolved/monsters/elementals.json index df3e8c91ca9ef..03a4ae3f76104 100644 --- a/data/mods/Xedra_Evolved/monsters/elementals.json +++ b/data/mods/Xedra_Evolved/monsters/elementals.json @@ -762,6 +762,129 @@ "xe_cold_iron_stab_damage": 0 } }, + { + "id": "mon_salamagman_small", + "type": "MONSTER", + "name": { "str": "salamagman" }, + "description": "A sluglike lower body made of barely cooled magma transforms into a glowing red, squat, barrel-like torso and cooling magma forms a beard and hair around its face. Smoking obsidian hand axes and armor adorn it as it seeks out enemies to destroy.", + "default_faction": "salamander", + "bodytype": "gastropod_mutant", + "species": [ "SALAMANDER" ], + "volume": "42500 ml", + "weight": "61500 g", + "hp": 80, + "speed": 70, + "material": [ "fae_flesh" ], + "symbol": "@", + "color": "light_red", + "aggression": 30, + "morale": 70, + "aggro_character": false, + "melee_skill": 5, + "melee_dice": 2, + "melee_dice_sides": 5, + "melee_damage": [ { "damage_type": "heat", "amount": 4 } ], + "special_attacks": [ { "id": "salamagman_handaxe" } ], + "dodge": 2, + "harvest": "fae_changeling", + "dissect": "dissect_salamander_large", + "weakpoint_sets": [ "wps_alien_biology" ], + "families": [ "prof_alien_biology" ], + "anger_triggers": [ "FRIEND_ATTACKED", "FRIEND_DIED", "HURT" ], + "path_settings": { "avoid_traps": true, "avoid_sharp": true }, + "death_drops": { "subtype": "collection", "groups": [ [ "mon_salamagman_death_drops", 40 ] ] }, + "flags": [ "SEES", "HEARS", "WARM", "BASHES", "PATH_AVOID_DANGER", "PATH_AVOID_FALL", "FIREPROOF" ], + "armor": { + "bash": 16, + "cut": 12, + "bullet": 26, + "xe_cold_iron_cut_damage": 0, + "xe_cold_iron_bash_damage": 0, + "xe_cold_iron_stab_damage": 0 + } + }, + { + "id": "mon_salamagman_large", + "type": "MONSTER", + "name": { "str": "salamagman champion" }, + "description": "A sluglike lower body made of barely cooled magma transforms into a glowing red, squat, barrel-like torso and cooling magma forms a beard and hair around its face. A black mirror battleaxe reflects your image darkly back at you.", + "default_faction": "salamander", + "bodytype": "gastropod_mutant", + "species": [ "SALAMANDER" ], + "volume": "102500 ml", + "weight": "121500 g", + "hp": 120, + "speed": 70, + "material": [ "fae_flesh" ], + "symbol": "@", + "color": "light_red", + "aggression": 30, + "morale": 70, + "aggro_character": false, + "melee_skill": 5, + "melee_dice": 2, + "melee_dice_sides": 5, + "melee_damage": [ { "damage_type": "heat", "amount": 4 } ], + "special_attacks": [ { "id": "salamagman_battleaxe" } ], + "dodge": 2, + "harvest": "fae_changeling", + "dissect": "dissect_salamander_large", + "weakpoint_sets": [ "wps_alien_biology" ], + "families": [ "prof_alien_biology" ], + "anger_triggers": [ "FRIEND_ATTACKED", "FRIEND_DIED", "HURT" ], + "path_settings": { "avoid_traps": true, "avoid_sharp": true }, + "death_drops": { "subtype": "collection", "groups": [ [ "mon_salamagman_champion_death_drops", 40 ] ] }, + "flags": [ "SEES", "HEARS", "WARM", "BASHES", "PATH_AVOID_DANGER", "PATH_AVOID_FALL", "FIREPROOF" ], + "armor": { + "bash": 16, + "cut": 12, + "bullet": 26, + "xe_cold_iron_cut_damage": 0, + "xe_cold_iron_bash_damage": 0, + "xe_cold_iron_stab_damage": 0 + } + }, + { + "id": "mon_salamagman_warlord_butterfly", + "type": "MONSTER", + "name": { "str": "salamagman warlord" }, + "description": "A sluglike lower body made of barely cooled magma transforms into the embers of a slender torso, with wings of fire and smoke extending out from its back. A club studded with obsidian shards graces their belt.", + "default_faction": "salamander", + "bodytype": "angel", + "species": [ "SALAMANDER" ], + "volume": "102500 ml", + "weight": "121500 g", + "hp": 140, + "speed": 120, + "material": [ "fae_flesh" ], + "symbol": "@", + "color": "dark_gray_red", + "aggression": 70, + "morale": 70, + "aggro_character": false, + "melee_skill": 7, + "melee_dice": 3, + "melee_dice_sides": 5, + "melee_damage": [ { "damage_type": "heat", "amount": 8 } ], + "special_attacks": [ { "id": "salamagman_macuahuitl" } ], + "dodge": 4, + "harvest": "fae_changeling", + "dissect": "dissect_salamander_large", + "weakpoint_sets": [ "wps_alien_biology" ], + "families": [ "prof_alien_biology" ], + "anger_triggers": [ "FRIEND_ATTACKED", "FRIEND_DIED", "HURT" ], + "path_settings": { "avoid_traps": true, "avoid_sharp": true }, + "death_drops": { "subtype": "collection", "groups": [ [ "mon_salamagman_warlord_death_drops", 40 ] ] }, + "flags": [ "SEES", "HEARS", "WARM", "BASHES", "FLIES", "PATH_AVOID_DANGER", "PATH_AVOID_FALL", "FIREPROOF" ], + "armor": { + "bash": 16, + "cut": 12, + "bullet": 26, + "xe_cold_iron_cut_damage": 0, + "xe_cold_iron_bash_damage": 0, + "xe_cold_iron_stab_damage": 0 + } + }, { "id": "mon_venus_doll", "type": "MONSTER", diff --git a/data/mods/Xedra_Evolved/monsters/monstergroup.json b/data/mods/Xedra_Evolved/monsters/monstergroup.json index 06070ff1a7599..51afaf0d38065 100644 --- a/data/mods/Xedra_Evolved/monsters/monstergroup.json +++ b/data/mods/Xedra_Evolved/monsters/monstergroup.json @@ -348,6 +348,36 @@ { "monster": "mon_mi_go_stalking_warper", "weight": 50, "cost_multiplier": 5, "pack_size": [ 2, 3 ] } ] }, + { + "type": "monstergroup", + "name": "GROUP_SALAMANDER_ERUPTION_SURFACE", + "monsters": [ + { "monster": "mon_smoke_mephit", "weight": 100, "cost_multiplier": 0 }, + { "monster": "mon_salamander_tiny", "weight": 300, "cost_multiplier": 0 }, + { "monster": "mon_elemental_saraph", "weight": 5, "cost_multiplier": 0 }, + { "monster": "mon_salamagman_small", "weight": 50, "cost_multiplier": 0 }, + { "monster": "mon_salamagman_large", "weight": 5, "cost_multiplier": 0 } + ] + }, + { + "type": "monstergroup", + "name": "GROUP_SALAMANDER_ERUPTION", + "monsters": [ + { "monster": "mon_smoke_mephit", "weight": 10, "cost_multiplier": 0 }, + { "monster": "mon_salamander_tiny", "weight": 30, "cost_multiplier": 0 }, + { "monster": "mon_salamagman_small", "weight": 100, "cost_multiplier": 0 }, + { "monster": "mon_salamagman_large", "weight": 50, "cost_multiplier": 0 } + ] + }, + { + "type": "monstergroup", + "name": "GROUP_SALAMANDER_FINALE", + "monsters": [ + { "monster": "mon_salamagman_warlord_butterfly", "weight": 100, "cost_multiplier": 0, "pack_size": [ 1, 2 ] }, + { "monster": "mon_salamagman_small", "weight": 25, "cost_multiplier": 0, "pack_size": [ 1, 6 ] }, + { "monster": "mon_salamagman_large", "weight": 50, "cost_multiplier": 0, "pack_size": [ 1, 4 ] } + ] + }, { "type": "monstergroup", "name": "GROUP_HEDGE_TO_CAUSE_ARMED_MEN", diff --git a/data/mods/Xedra_Evolved/overmap/mutable_special.json b/data/mods/Xedra_Evolved/overmap/mutable_special.json new file mode 100644 index 0000000000000..93201566d1a17 --- /dev/null +++ b/data/mods/Xedra_Evolved/overmap/mutable_special.json @@ -0,0 +1,104 @@ +[ + { + "type": "overmap_special", + "id": "Salamander eruption", + "subtype": "mutable", + "locations": [ "subterranean_empty", "land", "open_air" ], + "city_distance": [ 1, 40 ], + "occurrences": [ 80, 100 ], + "flags": [ "UNIQUE", "WILDERNESS" ], + "spawns": { "group": "GROUP_SALAMANDER_ERUPTION_SURFACE", "population": [ 100, 300 ], "radius": [ 10, 30 ] }, + "check_for_locations": [ + [ [ 0, 0, 0 ], [ "land" ] ], + [ [ 0, 0, 1 ], [ "open_air" ] ], + [ [ 0, 0, -1 ], [ "subterranean_empty" ] ], + [ [ 0, 1, -1 ], [ "subterranean_empty" ] ], + [ [ 1, 0, -1 ], [ "subterranean_empty" ] ], + [ [ 0, -1, -1 ], [ "subterranean_empty" ] ], + [ [ -1, 0, -1 ], [ "subterranean_empty" ] ] + ], + "joins": [ "eruption_ground_to_eruption_entrance", "tunnel_to_tunnel", "tunnel_ramp" ], + "overmaps": { + "eruption_ground": { "overmap": "salamander_eruption_ground", "below": "eruption_ground_to_eruption_entrance" }, + "eruption_entrance": { + "overmap": "salamander_eruption_entrance", + "above": "eruption_ground_to_eruption_entrance", + "north": "tunnel_to_tunnel", + "east": "tunnel_to_tunnel", + "south": "tunnel_to_tunnel", + "west": "tunnel_to_tunnel" + }, + "eruption_roof": { "overmap": "salamander_eruption_roof" }, + "tee": { + "overmap": "salamander_tunnel_nes", + "north": "tunnel_to_tunnel", + "east": "tunnel_to_tunnel", + "south": "tunnel_to_tunnel" + }, + "cross": { + "overmap": "salamander_tunnel_nesw", + "north": "tunnel_to_tunnel", + "east": "tunnel_to_tunnel", + "south": "tunnel_to_tunnel", + "west": "tunnel_to_tunnel" + }, + "straight_tunnel": { "overmap": "salamander_tunnel_ns", "north": "tunnel_to_tunnel", "south": "tunnel_to_tunnel" }, + "corner": { "overmap": "salamander_tunnel_ne", "north": "tunnel_to_tunnel", "east": "tunnel_to_tunnel" }, + "dead_end": { "overmap": "salamander_tunnel_end_south", "north": "tunnel_to_tunnel" }, + "ramp_down": { "overmap": "salamander_tunnel_end_south", "north": "tunnel_to_tunnel", "below": "tunnel_ramp" }, + "ramp_up": { "overmap": "salamander_tunnel_end_south", "north": "tunnel_to_tunnel", "above": "tunnel_ramp" }, + "finale": { "overmap": "salamander_finale_north", "south": "tunnel_to_tunnel" } + }, + "root": "eruption_ground", + "phases": [ + [ + { + "name": "entrance", + "chunk": [ { "overmap": "eruption_roof", "pos": [ 0, 0, 1 ] }, { "overmap": "eruption_entrance", "pos": [ 0, 0, -1 ] } ], + "max": 1 + } + ], + [ + { "overmap": "straight_tunnel", "max": { "poisson": 20 } }, + { "overmap": "corner", "max": { "poisson": 5 } }, + { "overmap": "tee", "max": { "poisson": 10 } } + ], + [ { "overmap": "ramp_down", "max": 1 } ], + [ + { "overmap": "dead_end", "weight": 2000 }, + { "overmap": "straight_tunnel", "weight": 100 }, + { "overmap": "corner", "weight": 100 }, + { "overmap": "tee", "weight": 10 }, + { "overmap": "cross", "weight": 1 } + ], + [ { "overmap": "ramp_up", "max": 1 } ], + [ + { "overmap": "straight_tunnel", "max": { "poisson": 20 } }, + { "overmap": "corner", "max": { "poisson": 5 } }, + { "overmap": "tee", "max": { "poisson": 10 } } + ], + [ { "overmap": "ramp_down", "max": 1 } ], + [ + { "overmap": "dead_end", "weight": 2000 }, + { "overmap": "straight_tunnel", "weight": 100 }, + { "overmap": "corner", "weight": 100 }, + { "overmap": "tee", "weight": 10 }, + { "overmap": "cross", "weight": 1 } + ], + [ { "overmap": "ramp_up", "max": 1 } ], + [ + { "overmap": "straight_tunnel", "max": { "poisson": 20 } }, + { "overmap": "corner", "max": { "poisson": 5 } }, + { "overmap": "tee", "max": { "poisson": 10 } } + ], + [ { "overmap": "finale", "max": 1 } ], + [ + { "overmap": "dead_end", "weight": 2000 }, + { "overmap": "straight_tunnel", "weight": 100 }, + { "overmap": "corner", "weight": 100 }, + { "overmap": "tee", "weight": 10 }, + { "overmap": "cross", "weight": 1 } + ] + ] + } +] diff --git a/data/mods/Xedra_Evolved/requirements/material.json b/data/mods/Xedra_Evolved/requirements/material.json new file mode 100644 index 0000000000000..a837fed766d79 --- /dev/null +++ b/data/mods/Xedra_Evolved/requirements/material.json @@ -0,0 +1,8 @@ +[ + { + "id": "rock_flaking_any", + "type": "requirement", + "//": "Rocks that can be used for knapping.", + "extend": { "components": [ [ [ "obsidian_rock", 1 ] ] ] } + } +]