From d268840a626517485a71e0632168e2184978e355 Mon Sep 17 00:00:00 2001
From: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com>
Date: Wed, 8 May 2024 21:07:08 -0500
Subject: [PATCH] [MoM] Rework Passive traits to use spell_level_sum (#73569)
* Change variables
* Rework lifting field application
* Update lifting field recipe description
* Fix tools
* Update data/mods/MindOverMatter/mutations/psi_passives.json
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Update data/mods/MindOverMatter/mutations/psi_passives.json
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Update data/mods/MindOverMatter/mutations/psi_passives.json
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Update data/mods/MindOverMatter/mutations/psi_passives.json
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Update data/mods/MindOverMatter/mutations/psi_passives.json
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Update data/mods/MindOverMatter/mutations/psi_passives.json
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Vitamins, update documentation
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
---
.../PowerDescriptionSpoilers.md | 16 ++---
.../effectoncondition/eoc_mutations.json | 62 +++++++++----------
.../mutations/psi_passives.json | 57 ++++++++++++-----
.../recipes/power_improvements.json | 8 ++-
4 files changed, 87 insertions(+), 56 deletions(-)
diff --git a/data/mods/MindOverMatter/PowerDescriptionSpoilers.md b/data/mods/MindOverMatter/PowerDescriptionSpoilers.md
index a1e1e61bb4a97..daea818fd97c8 100644
--- a/data/mods/MindOverMatter/PowerDescriptionSpoilers.md
+++ b/data/mods/MindOverMatter/PowerDescriptionSpoilers.md
@@ -8,7 +8,7 @@ All powers have a kCal cost equal to (Difficulty of power * 5) times a randomize
# Biokinesis
**Note**: No biokinetic powers have a target listed because they only affect the psion.
-**Passive Power: Efficient System**: Reduces hunger, thirst, and metabolic burn rate by 3% plus 1.5% times the highest single biokinetic power the psion knows.
+**Passive Power: Efficient System**: Reduces hunger, thirst, and metabolic burn rate by 3% plus 0.075% times the sum total levels of the psion's biokinetic powers, and increases the number of vitamins absorbed from food by a similar amount.
## Overcome Pain (C)
*Difficulty*: 1
@@ -149,7 +149,7 @@ This is natural painkiller and so has natural effects (reduces speed slightly)
@@ -297,7 +297,7 @@ This is natural painkiller and so has natural effects (reduces speed slightly)
@@ -596,7 +596,7 @@ Powers causing photokinetic damage have a 40% chance to blind the target for 3 s
# Pyrokinesis
-**Passive Power: Internal Fire**: The pyrokinetic slightly heats the air around themselves, gaining a small amount of warmth at all times (and more in colder temperatures) and becoming more comfortable when sleeping, as well as ignoring the first 10 points of wetness on any part of their body.
+**Passive Power: Internal Fire**: The pyrokinetic slightly heats the air around themselves, gaining a small amount of warmth at all times (and more in colder temperatures) and increasing their temperature when sleeping by 0.05 times the total levels in the psion's pyrokinetic powers, as well as ignoring the first 10 points of wetness on any part of their body.
## Brilliant Flash
*Difficulty*: 1
@@ -726,7 +726,7 @@ Powers causing photokinetic damage have a 40% chance to blind the target for 3 s
# Telekinesis
-**Passive Power: Lifting Hand**: The telekinetic may carry a single item next to them in a field of telekinetic force. The item's weight increases proportional to their highest telekinetic power, though they must use the recipe Contemplate Lifting Field to increase it.
+**Passive Power: Lifting Hand**: The telekinetic may carry a single item next to them in a field of telekinetic force. The item's weight increases proportional to their total levels in their telekinetic powers, increasing by one rank per 8 total telekinetic levels, though they must use the recipe Contemplate Lifting Field to increase it.
Powers causing telekinetic damage have a 40% chance to stagger the target for 2 seconds and a 20% chance to down the target. Each of these is checked independently.
@@ -876,7 +876,7 @@ Powers causing telekinetic damage have a 40% chance to stagger the target for 2
# Telepathy
-**Passive Power: Telepathic Suggestion**: Influence the attitude of those the psion is speaking to, increasing Persuade, Lie, and Intimidate chances by 5% plus 1.5% times the psion's highest-leveled telepathy power.
+**Passive Power: Telepathic Suggestion**: Influence the attitude of those the psion is speaking to, increasing Persuade, Lie, and Intimidate chances by 5% plus 0.075% times the psion's total levels in telepathic powers.
Powers causing telepathic damage have a 5% chance to down the target, a 33% chance to stun the target for 1 second, and a 66% chance to daze the target for 1 second. Each of these is checked independently.
@@ -999,7 +999,7 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan
# Teleportation
-**Passive Power: Spacial Recalibration**: Immunity to teleglow and a small chance to avoid incoming damage: a 1% chance per attack plus 0.5% times the psion's highest-leveled teleportation power.
+**Passive Power: Spacial Recalibration**: Immunity to teleglow and a small chance to avoid incoming damage: a 1% chance per attack plus 0.025% times the psion's total levels in teleportation powers.
## Blink
*Difficulty*: 1
@@ -1102,7 +1102,7 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan
# Vitakinesis
-**Passive Power: Bloom of Vitality**: Increased max HP equal to 5% plus 1% times the psion's highest-leveled vitakinetic power, faster healing equal to 10% plus 1% times the psion's highest-leveled vitakinetic power, the ability to heal broken limbs without a splint, and 5x faster processing of mutant toxins.
+**Passive Power: Bloom of Vitality**: Increased max HP equal to 5% plus 0.05% times the psion's total levels in vitakinetic powers, faster healing equal to 10% plus 0.05% times the psion's total levels in vitakinetic powers, the ability to heal broken limbs without a splint, and 5x faster processing of mutant toxins.
## Healthy Glow (C)
*Difficulty*: 1
diff --git a/data/mods/MindOverMatter/effectoncondition/eoc_mutations.json b/data/mods/MindOverMatter/effectoncondition/eoc_mutations.json
index d6ed399d78f30..99a0c6f32e9e8 100644
--- a/data/mods/MindOverMatter/effectoncondition/eoc_mutations.json
+++ b/data/mods/MindOverMatter/effectoncondition/eoc_mutations.json
@@ -4,10 +4,10 @@
"id": "EOC_TELEKINETIC_LIFTER",
"condition": { "u_has_trait": "TELEKINETIC" },
"effect": {
- "switch": { "math": [ "u_school_level('TELEKINETIC')" ] },
+ "switch": { "math": [ "u_spell_level_sum('school': 'TELEKINETIC') / 8" ] },
"cases": [
{
- "case": 2,
+ "case": 0,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_1" },
@@ -15,7 +15,7 @@
]
},
{
- "case": 3,
+ "case": 1,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_2" },
@@ -23,7 +23,7 @@
]
},
{
- "case": 4,
+ "case": 2,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_3" },
@@ -31,7 +31,7 @@
]
},
{
- "case": 5,
+ "case": 3,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_4" },
@@ -39,7 +39,7 @@
]
},
{
- "case": 6,
+ "case": 4,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_5" },
@@ -47,7 +47,7 @@
]
},
{
- "case": 7,
+ "case": 5,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_6" },
@@ -55,7 +55,7 @@
]
},
{
- "case": 8,
+ "case": 6,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_7" },
@@ -63,7 +63,7 @@
]
},
{
- "case": 9,
+ "case": 7,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_8" },
@@ -71,7 +71,7 @@
]
},
{
- "case": 10,
+ "case": 8,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_9" },
@@ -79,7 +79,7 @@
]
},
{
- "case": 11,
+ "case": 9,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_10" },
@@ -87,7 +87,7 @@
]
},
{
- "case": 12,
+ "case": 10,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_11" },
@@ -95,7 +95,7 @@
]
},
{
- "case": 13,
+ "case": 11,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_12" },
@@ -103,7 +103,7 @@
]
},
{
- "case": 14,
+ "case": 12,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_13" },
@@ -111,7 +111,7 @@
]
},
{
- "case": 15,
+ "case": 13,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_14" },
@@ -119,7 +119,7 @@
]
},
{
- "case": 16,
+ "case": 14,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_15" },
@@ -127,7 +127,7 @@
]
},
{
- "case": 17,
+ "case": 15,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_16" },
@@ -135,7 +135,7 @@
]
},
{
- "case": 18,
+ "case": 16,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_17" },
@@ -143,7 +143,7 @@
]
},
{
- "case": 19,
+ "case": 17,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_18" },
@@ -151,7 +151,7 @@
]
},
{
- "case": 20,
+ "case": 18,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_19" },
@@ -159,7 +159,7 @@
]
},
{
- "case": 21,
+ "case": 19,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_20" },
@@ -167,7 +167,7 @@
]
},
{
- "case": 22,
+ "case": 20,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_21" },
@@ -175,7 +175,7 @@
]
},
{
- "case": 23,
+ "case": 21,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_22" },
@@ -183,7 +183,7 @@
]
},
{
- "case": 24,
+ "case": 22,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_23" },
@@ -191,7 +191,7 @@
]
},
{
- "case": 25,
+ "case": 23,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_24" },
@@ -199,7 +199,7 @@
]
},
{
- "case": 26,
+ "case": 24,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_25" },
@@ -207,7 +207,7 @@
]
},
{
- "case": 27,
+ "case": 25,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_26" },
@@ -215,7 +215,7 @@
]
},
{
- "case": 28,
+ "case": 26,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_27" },
@@ -223,7 +223,7 @@
]
},
{
- "case": 29,
+ "case": 27,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_28" },
@@ -231,7 +231,7 @@
]
},
{
- "case": 30,
+ "case": 28,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_29" },
@@ -239,7 +239,7 @@
]
},
{
- "case": 31,
+ "case": 29,
"effect": [
{ "run_eocs": "EOC_TELEKIN_REMOVE_LIFTING_FIELD" },
{ "u_add_trait": "TELEKINETIC_LIFTER_30" },
diff --git a/data/mods/MindOverMatter/mutations/psi_passives.json b/data/mods/MindOverMatter/mutations/psi_passives.json
index 2f2470286a067..e2ca49fcd67fa 100644
--- a/data/mods/MindOverMatter/mutations/psi_passives.json
+++ b/data/mods/MindOverMatter/mutations/psi_passives.json
@@ -25,16 +25,25 @@
"name": { "str": "Efficient System" },
"points": 0,
"description": "Thanks to your powers, you need less food and drink than the average person and are more efficient at processing it.",
- "vitamins_absorb_multi": [ [ "all", [ [ "vitA", 1.05 ], [ "vitB", 1.05 ], [ "vitC", 1.05 ], [ "calcium", 1.05 ], [ "iron", 1.05 ] ] ] ],
"player_display": true,
"valid": false,
"purifiable": false,
"enchantments": [
{
"values": [
- { "value": "HUNGER", "multiply": { "math": [ "(-0.03 - (0.015 * u_school_level('BIOKINETIC')))" ] } },
- { "value": "THIRST", "multiply": { "math": [ "(-0.03 - (0.015 * u_school_level('BIOKINETIC')))" ] } },
- { "value": "METABOLISM", "multiply": { "math": [ "(-0.03 - (0.015 * u_school_level('BIOKINETIC')))" ] } }
+ { "value": "HUNGER", "multiply": { "math": [ "(-0.03 - (0.00075 * u_spell_level_sum('school': 'BIOKINETIC')))" ] } },
+ {
+ "value": "THIRST",
+ "multiply": { "math": [ "(-0.03 - (0.00075 * u_spell_level_sum('school': 'BIOKINETIC')))" ] }
+ },
+ {
+ "value": "METABOLISM",
+ "multiply": { "math": [ "(-0.03 - (0.00075 * u_spell_level_sum('school': 'BIOKINETIC')))" ] }
+ },
+ {
+ "value": "VITAMIN_ABSORB_MOD",
+ "multiply": { "math": [ "(0.03 + (0.00075 * u_spell_level_sum('school': 'BIOKINETIC')))" ] }
+ }
]
}
]
@@ -53,7 +62,10 @@
{
"values": [
{ "value": "HEARING_MULT", "multiply": 0.2 },
- { "value": "SIGHT_RANGE_NETHER", "add": { "math": [ "(2 + (1.5 * u_school_level('CLAIRSENTIENT')))" ] } }
+ {
+ "value": "SIGHT_RANGE_NETHER",
+ "add": { "math": [ "(2 + (0.075 * u_spell_level_sum('school': 'CLAIRSENTIENT')))" ] }
+ }
]
}
]
@@ -70,8 +82,8 @@
"enchantments": [
{
"values": [
- { "value": "ARMOR_ELEC", "add": { "math": [ "u_school_level('ELECTROKINETIC') / -4" ] } },
- { "value": "PAIN", "multiply": { "math": [ "u_school_level('ELECTROKINETIC') * -0.007" ] } }
+ { "value": "ARMOR_ELEC", "add": { "math": [ "u_spell_level_sum('school': 'ELECTROKINETIC') / -0.2" ] } },
+ { "value": "PAIN", "multiply": { "math": [ "u_spell_level_sum('school': 'ELECTROKINETIC') * -0.00035" ] } }
]
}
]
@@ -95,7 +107,11 @@
"points": 0,
"description": "You naturally heat the air around you slightly, making it more comfortable in the cold. It also helps prevent you from getting too wet.",
"bodytemp_modifiers": [ 250, 750 ],
- "enchantments": [ { "values": [ { "value": "BODYTEMP_SLEEP", "add": { "math": [ "1 * u_school_level('PYROKINETIC')" ] } } ] } ],
+ "enchantments": [
+ {
+ "values": [ { "value": "BODYTEMP_SLEEP", "add": { "math": [ "0.05 * u_spell_level_sum('school': 'PYROKINETIC')" ] } } ]
+ }
+ ],
"wet_protection": [
{ "part": "head", "ignored": 10 },
{ "part": "leg_l", "ignored": 10 },
@@ -454,9 +470,15 @@
"enchantments": [
{
"values": [
- { "value": "SOCIAL_INTIMIDATE", "add": { "math": [ "(5 + (1.5 * u_school_level('TELEPATHIC')))" ] } },
- { "value": "SOCIAL_LIE", "add": { "math": [ "(5 + (1.5 * u_school_level('TELEPATHIC')))" ] } },
- { "value": "SOCIAL_PERSUADE", "add": { "math": [ "(5 + (1.5 * u_school_level('TELEPATHIC')))" ] } }
+ { "value": "SOCIAL_INTIMIDATE", "add": { "math": [ "(5 + (0.075 * u_spell_level_sum('school': 'TELEPATHIC')))" ] } },
+ {
+ "value": "SOCIAL_LIE",
+ "add": { "math": [ "(5 + (0.075 * u_spell_level_sum('school': 'TELEPATHIC')))" ] }
+ },
+ {
+ "value": "SOCIAL_PERSUADE",
+ "add": { "math": [ "(5 + (0.075 * u_spell_level_sum('school': 'TELEPATHIC')))" ] }
+ }
]
}
]
@@ -471,7 +493,11 @@
"valid": false,
"player_display": true,
"purifiable": false,
- "enchantments": [ { "values": [ { "value": "EVASION", "add": { "math": [ "(0.01 + (0.005 * u_school_level('TELEPORTER')))" ] } } ] } ]
+ "enchantments": [
+ {
+ "values": [ { "value": "EVASION", "add": { "math": [ "(0.01 + (0.00025 * u_spell_level_sum('school': 'TELEPORTER')))" ] } } ]
+ }
+ ]
},
{
"type": "mutation",
@@ -487,8 +513,11 @@
"enchantments": [
{
"values": [
- { "value": "REGEN_HP", "multiply": { "math": [ "(0.1 + (0.01 * u_school_level('VITAKINETIC')))" ] } },
- { "value": "MAX_HP", "multiply": { "math": [ "(0.05 + (0.01 * u_school_level('VITAKINETIC')))" ] } }
+ { "value": "REGEN_HP", "multiply": { "math": [ "(0.1 + (0.0005 * u_spell_level_sum('school': 'VITAKINETIC')))" ] } },
+ {
+ "value": "MAX_HP",
+ "multiply": { "math": [ "(0.05 + (0.0005 * u_spell_level_sum('school': 'VITAKINETIC')))" ] }
+ }
]
}
]
diff --git a/data/mods/MindOverMatter/recipes/power_improvements.json b/data/mods/MindOverMatter/recipes/power_improvements.json
index 0d900c9cd142f..09987c7f2a812 100644
--- a/data/mods/MindOverMatter/recipes/power_improvements.json
+++ b/data/mods/MindOverMatter/recipes/power_improvements.json
@@ -4,15 +4,17 @@
"activity_level": "LIGHT_EXERCISE",
"name": "contemplation: lifting field",
"id": "improve_telekinesis_lifting_field",
- "description": "WARNING: DO NOT USE IF YOUR LIFTING FIELD CONTAINS ANYTHING.\n\nContemplate your powers and update your ability to carry objects for long periods of time to a level commensurate with your overall telekinetic mastery.\n\nWARNING: DO NOT USE IF YOUR LIFTING FIELD CONTAINS ANYTHING.",
+ "description": "WARNING: DO NOT USE IF YOUR LIFTING FIELD CONTAINS ANYTHING.\n\nContemplate your powers and update your ability to carry objects for long periods of time to a level commensurate with your overall telekinetic mastery. The capability of your lifting field is based on your total levels in telekinetic powers.\n\nWARNING: DO NOT USE IF YOUR LIFTING FIELD CONTAINS ANYTHING.",
"category": "CC_PSIONIC",
"subcategory": "CSC_PSIONIC_OTHER",
"skill_used": "metaphysics",
"difficulty": 0,
"time": "1 h",
"autolearn": false,
- "tools": [ [ [ "matrix_crystal_drained", -1 ] ] ],
- "flags": [ "SECRET", "BLIND_HARD" ],
+ "tools": [
+ [ [ "matrix_crystal_drained", -1 ], [ "black_nether_crystal_pseudo_tool", -1 ], [ "matrix_crystal_telekinesis", -1 ] ]
+ ],
+ "flags": [ "SECRET", "BLIND_EASY" ],
"result_eocs": [ "EOC_TELEKINETIC_LIFTER" ]
}
]