Skip to content

Commit

Permalink
[MoM] Add Leukocyte Accumulation vitakinetic power, obsolete Damage B…
Browse files Browse the repository at this point in the history
…alancing (#76125)

* Add power

* Linting

* Wording

* Initial implementation

* Add selectors

* Add effects

* Update data/mods/MindOverMatter/powers/vitakinesis.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Fixes

* No longer apply penalty to targeted limbs

* Increase base healing

* Increase base healing

* Reduce requirements to learn

* Fix dermatik check

* Fix healing penalty

* Actually move Damage Balancing to Obsolete

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
Standing-Storm and github-actions[bot] authored Sep 6, 2024
1 parent 7d7dd4b commit 84eace8
Show file tree
Hide file tree
Showing 11 changed files with 590 additions and 172 deletions.
20 changes: 10 additions & 10 deletions data/mods/MindOverMatter/PowerDescriptionSpoilers.md
Original file line number Diff line number Diff line change
Expand Up @@ -1155,7 +1155,7 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan
*Duration*: 5 minutes and 54 seconds to 25 minutes and 50 seconds, plus 21 seconds to 4 minutes and 58 seconds per power level<br />
*Stamina Cost*: 2500, minus 75 per level to a minimum of 1000<br />
*Channeling Time*: 100 moves, minus 7.5 moves per level to a minimum of 25<br />
*Effects*: The psion improves their health. They are immune to the deleterious effects of vitamin deficiency and toxin buildup, heal twice as fast, and cannot suffer from an asthma attack while the power is in effect. In addition, their Health has a 7% chance of going up by 1 every 10 minutes.<br />
*Effects*: The psion improves their health. They are immune to the deleterious effects of vitamin deficiency and toxin buildup, heal twice as fast, and cannot suffer from an asthma attack while the power is in effect. In addition, their Health has a 7% chance of going up by 1 every 10 minutes. Healthy Glow is incompatible with Leucocyte Accumulation.<br />
*Prerequisites*: Starting power<br />

## Coagulation (C)
Expand All @@ -1167,6 +1167,15 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan
*Effects*: Increases the coagulation rate of blood, slowing bleeding. From level 1 through 7, bleeding is slowed by a third. From level 8 through 15, bleeding is slowed by two thirds. At level 16 or above, bleeding is slowed by two thirds, or prevented entirely if inflicted when the power is active. In addition, all power levels increase the effectiveness of any attempt to stop bleeding by 15%, plus 5% per power level.<br />
*Prerequisites*: Starting power<br />

## Leucocyte Accumulation
*Difficulty*: 2<br />
*Target*: Self<br />
*Duration*: 5 minutes and 54 seconds to 25 minutes and 50 seconds, plus 21 seconds to 4 minutes and 58 seconds per power level.<br />
*Stamina Cost*: 3500, minus 80 per level to a minimum of 1350<br />
*Channeling Time*: 250 moves, minus 9.5 moves per level to a minimum of 35<br />
*Effects*: Focus the psion's healing on a single body part, increasing its healing rate by 20x + 6x per power level, but reducing the healing rate of every other body part by 99%. Leucocyte Accumulation is incompatible with Healthy Glow.<br />
*Prerequisites*: Healthy Glow 5<br />

## Staunch Wound
*Difficulty*: 2<br />
*Target*: Self<br />
Expand Down Expand Up @@ -1221,15 +1230,6 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan
*Effects*: Meditate in lieu of sleep. Using the power will begin the meditating, slowly lowering the psion's fatigue and sleep deprivation ratings. The rate of reduction increases per power level and with the psion's metaphysics skill, with the formula: 1 in (55 - ( Wakeful Rest power level * 2) - Metaphysics skill) ), 15 ) chance per second for fatigue, and 1 per second for sleep deprivation. When fatigue hits zero, a prompt to cancel the meditation pops up.<br />
*Prerequisites*: Healthy Glow 8, Immunostimulus 4<br />

## Damage Balancing
*Difficulty*: 5<br />
*Target*: Self<br />
*Duration*: Indefinite<br />
*Stamina Cost*: 6500, minus 175 per level to a minimum of 1750<br />
*Channeling Time*: 200 moves, minus 8 moves per level to a minimum of 75<br />
*Effects*: Evens out the damage on all the psion's limbs. Mechnically, this adds up all their hit points, divides the result by 6, and replaces that hit point total on each limb with that number.<br />
*Prerequisites*: Immunostimulus 5 *or* Detoxification 5, Healthy Glow 10 *or* Coagulation 8<br />

