Skip to content

Commit

Permalink
[MoM] Extend mood stabilization to others outside of dialogue (#74437)
Browse files Browse the repository at this point in the history
* Account for ROBOT_FLYING

* Initial commit

* Check for telepathic shield

* Fixes

* Update spoilers document

* 2 -> 3

* 1 minutes -> 5 minutes

* Capitalization

* Kick tests

* Update telepathy_eoc.json

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

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

---------

Co-authored-by: Anton Simakov <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
3 people authored Jun 13, 2024
1 parent 8e5e559 commit 58b90c6
Show file tree
Hide file tree
Showing 5 changed files with 141 additions and 7 deletions.
6 changes: 3 additions & 3 deletions data/mods/MindOverMatter/PowerDescriptionSpoilers.md
Original file line number Diff line number Diff line change
Expand Up @@ -909,11 +909,11 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan

## Mood Stabilization (C)
*Difficulty*: 3<br />
*Target*: Self (or dialogue)<br />
*Duration*: 16 minutes and 21 seconds to 42 minutes, plus 6 minutes and 21 seconds to 14 minutes and 59 seconds per power level<br />
*Target*: Self or one within 3 squares plus 1.1 squares per power level<br />
*Duration*: 16 minutes and 21 seconds to 42 minutes, plus 6 minutes and 21 seconds to 14 minutes and 59 seconds per power level when used on self, indefinite when used on others<br />
*Stamina Cost*: 5000, minus 125 per level to a minimum of 2000<br />
*Channeling Time*: 300 moves, minus 9.5 moves per level to a minimum of 150<br />
*Effects*: Further edit the psion's mind, removing negative thoughts and improving mood. Adds a morale bonus of +10 (building up to a maximum of 25). It may also be used in dialogue to calm down angry NPCs.<br />
*Effects*: When used on oneself, edit the psion's mind, removing negative thoughts and improving mood. Adds a morale bonus of +10 (building up to a maximum of 25). When used on others, increases a target NPC's trust by 0.25 per power level and reduces both fear and anger by 0.5 per power level (usable a maximum of once per 12 hours) or reduces a target monster's aggression by power level times 5 (usable once per 5 minutes). It may also be used in dialogue to calm down angry NPCs.<br />
*Prerequisites*: Concentration Trance 6, Sense Minds 5<br />

## Synaptic Blast
Expand Down
7 changes: 7 additions & 0 deletions data/mods/MindOverMatter/effects/effects_psionic.json
Original file line number Diff line number Diff line change
Expand Up @@ -1639,6 +1639,13 @@
"rating": "good",
"max_duration": "7 days"
},
{
"type": "effect_type",
"id": "effect_telepath_mood_stabilization_attitude_modified",
"//": "A tracker effect to prevent the target's morale or fear from being modified more than once in a period of time",
"name": [ "" ],
"desc": [ "" ]
},
{
"type": "effect_type",
"id": "telepathic_ignorance",
Expand Down
24 changes: 21 additions & 3 deletions data/mods/MindOverMatter/powers/telepathy.json
Original file line number Diff line number Diff line change
Expand Up @@ -113,10 +113,10 @@
"id": "telepathic_morale",
"type": "SPELL",
"name": "[Ψ]Mood Stabilization (C)",
"description": "With the ability to edit others' thoughts comes the ability to edit your own, removing negative moods to a degree.\n\nThis power <color_yellow>is maintained by concentration</color> and <color_red>may fail</color> if <color_yellow>concentration is interrupted</color>.",
"description": "With the ability to edit others' thoughts comes the ability to edit your own, removing negative moods to a degree. You have also learned to do this more subtly on others, calming their anger or assuaging their fears.\n\nWhen used on yourself, this power <color_yellow>is maintained by concentration</color> and <color_red>may fail</color> if <color_yellow>concentration is interrupted</color>.",
"message": "",
"teachable": false,
"valid_targets": [ "self" ],
"valid_targets": [ "self", "ally", "hostile" ],
"spell_class": "TELEPATH",
"skill": "metaphysics",
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "RANDOM_DURATION" ],
Expand All @@ -135,6 +135,12 @@
"( (u_spell_level('telepathic_morale') * 89900) + 252000) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
]
},
"min_range": {
"math": [
"min( (( (u_spell_level('telepathic_morale') * 1.1) + 3) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling), 80)"
]
},
"max_range": 80,
"energy_source": "STAMINA",
"base_energy_cost": {
"math": [
Expand All @@ -145,7 +151,19 @@
"math": [
"u_effect_intensity('effect_telepathic_morale') > -1 ? 10 : max((300 -(u_spell_level('telepathic_morale') * 9.5)), 150)"
]
}
},
"ignored_monster_species": [
"ZOMBIE",
"ROBOT",
"ROBOT_FLYING",
"NETHER",
"NETHER_EMANATION",
"LEECH_PLANT",
"WORM",
"FUNGUS",
"SLIME",
"PSI_NULL"
]
},
{
"id": "telepathic_blast",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@
},
{
"type": "effect_on_condition",
"id": "EOC_TELEPATH_MORALE_INITIATE",
"id": "EOC_TELEPATH_MORALE_INITIATE_SELF",
"condition": { "not": { "u_has_effect": "effect_telepathic_morale" } },
"effect": [
{ "u_message": "You begin to edit out your discouraging thoughts.", "type": "good" },
Expand Down
109 changes: 109 additions & 0 deletions data/mods/MindOverMatter/powers/telepathy_eoc.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,113 @@
[
{
"type": "effect_on_condition",
"id": "EOC_TELEPATH_MORALE_INITIATE",
"condition": "u_is_avatar",
"effect": [ { "run_eocs": "EOC_TELEPATH_MORALE_INITIATE_SELF" } ],
"false_effect": [
{
"run_eocs": [
{
"id": "EOC_TELEPATH_MORALE_INITIATE_NPC_CHECK",
"condition": "u_is_npc",
"effect": [
{ "math": [ "u_telepathy_intelligence", "=", "( ( n_val('intelligence') + 10) / 20 )" ] },
{ "math": [ "u_telepathy_power_level", "=", "n_spell_level('telepathic_morale')" ] },
{ "math": [ "u_nether_attunement_telepathy_scaling", "=", "n_nether_attunement_power_scaling" ] },
{
"math": [
"u_mood_stabilized_power_level",
"=",
"u_telepathy_power_level * u_telepathy_intelligence * u_nether_attunement_telepathy_scaling"
]
},
{ "run_eocs": "EOC_TELEPATH_MORALE_MODIFY_NPC_VALUES" }
],
"false_effect": [
{ "math": [ "u_telepathy_intelligence", "=", "( ( n_val('intelligence') + 10) / 20 )" ] },
{ "math": [ "u_telepathy_power_level", "=", "n_spell_level('telepathic_morale')" ] },
{ "math": [ "u_nether_attunement_telepathy_scaling", "=", "n_nether_attunement_power_scaling" ] },
{
"math": [
"u_mood_stabilized_power_level",
"=",
"u_telepathy_power_level * u_telepathy_intelligence * u_nether_attunement_telepathy_scaling"
]
},
{ "run_eocs": "EOC_TELEPATH_MORALE_MODIFY_MONSTER_VALUES" }
]
}
]
}
]
},
{
"type": "effect_on_condition",
"id": "EOC_TELEPATH_MORALE_MODIFY_NPC_VALUES",
"condition": { "not": { "u_has_effect": "effect_telepath_mood_stabilization_attitude_modified" } },
"effect": [
{
"run_eocs": [
{
"id": "EOC_TELEPATH_MORALE_MODIFY_NPC_VALUES_2",
"condition": { "not": { "u_has_effect": "effect_telepathic_psi_armor" } },
"effect": [
{ "math": [ "u_val('npc_fear')", "=", "max(-10, (u_val('npc_fear') - (u_mood_stabilized_power_level / 2)))" ] },
{
"math": [ "u_val('npc_anger')", "=", "max(-10, (u_val('npc_anger') - (u_mood_stabilized_power_level / 2)))" ]
},
{
"math": [ "u_val('npc_trust')", "=", "min(20, (u_val('npc_trust') + (u_mood_stabilized_power_level / 4)))" ]
},
{
"npc_message": "You reach in and, with a deft touch, sooth your target's negative emotions.",
"type": "good"
},
{ "u_add_effect": "effect_telepath_mood_stabilization_attitude_modified", "duration": "12 hours" }
],
"false_effect": [
{
"npc_message": "You attempt to edit the target's mood, but your powers slam into a smooth, unyielding barrier and slide off.",
"type": "bad"
}
]
}
]
}
],
"false_effect": [
{ "npc_message": "You don't want to risk affecting the target's mind too quickly, and withdraw.", "type": "neutral" }
]
},
{
"type": "effect_on_condition",
"id": "EOC_TELEPATH_MORALE_MODIFY_MONSTER_VALUES",
"condition": { "not": { "u_has_effect": "effect_telepath_mood_stabilization_attitude_modified" } },
"effect": [
{
"run_eocs": [
{
"id": "EOC_TELEPATH_MORALE_MODIFY_MONSTER_VALUES_2",
"condition": { "not": { "u_has_effect": "effect_telepathic_psi_armor" } },
"effect": [
{ "math": [ "u_val('anger')", "-=", "u_mood_stabilized_power_level * 5" ] },
{
"npc_message": "You reach in and, with a deft touch, sooth your target's negative emotions.",
"type": "good"
},
{ "u_add_effect": "effect_telepath_mood_stabilization_attitude_modified", "duration": "5 minutes" }
],
"false_effect": [
{
"npc_message": "You attempt to edit the target's mood, but your powers slam into a smooth, unyielding barrier and slide off.",
"type": "bad"
}
]
}
]
}
]
},
{
"type": "effect_on_condition",
"id": "EOC_TELEPATH_PRIMAL_TERROR",
Expand Down

0 comments on commit 58b90c6

Please sign in to comment.