|
91 | 91 | "id": "EOC_Random_Loc_Warp", |
92 | 92 | "//": "Picks a random location of any kind and activates the actual teleport EOC.", |
93 | 93 | "effect": [ |
| 94 | + { "run_eocs": "EOC_SKY_ISLAND_MISSION_DIMENSION_SHIFT" }, |
94 | 95 | { |
95 | 96 | "u_location_variable": { "global_val": "OM_missionspot" }, |
96 | 97 | "target_params": { |
97 | 98 | "om_terrain": "field", |
98 | 99 | "om_terrain_match_type": "CONTAINS", |
99 | | - "search_range": 1200, |
100 | | - "min_distance": 200, |
| 100 | + "search_range": 200, |
| 101 | + "min_distance": 0, |
101 | 102 | "reveal_radius": { "global_val": "scoutingdistancelanding", "default": 0 }, |
102 | 103 | "z": 0, |
103 | 104 | "random": true |
|
111 | 112 | "id": "EOC_Field_Loc_Warp", |
112 | 113 | "//": "Picks a random field and activates the actual teleport EOC.", |
113 | 114 | "effect": [ |
| 115 | + { "run_eocs": "EOC_SKY_ISLAND_MISSION_DIMENSION_SHIFT" }, |
114 | 116 | { |
115 | 117 | "u_location_variable": { "global_val": "OM_missionspot" }, |
116 | 118 | "target_params": { |
117 | 119 | "om_terrain": "field", |
118 | 120 | "om_terrain_match_type": "CONTAINS", |
119 | | - "search_range": 1200, |
120 | | - "min_distance": 200, |
| 121 | + "search_range": 200, |
| 122 | + "min_distance": 0, |
121 | 123 | "reveal_radius": { "global_val": "scoutingdistancelanding", "default": 0 }, |
122 | 124 | "z": 0, |
123 | 125 | "random": true |
|
132 | 134 | "//": "Picks a random basement and activates the actual teleport EOC.", |
133 | 135 | "condition": { "math": [ "basementsunlocked == 1" ] }, |
134 | 136 | "effect": [ |
| 137 | + { "run_eocs": "EOC_SKY_ISLAND_MISSION_DIMENSION_SHIFT" }, |
135 | 138 | { |
136 | 139 | "u_location_variable": { "global_val": "OM_missionspot" }, |
137 | 140 | "target_params": { |
138 | 141 | "om_terrain": "basement", |
139 | 142 | "om_terrain_match_type": "CONTAINS", |
140 | | - "search_range": 1200, |
141 | | - "min_distance": 200, |
| 143 | + "search_range": 200, |
| 144 | + "min_distance": 0, |
142 | 145 | "reveal_radius": { "global_val": "scoutingdistancelanding", "default": 0 }, |
143 | 146 | "z": -1, |
144 | 147 | "random": true |
|
155 | 158 | "//": "Picks a random rooftop and activates the actual teleport EOC.", |
156 | 159 | "condition": { "math": [ "roofsunlocked == 1" ] }, |
157 | 160 | "effect": [ |
| 161 | + { "run_eocs": "EOC_SKY_ISLAND_MISSION_DIMENSION_SHIFT" }, |
158 | 162 | { |
159 | 163 | "u_location_variable": { "global_val": "OM_missionspot" }, |
160 | 164 | "target_params": { |
161 | 165 | "om_terrain": "roof", |
162 | 166 | "om_terrain_match_type": "CONTAINS", |
163 | | - "search_range": 1200, |
164 | | - "min_distance": 200, |
| 167 | + "search_range": 200, |
| 168 | + "min_distance": 0, |
165 | 169 | "reveal_radius": { "global_val": "scoutingdistancelanding", "default": 0 }, |
166 | 170 | "z": 1, |
167 | 171 | "random": true |
|
178 | 182 | "//": "Picks a random underground lab and activates the actual teleport EOC.", |
179 | 183 | "condition": { "and": [ { "math": [ "labsunlocked == 1" ] }, { "u_has_items": { "item": "warp_labs_catalyst", "count": 1 } } ] }, |
180 | 184 | "effect": [ |
| 185 | + { "run_eocs": "EOC_SKY_ISLAND_MISSION_DIMENSION_SHIFT" }, |
181 | 186 | { |
182 | 187 | "run_eoc_selector": [ |
183 | 188 | "EOC_Lab_Science_Loc_Warp", |
|
205 | 210 | "//": "Picks a random underground lab and activates the actual teleport EOC.", |
206 | 211 | "condition": { "and": [ { "math": [ "labsunlocked == 1" ] }, { "u_has_items": { "item": "warp_labs_catalyst", "count": 1 } } ] }, |
207 | 212 | "effect": [ |
| 213 | + { "run_eocs": "EOC_SKY_ISLAND_MISSION_DIMENSION_SHIFT" }, |
208 | 214 | { |
209 | 215 | "u_location_variable": { "global_val": "OM_missionspot" }, |
210 | 216 | "target_params": { |
211 | 217 | "om_terrain": "lab_stairs", |
212 | 218 | "om_terrain_match_type": "CONTAINS", |
213 | | - "search_range": 1200, |
214 | | - "min_distance": 200, |
| 219 | + "search_range": 200, |
| 220 | + "min_distance": 0, |
215 | 221 | "reveal_radius": { "global_val": "scoutingdistancelanding", "default": 0 }, |
216 | 222 | "z": -2, |
217 | 223 | "random": true |
|
229 | 235 | "//": "Picks a random underground lab and activates the actual teleport EOC.", |
230 | 236 | "condition": { "and": [ { "math": [ "labsunlocked == 1" ] }, { "u_has_items": { "item": "warp_labs_catalyst", "count": 1 } } ] }, |
231 | 237 | "effect": [ |
| 238 | + { "run_eocs": "EOC_SKY_ISLAND_MISSION_DIMENSION_SHIFT" }, |
232 | 239 | { |
233 | 240 | "u_location_variable": { "global_val": "OM_missionspot" }, |
234 | 241 | "target_params": { |
|
253 | 260 | "//": "Picks a random research facility and activates the actual teleport EOC.", |
254 | 261 | "condition": { "and": [ { "math": [ "labsunlocked == 1" ] }, { "u_has_items": { "item": "warp_labs_catalyst", "count": 1 } } ] }, |
255 | 262 | "effect": [ |
| 263 | + { "run_eocs": "EOC_SKY_ISLAND_MISSION_DIMENSION_SHIFT" }, |
256 | 264 | { |
257 | 265 | "u_location_variable": { "global_val": "OM_missionspot" }, |
258 | 266 | "target_params": { |
|
276 | 284 | "//": "Picks a random TCL and activates the actual teleport EOC.", |
277 | 285 | "condition": { "and": [ { "math": [ "labsunlocked == 1" ] }, { "u_has_items": { "item": "warp_labs_catalyst", "count": 1 } } ] }, |
278 | 286 | "effect": [ |
| 287 | + { "run_eocs": "EOC_SKY_ISLAND_MISSION_DIMENSION_SHIFT" }, |
279 | 288 | { |
280 | 289 | "u_location_variable": { "global_val": "OM_missionspot" }, |
281 | 290 | "target_params": { |
|
293 | 302 | { "math": [ "goingtolabs = 1" ] }, |
294 | 303 | { "run_eocs": [ "EOC_initiate_randomport" ] } |
295 | 304 | ] |
| 305 | + }, |
| 306 | + { |
| 307 | + "type": "effect_on_condition", |
| 308 | + "id": "EOC_SKY_ISLAND_MISSION_DIMENSION_SHIFT", |
| 309 | + "effect": [ |
| 310 | + { "u_location_variable": { "global_val": "OM_HQ_origin" } }, |
| 311 | + { |
| 312 | + "u_location_variable": { "global_val": "OM_HQ_origin_npc" }, |
| 313 | + "passable_only": true, |
| 314 | + "min_radius": 2, |
| 315 | + "max_radius": 10 |
| 316 | + }, |
| 317 | + { |
| 318 | + "u_location_variable": { "global_val": "sky_dimension_teleport_departure" }, |
| 319 | + "z_adjust": -3, |
| 320 | + "z_override": true |
| 321 | + }, |
| 322 | + { |
| 323 | + "u_location_variable": { "global_val": "sky_dimension_teleport_departure_npc" }, |
| 324 | + "z_adjust": -3, |
| 325 | + "z_override": true |
| 326 | + }, |
| 327 | + { |
| 328 | + "location_variable_adjust": { "global_val": "sky_dimension_teleport_departure_npc" }, |
| 329 | + "x_adjust": [ -2, 2 ], |
| 330 | + "y_adjust": [ -2, 2 ] |
| 331 | + }, |
| 332 | + { |
| 333 | + "u_run_npc_eocs": [ |
| 334 | + { |
| 335 | + "id": "EOC_SKY_ISLAND_MISSION_DIMENSION_SHIFT_ADD_NPC_EFFECT", |
| 336 | + "//": "Since NPC teleporting is bugged, the condition here and below prevents this from running for NPCs", |
| 337 | + "condition": { "and": [ "u_following", { "u_has_trait": "GETS_RANDOM_MISSION_NOMOVE" } ] }, |
| 338 | + "effect": [ |
| 339 | + { "u_add_effect": "blind", "duration": 0 }, |
| 340 | + { "u_add_effect": "effect_sky_island_momentary_flight", "duration": 2 }, |
| 341 | + { "u_teleport": { "global_val": "sky_dimension_teleport_departure_npc" }, "force": true }, |
| 342 | + { |
| 343 | + "location_variable_adjust": { "global_val": "sky_dimension_teleport_departure_npc" }, |
| 344 | + "x_adjust": [ -2, 2 ], |
| 345 | + "y_adjust": [ -2, 2 ] |
| 346 | + } |
| 347 | + ] |
| 348 | + } |
| 349 | + ], |
| 350 | + "npc_range": 10, |
| 351 | + "local": true |
| 352 | + }, |
| 353 | + { "u_add_effect": "blind", "duration": 0 }, |
| 354 | + { "u_add_effect": "effect_sky_island_momentary_flight", "duration": 2 }, |
| 355 | + { "u_teleport": { "global_val": "sky_dimension_teleport_departure" }, "force": true }, |
| 356 | + { "u_travel_to_dimension": "dimension_sky_island_mission", "npc_travel_radius": 10, "region_type": "default" } |
| 357 | + ] |
296 | 358 | } |
297 | 359 | ] |
0 commit comments