## Allay Infection
*Difficulty*: 5<br />
*Target*: Self<br />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,7 @@
"EOC_TELEPORT_REMOVE_EPHEMERAL_WALK",
"EOC_TELEPORT_REMOVE_STRIDE",
"EOC_VITAKIN_REMOVE_SLOW_BLEEDING",
"EOC_VITAKIN_REMOVE_CONCENTRATED_HEALING",
"EOC_VITAKIN_REMOVE_HEALTH_POWER",
"EOC_VITAKIN_REMOVE_CURE_DISEASE",
"EOC_VITAKIN_REMOVE_SUPER_HEAL",
Expand Down Expand Up @@ -370,6 +371,7 @@
"EOC_TELEPORT_REMOVE_EPHEMERAL_WALK",
"EOC_TELEPORT_REMOVE_STRIDE",
"EOC_VITAKIN_REMOVE_SLOW_BLEEDING",
"EOC_VITAKIN_REMOVE_CONCENTRATED_HEALING",
"EOC_VITAKIN_REMOVE_HEALTH_POWER",
"EOC_VITAKIN_REMOVE_CURE_DISEASE",
"EOC_VITAKIN_REMOVE_SUPER_HEAL",
Expand Down
37 changes: 37 additions & 0 deletions data/mods/MindOverMatter/effects/effects_psionic.json
Original file line number Diff line number Diff line change
Expand Up @@ -1960,6 +1960,43 @@
"healing_rate": [ 2 ]
}
},
{
"type": "effect_type",
"id": "effect_vita_concentrated_healing",
"//": "Hidden effect, used as a tracker",
"name": [ "" ],
"desc": [ "" ],
"apply_message": "",
"remove_message": "",
"rating": "good",
"max_duration": "7 days"
},
{
"type": "effect_type",
"id": "effect_vita_concentrated_healing_penalty",
"name": [ "" ],
"desc": [ "" ],
"apply_message": "",
"remove_message": "",
"rating": "bad",
"max_duration": "7 days",
"base_mods": { "healing_rate": [ 0.01 ] }
},
{
"type": "effect_type",
"id": "effect_vita_concentrated_healing_bonus",
"name": [ "Leukocyte Accumulation" ],
"desc": [ "Your %s is receiving the bulk of your body's healing resources." ],
"apply_message": "",
"remove_message": "You stop concentrating your healing.",
"rating": "good",
"part_descs": true,
"max_intensity": 500,
"show_intensity": false,
"max_duration": "7 days",
"base_mods": { "healing_rate": [ 20 ], "healing_head": [ 100 ], "healing_torso": [ 100 ] },
"scaling_mods": { "healing_rate": [ 6 ] }
},
{
"type": "effect_type",
"id": "effect_vita_cure_disease",
Expand Down
5 changes: 5 additions & 0 deletions data/mods/MindOverMatter/obsolete/eocs.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,5 +54,10 @@
}
]
}
},
{
"type": "effect_on_condition",
"id": "EOC_VITAKIN_LEARNING_PAIN_SPLIT",
"effect": [ ]
}
]
23 changes: 23 additions & 0 deletions data/mods/MindOverMatter/obsolete/powers.json
Original file line number Diff line number Diff line change
Expand Up @@ -177,5 +177,28 @@
"energy_source": "STAMINA",
"base_energy_cost": 0,
"base_casting_time": { "math": [ "2880000 - max(( u_spell_level('teleport_gateway') * 108000), 180000)" ] }
},
{
"id": "vita_pain_split",
"type": "SPELL",
"name": "[Ψ]Damage Balancing Obsolete",
"description": "By rerouting blood and stem cells from undamaged areas, you can lessen your most grievous wounds at the cost of weakness elsewhere. You may also use this to control an asthma attack.\n\n\nThe power is OBSOLETE.",
"message": "With a moment's concentration, your worst injuries heal, but you still don't feel well.",
"teachable": false,
"valid_targets": [ "self" ],
"spell_class": "VITAKINETIC",
"skill": "metaphysics",
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX" ],
"difficulty": 5,
"max_level": { "math": [ "int_to_level(1)" ] },
"effect": "pain_split",
"shape": "blast",
"energy_source": "STAMINA",
"base_energy_cost": 6500,
"final_energy_cost": 1750,
"energy_increment": -175,
"base_casting_time": 200,
"final_casting_time": 75,
"casting_time_increment": -8
}
]
33 changes: 33 additions & 0 deletions data/mods/MindOverMatter/obsolete/recipes.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,38 @@
],
"flags": [ "SECRET", "BLIND_EASY" ],
"result_eocs": [ "EOC_NULL" ]
},
{
"type": "recipe",
"activity_level": "LIGHT_EXERCISE",
"name": "contemplation: damage balancing",
"id": "practice_vita_pain_split",
"description": "This recipe exists for an Obsolete power.",
"category": "CC_PRACTICE",
"subcategory": "CSC_PRACTICE_METAPHYSICS",
"skill_used": "metaphysics",
"difficulty": 4,
"time": "0 s",
"autolearn": false,
"proficiencies": [ { "proficiency": "prof_contemplation_vitakinesis", "required": false } ],
"tools": [
[ [ "matrix_crystal_drained", -1 ], [ "black_nether_crystal_pseudo_tool", -1 ], [ "matrix_crystal_vitakinesis", -1 ] ]
],
"components": [ [ [ "matrix_crystal_vitakin_dust", 1 ] ] ],
"flags": [ "SECRET", "BLIND_EASY", "NO_MANIP", "AFFECTED_BY_PAIN", "NO_BENCH", "NO_ENCHANTMENT" ],
"result_eocs": [
{
"id": "EOC_PRACTICE_VITAKIN_DAMAGE_BALANCE",
"effect": [
{ "set_string_var": "vita_pain_split", "target_var": { "u_val": "latest_studied_power_name" } },
{
"set_string_var": "prof_contemplation_vitakinesis",
"target_var": { "u_val": "latest_studied_power_proficiency" }
},
{ "math": [ "u_latest_studied_power_difficulty", "=", "5" ] },
{ "run_eocs": [ "EOC_PSI_STUDYING_POWER_BEGIN", "EOC_PSI_STUDYING_POWER_SIDE_EFFECTS" ] }
]
}
]
}
]
76 changes: 29 additions & 47 deletions data/mods/MindOverMatter/powers/learning_eocs/vitakinesis.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,33 @@
[
{
"type": "effect_on_condition",
"id": "EOC_VITAKIN_LEARNING_CONCENTRATED_HEALING",
"recurrence": [
{ "math": [ "jmath_vitakinesis_learning_eocs_modifiers(global_tier_one_power_learning_time_low)" ] },
{ "math": [ "jmath_vitakinesis_learning_eocs_modifiers(global_tier_one_power_learning_time_high)" ] }
],
"condition": {
"and": [
{ "u_has_trait": "VITAKINETIC" },
{ "math": [ "u_vitamin('vitamin_psi_learning_counter')", "==", "1" ] },
{ "math": [ "u_spell_level('vita_health_power')", ">=", "5" ] },
{ "test_eoc": "EOC_PSI_LEARNING_BANNED_EFFECTS" },
{ "math": [ "u_spell_level('vita_concentrated_healing')", "<=", "0" ] },
{ "not": { "u_know_recipe": "practice_vita_concentrated_healing" } }
]
},
"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "VITAKINETIC" } }, { "math": [ "u_spell_level('vita_concentrated_healing')", ">=", "1" ] } ]
},
"effect": [
{ "math": [ "u_vitamin('vitamin_psi_learning_counter')", "=", "0" ] },
{ "u_learn_recipe": "practice_vita_concentrated_healing" },
{
"u_message": "Use of your powers has led to an insight. You could reroute stem cells and blood flow to injured parts, speeding their healing at the expense of your uninjured areas, if you can figure out the proper technique.",
"popup": true
}
]
},
{
"type": "effect_on_condition",
"id": "EOC_VITAKIN_LEARNING_STOP_BLEEDING",
Expand Down Expand Up @@ -221,53 +250,6 @@
}
]
},
{
"type": "effect_on_condition",
"id": "EOC_VITAKIN_LEARNING_PAIN_SPLIT",
"recurrence": [
{ "math": [ "jmath_vitakinesis_learning_eocs_modifiers(global_tier_two_power_learning_time_low)" ] },
{ "math": [ "jmath_vitakinesis_learning_eocs_modifiers(global_tier_two_power_learning_time_high)" ] }
],
"condition": {
"and": [
{ "u_has_trait": "VITAKINETIC" },
{ "math": [ "u_vitamin('vitamin_psi_learning_counter')", "==", "1" ] },
{
"or": [
{ "test_eoc": "EOC_CONDITION_ODDS_OF_RANDOM_TIER_TWO_POWER_INSIGHT" },
{
"and": [
{
"or": [
{ "math": [ "u_spell_level('vita_remove_poison')", ">=", "5" ] },
{ "math": [ "u_spell_level('vita_cure_disease')", ">=", "5" ] }
]
},
{
"or": [
{ "math": [ "u_spell_level('vita_health_power')", ">=", "10" ] },
{ "math": [ "u_spell_level('vita_slow_bleeding')", ">=", "8" ] }
]
}
]
}
]
},
{ "test_eoc": "EOC_PSI_LEARNING_BANNED_EFFECTS" },
{ "math": [ "u_spell_level('vita_pain_split')", "<=", "0" ] },
{ "not": { "u_know_recipe": "practice_vita_pain_split" } }
]
},
"deactivate_condition": { "or": [ { "not": { "u_has_trait": "VITAKINETIC" } }, { "math": [ "u_spell_level('vita_pain_split')", ">=", "1" ] } ] },
"effect": [
{ "math": [ "u_vitamin('vitamin_psi_learning_counter')", "=", "0" ] },
{ "u_learn_recipe": "practice_vita_pain_split" },
{
"u_message": "Use of your powers has led to an insight. You could reroute stem cells and blood flow to injured parts, speeding their healing at the expense of your uninjured areas, if you can figure out the proper technique.",
"popup": true
}
]
},
{
"type": "effect_on_condition",
"id": "EOC_VITAKIN_LEARNING_STOP_INFECTION",
Expand Down
63 changes: 39 additions & 24 deletions data/mods/MindOverMatter/powers/vitakinesis.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"id": "vita_health_power",
"type": "SPELL",
"name": "[Ψ]Healthy Glow (C)",
"description": "Your powers can keep you in the bloom of health. This can also stop or prevent an asthma attack.\n\nThis power <color_yellow>is maintained by concentration</color> and <color_red>may fail</color> if <color_yellow>concentration is interrupted</color>.",
"description": "Your powers can keep you in the bloom of health. This can also stop or prevent an asthma attack.\n\nThis power <color_yellow>is maintained by concentration</color> and <color_red>may fail</color> if <color_yellow>concentration is interrupted</color>. Healthy Glow <color_red>cannot be active</color> with Leucocyte Acculumation",
"message": "",
"teachable": false,
"valid_targets": [ "self" ],
Expand Down Expand Up @@ -153,6 +153,44 @@
"min_duration": 200,
"max_duration": 200
},
{
"id": "vita_concentrated_healing",
"type": "SPELL",
"name": "[Ψ]Leukocyte Accumulation (C)",
"description": "By rerouting blood and stem cells from more lightly damaged areas, you can speed the healing of your most grievous wounds at the cost of lessened healing elsewhere. You may also use this to control an asthma attack.\n\nThis power <color_yellow>is maintained by concentration</color> and <color_red>may fail</color> if <color_yellow>concentration is interrupted</color>. Leucocyte Acculumation <color_red>cannot be active</color> with Healthy Glow",
"message": "",
"teachable": false,
"valid_targets": [ "self" ],
"spell_class": "VITAKINETIC",
"skill": "metaphysics",
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "RANDOM_DURATION", "NO_EXPLOSION_SFX" ],
"difficulty": 2,
"max_level": { "math": [ "int_to_level(1)" ] },
"effect": "effect_on_condition",
"effect_str": "EOC_VITAKIN_CONCENTRATED_HEALING_INITIATE",
"shape": "blast",
"min_duration": {
"math": [
"( (u_spell_level('vita_concentrated_healing') * 7300) + 46300) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
]
},
"max_duration": {
"math": [
"( (u_spell_level('vita_concentrated_healing') * 28400) + 103400) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
]
},
"energy_source": "STAMINA",
"base_energy_cost": {
"math": [
"u_effect_intensity('effect_vita_concentrated_healing') > -1 ? 0 : max((3500 - (u_spell_level('vita_concentrated_healing') * 80)), 1350)"
]
},
"base_casting_time": {
"math": [
"u_effect_intensity('effect_vita_concentrated_healing') > -1 ? 10 : max((250 -(u_spell_level('vita_concentrated_healing') * 9.5)), 35)"
]
}
},
{
"id": "vita_hurt_touch",
"type": "SPELL",
Expand Down Expand Up @@ -320,29 +358,6 @@
]
}
},
{
"id": "vita_pain_split",
"type": "SPELL",
"name": "[Ψ]Damage Balancing",
"description": "By rerouting blood and stem cells from undamaged areas, you can lessen your most grievous wounds at the cost of weakness elsewhere. You may also use this to control an asthma attack.",
"message": "With a moment's concentration, your worst injuries heal, but you still don't feel well.",
"teachable": false,
"valid_targets": [ "self" ],
"spell_class": "VITAKINETIC",
"skill": "metaphysics",
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX" ],
"difficulty": 5,
"max_level": { "math": [ "int_to_level(1)" ] },
"effect": "pain_split",
"shape": "blast",
"energy_source": "STAMINA",
"base_energy_cost": 6500,
"final_energy_cost": 1750,
"energy_increment": -175,
"base_casting_time": 200,
"final_casting_time": 75,
"casting_time_increment": -8
},
{
"id": "vita_stop_infection",
"type": "SPELL",
Expand Down
Loading

0 comments on commit 84eace8

Please sign in to comment.