diff --git a/data/mods/MindOverMatter/PowerDescriptionSpoilers.md b/data/mods/MindOverMatter/PowerDescriptionSpoilers.md index a02b98cda8534..1e47b6ceed29f 100644 --- a/data/mods/MindOverMatter/PowerDescriptionSpoilers.md +++ b/data/mods/MindOverMatter/PowerDescriptionSpoilers.md @@ -1299,7 +1299,7 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan *Duration*: 2 minutes and 26 seconds to 6 minutes and 12 seconds, plus 29 seconds to 1 minute and 50 seconds per power level
*Stamina Cost*: 10000, minus 150 per level to a minimum of 6500
*Channeling Time*: 10 seconds
-*Effects*: Use up the psion's bodily reserves to speed healing to a preternatural rate. Every 30 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 80 units of vitamin C, and gains 2 to 10 points of fatigue.
+*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.
*Prerequisites*: Healthy Glow 14 *or* Revitalizing Meditation 9, Damage Balancing 10 *or* Detoxification 7 *or* Blood Purge 5
## Accelerated Resuscitation (C) @@ -1308,5 +1308,5 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan *Duration*: 1 hour 6 minutes and 2 minutes and 18 seconds to 3 hours and 26 minutes, plus 16 minutes and 2 seconds to 46 minutes and 59 seconds per power level
*Stamina Cost*: 9000, minus 125 per level to a minimum of 6000
*Channeling Time*: 30 seconds
-*Effects*: Prepare the psion's body for a potentially fatal shock. If the psion takes fatal damage while this power is maintained, any body part below 10 hit points will be healed to 10 hit points, their attributes and speed will have no penalties based on pain (penalties increase by 10% every 30 seconds until they reach the normal level) and a much faster Anabolic Rejuvenation is placed on them, ticking once every second for 20 seconds. However, the psion's total stored kCal is reduced by 20% to fuel the resuscitation, and each Anabolic Rejuvenation costs 5x the kCal, iron, etc that it would if the psion had used Anabolic Rejuvenation.
+*Effects*: Prepare the psion's body for a potentially fatal shock. If the psion takes fatal damage while this power is maintained, any body part below 15 hit points will be healed to 15 hit points, their attributes and speed will have no penalties based on pain (penalties increase by 10% every 30 seconds until they reach the normal level) and a much faster Anabolic Rejuvenation is placed on them, ticking once every 1 to 3 seconds for 20 seconds. However, the psion's total stored kCal is reduced by 20% to fuel the resuscitation, and each Anabolic Rejuvenation costs 3x the kCal, iron, etc that it would if the psion had used Anabolic Rejuvenation.
*Prerequisites*: Anabolic Rejuvenation 6 *or* Banish Illness 8 *and* Revitalizing Meditation 6
diff --git a/data/mods/MindOverMatter/effects/effects_psionic.json b/data/mods/MindOverMatter/effects/effects_psionic.json index 4a291b2572406..ecc8323e99526 100644 --- a/data/mods/MindOverMatter/effects/effects_psionic.json +++ b/data/mods/MindOverMatter/effects/effects_psionic.json @@ -2419,24 +2419,11 @@ { "type": "effect_type", "id": "effect_vita_super_heal", + "name": [ "Anabolic Rejuvenation" ], "desc": [ "You are healing extraordinarily quickly." ], "apply_message": "", "remove_message": "Your body aches as your preternatural healing slows to a stop.", - "rating": "good", - "removes_effects": [ "bleed" ], - "enchantments": [ - { - "intermittent_activation": { - "effects": [ - { - "frequency": "30 seconds", - "spell_effects": [ { "id": "vita_super_heal_healing" }, { "id": "vita_super_heal_drain" } ] - } - ] - } - } - ], - "flags": [ "BLEED_IMMUNE" ] + "rating": "good" }, { "type": "effect_type", @@ -2444,26 +2431,7 @@ "desc": [ "You are healing extraordinarily quickly." ], "apply_message": "", "remove_message": "Your body aches as your preternatural healing slows to a stop.", - "rating": "good", - "removes_effects": [ "bleed" ], - "enchantments": [ - { - "intermittent_activation": { - "effects": [ - { - "frequency": "1 seconds", - "spell_effects": [ - { "id": "vita_super_heal_healing" }, - { "id": "vita_super_heal_drain" }, - { "id": "vita_super_heal_drain" }, - { "id": "vita_super_heal_drain" } - ] - } - ] - } - } - ], - "flags": [ "BLEED_IMMUNE" ] + "rating": "good" }, { "type": "effect_type", diff --git a/data/mods/MindOverMatter/obsolete/powers.json b/data/mods/MindOverMatter/obsolete/powers.json index c7fe39ccaf44c..b64f5b34c83aa 100644 --- a/data/mods/MindOverMatter/obsolete/powers.json +++ b/data/mods/MindOverMatter/obsolete/powers.json @@ -200,5 +200,30 @@ "base_casting_time": 200, "final_casting_time": 75, "casting_time_increment": -8 + }, + { + "id": "vita_super_heal_healing", + "type": "SPELL", + "name": "Anabolic Rejuvenation Heal", + "description": "The healing part of Anabolic Rejuvenation.", + "valid_targets": [ "self" ], + "teachable": false, + "min_damage": { "math": [ "min((-1 * u_nether_attunement_power_scaling), -1)" ] }, + "max_damage": { "math": [ "min((-1 * u_nether_attunement_power_scaling), -1)" ] }, + "effect": "attack", + "shape": "blast", + "flags": [ "PSIONIC", "SILENT" ] + }, + { + "id": "vita_super_heal_drain", + "type": "SPELL", + "name": "Anabolic Rejuvenation draining", + "description": "The draining part of Anabolic Rejuvenation.", + "valid_targets": [ "self" ], + "teachable": false, + "effect": "effect_on_condition", + "effect_str": "EOC_VITA_SUPER_HEAL_DRAIN", + "shape": "blast", + "flags": [ "PSIONIC", "SILENT" ] } ] diff --git a/data/mods/MindOverMatter/powers/vitakinesis.json b/data/mods/MindOverMatter/powers/vitakinesis.json index 7bd676b1f0779..24c72d562fb56 100644 --- a/data/mods/MindOverMatter/powers/vitakinesis.json +++ b/data/mods/MindOverMatter/powers/vitakinesis.json @@ -624,31 +624,6 @@ }, "base_casting_time": { "math": [ "u_effect_intensity('effect_vita_health') > -1 ? 10 : 1000" ] } }, - { - "id": "vita_super_heal_healing", - "type": "SPELL", - "name": "Anabolic Rejuvenation Heal", - "description": "The healing part of Anabolic Rejuvenation.", - "valid_targets": [ "self" ], - "teachable": false, - "min_damage": { "math": [ "min((-1 * u_nether_attunement_power_scaling), -1)" ] }, - "max_damage": { "math": [ "min((-1 * u_nether_attunement_power_scaling), -1)" ] }, - "effect": "attack", - "shape": "blast", - "flags": [ "PSIONIC", "SILENT" ] - }, - { - "id": "vita_super_heal_drain", - "type": "SPELL", - "name": "Anabolic Rejuvenation draining", - "description": "The draining part of Anabolic Rejuvenation.", - "valid_targets": [ "self" ], - "teachable": false, - "effect": "effect_on_condition", - "effect_str": "EOC_VITA_SUPER_HEAL_DRAIN", - "shape": "blast", - "flags": [ "PSIONIC", "SILENT" ] - }, { "id": "vita_limb_restore", "type": "SPELL", diff --git a/data/mods/MindOverMatter/powers/vitakinesis_concentration_eoc.json b/data/mods/MindOverMatter/powers/vitakinesis_concentration_eoc.json index a78f69077d469..34d6ccb5cf701 100644 --- a/data/mods/MindOverMatter/powers/vitakinesis_concentration_eoc.json +++ b/data/mods/MindOverMatter/powers/vitakinesis_concentration_eoc.json @@ -467,6 +467,21 @@ { "u_message": "You feel a sudden sensation of fatigue and your wounds itch.", "type": "good" }, { "run_eocs": [ "EOC_POWER_MAINTENANCE_PLUS_ONE", "EOC_POWER_MAINTENANCE_PLUS_ONE" ] }, { "u_add_effect": "effect_vita_super_heal", "duration": "PERMANENT" }, + { + "queue_eocs": "EOC_VITAKIN_SUPER_HEAL_RUN_HEALING", + "time_in_future": [ + { + "math": [ + "20 - min( ( (u_spell_level('vita_super_heal') * 0.5) * scaling_factor(u_val('intelligence') ) * u_nether_attunement_power_scaling), 17) " + ] + }, + { + "math": [ + "35 - min( ( (u_spell_level('vita_super_heal') * 0.5) * scaling_factor(u_val('intelligence') ) * u_nether_attunement_power_scaling), 28) " + ] + } + ] + }, { "queue_eocs": "EOC_VITAKIN_SUPER_HEAL_DRAIN", "time_in_future": [ diff --git a/data/mods/MindOverMatter/powers/vitakinesis_eoc.json b/data/mods/MindOverMatter/powers/vitakinesis_eoc.json index 21e86777502e2..5dd8ca8ee6f21 100644 --- a/data/mods/MindOverMatter/powers/vitakinesis_eoc.json +++ b/data/mods/MindOverMatter/powers/vitakinesis_eoc.json @@ -1049,6 +1049,108 @@ { "math": [ "u_vitamin('vitamin_psionic_drain')", "+=", "rng( 45,90 )" ] } ] }, + { + "type": "effect_on_condition", + "id": "EOC_VITAKIN_SUPER_HEAL_RUN_HEALING", + "condition": { "u_has_effect": "effect_vita_super_heal" }, + "effect": [ + { "run_eocs": [ "EOC_VITAKIN_SUPER_HEAL_EFFECTS", "EOC_VITA_SUPER_HEAL_DRAIN" ] }, + { + "queue_eocs": "EOC_VITAKIN_SUPER_HEAL_RUN_HEALING", + "time_in_future": [ + { + "math": [ + "20 - min( ( (u_spell_level('vita_super_heal') * 0.5) * scaling_factor(u_val('intelligence') ) * u_nether_attunement_power_scaling), 17) " + ] + }, + { + "math": [ + "35 - min( ( (u_spell_level('vita_super_heal') * 0.5) * scaling_factor(u_val('intelligence') ) * u_nether_attunement_power_scaling), 28) " + ] + } + ] + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_VITAKIN_SUPER_HEAL_EFFECTS", + "effect": [ + { + "if": { "math": [ "u_vitamin('redcells')", "<", "0" ] }, + "then": { "math": [ "u_vitamin('redcells')", "+=", "150" ] } + }, + { + "if": { "math": [ "u_vitamin('redcells')", "<", "-1000" ] }, + "then": { "math": [ "u_vitamin('redcells')", "+=", "500" ] } + }, + { + "if": { "math": [ "u_vitamin('redcells')", "<", "-10000" ] }, + "then": { "math": [ "u_vitamin('redcells')", "+=", "2500" ] } + }, + { + "if": { "math": [ "u_vitamin('blood')", "<", "0" ] }, + "then": { "math": [ "u_vitamin('blood')", "+=", "150" ] } + }, + { + "if": { "math": [ "u_vitamin('blood')", "<", "-1000" ] }, + "then": { "math": [ "u_vitamin('blood')", "+=", "500" ] } + }, + { + "if": { "math": [ "u_vitamin('blood')", "<", "-10000" ] }, + "then": { "math": [ "u_vitamin('blood')", "+=", "2500" ] } + }, + { + "if": { + "or": [ + { "math": [ "u_hp('arm_l')", "<", "u_hp_max('arm_l')" ] }, + { "math": [ "u_hp('arm_r')", "<", "u_hp_max('arm_r')" ] }, + { "math": [ "u_hp('leg_l')", "<", "u_hp_max('leg_l')" ] }, + { "math": [ "u_hp('leg_r')", "<", "u_hp_max('leg_r')" ] }, + { "math": [ "u_hp('torso')", "<", "u_hp_max('torso')" ] }, + { "math": [ "u_hp('head')", "<", "u_hp_max('head')" ] } + ] + }, + "then": { + "foreach": "array", + "target": [ "arm_l", "arm_r", "leg_l", "leg_r", "torso", "head" ], + "var": { "context_val": "id" }, + "effect": [ + { + "if": { "math": [ "u_hp(_id)", "<", "u_hp_max(_id)" ] }, + "then": { + "math": [ "u_hp(_id)", "+=", "max(( 1 * scaling_factor(u_val('intelligence') ) * u_nether_attunement_power_scaling), 1)" ] + } + } + ] + } + }, + { + "if": { "math": [ "u_effect_intensity('bleed', 'bodypart': 'arm_l')", ">=", "1" ] }, + "then": { "u_add_effect": "bleed", "target_part": "arm_l", "duration": 0, "intensity": -1 } + }, + { + "if": { "math": [ "u_effect_intensity('bleed', 'bodypart': 'arm_r')", ">=", "1" ] }, + "then": { "u_add_effect": "bleed", "target_part": "arm_r", "duration": 0, "intensity": -1 } + }, + { + "if": { "math": [ "u_effect_intensity('bleed', 'bodypart': 'leg_l')", ">=", "1" ] }, + "then": { "u_add_effect": "bleed", "target_part": "leg_l", "duration": 0, "intensity": -1 } + }, + { + "if": { "math": [ "u_effect_intensity('bleed', 'bodypart': 'leg_r')", ">=", "1" ] }, + "then": { "u_add_effect": "bleed", "target_part": "leg_r", "duration": 0, "intensity": -1 } + }, + { + "if": { "math": [ "u_effect_intensity('bleed', 'bodypart': 'torso')", ">=", "1" ] }, + "then": { "u_add_effect": "bleed", "target_part": "torso", "duration": 0, "intensity": -1 } + }, + { + "if": { "math": [ "u_effect_intensity('bleed', 'bodypart': 'head')", ">=", "1" ] }, + "then": { "u_add_effect": "bleed", "target_part": "head", "duration": 0, "intensity": -1 } + } + ] + }, { "type": "effect_on_condition", "id": "EOC_VITA_SUPER_HEAL_DRAIN", @@ -1056,7 +1158,7 @@ { "math": [ "u_calories('dont_affect_weariness': true)", "-=", "rng( 150,650 )" ] }, { "math": [ "u_vitamin('iron')", "-=", "rng( 50,200 )" ] }, { "math": [ "u_vitamin('calcium')", "-=", "rng( 100,200 )" ] }, - { "math": [ "u_vitamin('vitC')", "-=", "rng( 20,80 )" ] }, + { "math": [ "u_vitamin('vitC')", "-=", "rng( 20,60 )" ] }, { "math": [ "u_val('sleepiness')", "+=", "rng( 2,10 )" ] } ] }, @@ -1070,6 +1172,33 @@ { "run_eocs": [ "EOC_VITAKINESIS_RETURN_FROM_DEATH_START" ] } ] }, + { + "type": "effect_on_condition", + "id": "EOC_VITAKIN_RETURN_FROM_DEATH_RUN_HEALING", + "condition": { "u_has_effect": "effect_vita_super_heal_return_from_death" }, + "effect": [ + { + "run_eocs": [ + "EOC_VITAKIN_SUPER_HEAL_EFFECTS", + "EOC_VITA_SUPER_HEAL_DRAIN", + "EOC_VITA_SUPER_HEAL_DRAIN", + "EOC_VITA_SUPER_HEAL_DRAIN" + ] + }, + { "math": [ "u_vitamin('vitamin_psionic_drain')", "+=", "rand(10) + 2" ] }, + { + "queue_eocs": "EOC_VITAKIN_RETURN_FROM_DEATH_RUN_HEALING", + "time_in_future": [ + 1, + { + "math": [ + "3 - min( ( (u_spell_level('vita_return_from_death') / 25) * scaling_factor(u_val('intelligence') ) * u_nether_attunement_power_scaling), 2) " + ] + } + ] + } + ] + }, { "type": "effect_on_condition", "id": "EOC_VITAKINESIS_RETURN_FROM_DEATH_DAMAGE_TRACKER", @@ -1133,6 +1262,21 @@ { "u_lose_effect": "deaf" }, { "u_lose_effect": "effect_vita_return_from_death" }, { "u_add_effect": "effect_vita_super_heal_return_from_death", "duration": "20 seconds" }, + { + "queue_eocs": "EOC_VITAKIN_RETURN_FROM_DEATH_RUN_HEALING", + "time_in_future": [ + { + "math": [ + "2 - min( ( (u_spell_level('vita_return_from_death') / 25) * scaling_factor(u_val('intelligence') ) * u_nether_attunement_power_scaling), 1) " + ] + }, + { + "math": [ + "3 - min( ( (u_spell_level('vita_return_from_death') / 25) * scaling_factor(u_val('intelligence') ) * u_nether_attunement_power_scaling), 2) " + ] + } + ] + }, { "u_add_effect": "effect_vita_super_heal_pain_allayed", "duration": "300 seconds" } ] }