Skip to content

Commit

Permalink
Merge pull request #78415 from Standing-Storm/degenerating-touch
Browse files Browse the repository at this point in the history
[MoM] Add Vitakinetic power Degenerating Touch
  • Loading branch information
Night-Pryanik authored Dec 9, 2024
2 parents e9d2882 + 95053b9 commit 71b2dad
Show file tree
Hide file tree
Showing 7 changed files with 336 additions and 5 deletions.
15 changes: 12 additions & 3 deletions data/mods/MindOverMatter/PowerDescriptionSpoilers.md
Original file line number Diff line number Diff line change
Expand Up @@ -1264,7 +1264,7 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan
*Stamina Cost*: 8000<br />
*Channeling Time*: 5 seconds<br />
*Effects*: Sink deep into meditation and greatly increase healing speed. While meditating, the psion heals 4 times faster, plus 0.75 times per power level. In addition, broken limbs heal 2 times faster, plus 0.25 times per power level.<br />
*Prerequisites*: Damage Balancing 6, Allay Infection 5<br />
*Prerequisites*: Leukocyte Accumulation 6, Allay Infection 5<br />

## Lacerating Touch
*Difficulty*: 6<br />
Expand Down Expand Up @@ -1300,7 +1300,7 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan
*Stamina Cost*: 10000<br />
*Channeling Time*: 5 seconds<br />
*Effects*: Purge mundane illnesses with 100% success rate or have a chance to cure long-term or chronic conditions. The power allows the psion to attempt to cure asthma, chemical imbalance, kalupetic psychosis, jittery, mood swings, weakening, narcolepsy, seasonal allergies, or seasonable affective disorder. The chance depends on the particular condition and increases with power level.<br />
*Prerequisites*: Allay Infection 12, Damage Balancing 8 *or* Immunostimulus 12<br />
*Prerequisites*: Allay Infection 12, Leukocyte Accumulation 8 *or* Immunostimulus 12<br />

## Anabolic Rejuvenation (C)
*Difficulty*: 9<br />
Expand All @@ -1309,7 +1309,16 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan
*Stamina Cost*: 10000, minus 150 per level to a minimum of 6500<br />
*Channeling Time*: 10 seconds<br />
*Effects*: Use up the psion's bodily reserves to speed healing to a preternatural rate. Every 20 to 35 seconds, minus 0.5 seconds per power level to a minimum of 3 to 7 seconds, the psion heals one hit point to every body part, but whenever a healing tick occurs, the psion loses between 50 and 250 kCal, 50 to 200 units of iron, 100 to 200 units of calcium, 20 to 60 units of vitamin C, and gains 2 to 10 points of fatigue.<br />
*Prerequisites*: Healthy Glow 14 *or* Revitalizing Meditation 9, Damage Balancing 10 *or* Detoxification 7 *or* Blood Purge 5<br />
*Prerequisites*: Healthy Glow 14 *or* Revitalizing Meditation 9, Leukocyte Accumulation 10 *or* Detoxification 7 *or* Blood Purge 5<br />

## Degenerating Touch
*Difficulty*: 9<br />
*Target*: One enemy within range 1<br />
*Duration*: 30 seconds minus 1 seccond per power level to 75 seconds minus two seconds per power level to a minimum of 15 seconds<br />
*Stamina Cost*: 8500, minus 250 per level to a minimum of 4500<br />
*Channeling Time*: 85 moves, minus 3 moves per level to a minimum of 55<br />
*Effects*: Invert the target's healing processes, causing massive cellular breakdown and necrosis, doing 25 to 55 biological damage plus 17 to 32 biological damage per power level. This damage is evenly divided over the power's duration. In addition, the target has any regeneration or healing reduced to 0 and suffers a 33% speed penalty for the power's duration.<br />
*Prerequisites*: Enervating Touch 16 *or* Lacerating Touch 8, Banish Illness 6, Anabolic Rejuvenation 5 *or* Immunostimulus 15<br />

