Skip to content

Commit

Permalink
[MoM] Add Hellfire pyrokinetic power (CleverRaven#68380)
Browse files Browse the repository at this point in the history
* Initial commit

* Fixes

* Genericize fire immunity effect (in order to make it another power)

* Reduce post-Hellfire immunity duration

* Increase starting Hellfire AoE but reduce scaling

* Edit field variance
  • Loading branch information
Standing-Storm authored Sep 29, 2023
1 parent 9a345c5 commit a86e495
Show file tree
Hide file tree
Showing 4 changed files with 138 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@
{ "u_learn_recipe": "practice_pyrokinetic_thermogenesis" },
{ "u_learn_recipe": "practice_pyrokinetic_flamethrower" },
{ "u_learn_recipe": "practice_pyrokinetic_aura" },
{ "u_learn_recipe": "practice_pyrokinetic_blast" }
{ "u_learn_recipe": "practice_pyrokinetic_blast" },
{ "u_learn_recipe": "practice_pyrokinetic_aoe_blast" }
]
},
{
Expand Down
12 changes: 12 additions & 0 deletions data/mods/MindOverMatter/effects/effects_psionic.json
Original file line number Diff line number Diff line change
Expand Up @@ -781,6 +781,18 @@
"int_dur_factor": "29 s",
"enchantments": [ "enchant_pyrokinetic_aura" ]
},
{
"type": "effect_type",
"id": "effect_pyrokinetic_flame_immunity",
"name": [ "Flame Immunity" ],
"desc": [ "You are completely immune to fire." ],
"apply_message": "",
"rating": "good",
"max_duration": "10 minutes",
"show_in_info": false,
"enchantments": [ { "values": [ { "value": "CLIMATE_CONTROL_CHILL", "add": 1000 }, { "value": "ARMOR_HEAT", "multiply": -1.0 } ] } ],
"flags": [ "HEAT_IMMUNE" ]
},
{
"type": "effect_type",
"id": "effect_telekinetic_momentum",
Expand Down
77 changes: 70 additions & 7 deletions data/mods/MindOverMatter/powers/pyrokinesis.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"description": "Cause a burst of flames at the target location.",
"message": "You summon flames!",
"teachable": false,
"valid_targets": [ "hostile", "ground" ],
"valid_targets": [ "hostile", "ground", "ally" ],
"spell_class": "PYROKINETIC",
"skill": "metaphysics",
"flags": [ "CONCENTRATE", "LOUD", "NO_PROJECTILE", "IGNITE_FLAMMABLE", "RANDOM_DAMAGE", "NO_HANDS", "NO_LEGS" ],
Expand Down Expand Up @@ -281,7 +281,7 @@
"description": "Spray fire in a cone in front of you.",
"message": "You hurl a spray of flames.",
"teachable": false,
"valid_targets": [ "hostile", "ground" ],
"valid_targets": [ "hostile", "ground", "ally" ],
"spell_class": "PYROKINETIC",
"skill": "metaphysics",
"flags": [ "CONCENTRATE", "LOUD", "NO_PROJECTILE", "IGNITE_FLAMMABLE", "RANDOM_DAMAGE", "NO_HANDS", "NO_LEGS" ],
Expand Down Expand Up @@ -313,7 +313,7 @@
"field_id": "fd_fire",
"min_field_intensity": 1,
"max_field_intensity": 2,
"field_chance": 6,
"field_chance": 5,
"energy_source": "STAMINA",
"base_energy_cost": 3500,
"final_energy_cost": 1200,
Expand All @@ -323,7 +323,7 @@
"casting_time_increment": -6,
"sound_type": "combat",
"sound_description": "a crackle!",
"learn_spells": { "pyrokinetic_lance": 6, "pyrokinetic_blast": 9, "pyrokinetic_aura": 12 }
"learn_spells": { "pyrokinetic_lance": 6, "pyrokinetic_blast": 9, "pyrokinetic_aura": 12, "pyrokinetic_aoe_blast": 16 }
},
{
"id": "pyrokinetic_lance",
Expand Down Expand Up @@ -533,7 +533,7 @@
"base_casting_time": 125,
"final_casting_time": 50,
"casting_time_increment": -6.5,
"learn_spells": { "pyrokinetic_eruption": 5, "pyrokinetic_thermogenesis": 6 }
"learn_spells": { "pyrokinetic_thermogenesis": 6, "pyrokinetic_aoe_blast": 12 }
},
{
"id": "pyrokinetic_blast",
Expand All @@ -542,7 +542,7 @@
"description": "Create an expanding fireball that catches multiple targets in its wake.",
"message": "You call forth a raging inferno!",
"teachable": false,
"valid_targets": [ "hostile", "ground" ],
"valid_targets": [ "hostile", "ground", "ally" ],
"spell_class": "PYROKINETIC",
"skill": "metaphysics",
"flags": [ "CONCENTRATE", "LOUD", "NO_PROJECTILE", "IGNITE_FLAMMABLE", "RANDOM_DAMAGE", "NO_HANDS", "NO_LEGS" ],
Expand Down Expand Up @@ -579,6 +579,69 @@
"casting_time_increment": -9,
"sound_type": "combat",
"sound_description": "a crackle!",
"learn_spells": { "pyrokinetic_cloak": 4, "pyrokinetic_flash": 6 }
"learn_spells": { "pyrokinetic_aoe_blast": 7 }
},
{
"id": "pyrokinetic_aoe_blast",
"type": "SPELL",
"name": "[Ψ]Hellfire",
"description": "Send forth raging flames and turn the ground around you into an inferno. You will be <color_yellow>briefly</color> immune to the aftereffects of your own power as well.",
"message": "The ground around you explodes in flames!",
"teachable": false,
"valid_targets": [ "hostile", "ground", "ally" ],
"spell_class": "PYROKINETIC",
"skill": "metaphysics",
"flags": [ "CONCENTRATE", "LOUD", "NO_PROJECTILE", "IGNITE_FLAMMABLE", "RANDOM_DAMAGE", "NO_HANDS", "NO_LEGS" ],
"effect": "attack",
"extra_effects": [
{ "id": "psionic_drained_difficulty_nine", "hit_self": true },
{ "id": "pyrokinetic_aoe_blast_immunity", "hit_self": true }
],
"shape": "blast",
"damage_type": "heat",
"difficulty": 9,
"max_level": { "math": [ "int_to_level(1)" ] },
"min_damage": {
"math": [ "( (u_val('spell_level', 'spell: pyrokinetic_aoe_blast') * 5) + 40) * (scaling_factor(u_val('intelligence') ) )" ]
},
"max_damage": {
"math": [ "( (u_val('spell_level', 'spell: pyrokinetic_aoe_blast') * 8) + 120) * (scaling_factor(u_val('intelligence') ) )" ]
},
"min_aoe": {
"math": [ "( (u_val('spell_level', 'spell: pyrokinetic_aoe_blast') * 0.9) + 4) * (scaling_factor(u_val('intelligence') ) )" ]
},
"max_aoe": 30,
"field_id": "fd_fire",
"min_field_intensity": 2,
"max_field_intensity": 2,
"field_intensity_increment": 1,
"field_intensity_variance": 1,
"field_chance": 2,
"energy_source": "STAMINA",
"base_energy_cost": 9000,
"final_energy_cost": 5000,
"energy_increment": -300,
"base_casting_time": 175,
"final_casting_time": 55,
"casting_time_increment": -8,
"sound_type": "combat",
"sound_description": "a crackle!"
},
{
"id": "pyrokinetic_aoe_blast_immunity",
"type": "SPELL",
"name": "[Ψ]Hellfire Immunity spell",
"description": "This prevents the pyrokinetic from dying in heat and flames after using Hellfire. It's a bug if you have it directly.",
"message": "",
"teachable": false,
"valid_targets": [ "self" ],
"max_level": { "math": [ "int_to_level(1)" ] },
"flags": [ "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "RANDOM_DURATION", "NO_EXPLOSION_SFX" ],
"effect": "attack",
"effect_str": "effect_pyrokinetic_flame_immunity",
"shape": "blast",
"min_duration": 2000,
"max_duration": 4000,
"duration_increment": 150
}
]
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
"practice_pyrokinetic_cloak",
"practice_pyrokinetic_flamethrower",
"practice_pyrokinetic_aura",
"practice_pyrokinetic_blast"
"practice_pyrokinetic_blast",
"practice_pyrokinetic_aoe_blast"
],
"difficulty": 1
},
Expand Down Expand Up @@ -498,7 +499,7 @@
"and": [
{ "math": [ "u_val('spell_level', 'spell: pyrokinetic_blast')", ">=", "1" ] },
{
"math": [ "u_val('spell_exp', 'spell: pyrokinetic_blast')", "<=", "(difficulty_six_contemplation(1))" ]
"math": [ "u_val('spell_exp', 'spell: pyrokinetic_blast')", "<=", "(difficulty_seven_contemplation(1))" ]
}
]
},
Expand Down Expand Up @@ -526,5 +527,56 @@
}
}
]
},
{
"type": "recipe",
"activity_level": "LIGHT_EXERCISE",
"name": "contemplation: hellfire",
"id": "practice_pyrokinetic_aoe_blast",
"description": "Contemplate your powers and improve your ability to call down sheets of fire on everything around you.",
"category": "CC_*",
"subcategory": "CSC_*_NESTED",
"skill_used": "metaphysics",
"difficulty": 8,
"time": "30 m",
"autolearn": false,
"tools": [ [ [ "matrix_crystal_drained", -1 ] ] ],
"components": [ [ [ "matrix_crystal_pyrokin_dust", 1 ] ] ],
"flags": [ "SECRET", "BLIND_HARD" ],
"result_eocs": [
{
"id": "EOC_PRACTICE_PYROKIN_AOE_BLAST",
"condition": {
"and": [
{ "math": [ "u_val('spell_level', 'spell: pyrokinetic_aoe_blast')", ">=", "1" ] },
{
"math": [ "u_val('spell_exp', 'spell: pyrokinetic_aoe_blast')", "<=", "(difficulty_nine_contemplation(1))" ]
}
]
},
"effect": [
{ "u_message": "You spend some time meditating and contemplating your powers and emerge with new knowledge." },
{ "math": [ "u_val('spell_exp', 'spell: pyrokinetic_aoe_blast')", "+=", "(contemplation_factor(1))" ] },
{ "math": [ "u_val('vitamin', 'name:vitamin_psionic_drain')", "+=", "rng( 0,2 )" ] },
{ "run_eocs": "EOC_PSI_PRACTICE_FOCUS_MOD" }
],
"false_effect": {
"run_eocs": [
{
"id": "EOC_PRACTICE_PYROKIN_AOE_BLAST_FALSE",
"condition": { "math": [ "u_val('spell_level', 'spell: pyrokinetic_aoe_blast')", ">=", "1" ] },
"effect": [
{ "u_message": "Your knowledge of your powers is so deep that mere contemplation is of no further use to you." },
{ "run_eocs": "EOC_PSI_PRACTICE_FOCUS_MOD" }
],
"false_effect": [
{ "u_message": "Without even a basic understanding of the power, your meditation is nothing but idle musings." },
{ "run_eocs": "EOC_PSI_PRACTICE_FOCUS_MOD" }
]
}
]
}
}
]
}
]

0 comments on commit a86e495

Please sign in to comment.