diff --git a/data/mods/MindOverMatter/PowerDescriptionSpoilers.md b/data/mods/MindOverMatter/PowerDescriptionSpoilers.md index 1e45316c40044..fa9d9ee538c75 100644 --- a/data/mods/MindOverMatter/PowerDescriptionSpoilers.md +++ b/data/mods/MindOverMatter/PowerDescriptionSpoilers.md @@ -1115,7 +1115,7 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan *Duration*: Instant
*Stamina Cost*: 10000, minus 200 per level to a minimum of 6000
*Channeling Time*: 200 moves, minus 5.5 moves per level to a minimum of 75. Attunement takes 8 hours, minus 30 minutes per power level of Gateway to a minimum of 30 minutes
-*Effects*: Transport yourself through the Nether to an attuned location. This power works at any distance..
+*Effects*: Transport yourself through the Nether to an attuned location. This power works at any distance. You may have a number of destinations simultaneously equal to 1 + 1 per 3 levels of Gateway (2.5 levels if you have the Good Memory trait, 4 levels if you have the Forgetful trait).
*Prerequisites*: Farstep 10, Extended Stride 10
## Breach diff --git a/data/mods/MindOverMatter/activity_types.json b/data/mods/MindOverMatter/activity_types.json index 6cd7b5979fd11..04342e53e0614 100644 --- a/data/mods/MindOverMatter/activity_types.json +++ b/data/mods/MindOverMatter/activity_types.json @@ -23,5 +23,13 @@ "based_on": "time", "rooted": true, "do_turn_eoc": "EOC_PSI_STUDYING_POWER" + }, + { + "id": "ACT_PSI_TELEPORTER_ATTUNING", + "type": "activity_type", + "activity_level": "LIGHT_EXERCISE", + "verb": "attuning to area", + "rooted": true, + "based_on": "time" } ] diff --git a/data/mods/MindOverMatter/effects/effects_psionic.json b/data/mods/MindOverMatter/effects/effects_psionic.json index dd01967f31cf4..68d58c51d92d7 100644 --- a/data/mods/MindOverMatter/effects/effects_psionic.json +++ b/data/mods/MindOverMatter/effects/effects_psionic.json @@ -1825,6 +1825,13 @@ ], "flags": [ "MUSCLE_VEH_BOOST" ] }, + { + "type": "effect_type", + "id": "effect_teleporter_attuning_to_area", + "//": "Hidden effect, used as a tracker", + "name": [ "" ], + "desc": [ "" ] + }, { "type": "effect_type", "id": "effect_vitakin_slow_bleeding", diff --git a/data/mods/MindOverMatter/hobbies.json b/data/mods/MindOverMatter/hobbies.json index 51aeb187153a9..8d3b1d8cb08e6 100644 --- a/data/mods/MindOverMatter/hobbies.json +++ b/data/mods/MindOverMatter/hobbies.json @@ -444,8 +444,7 @@ { "id": "teleport_collapse", "level": 7 }, { "id": "teleport_farstep", "level": 10 }, { "id": "teleport_banish", "level": 6 }, - { "id": "teleport_gateway", "level": 4 }, - { "id": "teleport_area_attune", "level": 1 } + { "id": "teleport_gateway", "level": 4 } ] }, { @@ -457,7 +456,7 @@ "points": 5, "traits": [ "TELEPORTER", "TELEPORTER_PROTECT" ], "skills": [ { "level": 2, "name": "metaphysics" } ], - "spells": [ { "id": "teleport_gateway", "level": 3 }, { "id": "teleport_area_attune", "level": 1 } ] + "spells": [ { "id": "teleport_gateway", "level": 3 } ] }, { "type": "profession", diff --git a/data/mods/MindOverMatter/furniture_and_terrain/furniture_psionic.json b/data/mods/MindOverMatter/obsolete/furniture.json similarity index 100% rename from data/mods/MindOverMatter/furniture_and_terrain/furniture_psionic.json rename to data/mods/MindOverMatter/obsolete/furniture.json diff --git a/data/mods/MindOverMatter/obsolete/powers.json b/data/mods/MindOverMatter/obsolete/powers.json index 07eb3f167b680..c0d6fa1c674a1 100644 --- a/data/mods/MindOverMatter/obsolete/powers.json +++ b/data/mods/MindOverMatter/obsolete/powers.json @@ -1,4 +1,47 @@ [ + { + "type": "effect_on_condition", + "id": "EOC_MOM_GAMESTART_TELEPORTATION_GATEWAY_UPDATE", + "eoc_type": "EVENT", + "required_event": "game_start", + "effect": [ { "math": [ "u_teleportation_gateway_updated", "=", "1" ] } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_MOM_GAMELOAD_TELEPORTATION_GATEWAY_UPDATE_DONTKNOW", + "eoc_type": "EVENT", + "required_event": "game_load", + "condition": { + "and": [ + { "u_has_trait": "TELEPORTER" }, + { "math": [ "u_teleportation_gateway_updated", "!=", "1" ] }, + { "math": [ "u_spell_level('teleport_gateway')", "==", "-1" ] } + ] + }, + "effect": [ { "math": [ "u_teleportation_gateway_updated", "=", "1" ] } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_MOM_GAMELOAD_TELEPORTATION_GATEWAY_UPDATE_KNOW", + "eoc_type": "EVENT", + "required_event": "game_load", + "condition": { + "and": [ + { "u_has_trait": "TELEPORTER" }, + { "math": [ "u_teleportation_gateway_updated", "!=", "1" ] }, + { "math": [ "u_spell_level('teleport_gateway')", ">=", "1" ] } + ] + }, + "effect": [ + { "math": [ "u_spell_level('teleport_area_attune')", "=", "-1" ] }, + { "math": [ "u_spell_level('teleport_gateway_legacy')", "=", "u_spell_level('teleport_gateway')" ] }, + { + "u_message": "Your Gateway power has been updated. Your saved locations have not been updated--you can use the Gateway (Obsolete) power to return to them and add them to the new Gateway power.", + "popup": true + }, + { "math": [ "u_teleportation_gateway_updated", "=", "1" ] } + ] + }, { "id": "telepathic_fear_self_effect", "type": "SPELL", @@ -90,5 +133,49 @@ ] }, "ignored_monster_species": [ "PSI_NULL" ] + }, + { + "id": "teleport_gateway_legacy", + "type": "SPELL", + "name": "[Ψ]Gateway (Obsolete)", + "description": "This power is Obsolete, but you can still use it. Teleport to an attuned location.", + "message": "There is a long moment of darkness and terrible cold that seems like it will freeze your heart, and then you are somewhere else.", + "teachable": false, + "valid_targets": [ "self" ], + "spell_class": "TELEPORTER", + "skill": "metaphysics", + "flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS" ], + "difficulty": 8, + "max_level": { "math": [ "int_to_level(1)" ] }, + "effect": "translocate", + "shape": "blast", + "energy_source": "STAMINA", + "base_energy_cost": 10000, + "final_energy_cost": 6000, + "energy_increment": -200, + "base_casting_time": 200, + "final_casting_time": 75, + "casting_time_increment": -5.5 + }, + { + "id": "teleport_area_attune", + "type": "SPELL", + "name": "[Ψ]Attune to Area", + "description": "Attune to a location for later teleporting.", + "message": "", + "teachable": false, + "valid_targets": [ "ground" ], + "spell_class": "TELEPORTER", + "skill": "metaphysics", + "flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "NO_FAIL" ], + "difficulty": 1, + "max_level": 1, + "effect": "ter_transform", + "effect_str": "ter_teleport_location_attune", + "shape": "blast", + "min_range": 1, + "energy_source": "STAMINA", + "base_energy_cost": 0, + "base_casting_time": { "math": [ "2880000 - max(( u_spell_level('teleport_gateway') * 108000), 180000)" ] } } ] diff --git a/data/mods/MindOverMatter/powers/teleportation.json b/data/mods/MindOverMatter/powers/teleportation.json index 873bd1339a59d..b06a3ec3e0f0f 100644 --- a/data/mods/MindOverMatter/powers/teleportation.json +++ b/data/mods/MindOverMatter/powers/teleportation.json @@ -631,7 +631,7 @@ "type": "SPELL", "name": "[Ψ]Gateway", "description": "Transport yourself through the Nether to an attuned location. You must attune yourself to the place you wish to travel to.", - "message": "There is a long moment of darkness and terrible cold that seems like it will freeze your heart, and then you are somewhere else.", + "message": "", "teachable": false, "valid_targets": [ "self" ], "spell_class": "TELEPORTER", @@ -639,7 +639,8 @@ "flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS" ], "difficulty": 8, "max_level": { "math": [ "int_to_level(1)" ] }, - "effect": "translocate", + "effect": "effect_on_condition", + "effect_str": "EOC_TELEPORT_GATEWAY_SELECTOR", "shape": "blast", "energy_source": "STAMINA", "base_energy_cost": 10000, @@ -649,27 +650,6 @@ "final_casting_time": 75, "casting_time_increment": -5.5 }, - { - "id": "teleport_area_attune", - "type": "SPELL", - "name": "[Ψ]Attune to Area", - "description": "Attune to a location for later teleporting.", - "message": "", - "teachable": false, - "valid_targets": [ "ground" ], - "spell_class": "TELEPORTER", - "skill": "metaphysics", - "flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "NO_FAIL" ], - "difficulty": 1, - "max_level": 1, - "effect": "ter_transform", - "effect_str": "ter_teleport_location_attune", - "shape": "blast", - "min_range": 1, - "energy_source": "STAMINA", - "base_energy_cost": 0, - "base_casting_time": { "math": [ "2880000 - max(( u_spell_level('teleport_gateway') * 108000), 180000)" ] } - }, { "id": "teleport_summon", "type": "SPELL", diff --git a/data/mods/MindOverMatter/powers/teleportation_eoc.json b/data/mods/MindOverMatter/powers/teleportation_eoc.json index 4a353df12ba23..18495a607a1f4 100644 --- a/data/mods/MindOverMatter/powers/teleportation_eoc.json +++ b/data/mods/MindOverMatter/powers/teleportation_eoc.json @@ -100,6 +100,676 @@ } ] }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORTER_GATEWAY_MESSAGE", + "effect": [ + { + "u_message": "There is a long moment of darkness and terrible cold that seems like it will freeze your heart, and then you are somewhere else.", + "type": "neutral" + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORTER_ATTUNING_MESSAGE", + "effect": [ + { "u_message": "You concentrate and begin memorizing every detail of the current area you are in.", "type": "neutral" } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORTER_ATTUNED_MESSAGE", + "effect": [ + { + "u_message": "You have successfully memorized the local area, and may now return to it with your powers.", + "type": "good" + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_SELECTOR", + "effect": [ + { + "run_eoc_selector": [ + "EOC_TELEPORT_GATEWAY_SELECTOR_01", + "EOC_TELEPORT_GATEWAY_SELECTOR_02", + "EOC_TELEPORT_GATEWAY_SELECTOR_03", + "EOC_TELEPORT_GATEWAY_SELECTOR_04", + "EOC_TELEPORT_GATEWAY_SELECTOR_05", + "EOC_TELEPORT_GATEWAY_SELECTOR_06", + "EOC_TELEPORT_GATEWAY_SELECTOR_07", + "EOC_TELEPORT_GATEWAY_SELECTOR_08", + "EOC_TELEPORT_GATEWAY_SELECTOR_09", + "EOC_TELEPORT_GATEWAY_SELECTOR_10" + ], + "names": [ + "Gateway: ", + "Gateway: ", + "Gateway: ", + "Gateway: ", + "Gateway: ", + "Gateway: ", + "Gateway: ", + "Gateway: ", + "Gateway: ", + "Gateway: " + ], + "keys": [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" ], + "descriptions": [ + "Teleport/Attune to a destination.", + "Teleport/Attune to a destination.", + "Teleport/Attune to a destination.", + "Teleport/Attune to a destination.", + "Teleport/Attune to a destination.", + "Teleport/Attune to a destination.", + "Teleport/Attune to a destination.", + "Teleport/Attune to a destination.", + "Teleport/Attune to a destination.", + "Teleport/Attune to a destination." + ], + "hide_failing": true, + "allow_cancel": true + } + ] + }, + { + "type": "effect_on_condition", + "id": "ECO_TELEPORTER_CANCELLING_ATTUNING_CANCELS_ATTUNE", + "eoc_type": "EVENT", + "required_event": "character_finished_activity", + "condition": { + "and": [ + { "compare_string": [ "ACT_PSI_TELEPORTER_ATTUNING", { "context_val": "activity" } ] }, + { "u_has_effect": "effect_teleporter_attuning_to_area" } + ] + }, + "effect": [ { "u_lose_effect": "effect_psi_learning_new_power" }, { "u_lose_effect": "effect_psi_studying_power" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_SELECTOR_01", + "effect": [ + { + "run_eoc_selector": [ "EOC_TELEPORT_GATEWAY_TELEPORT_01", "EOC_TELEPORT_GATEWAY_ATTUNE_01" ], + "names": [ "Destination: ", "Attune to Area" ], + "keys": [ "1", "2" ], + "descriptions": [ "Teleport to .", "Attune to a new destination." ], + "hide_failing": true, + "allow_cancel": true + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_TELEPORT_01", + "condition": { "math": [ "has_var(u_gateway_destination_1)" ] }, + "effect": [ { "u_teleport": { "u_val": "gateway_destination_1" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_01", + "effect": [ + { "run_eocs": "EOC_TELEPORTER_ATTUNING_MESSAGE" }, + { "u_add_effect": "effect_teleporter_attuning_to_area", "duration": "8 hours" }, + { "u_assign_activity": "ACT_PSI_TELEPORTER_ATTUNING", "duration": "8 hours" }, + { + "queue_eocs": "EOC_TELEPORT_GATEWAY_ATTUNE_01_SUCCESS", + "time_in_future": { "math": [ "28800 - clamp(( u_spell_level('teleport_gateway') * 1080), 0, 27000)" ] } + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_01_SUCCESS", + "condition": { "u_has_effect": "effect_teleporter_attuning_to_area" }, + "effect": [ + { + "set_string_var": "Destination 1", + "string_input": { + "title": { "i18n": true, "str": "Input a destination name:" }, + "description": { "i18n": true, "str": "Destination Name:" }, + "width": 35, + "identifier": "" + }, + "target_var": { "u_val": "gateway_destination_name_1" } + }, + { "u_location_variable": { "u_val": "gateway_destination_1" }, "min_radius": 0, "max_radius": 0 }, + { "run_eocs": "EOC_TELEPORTER_ATTUNED_MESSAGE" } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_SELECTOR_02", + "condition": { + "math": [ + "(u_spell_level('teleport_gateway') * (1 + (u_has_trait('GOODMEMORY') * 0.2) ) / (1 + (u_has_trait('FORGETFUL') * 0.33) ) ) / 3", + ">=", + "1" + ] + }, + "effect": [ + { + "run_eoc_selector": [ "EOC_TELEPORT_GATEWAY_TELEPORT_02", "EOC_TELEPORT_GATEWAY_ATTUNE_02" ], + "names": [ "Destination: ", "Attune to Area" ], + "keys": [ "1", "2" ], + "descriptions": [ "Teleport to .", "Attune to a new destination." ], + "hide_failing": true, + "allow_cancel": true + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_TELEPORT_02", + "condition": { "math": [ "has_var(u_gateway_destination_2)" ] }, + "effect": [ { "u_teleport": { "u_val": "gateway_destination_2" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_02", + "effect": [ + { "run_eocs": "EOC_TELEPORTER_ATTUNING_MESSAGE" }, + { "u_add_effect": "effect_teleporter_attuning_to_area", "duration": "8 hours" }, + { "u_assign_activity": "ACT_PSI_TELEPORTER_ATTUNING", "duration": "8 hours" }, + { + "queue_eocs": "EOC_TELEPORT_GATEWAY_ATTUNE_02_SUCCESS", + "time_in_future": { "math": [ "28800 - clamp(( u_spell_level('teleport_gateway') * 1080), 0, 27000)" ] } + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_02_SUCCESS", + "condition": { "u_has_effect": "effect_teleporter_attuning_to_area" }, + "effect": [ + { + "set_string_var": "Destination 2", + "string_input": { + "title": { "i18n": true, "str": "Input a destination name:" }, + "description": { "i18n": true, "str": "Destination Name:" }, + "width": 35, + "identifier": "" + }, + "target_var": { "u_val": "gateway_destination_name_2" } + }, + { "u_location_variable": { "u_val": "gateway_destination_2" }, "min_radius": 0, "max_radius": 0 }, + { "run_eocs": "EOC_TELEPORTER_ATTUNED_MESSAGE" } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_SELECTOR_03", + "condition": { + "math": [ + "(u_spell_level('teleport_gateway') * (1 + (u_has_trait('GOODMEMORY') * 0.2) ) / (1 + (u_has_trait('FORGETFUL') * 0.33) ) ) / 3", + ">=", + "2" + ] + }, + "effect": [ + { + "run_eoc_selector": [ "EOC_TELEPORT_GATEWAY_TELEPORT_03", "EOC_TELEPORT_GATEWAY_ATTUNE_03" ], + "names": [ "Destination: ", "Attune to Area" ], + "keys": [ "1", "2" ], + "descriptions": [ "Teleport to .", "Attune to a new destination." ], + "hide_failing": true, + "allow_cancel": true + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_TELEPORT_03", + "condition": { "math": [ "has_var(u_gateway_destination_3)" ] }, + "effect": [ { "u_teleport": { "u_val": "gateway_destination_3" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_03", + "effect": [ + { "run_eocs": "EOC_TELEPORTER_ATTUNING_MESSAGE" }, + { "u_add_effect": "effect_teleporter_attuning_to_area", "duration": "8 hours" }, + { "u_assign_activity": "ACT_PSI_TELEPORTER_ATTUNING", "duration": "8 hours" }, + { + "queue_eocs": "EOC_TELEPORT_GATEWAY_ATTUNE_03_SUCCESS", + "time_in_future": { "math": [ "28800 - clamp(( u_spell_level('teleport_gateway') * 1080), 0, 27000)" ] } + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_03_SUCCESS", + "condition": { "u_has_effect": "effect_teleporter_attuning_to_area" }, + "effect": [ + { + "set_string_var": "Destination 3", + "string_input": { + "title": { "i18n": true, "str": "Input a destination name:" }, + "description": { "i18n": true, "str": "Destination Name:" }, + "width": 35, + "identifier": "" + }, + "target_var": { "u_val": "gateway_destination_name_3" } + }, + { "u_location_variable": { "u_val": "gateway_destination_3" }, "min_radius": 0, "max_radius": 0 }, + { "run_eocs": "EOC_TELEPORTER_ATTUNED_MESSAGE" } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_SELECTOR_04", + "condition": { + "math": [ + "(u_spell_level('teleport_gateway') * (1 + (u_has_trait('GOODMEMORY') * 0.2) ) / (1 + (u_has_trait('FORGETFUL') * 0.33) ) ) / 3", + ">=", + "3" + ] + }, + "effect": [ + { + "run_eoc_selector": [ "EOC_TELEPORT_GATEWAY_TELEPORT_04", "EOC_TELEPORT_GATEWAY_ATTUNE_04" ], + "names": [ "Destination: ", "Attune to Area" ], + "keys": [ "1", "2" ], + "descriptions": [ "Teleport to .", "Attune to a new destination." ], + "hide_failing": true, + "allow_cancel": true + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_TELEPORT_04", + "condition": { "math": [ "has_var(u_gateway_destination_4)" ] }, + "effect": [ { "u_teleport": { "u_val": "gateway_destination_4" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_04", + "effect": [ + { "run_eocs": "EOC_TELEPORTER_ATTUNING_MESSAGE" }, + { "u_add_effect": "effect_teleporter_attuning_to_area", "duration": "8 hours" }, + { "u_assign_activity": "ACT_PSI_TELEPORTER_ATTUNING", "duration": "8 hours" }, + { + "queue_eocs": "EOC_TELEPORT_GATEWAY_ATTUNE_04_SUCCESS", + "time_in_future": { "math": [ "28800 - clamp(( u_spell_level('teleport_gateway') * 1080), 0, 27000)" ] } + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_04_SUCCESS", + "condition": { "u_has_effect": "effect_teleporter_attuning_to_area" }, + "effect": [ + { + "set_string_var": "Destination 4", + "string_input": { + "title": { "i18n": true, "str": "Input a destination name:" }, + "description": { "i18n": true, "str": "Destination Name:" }, + "width": 35, + "identifier": "" + }, + "target_var": { "u_val": "gateway_destination_name_4" } + }, + { "u_location_variable": { "u_val": "gateway_destination_4" }, "min_radius": 0, "max_radius": 0 }, + { "run_eocs": "EOC_TELEPORTER_ATTUNED_MESSAGE" } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_SELECTOR_05", + "condition": { + "math": [ + "(u_spell_level('teleport_gateway') * (1 + (u_has_trait('GOODMEMORY') * 0.2) ) / (1 + (u_has_trait('FORGETFUL') * 0.33) ) ) / 3", + ">=", + "4" + ] + }, + "effect": [ + { + "run_eoc_selector": [ "EOC_TELEPORT_GATEWAY_TELEPORT_05", "EOC_TELEPORT_GATEWAY_ATTUNE_05" ], + "names": [ "Destination: ", "Attune to Area" ], + "keys": [ "1", "2" ], + "descriptions": [ "Teleport to .", "Attune to a new destination." ], + "hide_failing": true, + "allow_cancel": true + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_TELEPORT_05", + "condition": { "math": [ "has_var(u_gateway_destination_5)" ] }, + "effect": [ { "u_teleport": { "u_val": "gateway_destination_5" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_05", + "effect": [ + { "run_eocs": "EOC_TELEPORTER_ATTUNING_MESSAGE" }, + { "u_add_effect": "effect_teleporter_attuning_to_area", "duration": "8 hours" }, + { "u_assign_activity": "ACT_PSI_TELEPORTER_ATTUNING", "duration": "8 hours" }, + { + "queue_eocs": "EOC_TELEPORT_GATEWAY_ATTUNE_05_SUCCESS", + "time_in_future": { "math": [ "28800 - clamp(( u_spell_level('teleport_gateway') * 1080), 0, 27000)" ] } + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_05_SUCCESS", + "condition": { "u_has_effect": "effect_teleporter_attuning_to_area" }, + "effect": [ + { + "set_string_var": "Destination 5", + "string_input": { + "title": { "i18n": true, "str": "Input a destination name:" }, + "description": { "i18n": true, "str": "Destination Name:" }, + "width": 35, + "identifier": "" + }, + "target_var": { "u_val": "gateway_destination_name_5" } + }, + { "u_location_variable": { "u_val": "gateway_destination_5" }, "min_radius": 0, "max_radius": 0 }, + { "run_eocs": "EOC_TELEPORTER_ATTUNED_MESSAGE" } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_SELECTOR_06", + "condition": { + "math": [ + "(u_spell_level('teleport_gateway') * (1 + (u_has_trait('GOODMEMORY') * 0.2) ) / (1 + (u_has_trait('FORGETFUL') * 0.33) ) ) / 3", + ">=", + "5" + ] + }, + "effect": [ + { + "run_eoc_selector": [ "EOC_TELEPORT_GATEWAY_TELEPORT_06", "EOC_TELEPORT_GATEWAY_ATTUNE_06" ], + "names": [ "Destination: ", "Attune to Area" ], + "keys": [ "1", "2" ], + "descriptions": [ "Teleport to .", "Attune to a new destination." ], + "hide_failing": true, + "allow_cancel": true + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_TELEPORT_06", + "condition": { "math": [ "has_var(u_gateway_destination_6)" ] }, + "effect": [ { "u_teleport": { "u_val": "gateway_destination_6" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_06", + "effect": [ + { "run_eocs": "EOC_TELEPORTER_ATTUNING_MESSAGE" }, + { "u_add_effect": "effect_teleporter_attuning_to_area", "duration": "8 hours" }, + { "u_assign_activity": "ACT_PSI_TELEPORTER_ATTUNING", "duration": "8 hours" }, + { + "queue_eocs": "EOC_TELEPORT_GATEWAY_ATTUNE_06_SUCCESS", + "time_in_future": { "math": [ "28800 - clamp(( u_spell_level('teleport_gateway') * 1080), 0, 27000)" ] } + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_06_SUCCESS", + "condition": { "u_has_effect": "effect_teleporter_attuning_to_area" }, + "effect": [ + { + "set_string_var": "Destination 6", + "string_input": { + "title": { "i18n": true, "str": "Input a destination name:" }, + "description": { "i18n": true, "str": "Destination Name:" }, + "width": 35, + "identifier": "" + }, + "target_var": { "u_val": "gateway_destination_name_6" } + }, + { "u_location_variable": { "u_val": "gateway_destination_6" }, "min_radius": 0, "max_radius": 0 }, + { "run_eocs": "EOC_TELEPORTER_ATTUNED_MESSAGE" } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_SELECTOR_07", + "condition": { + "math": [ + "(u_spell_level('teleport_gateway') * (1 + (u_has_trait('GOODMEMORY') * 0.2) ) / (1 + (u_has_trait('FORGETFUL') * 0.33) ) ) / 3", + ">=", + "6" + ] + }, + "effect": [ + { + "run_eoc_selector": [ "EOC_TELEPORT_GATEWAY_TELEPORT_07", "EOC_TELEPORT_GATEWAY_ATTUNE_07" ], + "names": [ "Destination: ", "Attune to Area" ], + "keys": [ "1", "2" ], + "descriptions": [ "Teleport to .", "Attune to a new destination." ], + "hide_failing": true, + "allow_cancel": true + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_TELEPORT_07", + "condition": { "math": [ "has_var(u_gateway_destination_7)" ] }, + "effect": [ { "u_teleport": { "u_val": "gateway_destination_7" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_07", + "effect": [ + { "run_eocs": "EOC_TELEPORTER_ATTUNING_MESSAGE" }, + { "u_add_effect": "effect_teleporter_attuning_to_area", "duration": "8 hours" }, + { "u_assign_activity": "ACT_PSI_TELEPORTER_ATTUNING", "duration": "8 hours" }, + { + "queue_eocs": "EOC_TELEPORT_GATEWAY_ATTUNE_07_SUCCESS", + "time_in_future": { "math": [ "28800 - clamp(( u_spell_level('teleport_gateway') * 1080), 0, 27000)" ] } + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_07_SUCCESS", + "condition": { "u_has_effect": "effect_teleporter_attuning_to_area" }, + "effect": [ + { + "set_string_var": "Destination 7", + "string_input": { + "title": { "i18n": true, "str": "Input a destination name:" }, + "description": { "i18n": true, "str": "Destination Name:" }, + "width": 35, + "identifier": "" + }, + "target_var": { "u_val": "gateway_destination_name_7" } + }, + { "u_location_variable": { "u_val": "gateway_destination_7" }, "min_radius": 0, "max_radius": 0 }, + { "run_eocs": "EOC_TELEPORTER_ATTUNED_MESSAGE" } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_SELECTOR_08", + "condition": { + "math": [ + "(u_spell_level('teleport_gateway') * (1 + (u_has_trait('GOODMEMORY') * 0.2) ) / (1 + (u_has_trait('FORGETFUL') * 0.33) ) ) / 3", + ">=", + "7" + ] + }, + "effect": [ + { + "run_eoc_selector": [ "EOC_TELEPORT_GATEWAY_TELEPORT_08", "EOC_TELEPORT_GATEWAY_ATTUNE_07" ], + "names": [ "Destination: ", "Attune to Area" ], + "keys": [ "1", "2" ], + "descriptions": [ "Teleport to .", "Attune to a new destination." ], + "hide_failing": true, + "allow_cancel": true + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_TELEPORT_08", + "condition": { "math": [ "has_var(u_gateway_destination_8)" ] }, + "effect": [ { "u_teleport": { "u_val": "gateway_destination_8" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_08", + "effect": [ + { "run_eocs": "EOC_TELEPORTER_ATTUNING_MESSAGE" }, + { "u_add_effect": "effect_teleporter_attuning_to_area", "duration": "8 hours" }, + { "u_assign_activity": "ACT_PSI_TELEPORTER_ATTUNING", "duration": "8 hours" }, + { + "queue_eocs": "EOC_TELEPORT_GATEWAY_ATTUNE_08_SUCCESS", + "time_in_future": { "math": [ "28800 - clamp(( u_spell_level('teleport_gateway') * 1080), 0, 27000)" ] } + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_08_SUCCESS", + "condition": { "u_has_effect": "effect_teleporter_attuning_to_area" }, + "effect": [ + { + "set_string_var": "Destination 8", + "string_input": { + "title": { "i18n": true, "str": "Input a destination name:" }, + "description": { "i18n": true, "str": "Destination Name:" }, + "width": 35, + "identifier": "" + }, + "target_var": { "u_val": "gateway_destination_name_8" } + }, + { "u_location_variable": { "u_val": "gateway_destination_8" }, "min_radius": 0, "max_radius": 0 }, + { "run_eocs": "EOC_TELEPORTER_ATTUNED_MESSAGE" } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_SELECTOR_09", + "condition": { + "math": [ + "(u_spell_level('teleport_gateway') * (1 + (u_has_trait('GOODMEMORY') * 0.2) ) / (1 + (u_has_trait('FORGETFUL') * 0.33) ) ) / 3", + ">=", + "8" + ] + }, + "effect": [ + { + "run_eoc_selector": [ "EOC_TELEPORT_GATEWAY_TELEPORT_09", "EOC_TELEPORT_GATEWAY_ATTUNE_09" ], + "names": [ "Destination: ", "Attune to Area" ], + "keys": [ "1", "2" ], + "descriptions": [ "Teleport to .", "Attune to a new destination." ], + "hide_failing": true, + "allow_cancel": true + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_TELEPORT_09", + "condition": { "math": [ "has_var(u_gateway_destination_9)" ] }, + "effect": [ { "u_teleport": { "u_val": "gateway_destination_9" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_09", + "effect": [ + { "run_eocs": "EOC_TELEPORTER_ATTUNING_MESSAGE" }, + { "u_add_effect": "effect_teleporter_attuning_to_area", "duration": "8 hours" }, + { "u_assign_activity": "ACT_PSI_TELEPORTER_ATTUNING", "duration": "8 hours" }, + { + "queue_eocs": "EOC_TELEPORT_GATEWAY_ATTUNE_09_SUCCESS", + "time_in_future": { "math": [ "28800 - clamp(( u_spell_level('teleport_gateway') * 1080), 0, 27000)" ] } + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_09_SUCCESS", + "condition": { "u_has_effect": "effect_teleporter_attuning_to_area" }, + "effect": [ + { + "set_string_var": "Destination 9", + "string_input": { + "title": { "i18n": true, "str": "Input a destination name:" }, + "description": { "i18n": true, "str": "Destination Name:" }, + "width": 35, + "identifier": "" + }, + "target_var": { "u_val": "gateway_destination_name_9" } + }, + { "u_location_variable": { "u_val": "gateway_destination_9" }, "min_radius": 0, "max_radius": 0 }, + { "run_eocs": "EOC_TELEPORTER_ATTUNED_MESSAGE" } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_SELECTOR_10", + "condition": { + "math": [ + "(u_spell_level('teleport_gateway') * (1 + (u_has_trait('GOODMEMORY') * 0.2) ) / (1 + (u_has_trait('FORGETFUL') * 0.33) ) ) / 3", + ">=", + "9" + ] + }, + "effect": [ + { + "run_eoc_selector": [ "EOC_TELEPORT_GATEWAY_TELEPORT_10", "EOC_TELEPORT_GATEWAY_ATTUNE_10" ], + "names": [ "Destination: ", "Attune to Area" ], + "keys": [ "1", "2" ], + "descriptions": [ "Teleport to .", "Attune to a new destination." ], + "hide_failing": true, + "allow_cancel": true + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_TELEPORT_10", + "condition": { "math": [ "has_var(u_gateway_destination_10)" ] }, + "effect": [ { "u_teleport": { "u_val": "gateway_destination_10" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_10", + "effect": [ + { "run_eocs": "EOC_TELEPORTER_ATTUNING_MESSAGE" }, + { "u_add_effect": "effect_teleporter_attuning_to_area", "duration": "8 hours" }, + { "u_assign_activity": "ACT_PSI_TELEPORTER_ATTUNING", "duration": "8 hours" }, + { + "queue_eocs": "EOC_TELEPORT_GATEWAY_ATTUNE_10_SUCCESS", + "time_in_future": { "math": [ "28800 - clamp(( u_spell_level('teleport_gateway') * 1080), 0, 27000)" ] } + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_TELEPORT_GATEWAY_ATTUNE_10_SUCCESS", + "condition": { "u_has_effect": "effect_teleporter_attuning_to_area" }, + "effect": [ + { + "set_string_var": "Destination 10", + "string_input": { + "title": { "i18n": true, "str": "Input a destination name:" }, + "description": { "i18n": true, "str": "Destination Name:" }, + "width": 35, + "identifier": "" + }, + "target_var": { "u_val": "gateway_destination_name_10" } + }, + { "u_location_variable": { "u_val": "gateway_destination_10" }, "min_radius": 0, "max_radius": 0 }, + { "run_eocs": "EOC_TELEPORTER_ATTUNED_MESSAGE" } + ] + }, { "type": "effect_on_condition", "id": "EOC_TELEPORT_SUMMON", diff --git a/data/mods/MindOverMatter/recipes/practice/teleportation_practice.json b/data/mods/MindOverMatter/recipes/practice/teleportation_practice.json index 98d22e9d9e068..17ff388898767 100644 --- a/data/mods/MindOverMatter/recipes/practice/teleportation_practice.json +++ b/data/mods/MindOverMatter/recipes/practice/teleportation_practice.json @@ -875,7 +875,6 @@ "popup": true }, { "math": [ "u_spell_level('teleport_gateway')", "=", "1" ] }, - { "math": [ "u_spell_level('teleport_area_attune')", "=", "1" ] }, { "math": [ "u_vitamin('vitamin_psionic_drain')", "+=", "rng( 45,90 )" ] }, { "u_lose_effect": "effect_psi_learning_new_power" } ],