diff --git a/data/mods/MindOverMatter/PowerDescriptionSpoilers.md b/data/mods/MindOverMatter/PowerDescriptionSpoilers.md index a583f5c6dd882..6b1d2645e8ede 100644 --- a/data/mods/MindOverMatter/PowerDescriptionSpoilers.md +++ b/data/mods/MindOverMatter/PowerDescriptionSpoilers.md @@ -739,6 +739,15 @@ Powers causing telekinetic damage have a 40% chance to stagger the target for 2 *Effects*: The psion shoves a single target away, moving it 2 to 4 squares plus 0.5 to 1 squares per power level.
*Prerequisites*: Starting power
+## Noisemaker +*Difficulty*: 2
+*Target*: One target within to 2 squares away plus 0.9 squares per power level
+*Duration*: Instant
+*Stamina Cost*: 1750, minus 85 per level to a minimum of 450
+*Channeling Time*: 64 moves, minus 4 moves per level to a minimum of 15
+*Effects*: Thump the ground with telekinetic force, causing 3 to 8 noise plus 0.5 to 1.5 noise per power level.
+*Prerequisites*: None
+ ## Knockdown *Difficulty*: 2
*Target*: One target within to 2 squares away plus 0.5 squares per power level
diff --git a/data/mods/MindOverMatter/powers/learning_eocs/telekinesis.json b/data/mods/MindOverMatter/powers/learning_eocs/telekinesis.json index 0c277411b0e3d..44b147fc6fd33 100644 --- a/data/mods/MindOverMatter/powers/learning_eocs/telekinesis.json +++ b/data/mods/MindOverMatter/powers/learning_eocs/telekinesis.json @@ -1,4 +1,29 @@ [ + { + "type": "effect_on_condition", + "id": "EOC_TELEKIN_LEARNING_NOISEMAKER", + "recurrence": [ "12 hours", "24 hours" ], + "condition": { + "and": [ + { "u_has_trait": "TELEKINETIC" }, + { "math": [ "u_vitamin('vitamin_psi_learning_counter')", "==", "1" ] }, + { "test_eoc": "EOC_PSI_LEARNING_BANNED_EFFECTS" }, + { "math": [ "u_spell_level('telekinetic_noise')", "<=", "0" ] }, + { "not": { "u_know_recipe": "practice_telekinetic_noise" } } + ] + }, + "deactivate_condition": { + "or": [ { "not": { "u_has_trait": "TELEKINETIC" } }, { "math": [ "u_spell_level('telekinetic_noise')", ">=", "1" ] } ] + }, + "effect": [ + { "math": [ "u_vitamin('vitamin_psi_learning_counter')", "=", "0" ] }, + { "u_learn_recipe": "practice_telekinetic_noise" }, + { + "u_message": "Use of your powers has led to an insight. You could use a quick burst of telekinetic force to create noise, luring enemies away from you or toward a trapped location, if you can figure out the proper technique.", + "popup": true + } + ] + }, { "type": "effect_on_condition", "id": "EOC_TELEKIN_LEARNING_SLAM_DOWN", @@ -10,7 +35,12 @@ { "or": [ { "x_in_y_chance": { "x": 1, "y": 20 } }, - { "and": [ { "math": [ "u_spell_level('telekinetic_push')", ">=", "4" ] } ] } + { + "or": [ + { "math": [ "u_spell_level('telekinetic_push')", ">=", "4" ] }, + { "math": [ "u_spell_level('telekinetic_noise')", ">=", "1" ] } + ] + } ] }, { "test_eoc": "EOC_PSI_LEARNING_BANNED_EFFECTS" }, diff --git a/data/mods/MindOverMatter/powers/telekinesis.json b/data/mods/MindOverMatter/powers/telekinesis.json index 7d1184239e70f..83b9f4a086ece 100644 --- a/data/mods/MindOverMatter/powers/telekinesis.json +++ b/data/mods/MindOverMatter/powers/telekinesis.json @@ -81,6 +81,47 @@ "casting_time_increment": -4, "ignored_monster_species": [ "PSI_NULL" ] }, + { + "id": "telekinetic_noise", + "type": "SPELL", + "name": "[Ψ]Noisemaker", + "description": "Using a focused burst of telekinesis, slam two objects together, or an object into the ground, or simply hit the ground with your powers, causing a loud noise.", + "message": "You lash out at the ground with your powers.", + "teachable": false, + "valid_targets": [ "ground" ], + "spell_class": "TELEKINETIC", + "skill": "metaphysics", + "flags": [ "PSIONIC", "CONCENTRATE", "RANDOM_DAMAGE", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX" ], + "difficulty": 2, + "max_level": { "math": [ "int_to_level(1)" ] }, + "effect": "noise", + "shape": "blast", + "min_damage": { + "math": [ + "( (u_spell_level('telekinetic_noise') * 0.5) + 3) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling" + ] + }, + "max_damage": { + "math": [ + "( (u_spell_level('telekinetic_noise') * 1.5) + 8) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling" + ] + }, + "min_range": { + "math": [ + "min( (( (u_spell_level('telekinetic_noise') * 0.9) + 2) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling), 60)" + ] + }, + "max_range": 60, + "energy_source": "STAMINA", + "base_energy_cost": 1750, + "final_energy_cost": 450, + "energy_increment": -85, + "base_casting_time": 65, + "final_casting_time": 15, + "casting_time_increment": -4, + "sound_type": "combat", + "sound_description": "a loud thump" + }, { "id": "telekinetic_slam_down", "type": "SPELL", diff --git a/data/mods/MindOverMatter/recipes/practice/telekinesis_practice.json b/data/mods/MindOverMatter/recipes/practice/telekinesis_practice.json index 508bb47fe425b..24fe23124dd1c 100644 --- a/data/mods/MindOverMatter/recipes/practice/telekinesis_practice.json +++ b/data/mods/MindOverMatter/recipes/practice/telekinesis_practice.json @@ -12,6 +12,7 @@ "nested_category_data": [ "practice_telekinetic_pull", "practice_telekinetic_push", + "practice_telekinetic_noise", "practice_telekinetic_slam_down", "practice_telekinetic_momentum", "practice_telekinetic_slowfall", @@ -85,6 +86,82 @@ } ] }, + { + "type": "recipe", + "activity_level": "LIGHT_EXERCISE", + "name": "contemplation: noisemaker", + "id": "practice_telekinetic_noise", + "description": "Contemplate your powers and improve your ability to create noisy distractions.", + "category": "CC_*", + "subcategory": "CSC_*_NESTED", + "skill_used": "metaphysics", + "difficulty": 1, + "time": "30 m", + "autolearn": false, + "proficiencies": [ { "proficiency": "prof_contemplation_telekinesis", "required": false } ], + "tools": [ [ [ "matrix_crystal_drained", -1 ], [ "matrix_crystal_telekinesis", -1 ] ] ], + "flags": [ "SECRET", "BLIND_HARD" ], + "result_eocs": [ + { + "id": "EOC_PRACTICE_TELEKIN_NOISEMAKER", + "condition": { "math": [ "u_spell_level('telekinetic_noise')", ">=", "1" ] }, + "effect": [ + { "u_message": "You spend some time meditating and contemplating your powers and emerge with new knowledge." }, + { "math": [ "u_spell_exp('telekinetic_noise')", "+=", "(contemplation_factor(1))" ] }, + { "math": [ "u_vitamin('vitamin_psionic_drain')", "+=", "rng( 1,10 )" ] }, + { "math": [ "u_val('stored_kcal')", "-=", "psionics_contemplation_kcal_cost(2)" ] }, + { "run_eocs": "EOC_PSI_PRACTICE_FOCUS_MOD" } + ], + "false_effect": [ + { "u_message": "You attempt to unlock new capabilities within your mind." }, + { "u_assign_activity": "ACT_PSI_LEARNING_NEW_POWER", "duration": "16 hours" }, + { "u_add_effect": "effect_psi_learning_new_power", "duration": "16 hours" }, + { "run_eocs": "EOC_PSI_PRACTICE_FOCUS_MOD" }, + { + "queue_eocs": "EOC_PRACTICE_TELEKIN_NOISEMAKER_LEARNING", + "time_in_future": [ { "math": [ "learn_new_power_lower_time_bound(2)" ] }, { "math": [ "learn_new_power_upper_time_bound(2)" ] } ] + } + ] + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_PRACTICE_TELEKIN_NOISEMAKER_LEARNING", + "condition": { + "and": [ + { "u_has_effect": "effect_psi_learning_new_power" }, + { + "not": { "u_has_any_effect": [ "sleep", "effect_vitakin_wakeful_resting", "lack_sleep", "sleep_deprived", "under_operation" ] } + } + ] + }, + "effect": [ + { + "run_eocs": [ + { + "id": "EOC_PRACTICE_TELEKIN_NOISEMAKER_LEARNING_2", + "condition": { + "roll_contested": { "math": [ "u_skill('metaphysics') + u_has_proficiency('prof_contemplation_telekinesis')" ] }, + "difficulty": 6 + }, + "effect": [ + { + "u_message": "As you meditate, all the pieces suddenly come together. You've unlocked the Noisemaker power.", + "popup": true + }, + { "math": [ "u_spell_level('telekinetic_noise')", "=", "1" ] }, + { "math": [ "u_vitamin('vitamin_psionic_drain')", "+=", "rng( 10,20 )" ] } + ], + "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 )" ] } + ] + } + ] + } + ] + }, { "type": "recipe", "activity_level": "LIGHT_EXERCISE",