Skip to content

Commit b6fe654

Browse files
[MoM] Add volume limits to Blink and Farstep (#80208)
* Initial commit * Farstep edits * Kick tests
1 parent b0df3aa commit b6fe654

File tree

3 files changed

+130
-29
lines changed

3 files changed

+130
-29
lines changed

data/mods/MindOverMatter/PowerDescriptionSpoilers.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -1340,7 +1340,7 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan
13401340
*Duration*: Instant<br />
13411341
*Stamina Cost*: 900, minus 55 per level to a minimum of 350<br />
13421342
*Channeling Time*: 50 moves, minus 3.5 moves per level to a minimum of 5<br />
1343-
*Effects*: The psion vanishes and reappears nearby. They cannot control exactly where they end up. While there is no danger of teleporting into a wall or solid rock, if above ground level it is possible to teleport into open air, after which the psion will fall normally.<br />
1343+
*Effects*: The psion vanishes and reappears nearby. They cannot control exactly where they end up. While there is no danger of teleporting into a wall or solid rock, if above ground level it is possible to teleport into open air, after which the psion will fall normally. The psion may always teleport themselves, and can carry 5L of gear, plus 3.5L per power level<br />
13441344
*Prerequisites*: Starting power<br />
13451345
</details>
13461346
<details>
@@ -1450,7 +1450,7 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan
14501450
*Duration*: Instant<br />
14511451
*Stamina Cost*: 6500, minus 105 per level to a minimum of 2750<br />
14521452
*Channeling Time*: 75 moves, minus 3 moves per level to a minimum of 30<br />
1453-
*Effects*: Step into the Nether and re-emerge at a location nearby. Farstep works through walls and across Z levels.<br />
1453+
*Effects*: Step into the Nether and re-emerge at a location nearby. Farstep works through walls and across Z levels. The psion may always teleport themselves, and can carry 8L of gear, plus 5L per power level.<br />
14541454
*Prerequisites*: Phase 10, Extended Stride 8 *or* Spacial Vortex 6 <br />
14551455
</details>
14561456
<details>
@@ -1516,7 +1516,7 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan
15161516
*Duration*: Instant<br />
15171517
*Stamina Cost*: 10000, minus 200 per level to a minimum of 6000<br />
15181518
*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<br />
1519-
*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.<br />
1519+
*Effects*: Transport the psion through the Nether to an attuned location. This power works at any distance. The psion may have a number of destinations simultaneously equal to 1 + 1 per 3 levels of Gateway (2.5 levels with the Good Memory trait, 4 levels with the Forgetful trait). The psion may always teleport themselves, and can carry 10L of gear, plus 7.5L per power level.<br />
15201520
*Prerequisites*: Farstep 10, Loci Establishment 6 <br />
15211521
</details>
15221522
<details>
@@ -1527,7 +1527,7 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan
15271527
*Duration*: Instant<br />
15281528
*Stamina Cost*: 12000, minus 200 per level to a minimum of 8000<br />
15291529
*Channeling Time*: 200 moves, minus 5.5 moves per level to a minimum of 75.<br />
1530-
*Effects*: Transport yourself and every adjacent creature through the Nether to an attuned location. This power works at any distance. This uses locations attuned to via Gateway.<br />
1530+
*Effects*: Transport the psion and every adjacent creature through the Nether to an attuned location. This power works at any distance. This uses locations attuned to via Gateway.<br />
15311531
*Prerequisites*: Gateway 8, Oubliette 2 <br />
15321532
</details>
15331533
<details>
@@ -1538,7 +1538,7 @@ Powers causing telepathic damage have a 5% chance to down the target, a 33% chan
15381538
*Duration*: 23 seconds to or 1 minute 37 seconds, plus 3.5 to 14 seconds per power level<br />
15391539
*Stamina Cost*: 7500, minus 225 per level to a minimum of 4500<br />
15401540
*Channeling Time*: 75 moves, minus 4 moves per level to a minimum of 25<br />
1541-
*Effects*: Begin constantly warping space and teleporting small distances to increase your combat prowess. This provides the UNCANNY_DODGE flag, adds 1 to hit per 5 power levels, adds 5% melee damage + 3% per power level, adds 1 bonus dodge plus 1 per 4 power levels, adds a flat 15% chance to dodge any attack, adds an additional 10% plus 2.5% per power level chance to dodge ranged attacks, and a -4 penalty to perception. In addition, there is a 33% chance when attacking or being attacked that the psion will blink to a nearby square.<br />
1541+
*Effects*: Begin constantly warping space and teleporting small distances to increase the psion's combat prowess. This provides the UNCANNY_DODGE flag, adds 1 to hit per 5 power levels, adds 5% melee damage + 3% per power level, adds 1 bonus dodge plus 1 per 4 power levels, adds a flat 15% chance to dodge any attack, adds an additional 10% plus 2.5% per power level chance to dodge ranged attacks, and a -4 penalty to perception. In addition, there is a 33% chance when attacking or being attacked that the psion will blink to a nearby square.<br />
15421542
*Prerequisites*: Special (must be studied from notes)<br />
15431543
</details>
15441544
<details>

data/mods/MindOverMatter/powers/teleportation.json

+60-23
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,31 @@
44
"type": "SPELL",
55
"name": "[Ψ]Blink",
66
"description": "Step briefly into the void between dimensions and emerge at a random nearby location.",
7-
"message": "You vanish and reappear nearby.",
7+
"message": "",
8+
"teachable": false,
9+
"valid_targets": [ "self" ],
10+
"spell_class": "TELEPORTER",
11+
"magic_type": "mom_psionics",
12+
"skill": "metaphysics",
13+
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS" ],
14+
"difficulty": 1,
15+
"max_level": { "math": [ "int_to_level(1)" ] },
16+
"effect": "effect_on_condition",
17+
"effect_str": "EOC_TELEPORT_BLINK_INITIATE",
18+
"shape": "blast",
19+
"base_energy_cost": 900,
20+
"final_energy_cost": 350,
21+
"energy_increment": -55,
22+
"base_casting_time": 50,
23+
"final_casting_time": 5,
24+
"casting_time_increment": -3.5
25+
},
26+
{
27+
"id": "teleport_blink_real",
28+
"type": "SPELL",
29+
"name": { "str": "[Ψ]Blink", "//~": "NO_I18N" },
30+
"description": { "str": "The actual spell that blinks you. You should not see this", "//~": "NO_I18N" },
31+
"message": "",
832
"teachable": false,
933
"valid_targets": [ "none" ],
1034
"spell_class": "TELEPORTER",
@@ -17,16 +41,9 @@
1741
"shape": "blast",
1842
"min_aoe": 1,
1943
"max_aoe": 5,
20-
"aoe_increment": 0.25,
2144
"min_range": 5,
2245
"max_range": 15,
23-
"range_increment": 1,
24-
"base_energy_cost": 900,
25-
"final_energy_cost": 350,
26-
"energy_increment": -55,
27-
"base_casting_time": 50,
28-
"final_casting_time": 5,
29-
"casting_time_increment": -3.5
46+
"range_increment": 1
3047
},
3148
{
3249
"id": "teleport_slow",
@@ -687,34 +704,54 @@
687704
"id": "teleport_farstep",
688705
"type": "SPELL",
689706
"name": "[Ψ]Farstep",
690-
"description": "Skating along the void between dimensions, move to a specific place nearby.",
691-
"message": "There is a moment of darkness and terrible cold, and you are somewhere else.",
707+
"description": "Skating along the void between dimensions, move to a specific place nearby.\n\nThe power <color_red>will fail</color> if the volume of your carried gear is too great.",
708+
"message": "",
692709
"teachable": false,
693-
"valid_targets": [ "ground" ],
710+
"valid_targets": [ "self" ],
694711
"spell_class": "TELEPORTER",
695712
"magic_type": "mom_psionics",
696713
"skill": "metaphysics",
697714
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "TARGET_TELEPORT", "IGNORE_WALLS" ],
698715
"difficulty": 6,
699716
"max_level": { "math": [ "int_to_level(1)" ] },
700-
"effect": "short_range_teleport",
717+
"effect": "effect_on_condition",
718+
"effect_str": "EOC_TELEPORT_FARSTEP_INITIATE",
701719
"shape": "blast",
702-
"min_aoe": 4,
703-
"max_aoe": 1,
704-
"aoe_increment": -0.2,
705-
"min_range": {
706-
"math": [
707-
"min( (( (u_spell_level('teleport_farstep') * 2) + 1) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling), 80)"
708-
]
709-
},
710-
"max_range": 80,
711720
"base_energy_cost": 6500,
712721
"final_energy_cost": 2750,
713722
"energy_increment": -105,
714723
"base_casting_time": 75,
715724
"final_casting_time": 30,
716725
"casting_time_increment": -3
717726
},
727+
{
728+
"id": "teleport_farstep_real",
729+
"type": "SPELL",
730+
"name": { "str": "[Ψ]Farstep Real", "//": "NO_I18N" },
731+
"description": {
732+
"str": "The actual farstep power, after checking the volume of your goods. You shouldn't see this.",
733+
"//~": "NO_I18N"
734+
},
735+
"message": "",
736+
"teachable": false,
737+
"valid_targets": [ "ground" ],
738+
"spell_class": "TELEPORTER",
739+
"magic_type": "mom_psionics",
740+
"skill": "metaphysics",
741+
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "RANDOM_AOE", "TARGET_TELEPORT", "IGNORE_WALLS" ],
742+
"difficulty": 6,
743+
"max_level": { "math": [ "int_to_level(1)" ] },
744+
"effect": "short_range_teleport",
745+
"shape": "blast",
746+
"min_aoe": 1,
747+
"max_aoe": { "math": [ "min( ( (u_spell_level('teleport_farstep') * -0.2) + 4), 1)" ] },
748+
"min_range": {
749+
"math": [
750+
"min( (( (u_spell_level('teleport_farstep') * 2) + 1) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling), 80)"
751+
]
752+
},
753+
"max_range": 80
754+
},
718755
{
719756
"id": "teleport_banish",
720757
"type": "SPELL",
@@ -839,7 +876,7 @@
839876
"id": "teleport_gateway",
840877
"type": "SPELL",
841878
"name": "[Ψ]Gateway",
842-
"description": "Transport yourself through the Nether to an attuned location. You must attune yourself to the place you wish to travel to.",
879+
"description": "Transport yourself through the Nether to an attuned location. You must attune yourself to the place you wish to travel to.\n\nThe power <color_red>will fail</color> if the volume of your carried gear is too great.",
843880
"message": "",
844881
"teachable": false,
845882
"valid_targets": [ "self" ],

data/mods/MindOverMatter/powers/teleportation_eoc.json

+65-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,40 @@
1616
}
1717
]
1818
},
19+
{
20+
"type": "effect_on_condition",
21+
"id": "EOC_TELEPORT_BLINK_INITIATE",
22+
"condition": {
23+
"and": [
24+
{ "not": { "u_has_worn_with_flag": "DIMENSIONAL_ANCHOR" } },
25+
{ "not": { "u_has_flag": "DIMENSIONAL_ANCHOR" } },
26+
{ "not": { "u_has_flag": "TELEPORT_LOCK" } }
27+
]
28+
},
29+
"effect": [
30+
{ "run_eocs": "EOC_TELEPORT_SELF_CARRIED_VOLUME_CHECKER" },
31+
{
32+
"if": {
33+
"math": [
34+
"u_teleport_total_carried_volume <= ( ( ( u_spell_level('teleport_blink') * 3500 ) + 5000 ) * scaling_factor( u_val('intelligence') ) * u_nether_attunement_power_scaling )"
35+
]
36+
},
37+
"then": [
38+
{
39+
"u_cast_spell": { "id": "teleport_blink_real", "min_level": { "math": [ "u_spell_level('teleport_blink')" ] }, "hit_self": true }
40+
},
41+
{ "u_message": "You vanish and reappear nearby.", "type": "neutral" }
42+
],
43+
"else": [
44+
{
45+
"u_message": "You attempt to teleport to somewhere nearby, but your skin merely tingles and nothing happens. You're carrying too much..",
46+
"type": "bad"
47+
}
48+
]
49+
}
50+
],
51+
"false_effect": [ { "u_message": "You feel a strange, inward force.", "type": "bad" } ]
52+
},
1953
{
2054
"type": "effect_on_condition",
2155
"id": "EOC_TELEPORT_ITEM_APPORT",
@@ -120,7 +154,7 @@
120154
]
121155
},
122156
"then": [
123-
{ "u_cast_spell": { "id": "teleport_blink", "min_level": 10, "hit_self": true } },
157+
{ "u_cast_spell": { "id": "teleport_blink_real", "min_level": 10, "hit_self": true } },
124158
{
125159
"if": { "npc_has_effect": "effect_teleport_reactive_displacement" },
126160
"then": [ { "npc_message": "As <u_name> strikes you, they are suddenly somewhere else", "type": "good" } ],
@@ -174,6 +208,36 @@
174208
}
175209
]
176210
},
211+
{
212+
"type": "effect_on_condition",
213+
"id": "EOC_TELEPORT_FARSTEP_INITIATE",
214+
"condition": {
215+
"and": [
216+
{ "not": { "u_has_worn_with_flag": "DIMENSIONAL_ANCHOR" } },
217+
{ "not": { "u_has_flag": "DIMENSIONAL_ANCHOR" } },
218+
{ "not": { "u_has_flag": "TELEPORT_LOCK" } }
219+
]
220+
},
221+
"effect": [
222+
{ "run_eocs": "EOC_TELEPORT_SELF_CARRIED_VOLUME_CHECKER" },
223+
{
224+
"if": {
225+
"math": [
226+
"u_teleport_total_carried_volume <= ( ( ( u_spell_level('teleport_farstep') * 5000 ) + 8000 ) * scaling_factor( u_val('intelligence') ) * u_nether_attunement_power_scaling )"
227+
]
228+
},
229+
"then": [
230+
{ "u_cast_spell": { "id": "teleport_farstep_real", "hit_self": false }, "targeted": true },
231+
{
232+
"u_message": "There is a moment of darkness and terrible cold, and you are somewhere else.",
233+
"type": "neutral"
234+
}
235+
],
236+
"else": [ { "run_eocs": [ "EOC_TELEPORTER_GATEWAY_MESSAGE_CARRYING_TOO_MUCH" ] } ]
237+
}
238+
],
239+
"false_effect": [ { "u_message": "You feel a strange, inward force.", "type": "bad" } ]
240+
},
177241
{
178242
"type": "effect_on_condition",
179243
"id": "EOC_TELEPORTER_OUBLIETTE_HANDLING",

0 commit comments

Comments
 (0)