1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-06-30 11:47:45 +00:00

Script the Mothercrystal exit, stop panicking if warp isn't found

I guess this might be because a planevent fails to load, but I'm not
confident about that.
This commit is contained in:
Joshua Goins 2025-06-21 14:23:56 -04:00
parent bdd98820e7
commit 4146261c40
3 changed files with 14 additions and 9 deletions

View file

@ -68,6 +68,7 @@ registerEvent(131205, "common/GenericWarp.lua") -- Exit Cloud Nine to Ishgard: F
registerEvent(131246, "common/GenericWarp.lua") -- Exit Bokairo Inn to Kugane
registerEvent(131312, "common/GenericWarp.lua") -- Exit The Pendants Personal Suite to Crystarium
registerEvent(131402, "common/GenericWarp.lua") -- Exit Andron to Old Sharlayan
registerEvent(131428, "common/GenericWarp.lua") -- Mothercrystal Exit (note: warp doesn't work for some reason?)
registerEvent(131578, "common/GenericWarp.lua") -- Exit The For'ard Cabins to Tuliyollal
registerEvent(327683, "common/GenericAetheryte.lua") -- Bentbranch Meadows Aetheryte
registerEvent(720916, "custom/000/cmndefinnbed_00020.lua")

View file

@ -9,6 +9,6 @@ function onReturn(scene, results, player)
if results[1] == 1 then
-- get warp
player:warp(EVENT_ID)
player:warp(EVENT_ID)
end
end

View file

@ -384,14 +384,18 @@ impl ZoneConnection {
let new_zone = Zone::load(&mut game_data.game_data, zone_id);
// find it on the other side
let (object, _) = new_zone.find_pop_range(pop_range_id).unwrap();
// set the exit position
self.exit_position = Some(Position {
x: object.transform.translation[0],
y: object.transform.translation[1],
z: object.transform.translation[2],
});
if let Some((object, _)) = new_zone.find_pop_range(pop_range_id) {
self.exit_position = Some(Position {
x: object.transform.translation[0],
y: object.transform.translation[1],
z: object.transform.translation[2],
});
} else {
tracing::warn!(
"Failed to find pop range in {}. Falling back to 0,0,0!",
new_zone.id
);
}
territory_type = zone_id;
}