diff --git a/data/mods/MindOverMatter/PowerDescriptionSpoilers.md b/data/mods/MindOverMatter/PowerDescriptionSpoilers.md
index abc172fed16f9..cf97353ec0732 100644
--- a/data/mods/MindOverMatter/PowerDescriptionSpoilers.md
+++ b/data/mods/MindOverMatter/PowerDescriptionSpoilers.md
@@ -1516,7 +1516,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 20 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. 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).
+*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). You can always teleport yourself, and can carry 10L of gear, plus 7.5L per power level.
*Prerequisites*: Farstep 10, Loci Establishment 6
diff --git a/data/mods/MindOverMatter/powers/teleportation_eoc.json b/data/mods/MindOverMatter/powers/teleportation_eoc.json
index 23304135b2a2f..639f6febb29a5 100644
--- a/data/mods/MindOverMatter/powers/teleportation_eoc.json
+++ b/data/mods/MindOverMatter/powers/teleportation_eoc.json
@@ -1,4 +1,21 @@
[
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_TELEPORT_SELF_CARRIED_VOLUME_CHECKER",
+ "effect": [
+ { "math": [ "u_teleport_total_carried_volume = 0" ] },
+ {
+ "u_run_inv_eocs": "all",
+ "search_data": [ { "condition": { "math": [ "n_volume() > 0" ] } } ],
+ "true_eocs": [
+ {
+ "id": "EOC_TELEPORT_SELF_CARRIED_VOLUME_CHECKER_ADD_VOLUME",
+ "effect": [ { "math": [ "u_teleport_total_carried_volume", "+=", "n_volume()" ] } ]
+ }
+ ]
+ }
+ ]
+ },
{
"type": "effect_on_condition",
"id": "EOC_TELEPORT_ITEM_APPORT",
@@ -231,6 +248,16 @@
}
]
},
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_TELEPORTER_GATEWAY_MESSAGE_CARRYING_TOO_MUCH",
+ "effect": [
+ {
+ "u_message": "You attempt to teleport to your destination, but your skin merely tingles and nothing happens. You're carrying too much.",
+ "type": "bad"
+ }
+ ]
+ },
{
"type": "effect_on_condition",
"id": "EOC_TELEPORTER_ATTUNING_MESSAGE",
@@ -252,7 +279,24 @@
{
"type": "effect_on_condition",
"id": "EOC_TELEPORT_GATEWAY_SELECTOR",
+ "condition": {
+ "and": [
+ { "not": { "u_has_worn_with_flag": "DIMENSIONAL_ANCHOR" } },
+ { "not": { "u_has_flag": "DIMENSIONAL_ANCHOR" } },
+ { "not": { "u_has_flag": "TELEPORT_LOCK" } }
+ ]
+ },
"effect": [
+ { "run_eocs": "EOC_TELEPORT_SELF_CARRIED_VOLUME_CHECKER" },
+ {
+ "if": {
+ "math": [
+ "u_teleport_total_carried_volume <= ( ( ( u_spell_level('teleport_gateway') * 7500 ) + 10000 ) * scaling_factor( u_val('intelligence') ) * u_nether_attunement_power_scaling )"
+ ]
+ },
+ "then": [ { "math": [ "u_teleport_total_carried_volume = 1" ] } ],
+ "else": [ { "math": [ "u_teleport_total_carried_volume = -1" ] } ]
+ },
{
"run_eoc_selector": [
"EOC_TELEPORT_GATEWAY_SELECTOR_01",
@@ -294,7 +338,8 @@
"hide_failing": true,
"allow_cancel": true
}
- ]
+ ],
+ "false_effect": [ { "u_message": "You feel a strange, inward force.", "type": "bad" } ]
},
{
"type": "effect_on_condition",
@@ -327,7 +372,13 @@
"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" } ]
+ "effect": [
+ {
+ "if": { "math": [ "u_teleport_total_carried_volume >= 0" ] },
+ "then": [ { "u_teleport": { "u_val": "gateway_destination_1" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ],
+ "else": [ { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE_CARRYING_TOO_MUCH" } ]
+ }
+ ]
},
{
"type": "effect_on_condition",
@@ -386,7 +437,13 @@
"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" } ]
+ "effect": [
+ {
+ "if": { "math": [ "u_teleport_total_carried_volume >= 0" ] },
+ "then": [ { "u_teleport": { "u_val": "gateway_destination_2" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ],
+ "else": [ { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE_CARRYING_TOO_MUCH" } ]
+ }
+ ]
},
{
"type": "effect_on_condition",
@@ -445,7 +502,13 @@
"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" } ]
+ "effect": [
+ {
+ "if": { "math": [ "u_teleport_total_carried_volume >= 0" ] },
+ "then": [ { "u_teleport": { "u_val": "gateway_destination_3" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ],
+ "else": [ { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE_CARRYING_TOO_MUCH" } ]
+ }
+ ]
},
{
"type": "effect_on_condition",
@@ -504,7 +567,13 @@
"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" } ]
+ "effect": [
+ {
+ "if": { "math": [ "u_teleport_total_carried_volume >= 0" ] },
+ "then": [ { "u_teleport": { "u_val": "gateway_destination_4" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ],
+ "else": [ { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE_CARRYING_TOO_MUCH" } ]
+ }
+ ]
},
{
"type": "effect_on_condition",
@@ -563,7 +632,13 @@
"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" } ]
+ "effect": [
+ {
+ "if": { "math": [ "u_teleport_total_carried_volume >= 0" ] },
+ "then": [ { "u_teleport": { "u_val": "gateway_destination_5" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ],
+ "else": [ { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE_CARRYING_TOO_MUCH" } ]
+ }
+ ]
},
{
"type": "effect_on_condition",
@@ -622,7 +697,13 @@
"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" } ]
+ "effect": [
+ {
+ "if": { "math": [ "u_teleport_total_carried_volume >= 0" ] },
+ "then": [ { "u_teleport": { "u_val": "gateway_destination_6" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ],
+ "else": [ { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE_CARRYING_TOO_MUCH" } ]
+ }
+ ]
},
{
"type": "effect_on_condition",
@@ -681,7 +762,13 @@
"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" } ]
+ "effect": [
+ {
+ "if": { "math": [ "u_teleport_total_carried_volume >= 0" ] },
+ "then": [ { "u_teleport": { "u_val": "gateway_destination_7" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ],
+ "else": [ { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE_CARRYING_TOO_MUCH" } ]
+ }
+ ]
},
{
"type": "effect_on_condition",
@@ -740,7 +827,13 @@
"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" } ]
+ "effect": [
+ {
+ "if": { "math": [ "u_teleport_total_carried_volume >= 0" ] },
+ "then": [ { "u_teleport": { "u_val": "gateway_destination_8" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ],
+ "else": [ { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE_CARRYING_TOO_MUCH" } ]
+ }
+ ]
},
{
"type": "effect_on_condition",
@@ -799,7 +892,13 @@
"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" } ]
+ "effect": [
+ {
+ "if": { "math": [ "u_teleport_total_carried_volume >= 0" ] },
+ "then": [ { "u_teleport": { "u_val": "gateway_destination_9" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ],
+ "else": [ { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE_CARRYING_TOO_MUCH" } ]
+ }
+ ]
},
{
"type": "effect_on_condition",
@@ -858,7 +957,13 @@
"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" } ]
+ "effect": [
+ {
+ "if": { "math": [ "u_teleport_total_carried_volume >= 0" ] },
+ "then": [ { "u_teleport": { "u_val": "gateway_destination_10" } }, { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE" } ],
+ "else": [ { "run_eocs": "EOC_TELEPORTER_GATEWAY_MESSAGE_CARRYING_TOO_MUCH" } ]
+ }
+ ]
},
{
"type": "effect_on_condition",