## Accelerated Resuscitation (C)
*Difficulty*: 10<br />
Expand Down
10 changes: 10 additions & 0 deletions data/mods/MindOverMatter/effects/effects_psionic.json
Original file line number Diff line number Diff line change
Expand Up @@ -2449,6 +2449,16 @@
"remove_message": "Your body aches as your preternatural healing slows to a stop.",
"rating": "good"
},
{
"type": "effect_type",
"id": "effect_vita_degenerating_touch",
"name": [ "Degenerating" ],
"desc": [ "You flesh is withering and decaying!" ],
"rating": "bad",
"show_in_info": true,
"base_mods": { "dodge_mod": [ -3 ], "hit_mod": [ -3 ] },
"enchantments": [ { "values": [ { "value": "REGEN_HP", "multiply": -1 }, { "value": "SPEED", "multiply": -0.33 } ] } ]
},
{
"type": "effect_type",
"id": "effect_vita_super_heal_return_from_death",
Expand Down
44 changes: 44 additions & 0 deletions data/mods/MindOverMatter/powers/learning_eocs/vitakinesis.json
Original file line number Diff line number Diff line change
Expand Up @@ -472,6 +472,50 @@
}
]
},
{
"type": "effect_on_condition",
"id": "EOC_VITAKIN_LEARNING_DEGENERATING_TOUCH",
"recurrence": [
{ "math": [ "jmath_vitakinesis_learning_eocs_modifiers(global_tier_three_power_learning_time_low)" ] },
{ "math": [ "jmath_vitakinesis_learning_eocs_modifiers(global_tier_three_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_THREE_POWER_INSIGHT" },
{
"and": [
{
"or": [ { "math": [ "u_spell_level('vita_hurt_touch') >= 16" ] }, { "math": [ "u_spell_level('vita_attack_touch') >= 8" ] } ]
},
{ "math": [ "u_spell_level('vita_banish_illness') >= 6" ] },
{
"or": [ { "math": [ "u_spell_level('vita_super_heal') >= 5" ] }, { "math": [ "u_spell_level('vita_cure_disease') >= 15" ] } ]
}
]
}
]
},
{ "test_eoc": "EOC_PSI_LEARNING_BANNED_EFFECTS" },
{ "math": [ "u_spell_level('vita_degenerating_touch') <= 0" ] },
{ "not": { "u_know_recipe": "practice_vita_degenerating_touch" } }
]
},
"deactivate_condition": {
"or": [ { "not": { "u_has_trait": "VITAKINETIC" } }, { "math": [ "u_spell_level('vita_degenerating_touch') >= 1" ] } ]
},
"effect": [
{ "math": [ "u_vitamin('vitamin_psi_learning_counter') = 0" ] },
{ "u_learn_recipe": "practice_vita_degenerating_touch" },
{
"u_message": "Use of your powers has led to an insight. You could reverse your enemies' natural healing processes, causing cellular breakdown and necrosis to occur at an accelerated pace, if you can figure out the proper technique.",
"popup": true
}
]
},
{
"type": "effect_on_condition",
"id": "EOC_VITAKIN_LEARNING_RETURN_FROM_DEATH",
Expand Down
76 changes: 76 additions & 0 deletions data/mods/MindOverMatter/powers/vitakinesis.json
Original file line number Diff line number Diff line change
Expand Up @@ -677,6 +677,82 @@
"energy_increment": -150,
"base_casting_time": 1200
},
{
"id": "vita_degenerating_touch",
"type": "SPELL",
"name": "[Ψ]Degenerating Touch",
"description": "The ultimate expression of a vitakinetic's ability to reverse vital processes, this power induces massive cellular breakdown in the target, causing severe injury, weakness, and possible death.",
"message": "",
"teachable": false,
"valid_targets": [ "hostile" ],
"spell_class": "VITAKINETIC",
"skill": "metaphysics",
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "RANDOM_DAMAGE", "RANDOM_DURATION", "NO_EXPLOSION_SFX" ],
"difficulty": 9,
"max_level": { "math": [ "int_to_level(1)" ] },
"effect": "effect_on_condition",
"effect_str": "EOC_VITAKIN_DEGENERATING_TOUCH",
"shape": "blast",
"min_range": 1,
"min_duration": {
"math": [
"30 - ( (u_spell_level('vita_degenerating_touch') ) * scaling_factor(u_val('intelligence') ) * u_nether_attunement_power_scaling )"
]
},
"max_duration": {
"math": [
"75 - ( (u_spell_level('vita_degenerating_touch') * 2 ) * scaling_factor(u_val('intelligence') ) * u_nether_attunement_power_scaling )"
]
},
"energy_source": "STAMINA",
"base_energy_cost": 8500,
"final_energy_cost": 4500,
"energy_increment": -250,
"base_casting_time": 85,
"final_casting_time": 55,
"casting_time_increment": -3,
"ignored_monster_species": [ "PSI_NULL" ]
},
{
"id": "vita_degenerating_touch_self_character",
"type": "SPELL",
"name": { "str": "[Ψ]Degenerating Touch Self Character", "//~": "NO_I18N" },
"description": { "str": "You are degenerating. RIP.", "//~": "NO_I18N" },
"message": "",
"teachable": false,
"valid_targets": [ "self" ],
"spell_class": "VITAKINETIC",
"skill": "metaphysics",
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "SPLIT_DAMAGE", "RANDOM_DURATION", "NO_EXPLOSION_SFX" ],
"effect": "attack",
"effect_str": "effect_vita_degenerating_touch",
"damage_type": "biological",
"shape": "blast",
"min_dot": { "math": [ "u_vitakinesis_degen_max_possible_limb_damage / u_vitakinesis_degen_duration" ] },
"max_dot": { "math": [ "u_vitakinesis_degen_max_possible_limb_damage / u_vitakinesis_degen_duration" ] },
"min_duration": { "math": [ "u_vitakinesis_degen_duration * 100" ] },
"max_duration": { "math": [ "u_vitakinesis_degen_duration * 100" ] }
},
{
"id": "vita_degenerating_touch_self_monster",
"type": "SPELL",
"name": { "str": "[Ψ]Degenerating Touch Self Monster", "//~": "NO_I18N" },
"description": { "str": "You are degenerating. RIP.", "//~": "NO_I18N" },
"message": "",
"teachable": false,
"valid_targets": [ "self" ],
"spell_class": "VITAKINETIC",
"skill": "metaphysics",
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "RANDOM_DURATION", "NO_EXPLOSION_SFX" ],
"effect": "attack",
"effect_str": "effect_vita_degenerating_touch",
"damage_type": "biological",
"shape": "blast",
"min_dot": { "math": [ "u_vitakinesis_degen_max_possible_monster_damage / u_vitakinesis_degen_duration" ] },
"max_dot": { "math": [ "u_vitakinesis_degen_max_possible_monster_damage / u_vitakinesis_degen_duration" ] },
"min_duration": { "math": [ "u_vitakinesis_degen_duration * 100" ] },
"max_duration": { "math": [ "u_vitakinesis_degen_duration * 100" ] }
},
{
"id": "vita_return_from_death",
"type": "SPELL",
Expand Down
102 changes: 102 additions & 0 deletions data/mods/MindOverMatter/powers/vitakinesis_eoc.json
Original file line number Diff line number Diff line change
Expand Up @@ -1152,6 +1152,108 @@
{ "math": [ "u_val('sleepiness')", "+=", "rng( 2,10 )" ] }
]
},
{
"type": "effect_on_condition",
"id": "EOC_VITAKIN_DEGENERATING_TOUCH",
"condition": "u_is_character",
"effect": [
{ "math": [ "u_vitakinesis_intelligence = ( ( n_val('intelligence') + 10) / 20 )" ] },
{ "math": [ "u_vitakinesis_degen_power_level = n_spell_level('vita_degenerating_touch')" ] },
{ "math": [ "u_nether_attunement_vitakinesis_scaling = n_nether_attunement_power_scaling" ] },
{
"math": [
"u_vitakinesis_degen_min_possible_damage = ( ( n_spell_level('vita_degenerating_touch') * 17 ) + 25) * u_vitakinesis_intelligence * u_nether_attunement_vitakinesis_scaling"
]
},
{
"math": [
"u_vitakinesis_degen_max_possible_damage = ( ( n_spell_level('vita_degenerating_touch') * 32 ) + 55) * u_vitakinesis_intelligence * u_nether_attunement_vitakinesis_scaling"
]
},
{
"math": [
"u_vitakinesis_degen_max_possible_limb_damage = rng( u_vitakinesis_degen_min_possible_damage, u_vitakinesis_degen_max_possible_damage )"
]
},
{
"math": [ "u_vitakinesis_degen_max_possible_limb_damage = ( ( n_spell_level('vita_degenerating_touch') * 25 ) + 30)" ]
},
{
"math": [
"u_vitakinesis_degen_min_possible_duration = max((30 - ( (u_vitakinesis_degen_power_level ) * u_vitakinesis_intelligence * u_nether_attunement_vitakinesis_scaling)), 15)"
]
},
{
"math": [
"u_vitakinesis_degen_max_possible_duration = max((75 - ( (u_vitakinesis_degen_power_level * 2 ) * u_vitakinesis_intelligence * u_nether_attunement_vitakinesis_scaling)), 15)"
]
},
{
"math": [
"u_vitakinesis_degen_duration = rng(u_vitakinesis_degen_min_possible_duration,u_vitakinesis_degen_max_possible_duration)"
]
},
{ "u_cast_spell": { "id": "vita_degenerating_touch_self_character", "hit_self": true } },
{ "npc_message": "Your target's flesh begins decaying before your eyes!", "type": "bad" }
],
"false_effect": [
{
"run_eocs": [
{
"id": "EOC_VITAKIN_DEGENERATING_TOUCH_2",
"condition": {
"and": [
{ "not": { "u_has_species": "ROBOT" } },
{ "not": { "u_has_species": "ROBOT_FLYING" } },
{ "not": { "u_has_species": "NETHER_EMANATION" } }
]
},
"effect": [
{ "math": [ "u_vitakinesis_intelligence = ( ( n_val('intelligence') + 10) / 20 )" ] },
{ "math": [ "u_vitakinesis_degen_power_level = n_spell_level('vita_degenerating_touch')" ] },
{ "math": [ "u_nether_attunement_vitakinesis_scaling = n_nether_attunement_power_scaling" ] },
{
"math": [
"u_vitakinesis_degen_min_possible_damage = ( ( n_spell_level('vita_degenerating_touch') * 17 ) + 25) * u_vitakinesis_intelligence * u_nether_attunement_vitakinesis_scaling"
]
},
{
"math": [
"u_vitakinesis_degen_max_possible_damage = ( ( n_spell_level('vita_degenerating_touch') * 32 ) + 55) * u_vitakinesis_intelligence * u_nether_attunement_vitakinesis_scaling"
]
},
{
"math": [
"u_vitakinesis_degen_max_possible_monster_damage = rng( u_vitakinesis_degen_min_possible_damage, u_vitakinesis_degen_max_possible_damage )"
]
},
{
"math": [ "u_vitakinesis_degen_max_possible_damage = ( ( n_spell_level('vita_degenerating_touch') * 25 ) + 30)" ]
},
{
"math": [
"u_vitakinesis_degen_min_possible_duration = max((30 - ( (u_vitakinesis_degen_power_level ) * u_vitakinesis_intelligence * u_nether_attunement_vitakinesis_scaling)), 15)"
]
},
{
"math": [
"u_vitakinesis_degen_max_possible_duration = max((75 - ( (u_vitakinesis_degen_power_level * 2 ) * u_vitakinesis_intelligence * u_nether_attunement_vitakinesis_scaling)), 15)"
]
},
{
"math": [
"u_vitakinesis_degen_duration = rng(u_vitakinesis_degen_min_possible_duration,u_vitakinesis_degen_max_possible_duration)"
]
},
{ "u_cast_spell": { "id": "vita_degenerating_touch_self_monster", "hit_self": true } },
{ "npc_message": "Your target's flesh begins decaying before your eyes!", "type": "bad" }
],
"false_effect": [ { "npc_message": "Your target has no biology to affect!", "type": "bad" } ]
}
]
}
]
},
{
"type": "effect_on_condition",
"id": "EOC_VITAKINESIS_RETURN_FROM_DEATH",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,14 +172,12 @@
{ "math": [ "u_spell_level('biokin_breathe_skin') = 1" ] },
{ "math": [ "u_vitamin('vitamin_psionic_drain')", "+=", "rng( 10,20 )" ] },
{ "u_lose_effect": "effect_psi_learning_new_power" },
"u_cancel_activity",
"u_cancel_activity"
],
"false_effect": [
{ "u_message": "You just couldn't manage to grasp the technique. You'll have to try again.", "popup": true },
{ "math": [ "u_vitamin('vitamin_psionic_drain')", "+=", "rng( 10,20 )" ] },
{ "u_lose_effect": "effect_psi_learning_new_power" },
"u_cancel_activity",
"u_cancel_activity"
]
}
Expand Down
Loading

0 comments on commit 71b2dad

Please sign in to comment.