From 2130f54086abe20f101e48c9d47d61774f7e684f Mon Sep 17 00:00:00 2001 From: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com> Date: Wed, 18 Sep 2024 20:26:37 -0500 Subject: [PATCH] [MoM] Add Alien Meadow mutable map special (#75933) * Initial commit * Add core * Add basic alien meadow grass * Add bush, spelling error * Add alien berry bush * Add more alien trees and bushes * Lint * Add stable portal * Add harvest * Increase seed drops * Add alien fruit * Add fields, add tree trap * Add alien tree trap * Add alien roots trap * Update traps.json * Add alien solid pool * Add alien goo * Linting * Add weeds * Fixes * change central portal looks like * Increase size of central portal * Fix trap tree * Slightly increase occurrences --- .../effectoncondition/eoc_misc.json | 14 + .../MindOverMatter/effects/effects_other.json | 19 + data/mods/MindOverMatter/fields.json | 21 + .../furniture_alien_meadow.json | 56 +++ .../terrain_alien_meadow.json | 291 ++++++++++++++ data/mods/MindOverMatter/harvests.json | 10 + .../MindOverMatter/items/comestibles.json | 44 ++ data/mods/MindOverMatter/items/misc.json | 10 + .../MindOverMatter/mapgen/alien_meadow.json | 380 ++++++++++++++++++ .../mapgen_palettes/alien_meadow.json | 52 +++ .../monstergroups/monstergroups_new.json | 10 + .../overmap/mutable/alien_meadow.json | 45 +++ .../overmap/overmap_terrain.json | 28 ++ data/mods/MindOverMatter/traps.json | 62 +++ 14 files changed, 1042 insertions(+) create mode 100644 data/mods/MindOverMatter/furniture_and_terrain/furniture_alien_meadow.json create mode 100644 data/mods/MindOverMatter/furniture_and_terrain/terrain_alien_meadow.json create mode 100644 data/mods/MindOverMatter/mapgen/alien_meadow.json create mode 100644 data/mods/MindOverMatter/mapgen_palettes/alien_meadow.json create mode 100644 data/mods/MindOverMatter/overmap/mutable/alien_meadow.json create mode 100644 data/mods/MindOverMatter/traps.json diff --git a/data/mods/MindOverMatter/effectoncondition/eoc_misc.json b/data/mods/MindOverMatter/effectoncondition/eoc_misc.json index becd1bc2e0bd0..e1c99e15c47c2 100644 --- a/data/mods/MindOverMatter/effectoncondition/eoc_misc.json +++ b/data/mods/MindOverMatter/effectoncondition/eoc_misc.json @@ -261,5 +261,19 @@ "condition": { "u_has_effect": "effect_telepathic_psi_armor" }, "effect": { "u_message": "You sense trying to enter your mind, but you repel!", "type": "warning" }, "false_effect": { "run_eocs": [ "EOC_STARE2" ] } + }, + { + "type": "effect_on_condition", + "id": "EOC_ALIEN_MEADOW_BUSH_2_BERRIES", + "//": "This sets up a delayed reaction to eating the berries", + "effect": [ { "queue_eocs": "EOC_ALIEN_MEADOW_BUSH_2_BERRIES_2", "time_in_future": [ "5 minutes", "20 minutes" ] } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_ALIEN_MEADOW_BUSH_2_BERRIES_2", + "effect": [ + { "u_message": "Your stomach is seized with cramps!", "type": "bad" }, + { "u_add_effect": "alienfoodpoison", "duration": { "math": [ "3600 + rand(16200)" ] } } + ] } ] diff --git a/data/mods/MindOverMatter/effects/effects_other.json b/data/mods/MindOverMatter/effects/effects_other.json index 91be2d31de769..a02246ea630ec 100644 --- a/data/mods/MindOverMatter/effects/effects_other.json +++ b/data/mods/MindOverMatter/effects/effects_other.json @@ -22,5 +22,24 @@ "name": [ "" ], "desc": [ "" ], "rating": "good" + }, + { + "type": "effect_type", + "id": "alienfoodpoison", + "name": [ "Food Poisoning" ], + "desc": [ "Your stomach is extremely upset, and you are quite nauseated." ], + "//": "Separate id because there's no reason Poison Resistance would help you against alien toxins.", + "apply_message": "Your stomach is seized with cramps!", + "miss_messages": [ [ "Your stomach bothers you.", 1 ] ], + "rating": "bad", + "base_mods": { + "per_mod": [ -1 ], + "dex_mod": [ -1 ], + "str_mod": [ -3, -1 ], + "speed_mod": [ -20 ], + "pain_min": [ 1 ], + "pain_chance": [ 300, 900 ], + "vomit_chance": [ 600, 1200 ] + } } ] diff --git a/data/mods/MindOverMatter/fields.json b/data/mods/MindOverMatter/fields.json index bcd9272fd71fe..b025b46b67f3d 100644 --- a/data/mods/MindOverMatter/fields.json +++ b/data/mods/MindOverMatter/fields.json @@ -225,5 +225,26 @@ "half_life": "30 minutes", "phase": "plasma", "display_field": true + }, + { + "id": "fd_meadow_portal", + "type": "field_type", + "intensity_levels": [ + { + "name": "swirling portal", + "color": "magenta", + "sym": "*", + "dangerous": true, + "monster_spawn_chance": 6000, + "monster_spawn_count": 1, + "monster_spawn_radius": 1, + "monster_spawn_group": "GROUP_ALIEN_MEADOW" + } + ], + "description_affix": "under", + "priority": 8, + "display_items": true, + "display_field": true, + "looks_like": "fd_fatigue" } ] diff --git a/data/mods/MindOverMatter/furniture_and_terrain/furniture_alien_meadow.json b/data/mods/MindOverMatter/furniture_and_terrain/furniture_alien_meadow.json new file mode 100644 index 0000000000000..c7d488d38c8d7 --- /dev/null +++ b/data/mods/MindOverMatter/furniture_and_terrain/furniture_alien_meadow.json @@ -0,0 +1,56 @@ +[ + { + "type": "furniture", + "id": "f_alien_weed_1", + "name": "alien plant", + "description": "An alien plant, a knee-high tightly-coiled bundle of reddish-yellow stalks with jagged leaves extending every which way. It looks very difficult to walk through.", + "symbol": ",", + "move_cost_mod": 3, + "color": [ "red", "red", "red", "light_red" ], + "required_str": -1, + "flags": [ "TRANSPARENT", "TINY", "FLOWER", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC", "ROUGH", "PAINFUL" ], + "bash": { + "str_min": 2, + "str_max": 6, + "sound": "crunch.", + "sound_fail": "whish.", + "items": [ { "item": "withered", "prob": 50, "count": [ 1, 2 ] }, { "item": "alien_leaves", "count": [ 5, 9 ] } ] + } + }, + { + "type": "furniture", + "id": "f_alien_weed_2", + "name": "alien plant", + "description": "An alien plant, a collection of delicate bluish-white strands with small white globes along their length. They seem to float almost like seaweed, despite being a terrestrial plant.", + "symbol": ",", + "move_cost_mod": 0, + "color": [ "white", "blue", "light_blue", "white" ], + "required_str": -1, + "flags": [ "TRANSPARENT", "TINY", "FLOWER", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC" ], + "bash": { + "str_min": 2, + "str_max": 6, + "sound": "crunch.", + "sound_fail": "whish.", + "items": [ { "item": "withered", "prob": 50, "count": [ 1, 2 ] }, { "item": "alien_leaves", "count": [ 1, 2 ] } ] + } + }, + { + "type": "furniture", + "id": "f_alien_weed_3", + "name": "alien plant", + "description": "An alien plant, a single, cylindrical dark-red trunk with a small cluster of leaves on top. It makes a hollow sound when struck.", + "symbol": ",", + "move_cost_mod": 1, + "color": [ "red", "red", "light_red", "dark_gray" ], + "required_str": -1, + "flags": [ "TRANSPARENT", "TINY", "FLOWER", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC" ], + "bash": { + "str_min": 2, + "str_max": 6, + "sound": "crunch.", + "sound_fail": "whish.", + "items": [ { "item": "withered", "prob": 50, "count": [ 1, 2 ] }, { "item": "alien_leaves", "count": [ 2, 4 ] } ] + } + } +] diff --git a/data/mods/MindOverMatter/furniture_and_terrain/terrain_alien_meadow.json b/data/mods/MindOverMatter/furniture_and_terrain/terrain_alien_meadow.json new file mode 100644 index 0000000000000..138aca6fb2743 --- /dev/null +++ b/data/mods/MindOverMatter/furniture_and_terrain/terrain_alien_meadow.json @@ -0,0 +1,291 @@ +[ + { + "type": "terrain", + "id": "t_alien_meadow_grass", + "name": "alien grass", + "description": "An area of something that vaguely resembles grass, except it's a light reddish color and the stalks are much broader. Some kind of waxy residue seems to rub off onto your clothes when you walk through it.", + "symbol": ".", + "color": "light_red", + "move_cost": 2, + "flags": [ "TRANSPARENT", "DIGGABLE", "FLAT", "PLOWABLE" ], + "bash": { "sound": "thump", "ter_set": "t_null", "str_min": 40, "str_max": 100, "str_min_supported": 100, "bash_below": true } + }, + { + "type": "terrain", + "id": "t_alien_meadow_grass_long", + "name": "long alien grass", + "description": "An area of something that vaguely resembles grass. Dark red in color and almost waist-high, each stalk splits into two to four other stalks which similarly split on various places along their length, ending in fine fern-like fronds.", + "transforms_into": "t_alien_meadow_grass", + "symbol": "'", + "color": "red", + "move_cost": 4, + "coverage": 30, + "flags": [ "TRANSPARENT", "DIGGABLE", "PLOWABLE", "SMALL_HIDE" ], + "bash": { "sound": "thump", "ter_set": "t_null", "str_min": 40, "str_max": 100, "str_min_supported": 100, "bash_below": true } + }, + { + "type": "terrain", + "id": "t_alien_meadow_tree_trap_roots_long_grass", + "//": "Looks exactly the same so it's not obvious unless the player spots the trap", + "name": "long alien grass", + "description": "An area of something that vaguely resembles grass. Dark red in color and almost waist-high, each stalk splits into two to four other stalks which similarly split on various places along their length, ending in fine fern-like fronds.", + "transforms_into": "t_alien_meadow_grass", + "symbol": "'", + "color": "red", + "move_cost": 4, + "coverage": 30, + "trap": "tr_alien_tree_trap_roots", + "flags": [ "TRANSPARENT", "DIGGABLE", "PLOWABLE", "SMALL_HIDE" ], + "bash": { "sound": "thump", "ter_set": "t_null", "str_min": 40, "str_max": 100, "str_min_supported": 100, "bash_below": true } + }, + { + "type": "terrain", + "id": "t_alien_meadow_grass_tall", + "name": "tall alien grass", + "description": "An area of something that vaguely resembles grass. Head high and such a dark red as to be nearly black, the ends of the long stalks are a burst of fine fronds all tangled into and around each other, forming a canopy.", + "transforms_into": "t_alien_meadow_grass_long", + "symbol": "/", + "color": "red", + "move_cost": 6, + "coverage": 50, + "flags": [ "TRANSPARENT", "DIGGABLE", "PLOWABLE", "SMALL_HIDE" ], + "bash": { "sound": "thump", "ter_set": "t_null", "str_min": 40, "str_max": 100, "str_min_supported": 100, "bash_below": true } + }, + { + "type": "terrain", + "id": "t_alien_meadow_tree_trap_roots_tall_grass", + "//": "Looks exactly the same so it's not obvious unless the player spots the trap", + "name": "tall alien grass", + "description": "An area of something that vaguely resembles grass. Dark red in color and almost waist-high, each stalk splits into two to four other stalks which similarly split on various places along their length, ending in fine fern-like fronds.", + "transforms_into": "t_alien_meadow_grass", + "symbol": "/", + "color": "red", + "move_cost": 6, + "coverage": 50, + "trap": "tr_alien_tree_trap_roots", + "flags": [ "TRANSPARENT", "DIGGABLE", "PLOWABLE", "SMALL_HIDE" ], + "bash": { "sound": "thump", "ter_set": "t_null", "str_min": 40, "str_max": 100, "str_min_supported": 100, "bash_below": true } + }, + { + "type": "terrain", + "id": "t_alien_meadow_shrub_1", + "name": "alien bush", + "description": "An alien plant, dark blue-green in color. The leaves are all interwoven, forming a sphere except for spots where the leaves have been eaten away by some predator or pathogen. It glows faintly in the dark.", + "symbol": "#", + "color": "blue", + "move_cost": 8, + "coverage": 40, + "light_emitted": 5, + "flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE_ASH", "THIN_OBSTACLE", "SHRUB", "SHORT", "SMALL_HIDE" ], + "bash": { + "str_min": 4, + "str_max": 60, + "sound": "crunch.", + "sound_fail": "brush.", + "ter_set": "t_dirt", + "items": [ + { "item": "withered", "prob": 50, "count": [ 1, 2 ] }, + { "item": "alien_leaves", "count": [ 1, 10 ] }, + { "item": "twig", "prob": 80, "count": [ 1, 5 ] } + ] + } + }, + { + "type": "terrain", + "id": "t_alien_meadow_shrub_2", + "name": "alien bush", + "description": "An alien bush, but one that looks very similar to a terrestrial bush despite the dark purple leaves. There are even clusters of white berries growing from it.", + "symbol": "#", + "color": "magenta", + "move_cost": 8, + "coverage": 40, + "flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE_ASH", "THIN_OBSTACLE", "SHRUB", "SHORT", "SMALL_HIDE", "BROWSABLE" ], + "transforms_into": "t_alien_meadow_shrub_2_harvested", + "examine_action": "harvest_ter_nectar", + "harvest_by_season": [ { "seasons": [ "summer", "autumn" ], "id": "shrub_alien_meadow_shrub_2_harv" } ], + "bash": { + "str_min": 4, + "str_max": 60, + "sound": "crunch.", + "sound_fail": "brush.", + "ter_set": "t_dirt", + "items": [ + { "item": "withered", "prob": 50, "count": [ 1, 2 ] }, + { "item": "alien_leaves", "count": [ 1, 10 ] }, + { "item": "twig", "prob": 80, "count": [ 1, 5 ] } + ] + } + }, + { + "type": "terrain", + "id": "t_alien_meadow_shrub_2_harvested", + "name": "alien bush", + "description": "An alien bush, but one that looks very similar to a terrestrial bush despite the dark purple leaves.", + "symbol": "#", + "color": "magenta_white", + "move_cost": 8, + "coverage": 40, + "flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE_ASH", "THIN_OBSTACLE", "SHRUB", "SHORT", "SMALL_HIDE", "HARVESTED" ], + "transforms_into": "t_alien_meadow_shrub_2", + "examine_action": "harvested_plant", + "bash": { + "str_min": 4, + "str_max": 60, + "sound": "crunch.", + "sound_fail": "brush.", + "ter_set": "t_dirt", + "items": [ + { "item": "withered", "prob": 50, "count": [ 1, 2 ] }, + { "item": "alien_leaves", "count": [ 1, 10 ] }, + { "item": "twig", "prob": 80, "count": [ 1, 5 ] } + ] + } + }, + { + "type": "terrain", + "id": "t_alien_meadow_shrub_3", + "name": "alien shrub", + "description": "An alien plant. The branches split and split again into very fine tendrils with bulbs on the end that float upward, holding its yellow leaves(?) up to the sun. Every gust of wind makes the entire plant sway.", + "symbol": "#", + "color": "yellow", + "move_cost": 8, + "coverage": 40, + "flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE_ASH", "THIN_OBSTACLE", "SHRUB", "SHORT", "SMALL_HIDE" ], + "bash": { + "str_min": 4, + "str_max": 60, + "sound": "crunch.", + "sound_fail": "brush.", + "ter_set": "t_dirt", + "items": [ + { "item": "withered", "prob": 50, "count": [ 1, 2 ] }, + { "item": "alien_leaves", "count": [ 1, 10 ] }, + { "item": "twig", "prob": 80, "count": [ 1, 5 ] } + ] + } + }, + { + "type": "terrain", + "id": "t_alien_meadow_tree_1", + "name": "alien tree", + "description": "An alien tree, a group of individual dark-colored trunks that intertwine to the point whether you can't tell whether it's a single plant or a group of them. The branches have nodes of dark red leaves interspersed along their lengths. You're not entirely sure it's moving with the wind.", + "symbol": "7", + "color": "red", + "move_cost": 0, + "coverage": 80, + "flags": [ "FLAMMABLE_ASH", "NOITEM", "SUPPORTS_ROOF", "TREE", "REDUCE_SCENT", "CLIMB_ADJACENT" ], + "bash": { + "str_min": 80, + "str_max": 180, + "sound": "crunch!", + "sound_fail": "whack!", + "ter_set": "t_dirt", + "items": [ { "item": "stick_long", "count": [ 3, 10 ] }, { "item": "splinter", "count": [ 10, 25 ] } ] + } + }, + { + "type": "terrain", + "id": "t_alien_meadow_tree_2", + "name": "alien tree", + "description": "An alien tree, looking vaguely like a willow with yellow leaves. As you look more closely, you see that the branches that touch the ground have put down roots and are forming secondary trunks.", + "symbol": "7", + "color": "yellow", + "move_cost": 0, + "coverage": 80, + "flags": [ "FLAMMABLE_ASH", "NOITEM", "SUPPORTS_ROOF", "TREE", "REDUCE_SCENT", "CLIMB_ADJACENT" ], + "bash": { + "str_min": 80, + "str_max": 180, + "sound": "crunch!", + "sound_fail": "whack!", + "ter_set": "t_dirt", + "items": [ { "item": "stick_long", "count": [ 3, 10 ] }, { "item": "splinter", "count": [ 10, 25 ] } ] + } + }, + { + "type": "terrain", + "id": "t_alien_meadow_tree_3", + "name": "alien tree", + "description": "An alien tree, with the trunk lifted off the ground on a cluster of roots. Giant dark-red globes the size of watermelons hang from its branches amidst clusters of dark-red leaves.", + "//": "These fruit are incubators for the tree's mobile offspring, who root themselves and transform into more trees later in their life cycle.", + "symbol": "7", + "color": "red", + "move_cost": 0, + "coverage": 80, + "transforms_into": "t_alien_meadow_tree_3_harvested", + "examine_action": "harvest_ter_nectar", + "harvest_by_season": [ { "seasons": [ "spring" ], "id": "tree_alien_meadow_tree_3_harv" } ], + "flags": [ "FLAMMABLE_ASH", "NOITEM", "SUPPORTS_ROOF", "TREE", "REDUCE_SCENT", "CLIMB_ADJACENT", "BROWSABLE" ], + "bash": { + "str_min": 80, + "str_max": 180, + "sound": "crunch!", + "sound_fail": "whack!", + "ter_set": "t_dirt", + "items": [ { "item": "stick_long", "count": [ 3, 10 ] }, { "item": "splinter", "count": [ 10, 25 ] } ] + } + }, + { + "type": "terrain", + "id": "t_alien_meadow_tree_3_harvested", + "name": "alien tree", + "description": "An alien tree, with the trunk lifted off the ground on a cluster of roots. The branches have clusters of long, dark-red leaves.", + "symbol": "7", + "color": "red", + "move_cost": 0, + "coverage": 80, + "examine_action": "harvested_plant", + "transforms_into": "t_alien_meadow_tree_3", + "flags": [ "FLAMMABLE_ASH", "NOITEM", "SUPPORTS_ROOF", "TREE", "REDUCE_SCENT", "CLIMB_ADJACENT", "HARVESTED" ], + "bash": { + "str_min": 80, + "str_max": 180, + "sound": "crunch!", + "sound_fail": "whack!", + "ter_set": "t_dirt", + "items": [ { "item": "stick_long", "count": [ 3, 10 ] }, { "item": "splinter", "count": [ 10, 25 ] } ] + } + }, + { + "type": "terrain", + "id": "t_alien_meadow_tree_trap", + "name": "alien tree", + "description": "An alien tree, a group of thick dark-colored trunks half-fused together. The drooping branches have nodes of dark red leaves interspersed along their lengths. You're not entirely sure it's moving with the wind.", + "//": "Description deliberately similar to t_alien_meadow_tree_1, as this is the fully mature version.", + "symbol": "7", + "color": "red", + "move_cost": 0, + "coverage": 80, + "flags": [ "FLAMMABLE_ASH", "NOITEM", "SUPPORTS_ROOF", "TREE", "REDUCE_SCENT", "CLIMB_ADJACENT", "HARVESTED" ], + "bash": { + "str_min": 80, + "str_max": 180, + "sound": "crunch!", + "sound_fail": "whack!", + "ter_set": "t_dirt", + "items": [ { "item": "stick_long", "count": [ 3, 10 ] }, { "item": "splinter", "count": [ 10, 25 ] } ] + } + }, + { + "type": "terrain", + "id": "t_alien_meadow_tree_trap_roots_obvious", + "name": "alien roots", + "description": "A cluster of dark roots from an alien tree are visible here. Did one of them just move?", + "symbol": ".", + "color": "red", + "move_cost": 3, + "trap": "tr_alien_tree_trap_roots", + "flags": [ "TRANSPARENT", "FLAMMABLE", "DIGGABLE", "FLAT", "PLOWABLE", "ROUGH" ], + "bash": { "sound": "thump", "ter_set": "t_dirt", "str_min": 40, "str_max": 100, "str_min_supported": 100, "bash_below": true } + }, + { + "type": "terrain", + "id": "t_alien_meadow_pond_goo", + "name": "strange pool", + "description": "A pool of some very thick, nearly-opaque liquid. The surface is almost perfectly smooth.", + "symbol": "~", + "color": "green", + "move_cost": 8, + "flags": [ "TRANSPARENT", "ROUGH", "PERMEABLE", "SHORT", "UNSTABLE" ] + } +] diff --git a/data/mods/MindOverMatter/harvests.json b/data/mods/MindOverMatter/harvests.json index 9a161cc39cf3d..5e62079d4e35b 100644 --- a/data/mods/MindOverMatter/harvests.json +++ b/data/mods/MindOverMatter/harvests.json @@ -3,5 +3,15 @@ "id": "alien_tree_harv", "type": "harvest", "entries": [ { "drop": "alien_tree_1_fruit", "base_num": [ 1, 4 ], "scale_num": [ 0, 0.5 ] } ] + }, + { + "id": "shrub_alien_meadow_shrub_2_harv", + "type": "harvest", + "entries": [ { "drop": "alien_meadow_bush_2_fruit", "base_num": [ 2, 5 ], "scale_num": [ 0, 0.5 ] } ] + }, + { + "id": "tree_alien_meadow_tree_3_harv", + "type": "harvest", + "entries": [ { "drop": "alien_meadow_tree_3_fruit", "base_num": [ 1, 4 ], "scale_num": [ 1, 1 ] } ] } ] diff --git a/data/mods/MindOverMatter/items/comestibles.json b/data/mods/MindOverMatter/items/comestibles.json index bd0c05e1cc964..62b28e105e4da 100644 --- a/data/mods/MindOverMatter/items/comestibles.json +++ b/data/mods/MindOverMatter/items/comestibles.json @@ -223,5 +223,49 @@ "flags": [ "NUTRIENT_OVERRIDE", "TRADER_AVOID" ], "contamination": [ { "disease": "black_nether_water_disease", "probability": 100 } ], "fun": -5 + }, + { + "type": "COMESTIBLE", + "id": "alien_meadow_bush_2_fruit", + "name": { "str": "handful of alien berries", "str_pl": "handfuls of alien berries" }, + "description": "A handful of white berries plucked from an otherworldly bush. You're not sure if eating them is a good idea, but they sure look tasty.", + "weight": "156 g", + "color": "white", + "spoils_in": "2 days 12 hours", + "comestible_type": "FOOD", + "symbol": "%", + "quench": 2, + "calories": 54, + "price": "2 USD 21 cent", + "price_postapoc": "1 USD", + "material": [ "fruit" ], + "volume": "250 ml", + "fun": 1, + "flags": [ "EDIBLE_FROZEN" ], + "use_action": { + "type": "effect_on_conditions", + "description": "Eat the berries.", + "effect_on_conditions": [ "EOC_ALIEN_MEADOW_BUSH_2_BERRIES" ] + } + }, + { + "type": "COMESTIBLE", + "id": "alien_meadow_tree_3_fruit", + "name": { "str": "alien fruit" }, + "description": "A large fruit pulled from an alien tree. The rind is extremely hard and you'll need to cut into it to eat it.", + "weight": "4518 g", + "color": "red", + "spoils_in": "3 days", + "comestible_type": "FOOD", + "symbol": "%", + "quench": 826, + "calories": 1355, + "price": "7 USD 58 cent", + "price_postapoc": "2 USD", + "material": [ "fruit" ], + "volume": "7150 ml", + "flags": [ "FREEZERBURN", "INEDIBLE" ], + "vitamins": [ [ "vitC", "366 mg" ], [ "iron", "35800 μg" ], [ "calcium", "32300 μg" ] ], + "melee_damage": { "bash": 2 } } ] diff --git a/data/mods/MindOverMatter/items/misc.json b/data/mods/MindOverMatter/items/misc.json index 64320f223dbb1..37f9080de44ba 100644 --- a/data/mods/MindOverMatter/items/misc.json +++ b/data/mods/MindOverMatter/items/misc.json @@ -64,5 +64,15 @@ "description": "Your body, lying on the ground while your spirit walks free. Hopefully nothing happens to it while you're gone.", "looks_like": "corpse_generic_human", "material": [ "hflesh" ] + }, + { + "type": "GENERIC", + "id": "alien_leaves", + "copy-from": "leaves", + "name": { "str": "handful of alien leaves", "str_pl": "handfuls of alien leaves" }, + "looks_like": "withered", + "description": "A handful of dry leaves(?) from an alien plant. Despite their otherworldly origin, they have very few uses and are thus (almost) only good for burning.", + "color": "red", + "symbol": "," } ] diff --git a/data/mods/MindOverMatter/mapgen/alien_meadow.json b/data/mods/MindOverMatter/mapgen/alien_meadow.json new file mode 100644 index 0000000000000..30f2957045e31 --- /dev/null +++ b/data/mods/MindOverMatter/mapgen/alien_meadow.json @@ -0,0 +1,380 @@ +[ + { + "om_terrain": "alien_meadow_core", + "type": "mapgen", + "method": "json", + "object": { + "rows": [ + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111" + ], + "place_fields": [ + { "field": "fd_meadow_portal", "x": 10, "y": 11, "intensity": 1 }, + { "field": "fd_meadow_portal", "x": 10, "y": 12, "intensity": 1 }, + { "field": "fd_meadow_portal", "x": 11, "y": 10, "intensity": 1 }, + { "field": "fd_meadow_portal", "x": 11, "y": 11, "intensity": 1 }, + { "field": "fd_meadow_portal", "x": 11, "y": 12, "intensity": 1 }, + { "field": "fd_meadow_portal", "x": 11, "y": 13, "intensity": 1 }, + { "field": "fd_meadow_portal", "x": 12, "y": 10, "intensity": 1 }, + { "field": "fd_meadow_portal", "x": 12, "y": 11, "intensity": 1 }, + { "field": "fd_meadow_portal", "x": 12, "y": 12, "intensity": 1 }, + { "field": "fd_meadow_portal", "x": 12, "y": 13, "intensity": 1 }, + { "field": "fd_meadow_portal", "x": 13, "y": 11, "intensity": 1 }, + { "field": "fd_meadow_portal", "x": 13, "y": 12, "intensity": 1 } + ], + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ], + "palettes": [ "alien_meadow_palette" ] + } + }, + { + "om_terrain": "alien_meadow_join", + "type": "mapgen", + "method": "json", + "object": { + "rows": [ + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111", + "111111111111111111111111" + ], + "place_nested": [ + { + "chunks": [ + [ "null", 500 ], + [ "alien_meadow_12x12_pond", 20 ], + [ "alien_meadow_12x12_solid_pond", 20 ], + [ "alien_meadow_12x12_shrubs", 20 ], + [ "alien_meadow_12x12_trees", 20 ], + [ "alien_meadow_12x12_tree_trap", 20 ] + ], + "x": 8, + "y": 8 + } + ], + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ], + "palettes": [ "alien_meadow_palette" ] + } + }, + { + "om_terrain": "alien_meadow_end", + "type": "mapgen", + "method": "json", + "weight": 10, + "object": { + "fallback_predecessor_mapgen": "field", + "rows": [ + "111111111111111111111111", + "211111111111111111111112", + "222211111111111111112222", + " 2222222222222222222222 ", + " 222222222222222 ", + " 2 2222 ", + " 222 2222222 ", + " 222 2 22222 ", + " 2222 ", + "222222 2222222 ", + " 22222 2222 ", + " 22222 2 ", + " ", + " 222 2 ", + " 2222 22 ", + " 22 222 ", + " ", + " 22 22 ", + " 22 22 ", + " 22 ", + " 22 ", + " ", + " ", + " " + ], + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ], + "palettes": [ "alien_meadow_palette" ] + } + }, + { + "om_terrain": "alien_meadow_end", + "type": "mapgen", + "method": "json", + "weight": 2, + "object": { + "fallback_predecessor_mapgen": "field", + "rows": [ + "111111111111111111111111", + "211111111111111111111112", + "222211111111111111112222", + "22222221111111111222222 ", + " 222222222222222222222 ", + " 2222222222222222222 ", + " 222222222222222222 ", + " 22222222 222222 ", + " 222222 22 22", + " 2222 22 22", + " 2 2222 ", + " 222 222222 2 ", + " 2 2222 222 ", + " 22 22 22", + " 22 2222 22 222 ", + " 22 22 2222 2 ", + " 2222 ", + " 2 22 ", + " 22 2 22 ", + " 22 22 ", + "2 2", + "2 2", + " ", + " " + ], + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ], + "palettes": [ "alien_meadow_palette" ] + } + }, + { + "om_terrain": "alien_meadow_end", + "type": "mapgen", + "method": "json", + "weight": 2, + "object": { + "fallback_predecessor_mapgen": "field", + "rows": [ + "111111111111111111111111", + "211111111111111111111112", + " 222111111122221111222 ", + " 2222221112222211222 ", + " 222 222222 222222 2 ", + "2222 2 222 222222 ", + " 2 2 22 222 2 22 2 ", + " 222 222 ", + " 22222 ", + " 2 2222", + "22 2 22", + "22 222 ", + "2 22 2222 ", + " 222 2222 ", + " 2222 ", + " 22 ", + " 22 ", + " 212 ", + " 2 ", + " ", + " ", + " 22 ", + " 2 ", + " " + ], + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ], + "palettes": [ "alien_meadow_palette" ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "alien_meadow_12x12_pond", + "object": { + "mapgensize": [ 12, 12 ], + "rows": [ + " 7 7777 ", + " 77 ~ 77 ", + " 777 ~~~ 77 ", + "77 ~~~~~~ 7 ", + " 77 ~~~~~ 77", + " 7 ~~~~~~77", + " 77 ~~~~ 7 ", + "7 77 ~ 77 ", + " 77777777 ", + " 7 777777 ", + " 7 7 ", + " 7 " + ], + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ], + "terrain": { + " ": "t_null", + "7": [ + [ "t_null", 250 ], + [ "t_alien_meadow_shrub_1", 10 ], + [ "t_alien_meadow_shrub_2", 10 ], + [ "t_alien_meadow_shrub_3", 10 ], + [ "t_alien_meadow_tree_1", 10 ], + [ "t_alien_meadow_tree_2", 10 ], + [ "t_alien_meadow_tree_3", 10 ] + ], + "~": "t_water_sh" + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "alien_meadow_12x12_solid_pond", + "object": { + "mapgensize": [ 12, 12 ], + "rows": [ + " 7 7 777 ", + " 777 ~ 77 ", + "77 ~~~ 7 ", + "77 ~~~~~~ 7 ", + " 7 ~~~~~ 77", + " 77 ~~~~~ 77", + " 7 ~~~~ 7 ", + "7 77 ~~ 77", + " 777 77 ", + " 7 777777 ", + " 7 7 ", + " 7 " + ], + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ], + "terrain": { + " ": "t_null", + "7": [ + [ "t_null", 500 ], + [ "t_alien_meadow_shrub_1", 10 ], + [ "t_alien_meadow_shrub_2", 10 ], + [ "t_alien_meadow_shrub_3", 10 ] + ], + "~": "t_alien_meadow_pond_goo" + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "alien_meadow_12x12_shrubs", + "object": { + "mapgensize": [ 12, 12 ], + "rows": [ + " 7777 ", + " 777777 ", + " 777777 ", + " 77777777 ", + " 7777777777 ", + "777777777777", + "777777777777", + " 7777777777 ", + " 77777777 ", + " 777777 ", + " 777777 ", + " 7777 " + ], + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ], + "terrain": { + " ": "t_null", + "7": [ + [ "t_null", 250 ], + [ "t_alien_meadow_shrub_1", 10 ], + [ "t_alien_meadow_shrub_2", 10 ], + [ "t_alien_meadow_shrub_3", 10 ] + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "alien_meadow_12x12_trees", + "object": { + "mapgensize": [ 12, 12 ], + "rows": [ + " 7777 ", + " 777777 ", + " 777777 ", + " 77777777 ", + " 7777777777 ", + "777777777777", + "777777777777", + " 7777777777 ", + " 77777777 ", + " 777777 ", + " 777777 ", + " 7777 " + ], + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ], + "terrain": { + " ": "t_null", + "7": [ + [ "t_null", 500 ], + [ "t_alien_meadow_shrub_1", 2 ], + [ "t_alien_meadow_shrub_2", 2 ], + [ "t_alien_meadow_shrub_3", 2 ], + [ "t_alien_meadow_tree_1", 25 ], + [ "t_alien_meadow_tree_2", 25 ], + [ "t_alien_meadow_tree_3", 25 ] + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "alien_meadow_12x12_tree_trap", + "object": { + "mapgensize": [ 12, 12 ], + "rows": [ + " 7777 ", + " 777777 ", + " 777777 ", + " 77777777 ", + " 7777RRR777 ", + "77777RTR7777", + "77777RRR7777", + " 7777777777 ", + " 77777777 ", + " 777777 ", + " 777777 ", + " 7777 " + ], + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ], + "terrain": { + " ": "t_null", + "T": "t_alien_meadow_tree_trap", + "R": "t_alien_meadow_tree_trap_roots_obvious", + "7": [ + [ "t_null", 30 ], + [ "t_alien_meadow_tree_trap_roots_tall_grass", 15 ], + [ "t_alien_meadow_tree_trap_roots_obvious", 2 ] + ] + } + } + } +] diff --git a/data/mods/MindOverMatter/mapgen_palettes/alien_meadow.json b/data/mods/MindOverMatter/mapgen_palettes/alien_meadow.json new file mode 100644 index 0000000000000..9cfd23e709176 --- /dev/null +++ b/data/mods/MindOverMatter/mapgen_palettes/alien_meadow.json @@ -0,0 +1,52 @@ +[ + { + "type": "palette", + "id": "alien_meadow_palette", + "terrain": { + "1": [ + [ "t_region_soil", 1 ], + [ "t_alien_meadow_grass", 2 ], + [ "t_alien_meadow_grass_long", 1000 ], + [ "t_alien_meadow_grass_tall", 2000 ], + [ "t_alien_meadow_shrub_1", 10 ], + [ "t_alien_meadow_shrub_2", 10 ], + [ "t_alien_meadow_shrub_3", 10 ], + [ "t_alien_meadow_tree_1", 15 ], + [ "t_alien_meadow_tree_2", 15 ], + [ "t_alien_meadow_tree_3", 15 ] + ], + "2": [ + [ "t_region_soil", 10 ], + [ "t_alien_meadow_grass", 2 ], + [ "t_alien_meadow_grass_long", 1500 ], + [ "t_alien_meadow_grass_tall", 100 ], + [ "t_alien_meadow_shrub_1", 10 ], + [ "t_alien_meadow_shrub_2", 10 ], + [ "t_alien_meadow_shrub_3", 10 ], + [ "t_alien_meadow_tree_1", 15 ], + [ "t_alien_meadow_tree_2", 15 ], + [ "t_alien_meadow_tree_3", 15 ] + ] + }, + "furniture": { + "1": [ + [ "f_null", 2500 ], + [ "f_alien_weed_1", 5 ], + [ "f_alien_weed_2", 5 ], + [ "f_alien_weed_3", 5 ], + [ "f_boulder_small", 3 ], + [ "f_boulder_medium", 2 ], + [ "f_boulder_large", 1 ] + ], + "2": [ + [ "f_null", 2500 ], + [ "f_alien_weed_1", 5 ], + [ "f_alien_weed_2", 5 ], + [ "f_alien_weed_3", 5 ], + [ "f_boulder_small", 3 ], + [ "f_boulder_medium", 2 ], + [ "f_boulder_large", 1 ] + ] + } + } +] diff --git a/data/mods/MindOverMatter/monstergroups/monstergroups_new.json b/data/mods/MindOverMatter/monstergroups/monstergroups_new.json index d48852d3ae870..93c877ed9db65 100644 --- a/data/mods/MindOverMatter/monstergroups/monstergroups_new.json +++ b/data/mods/MindOverMatter/monstergroups/monstergroups_new.json @@ -263,5 +263,15 @@ "name": "GROUP_EGG_COCKATRICE", "type": "monstergroup", "monsters": [ { "monster": "mon_cockatrice_chick", "weight": 5 }, { "monster": "mon_chicken_chick", "weight": 1 } ] + }, + { + "name": "GROUP_ALIEN_MEADOW", + "type": "monstergroup", + "monsters": [ { "monster": "mon_nether_unviable_butterfly", "weight": 5 } ] + }, + { + "name": "GROUP_ALIEN_TRAP_TREE", + "type": "monstergroup", + "monsters": [ { "monster": "mon_nether_unviable_butterfly", "weight": 5 } ] } ] diff --git a/data/mods/MindOverMatter/overmap/mutable/alien_meadow.json b/data/mods/MindOverMatter/overmap/mutable/alien_meadow.json new file mode 100644 index 0000000000000..cf903e57045aa --- /dev/null +++ b/data/mods/MindOverMatter/overmap/mutable/alien_meadow.json @@ -0,0 +1,45 @@ +[ + { + "type": "overmap_special", + "id": "alien_meadow_mutable", + "subtype": "mutable", + "locations": [ "field_no_meadow" ], + "occurrences": [ 35, 100 ], + "//": "Place before all priority buildings and before meadows", + "priority": 3, + "flags": [ "WILDERNESS", "GLOBALLY_UNIQUE" ], + "check_for_locations_area": [ { "type": [ "field_no_meadow" ], "from": [ 2, 2, 0 ], "to": [ -2, -2, 0 ] } ], + "joins": [ "alien_meadow_to_alien_meadow" ], + "overmaps": { + "alien_meadow_core": { + "overmap": "alien_meadow_core", + "north": "alien_meadow_to_alien_meadow", + "east": "alien_meadow_to_alien_meadow", + "south": "alien_meadow_to_alien_meadow", + "west": "alien_meadow_to_alien_meadow" + }, + "alien_meadow_join": { + "overmap": "alien_meadow_join", + "north": "alien_meadow_to_alien_meadow", + "east": "alien_meadow_to_alien_meadow", + "south": "alien_meadow_to_alien_meadow", + "west": "alien_meadow_to_alien_meadow" + }, + "alien_meadow_end": { "overmap": "alien_meadow_end_north", "north": "alien_meadow_to_alien_meadow" }, + "alien_meadow_fill": { + "overmap": "alien_meadow_end_north", + "north": { "id": "alien_meadow_to_alien_meadow", "type": "available" }, + "east": { "id": "alien_meadow_to_alien_meadow", "type": "available" }, + "west": { "id": "alien_meadow_to_alien_meadow", "type": "available" } + } + }, + "root": "alien_meadow_core", + "phases": [ + [ + { "overmap": "alien_meadow_join", "weight": 250 }, + { "overmap": "alien_meadow_end", "weight": 50 }, + { "overmap": "alien_meadow_fill", "weight": 1 } + ] + ] + } +] diff --git a/data/mods/MindOverMatter/overmap/overmap_terrain.json b/data/mods/MindOverMatter/overmap/overmap_terrain.json index d1654a95c62c6..ff3ddd249bad4 100644 --- a/data/mods/MindOverMatter/overmap/overmap_terrain.json +++ b/data/mods/MindOverMatter/overmap/overmap_terrain.json @@ -283,5 +283,33 @@ "phavan_office_skyscraper_lab_upper_se" ], "copy-from": "generic_office_skyscraper" + }, + { + "type": "overmap_terrain", + "abstract": "alien_meadow", + "copy-from": "generic_open_land", + "name": "alien meadow", + "sym": ",", + "color": "red", + "travel_cost_type": "field", + "spawns": { "group": "GROUP_ALIEN_MEADOW", "population": [ 0, 1 ], "chance": 13 }, + "flags": [ "REQUIRES_PREDECESSOR" ] + }, + { + "type": "overmap_terrain", + "id": "alien_meadow_core", + "copy-from": "alien_meadow", + "extend": { "flags": [ "NO_ROTATE" ] } + }, + { + "type": "overmap_terrain", + "id": "alien_meadow_join", + "copy-from": "alien_meadow", + "extend": { "flags": [ "NO_ROTATE" ] } + }, + { + "type": "overmap_terrain", + "id": "alien_meadow_end", + "copy-from": "alien_meadow" } ] diff --git a/data/mods/MindOverMatter/traps.json b/data/mods/MindOverMatter/traps.json new file mode 100644 index 0000000000000..b126fdf5c8b0c --- /dev/null +++ b/data/mods/MindOverMatter/traps.json @@ -0,0 +1,62 @@ +[ + { + "type": "trap", + "id": "tr_alien_tree_trap_roots", + "name": "alien roots", + "color": "dark_gray", + "symbol": "/", + "visibility": 12, + "avoidance": 10, + "difficulty": 99, + "action": "spell", + "flags": [ "UNDODGEABLE", "AVATAR_ONLY" ], + "//": "Needs to be AVATAR_ONLY, otherwise the summoned monsters trigger the trap again.", + "spell_data": { "id": "alien_meadow_roots_trigger_spell" }, + "trigger_weight": "50000 g", + "trigger_message_u": "As you step on the roots, they twitch slightly.", + "trigger_message_npc": "As ' steps on the roots, they twitch slightly." + }, + { + "id": "alien_meadow_roots_trigger_spell", + "type": "SPELL", + "name": "Summon Alien Trap Enemies", + "description": "This spell summons hostile alien predators when the trap tree detects movement.", + "effect": "effect_on_condition", + "effect_str": "EOC_ALIEN_TRAP_TREE_FIND_TREE", + "shape": "blast", + "valid_targets": [ "self", "hostile", "ally" ], + "flags": [ "NO_EXPLOSION_SFX", "SILENT" ], + "spell_class": "NONE", + "min_range": 0, + "max_range": 0, + "min_aoe": 2, + "max_aoe": 2 + }, + { + "type": "effect_on_condition", + "id": "EOC_ALIEN_TRAP_TREE_FIND_TREE", + "effect": [ + { + "u_location_variable": { "context_val": "local_alien_tree" }, + "target_max_radius": 12, + "terrain": "t_alien_meadow_tree_trap", + "true_eocs": [ + { + "id": "EOC_ALIEN_TRAP_TREE_FIND_TREE_2", + "effect": [ + { + "u_spawn_monster": "GROUP_ALIEN_TRAP_TREE", + "target_var": { "context_val": "local_alien_tree" }, + "real_count": [ 2, 5 ], + "outdoor_only": true, + "group": true, + "min_radius": 1, + "max_radius": 3 + } + ] + } + ] + } + ] + } +]