Skip to content

Commit

Permalink
[MoM] The liquid from the black Nether pools is now collectible and d…
Browse files Browse the repository at this point in the history
…rinkable (#76458)

* Initial commit

* Add sleepiness chance to the cold

* Remove unused resist effect

* Add nightmares

* Prevent liquid from freezing

* Phrasing
  • Loading branch information
Standing-Storm authored Sep 17, 2024
1 parent 8f74009 commit d3e8f4d
Show file tree
Hide file tree
Showing 8 changed files with 137 additions and 5 deletions.
22 changes: 22 additions & 0 deletions data/mods/MindOverMatter/diseases.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
[
{
"type": "disease_type",
"id": "black_nether_water_disease",
"min_duration": "30 m",
"max_duration": "6 h",
"min_intensity": 1,
"max_intensity": 1,
"health_threshold": 210,
"symptoms": "effect_black_nether_water_disease"
},
{
"type": "disease_type",
"id": "black_nether_water_disease_masses",
"min_duration": "2 s",
"max_duration": "2 s",
"min_intensity": 1,
"max_intensity": 1,
"health_threshold": 210,
"symptoms": "effect_black_nether_water_disease"
}
]
21 changes: 21 additions & 0 deletions data/mods/MindOverMatter/effectoncondition/eoc_items.json
Original file line number Diff line number Diff line change
Expand Up @@ -229,5 +229,26 @@
"true_eocs": [ { "id": "EOC_PSI_TRANSPORTER_REMOTE_TELEPORT_TRANSPORT_NO_2", "effect": { "u_activate": "transform" } } ]
}
]
},
{
"type": "effect_on_condition",
"id": "EOC_DRINKING_NETHER_WATER_NIGHTMARES_GAIN",
"eoc_type": "EVENT",
"required_event": "character_gains_effect",
"condition": { "or": [ { "compare_string": [ "effect_black_nether_water_disease", { "context_val": "effect" } ] } ] },
"effect": [ { "u_add_effect": "effect_black_nether_water_nightmares", "duration": "24 hours" } ]
},
{
"type": "effect_on_condition",
"id": "EOC_DRINKING_NETHER_WATER_NIGHTMARES_OCCUR",
"eoc_type": "EVENT",
"required_event": "character_wakes_up",
"condition": { "and": [ { "u_has_effect": "effect_black_nether_water_nightmares" }, { "x_in_y_chance": { "x": 1, "y": 4 } } ] },
"effect": [
{ "u_message": "black_nether_water_nightmares", "snippet": true, "type": "bad" },
{ "u_add_morale": "morale_nightmare", "bonus": [ -15, -30 ], "max_bonus": -30 },
{ "u_lose_effect": "effect_black_nether_water_nightmares" }
],
"false_effect": [ { "u_lose_effect": "effect_black_nether_water_nightmares" } ]
}
]
32 changes: 32 additions & 0 deletions data/mods/MindOverMatter/effects/effects_items.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,5 +55,37 @@
"name": [ "" ],
"desc": [ "" ],
"flags": [ "TELEKIN_SHIELD" ]
},
{
"type": "effect_type",
"id": "effect_black_nether_water_disease",
"name": [ "Unearthly Cold" ],
"desc": [ "You are chilled from the inside out." ],
"apply_message": "A numbing cold spreads out from your stomach to your whole body.",
"rating": "bad",
"base_mods": {
"str_mod": [ -1 ],
"dex_mod": [ -1 ],
"speed_mod": [ -10 ],
"pain_min": [ 1 ],
"pain_chance": [ 300 ],
"vomit_chance": [ 600 ],
"health_min": [ -1 ],
"health_chance": [ 2 ],
"health_tick": [ 60 ],
"sleepiness_min": [ 1 ],
"sleepiness_max": [ 2 ],
"sleepiness_chance": [ 4 ],
"sleepiness_tick": [ 60 ],
"sleepiness_max_val": [ 700 ]
},
"enchantments": [ { "condition": "ALWAYS", "values": [ { "value": "CLIMATE_CONTROL_HEAT", "add": -40 } ] } ]
},
{
"type": "effect_type",
"id": "effect_black_nether_water_nightmares",
"//": "Hidden effect to set off an EoC",
"name": [ "" ],
"desc": [ "" ]
}
]
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@
"color": "black",
"move_cost": 6,
"emissions": [ "emit_cold_nether_water" ],
"//liquid_source": { "id": "water_murky" },
"liquid_source": { "id": "black_nether_water", "min_temp": 15 },
"flags": [ "TRANSPARENT", "LIQUID", "NO_SCENT", "SWIMMABLE" ],
"connect_groups": "WATER",
"connects_to": "WATER"
"connects_to": "WATER",
"examine_action": "water_source"
},
{
"type": "terrain",
Expand All @@ -35,10 +36,11 @@
"color": "black",
"move_cost": 10,
"emissions": [ "emit_cold_deep_nether_water" ],
"//liquid_source": { "id": "water_murky" },
"liquid_source": { "id": "black_nether_water", "min_temp": 15 },
"flags": [ "TRANSPARENT", "LIQUID", "NO_SCENT", "SWIMMABLE", "DEEP_WATER" ],
"connect_groups": "WATER",
"connects_to": "WATER"
"connects_to": "WATER",
"examine_action": "water_source"
},
{
"type": "terrain",
Expand Down
20 changes: 20 additions & 0 deletions data/mods/MindOverMatter/items/comestibles.json
Original file line number Diff line number Diff line change
Expand Up @@ -203,5 +203,25 @@
"name": { "str": "cockatrice egg" },
"copy-from": "egg_chicken",
"rot_spawn": "GROUP_EGG_COCKATRICE"
},
{
"id": "black_nether_water",
"type": "COMESTIBLE",
"comestible_type": "DRINK",
"name": { "str_sp": "black liquid" },
"description": "You don't know what this is but now that you've gotten a closer look it's definitely not water. It's completely opaque and freezing cold to the touch, but when you pull your fingertip out of it, your skin is dry as a bone.",
"category": "food",
"material": [ "black_liquid" ],
"weight": "500 g",
"volume": "250 ml",
"charges": 1,
"calories": 0,
"quench": 0,
"symbol": "~",
"color": "black",
"phase": "liquid",
"flags": [ "NUTRIENT_OVERRIDE", "TRADER_AVOID" ],
"contamination": [ { "disease": "black_nether_water_disease", "probability": 100 } ],
"fun": -5
}
]
20 changes: 20 additions & 0 deletions data/mods/MindOverMatter/materials.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,25 @@
"id": "light",
"name": "Light",
"copy-from": "sunlight"
},
{
"type": "material",
"id": "black_liquid",
"name": "Black liquid",
"density": 2,
"//": "It desires to remain a liquid",
"specific_heat_liquid": 1,
"specific_heat_solid": 0.108,
"latent_heat": 800,
"freezing_point": -460,
"conductive": false,
"edible": true,
"chip_resist": 10,
"breathability": "POOR",
"dmg_adj": [ "bothered", "annoyed", "irritated", "destroyed" ],
"bash_dmg_verb": "ripples",
"cut_dmg_verb": "passed through",
"soft": true,
"resist": { "bash": 8, "cut": 0, "acid": 8, "heat": 4, "bullet": 4 }
}
]
15 changes: 15 additions & 0 deletions data/mods/MindOverMatter/snippets/snippets_nightmares.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,20 @@
"In your dream, you are on the top of a mountain in the wilderness, with no lights nearby and countless stars wheeling overhead. You lie down in the grass and let the cool night breeze wash over you as you look for the familiar constellations. You find the Big Dipper with ease and trace a line across to Orion only to do a double-take. One of the stars on Orion's Belt is missing. As you look at Cassiopeia, you see the W is broken by a missing star, and then as you look at Leo one of the stars vanishes. You frantically search the sky as stars wink out, one after the other, until there's only one left. Polaris, the North Star, steadfast guide of sailors for millennia. You stand and take a step, not sure what you're hoping to accomplish, and then the last star goes out and you wake up in a cold sweat.",
"You stand in an office room, dingy yellow wallpaper on all the walls and the hum of fluorescent lights in your ears. You open a door leading to another yellow-wallpapered hallway and walk down it for a few minutes before picking a door and opening it. You stand in an office room, dingy yellow wallpaper on all the walls and the hum of fluorescent lights in your ears. You open a door leading to another yellow-wallpapered hallway and walk down it for a few minutes before picking a door and opening it. You stand in an office room, dingy yellow wallpaper on all the walls and the hum of fluorescent lights in your ears. You open a door leading to another yellow-wallpapered hallway and walk down it for a few minutes before picking a door and opening it. You stand in an office room, dingy yellow wallpaper on all the walls and the hum of fluorescent lights in your ears. You open a door leading to another yellow-wallpapered hallway and walk down it for a few minutes before picking a door and opening it. The door opens onto solid blackness and in your surprise, you trip through. As you are falling, you wake up."
]
},
{
"type": "snippet",
"category": "black_nether_water_nightmares",
"//": "These should all relate to blindness, darkness, or cold.",
"text": [
"You dream of falling through a starry void, as the points of light around you slowly wink out one by one.",
"You dream of swimming in the middle of the ocean, when clouds slowly begin obscure the moon and you feel something swimming up at you from below.",
"You dream of stumbling in total darkness for hours.",
"You dream of waking up and finding yourself blind as the undead bang on the walls of your shelter.",
"You dream of walking across a frozen ocean. Massive shapes are visible in the ice.",
"You dream you are in total darkness with a frigid wind blowing on you, slowly freezing you solid.",
"You have a normal dream of friends from the old days, but as the dream goes on the color fades until you're dreaming in black and white, and then the light fades until you're in total darkness.",
"You dream of standing on top of a skyscraper and watching a sea of fog cover the city below. One by one, the lights in the windows go out."
]
}
]
2 changes: 1 addition & 1 deletion doc/JSON_INFO.md
Original file line number Diff line number Diff line change
Expand Up @@ -5474,7 +5474,7 @@ Example:
```c++
"liquid_source": {
"id": "water", // id of a liquid given by ter/furn
"min_temp": 7.8, // liquid picked from here can't go below this temperature, in centigrade; Used only by "water_source" examine action
"min_temp": 7.8, // the lowest possible temperature of liquid taken from here, in centigrade; Used only by "water_source" examine action. Liquid is either the ambient temperature or the `min_temp`, whichever is higher.
"count": [ 24, 48 ] // if source is finite, how much there should be of it. Omit if it need to have infinite amount of liquid. Accepts either single number, or array of two numbers. Used only by "finite_water_source" examine action
}
```
Expand Down

0 comments on commit d3e8f4d

Please sign in to comment.