Skip to content

Commit

Permalink
[MoM] Differentiate XEDRA lab-made and makeshift inferno grenades, ad…
Browse files Browse the repository at this point in the history
…d `pyrokinetic matrix crystal bomb` (#79304)

* Initial commit

* Kick tests

* Increase explosive power

* Explosion is mostly silent
  • Loading branch information
Standing-Storm authored Jan 24, 2025
1 parent d4bf6c9 commit 3f9ffd7
Show file tree
Hide file tree
Showing 7 changed files with 177 additions and 13 deletions.
17 changes: 17 additions & 0 deletions data/mods/MindOverMatter/effectoncondition/eoc_crafting.json
Original file line number Diff line number Diff line change
Expand Up @@ -108,5 +108,22 @@
]
},
"effect": [ { "math": [ "u_proficiency('prof_psionic_minimum_requirements', 'format': 'percent', 'direct': true) += 100" ] } ]
},
{
"type": "effect_on_condition",
"id": "EOC_MOM_GAME_ONGOING_GRANT_PYROKINETIC_CRAFTING_PROFICIENCY",
"recurrence": 1,
"condition": { "u_has_trait": "PYROKINETIC" },
"deactivate_condition": {
"or": [
{ "u_has_proficiency": "prof_psionic_minimum_requirements_pyrokinesis" },
{ "not": { "u_has_trait": "PYROKINETIC" } }
]
},
"effect": [
{
"math": [ "u_proficiency('prof_psionic_minimum_requirements_pyrokinesis', 'format': 'percent', 'direct': true) += 100" ]
}
]
}
]
8 changes: 6 additions & 2 deletions data/mods/MindOverMatter/itemgroups/zombie_deathdrops.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,17 @@
"type": "item_group",
"subtype": "collection",
"copy-from": "mon_zombie_survivor_death_drops",
"extend": { "entries": [ { "group": "concentrated_matrix_elixirs", "prob": 2 } ] }
"extend": {
"entries": [ { "group": "concentrated_matrix_elixirs", "prob": 2 }, { "item": "grenade_inferno_makeshift", "prob": 2 } ]
}
},
{
"id": "mon_zombie_survivor_elite_death_drops",
"type": "item_group",
"subtype": "collection",
"copy-from": "mon_zombie_survivor_elite_death_drops",
"extend": { "entries": [ { "group": "concentrated_matrix_elixirs", "prob": 3 } ] }
"extend": {
"entries": [ { "group": "concentrated_matrix_elixirs", "prob": 3 }, { "item": "grenade_inferno_makeshift", "prob": 2 } ]
}
}
]
2 changes: 1 addition & 1 deletion data/mods/MindOverMatter/items/schematics.json
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@
"id": "schematics_grenade_inferno",
"type": "BOOK",
"name": { "str_sp": "inferno grenade schematics" },
"description": "This is a hand-written design document to enhance the normal explosive power of a grenade using matrix crystal dust. In pen below is the note \"EXTREMELY DANGEROUS\".",
"description": "This is a design document to create a grenade using matrix crystal dust that explodes in a sea of pure flame. In pen below is the note \"EXTREMELY DANGEROUS\". You're not sure you could replicate the exact process with the tools available to you, but you could definitely come up with your own version.",
"copy-from": "schematics_generic",
"skill": "fabrication",
"required_level": 5,
Expand Down
95 changes: 93 additions & 2 deletions data/mods/MindOverMatter/items/weapons.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
"description": "This is an inferno grenade, designed to channel Netherum energy to increase its incendiary power. Once you throw it, you will have five seconds to get away before it explodes into a raging firestorm.",
"weight": "230 g",
"volume": "270 ml",
"price": "20 USD",
"price_postapoc": "15 USD",
"price": "50 USD",
"price_postapoc": "35 USD",
"to_hit": -1,
"melee_damage": { "bash": 6 },
"material": [ "steel", "nether_crystal" ],
Expand Down Expand Up @@ -51,6 +51,58 @@
"revert_to": "canister_empty",
"flags": [ "ACT_IN_FIRE", "BOMB", "TRADER_AVOID", "DANGEROUS" ]
},
{
"id": "grenade_inferno_makeshift",
"type": "TOOL",
"category": "weapons",
"name": { "str": "makeshift inferno grenade" },
"description": "This is a post-apocalyptic recreation of an inferno grenade, less powerful than a lab-made one but still very dangerous. Once you throw it, you will have five seconds to get away before it explodes into a raging firestorm.",
"weight": "230 g",
"volume": "270 ml",
"price": "20 USD",
"price_postapoc": "15 USD",
"to_hit": -1,
"melee_damage": { "bash": 6 },
"material": [ "steel", "nether_crystal" ],
"symbol": "*",
"color": "red",
"use_action": {
"need_wielding": true,
"target": "grenade_inferno_makeshift_act",
"msg": "You pull the pin on the grenade.",
"target_timer": "5 seconds",
"active": true,
"menu_text": "Pull pin",
"type": "transform"
},
"flags": [ "BOMB", "ACT_IN_FIRE", "GRENADE" ]
},
{
"id": "grenade_inferno_makeshift_act",
"type": "TOOL",
"category": "weapons",
"name": { "str": "active makeshift inferno grenade" },
"description": "This is an active makeshift inferno grenade. Better throw it!",
"weight": "230 g",
"volume": "270 ml",
"price": "0 cent",
"price_postapoc": "0 cent",
"to_hit": -1,
"melee_damage": { "bash": 6 },
"material": [ "steel", "nether_crystal" ],
"symbol": "*",
"color": "red",
"countdown_action": {
"type": "explosion",
"fields_radius": 3,
"do_flashbang": true,
"fields_type": "fd_fire",
"fields_min_intensity": 2,
"fields_max_intensity": 3
},
"revert_to": "canister_empty",
"flags": [ "ACT_IN_FIRE", "BOMB", "TRADER_AVOID", "DANGEROUS" ]
},
{
"id": "grenade_anti_psi",
"type": "TOOL",
Expand Down Expand Up @@ -113,6 +165,45 @@
"color": "dark_gray",
"melee_damage": { "bash": 6 }
},
{
"id": "pyrokinetic_matrix_crystal_bomb",
"type": "TOOL",
"category": "weapons",
"looks_like": "matrix_crystal_pyrokinesis",
"copy-from": "matrix_crystal_pyrokinesis",
"name": { "str": "pyrokinetic matrix crystal bomb" },
"description": "A matrix crystal attuned to pyrokinesis. This one has a (currently) stable loop of energy set up within it. It would take only a thought to destabilize the energy loop and set up a reaction that would lead to a massive explosion.",
"use_action": {
"need_wielding": true,
"target": "pyrokinetic_matrix_crystal_bomb_act",
"msg": "With a thought, you destabilize the matrix crystal.",
"target_timer": "5 seconds",
"menu_text": "Overcharge the crystal",
"type": "transform"
},
"flags": [ "GRENADE" ]
},
{
"id": "pyrokinetic_matrix_crystal_bomb_act",
"type": "TOOL",
"category": "weapons",
"looks_like": "matrix_crystal_pyrokinesis",
"copy-from": "matrix_crystal_pyrokinesis",
"name": { "str": "destabilized pyrokinetic matrix crystal bomb" },
"description": "A matrix crystal attuned to pyrokinesis. The faint light in its depths is growing brighter and brighter, and the crystal itself is heating up as you hold it.",
"use_action": { "type": "message", "message": "The %s is already destabilized, try throwing it instead.", "name": "Push buttons" },
"countdown_action": {
"type": "explosion",
"explosion": { "power": 120000, "fire": true, "shrapnel": 0, "max_noise": 25 },
"fields_type": "fd_fire",
"fields_radius": 10,
"fields_min_intensity": 2,
"fields_max_intensity": 3
},
"countdown_interval": "5 seconds",
"flags": [ "BOMB", "TRADER_AVOID", "DANGEROUS", "LIGHT_20" ],
"melee_damage": { "bash": 6 }
},
{
"id": "mom_pulse_rifle",
"looks_like": "ar15",
Expand Down
22 changes: 22 additions & 0 deletions data/mods/MindOverMatter/obsolete/recipes.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,5 +49,27 @@
]
}
]
},
{
"result": "grenade_inferno",
"type": "recipe",
"activity_level": "LIGHT_EXERCISE",
"category": "CC_PSIONIC",
"subcategory": "CSC_PSIONIC_WEAPONS",
"skill_used": "fabrication",
"skills_required": [ "metaphysics", 3 ],
"difficulty": 5,
"time": "60 m",
"reversible": false,
"autolearn": false,
"proficiencies": [ { "proficiency": "prof_matrix_technology_beginner", "required": false } ],
"qualities": [ { "id": "SAW_M", "level": 1 }, { "id": "MATRIX_CHANNEL", "level": 1 } ],
"using": [ [ "volatile_explosive", 20, "LIST" ], [ "explosives_casting_standard", 1 ] ],
"components": [
[ [ "fuse", 1 ] ],
[ [ "super_glue", 4 ], [ "duct_tape", 75 ], [ "cordage", 1, "LIST" ] ],
[ [ "small_grenade_case", 1, "LIST" ] ],
[ [ "matrix_crystal_pyrokin_dust", 5 ], [ "matrix_crystal_pyrokin_dust_refined", 1 ] ]
]
}
]
12 changes: 12 additions & 0 deletions data/mods/MindOverMatter/recipes/proficiencies.json
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,18 @@
"default_time_multiplier": 1,
"time_to_learn": "1 h"
},
{
"type": "proficiency",
"id": "prof_psionic_minimum_requirements_pyrokinesis",
"category": "prof_psionic",
"name": { "str": "Pyrokinetic Crafting" },
"description": "You are a pyrokinetic and can undertake crafts that require pyrokinesis to create.",
"can_learn": false,
"teachable": false,
"default_time_multiplier": 1,
"time_to_learn": "1 h",
"required_proficiencies": [ "prof_psionic_minimum_requirements" ]
},
{
"type": "proficiency",
"id": "prof_psionic_basic",
Expand Down
34 changes: 26 additions & 8 deletions data/mods/MindOverMatter/recipes/weapons.json
Original file line number Diff line number Diff line change
@@ -1,25 +1,43 @@
[
{
"result": "grenade_inferno",
"result": "grenade_inferno_makeshift",
"type": "recipe",
"activity_level": "LIGHT_EXERCISE",
"category": "CC_PSIONIC",
"subcategory": "CSC_PSIONIC_WEAPONS",
"skill_used": "fabrication",
"skills_required": [ "metaphysics", 3 ],
"difficulty": 5,
"time": "60 m",
"skills_required": [ "metaphysics", 2 ],
"difficulty": 3,
"time": "15 m",
"reversible": false,
"autolearn": false,
"book_learn": [ [ "schematics_grenade_inferno", 5 ] ],
"proficiencies": [ { "proficiency": "prof_matrix_technology_beginner", "required": false } ],
"qualities": [ { "id": "SAW_M", "level": 1 }, { "id": "MATRIX_CHANNEL", "level": 1 } ],
"using": [ [ "volatile_explosive", 20, "LIST" ], [ "explosives_casting_standard", 1 ] ],
"book_learn": [ [ "schematics_grenade_inferno", 3 ] ],
"proficiencies": [ { "proficiency": "prof_matrix_technology_beginner", "required": false }, { "proficiency": "prof_handloading" } ],
"qualities": [ { "id": "SAW_M", "level": 1 } ],
"using": [ [ "volatile_explosive", 20, "LIST" ] ],
"components": [
[ [ "fuse", 1 ] ],
[ [ "super_glue", 4 ], [ "duct_tape", 75 ], [ "cordage", 1, "LIST" ] ],
[ [ "small_grenade_case", 1, "LIST" ] ],
[ [ "matrix_crystal_pyrokin_dust", 5 ], [ "matrix_crystal_pyrokin_dust_refined", 1 ] ]
]
},
{
"result": "pyrokinetic_matrix_crystal_bomb",
"type": "recipe",
"activity_level": "LIGHT_EXERCISE",
"category": "CC_PSIONIC",
"subcategory": "CSC_PSIONIC_WEAPONS",
"skill_used": "metaphysics",
"difficulty": 6,
"time": "30 m",
"reversible": true,
"autolearn": false,
"book_learn": [ [ "schematics_grenade_inferno", 6 ] ],
"proficiencies": [
{ "proficiency": "prof_psionic_minimum_requirements", "required": true },
{ "proficiency": "prof_psionic_minimum_requirements_pyrokinesis", "required": true }
],
"components": [ [ [ "matrix_crystal_pyrokinesis", 1 ] ] ]
}
]

0 comments on commit 3f9ffd7

Please sign in to comment.