769 lines
25 KiB
Rust
Executable File
769 lines
25 KiB
Rust
Executable File
use std::collections::HashMap;
|
|
|
|
use itertools::Itertools;
|
|
|
|
pub mod markdown_renderer;
|
|
|
|
pub fn parse_pattern(s: &str) -> Option<Vec<u8>> {
|
|
let no_whitespace = s.replace(char::is_whitespace, "");
|
|
if no_whitespace.len() % 2 == 1 {
|
|
return None;
|
|
}
|
|
|
|
let mut pattern = Vec::with_capacity(no_whitespace.len() / 2);
|
|
for mut chunk in &no_whitespace.chars().chunks(2) {
|
|
let joined = chunk.join("");
|
|
if joined == "??" {
|
|
pattern.push(0);
|
|
continue;
|
|
}
|
|
|
|
let byte = u8::from_str_radix(&joined, 16).ok()?;
|
|
pattern.push(byte);
|
|
}
|
|
|
|
Some(pattern)
|
|
}
|
|
|
|
pub fn find_pattern(mem: &[u8], pattern: &[u8]) -> Option<usize> {
|
|
if pattern.len() > mem.len() {
|
|
return None;
|
|
}
|
|
|
|
let last = pattern.len() - 1;
|
|
let mut offset = 0;
|
|
let max_offset = mem.len() - pattern.len();
|
|
|
|
while offset < max_offset {
|
|
let mut position = last;
|
|
while pattern[position] == mem[position + offset] || pattern[position] == 0 {
|
|
if position == 0 {
|
|
return Some(offset);
|
|
}
|
|
|
|
position -= 1;
|
|
}
|
|
|
|
offset += 1;
|
|
}
|
|
|
|
None
|
|
}
|
|
|
|
pub fn get_static_address(mem: &[u8], mut addr: usize, base: usize) -> Option<usize> {
|
|
loop {
|
|
addr += 1;
|
|
if addr + 4 > mem.len() {
|
|
return None;
|
|
}
|
|
|
|
let array: [u8; 4] = mem[addr..addr + 4].try_into().unwrap();
|
|
let num = i32::from_le_bytes(array) as isize + addr as isize + 4 - base as isize;
|
|
if num > mem.len() as isize || num < 0 {
|
|
continue;
|
|
}
|
|
|
|
let offset = addr as isize + i32::from_le_bytes(array) as isize;
|
|
return Some(offset as usize + 4);
|
|
}
|
|
}
|
|
|
|
pub fn location_name(id: u32) -> &'static str {
|
|
LOCATIONS.get(&id).map(std::ops::Deref::deref).unwrap_or("???")
|
|
}
|
|
|
|
lazy_static::lazy_static! {
|
|
pub static ref LOCATIONS: HashMap<u32, &'static str> = maplit::hashmap! {
|
|
12 => "Main Menu",
|
|
13 => "End Credits",
|
|
48 => "Stockade",
|
|
49 => "Arena",
|
|
51 => "Oubliette",
|
|
53 => "The Lightworks",
|
|
54 => "Great Eastern Passage",
|
|
55 => "Op Sector 36",
|
|
56 => "Special Op Sector 3",
|
|
57 => "Op Sector 37",
|
|
58 => "Op Sector 29",
|
|
61 => "Great Central Passage",
|
|
62 => "The Zeviah Subterrane",
|
|
66 => "North-South Junction",
|
|
69 => "Terminus No. 4",
|
|
70 => "Terminus No. 4 Adjunct",
|
|
71 => "Terminus No. 7",
|
|
124 => "Observation Parlour",
|
|
125 => "Sky Saloon",
|
|
126 => "Air Deck",
|
|
129 => "South Bank Village",
|
|
130 => "North Bank Village",
|
|
132 => "The Yoma",
|
|
133 => "Broken Sands",
|
|
137 => "Uazcuff Hills",
|
|
138 => "Sundered Earth",
|
|
139 => "The Highlands",
|
|
140 => "Fields of Eternity",
|
|
141 => "The Shaded Path",
|
|
142 => "The Chosen Path",
|
|
144 => "The Skytrail",
|
|
145 => "Realm of the Elder Dream",
|
|
146 => "The Lost Way",
|
|
147 => "Garden of Life's Circle",
|
|
148 => "Oliphzak Rise",
|
|
149 => "The Nameless Spring",
|
|
151 => "The Omen-Spur",
|
|
152 => "Trunkwall Road",
|
|
153 => "Diverging Way",
|
|
154 => "Sun-dappled Path",
|
|
155 => "Garden of Decay",
|
|
156 => "Path of Hours",
|
|
157 => "Quietened Trace",
|
|
158 => "Grand Bower",
|
|
162 => "Corridor of Ages",
|
|
163 => "Piebald Path",
|
|
167 => "Greencrag",
|
|
168 => "The Muted Scarp",
|
|
169 => "Vale of Lingering Sorrow",
|
|
170 => "Hope's Reach",
|
|
171 => "Echoes of the Past",
|
|
175 => "The Slumbermead",
|
|
176 => "Succor Midst Sorrow",
|
|
177 => "The Fog Mutters",
|
|
178 => "Overlooking Eternity",
|
|
179 => "Lifeless Strand",
|
|
180 => "Field of the Fallen Lord",
|
|
184 => "Falls of Time",
|
|
185 => "Mirror of the Soul",
|
|
186 => "The Acolyte's Burden",
|
|
187 => "Doubt Abandoned",
|
|
188 => "Skybent Chamber",
|
|
192 => "Destiny's March",
|
|
193 => "Temptation Eluded",
|
|
194 => "Chamber of the Chosen",
|
|
198 => "Hall of Shadowlight",
|
|
200 => "Hall of Lambent Darkness",
|
|
202 => "Hall of the Wroth God",
|
|
209 => "Southern Skirts",
|
|
210 => "Summit Path",
|
|
215 => "Rays of Ashen Light",
|
|
216 => "Empyrean Way",
|
|
217 => "Skyreach Ridge",
|
|
218 => "Trail of Sky-flung Stone",
|
|
219 => "Northern Skirts",
|
|
220 => "Halny Crossing",
|
|
223 => "Empyrean Seat",
|
|
227 => "The Stepping",
|
|
228 => "Yardang Labyrinth",
|
|
229 => "Sand-swept Naze",
|
|
230 => "Banks of the Nebra",
|
|
231 => "Passage Entrance",
|
|
232 => "Murmuring Defile",
|
|
233 => "Outpost",
|
|
236 => "Throne Road",
|
|
237 => "Warrior's Wash",
|
|
238 => "Gizas North Bank",
|
|
239 => "Toam Hills",
|
|
243 => "Nomad Village",
|
|
247 => "Starfall Field",
|
|
248 => "Crystal Glade",
|
|
249 => "Gizas South Bank",
|
|
253 => "Throne Road",
|
|
254 => "Warrior's Wash",
|
|
255 => "Gizas North Bank",
|
|
256 => "Toam Hills",
|
|
260 => "Nomad Village",
|
|
264 => "Starfall Field",
|
|
265 => "Crystal Glade",
|
|
266 => "Gizas South Bank",
|
|
270 => "Tracks of the Beast",
|
|
274 => "Aerial Gardens",
|
|
275 => "Inner Ward",
|
|
279 => "Lower Apartments",
|
|
280 => "Upper Apartments",
|
|
282 => "The Highhall",
|
|
286 => "Energy Transitarium",
|
|
289 => "North End",
|
|
290 => "Muthru Bazaar",
|
|
291 => "East End",
|
|
292 => "Southern Plaza",
|
|
295 => "Amal's Weaponry",
|
|
296 => "Panamis's Protectives",
|
|
297 => "Migelo's Sundries",
|
|
298 => "Yugri's Magicks",
|
|
299 => "Batahn's Technicks",
|
|
300 => "Yamoora's Gambits",
|
|
301 => "Samalzalam Manor",
|
|
302 => "The Clan Hall",
|
|
304 => "The Sandsea",
|
|
305 => "Eastgate",
|
|
306 => "Southgate",
|
|
307 => "Westgate",
|
|
311 => "Central Spur Stairs",
|
|
312 => "East Waterway Control",
|
|
313 => "North Spur Sluiceway",
|
|
314 => "East Spur Stairs",
|
|
315 => "Northern Sluiceway",
|
|
316 => "East Waterway Control",
|
|
318 => "No. 11 Channel",
|
|
319 => "East Sluice Control",
|
|
320 => "West Sluice Control",
|
|
321 => "No. 10 Channel",
|
|
322 => "Central Waterway Control",
|
|
326 => "Southern Sluiceway",
|
|
329 => "Overflow Cloaca",
|
|
332 => "A Vikaari Bhrum",
|
|
333 => "Trahk Pis Praa",
|
|
334 => "Sthaana Pisces",
|
|
335 => "Dha Vikaari Jula",
|
|
336 => "Trahk Jilaam Praa'dii",
|
|
337 => "Sthaana Aries",
|
|
341 => "Crystal Core",
|
|
342 => "No. 1 Cloaca",
|
|
345 => "Galtea Downs",
|
|
346 => "Corridor of Sand",
|
|
347 => "Shimmering Horizons",
|
|
348 => "The Midfault",
|
|
349 => "Windtrace Dunes",
|
|
350 => "The Western Divide",
|
|
354 => "Wyrm's Nest",
|
|
357 => "Shaft Entry",
|
|
358 => "Oltam Span",
|
|
359 => "Transitway 1",
|
|
360 => "Transitway 2",
|
|
365 => "Shunia Twinspan",
|
|
366 => "Site 2",
|
|
367 => "Site 3",
|
|
369 => "Tasche Span",
|
|
372 => "Site 9",
|
|
374 => "Site 11",
|
|
376 => "Site 7",
|
|
379 => "Platform 1 - East Tanks",
|
|
380 => "Platform 1 - Refinery",
|
|
381 => "East Junction",
|
|
382 => "Primary Tank Complex",
|
|
383 => "Central Junction",
|
|
384 => "Platform 1 - South Tanks",
|
|
385 => "Platform 2 - Refinery",
|
|
386 => "Yensa Border Tunnel",
|
|
387 => "South Tank Approach",
|
|
390 => "The Urutan-Yensa Sea",
|
|
391 => "Withering Shores",
|
|
392 => "Augur Hill",
|
|
393 => "Yellow Sands",
|
|
394 => "The Sandscale Bank",
|
|
398 => "Demesne of the Sandqueen",
|
|
399 => "Trail of Fading Warmth",
|
|
400 => "Simoon Bluff",
|
|
403 => "Valley of the Dead",
|
|
406 => "Hall of the Destroyer",
|
|
407 => "Hall of the Sentinel",
|
|
410 => "Royal Passage",
|
|
411 => "Southfall Passage",
|
|
412 => "Northfall Passage",
|
|
415 => "Cloister of Flame",
|
|
418 => "Chamber of First Light",
|
|
421 => "Hall of Effulgent Light",
|
|
422 => "Cloister of Distant Song",
|
|
426 => "Cloister of the Highborn",
|
|
430 => "Hall of the Ivory Covenant",
|
|
431 => "Hall of Slumbering Might",
|
|
438 => "The Crucible",
|
|
441 => "Cloister of Solace",
|
|
444 => "Cloister of Reason",
|
|
447 => "Paths of Chained Light",
|
|
448 => "The Needlebrake",
|
|
449 => "Whisperleaf Way",
|
|
450 => "The Parting Glade",
|
|
453 => "The Rustling Chapel",
|
|
456 => "Dell of the Dreamer",
|
|
459 => "The Branchway",
|
|
460 => "The Greenswathe",
|
|
463 => "Fading Vale",
|
|
464 => "Head of the Silverflow",
|
|
465 => "Freezing Gorge",
|
|
468 => "Frozen Brook",
|
|
469 => "Icebound Flow",
|
|
470 => "Karydine Glacier",
|
|
473 => "Path of the Firstfall",
|
|
474 => "Spine of the Icewyrm",
|
|
475 => "Silverflow's End",
|
|
478 => "The Reseta Strand",
|
|
479 => "Pora-Pora Sands",
|
|
480 => "The Mauleia Strand",
|
|
481 => "Cape Uahuk",
|
|
482 => "Cape Tialan",
|
|
483 => "Kaukula Pass",
|
|
484 => "The Hakawea Shore",
|
|
488 => "Hunters' Camp",
|
|
491 => "Caima Hills",
|
|
492 => "The Vaddu Strand",
|
|
493 => "Limatra Hills",
|
|
494 => "Rava's Pass",
|
|
497 => "Old Elanise Road",
|
|
498 => "Crossfield",
|
|
499 => "The Terraced Bank",
|
|
500 => "Journey's Rest",
|
|
503 => "North Liavell Hills",
|
|
504 => "South Liavell Hills",
|
|
505 => "Feddik River",
|
|
506 => "The Northsward",
|
|
509 => "Footfalls of the Past",
|
|
511 => "Echoes from Time's Garden",
|
|
517 => "City of Other Days",
|
|
518 => "Path of Hidden Blessing",
|
|
522 => "They Who Thirst Not",
|
|
525 => "Field of Fallen Wings",
|
|
526 => "The Switchback",
|
|
527 => "Haulo Green",
|
|
530 => "Dagan Flats",
|
|
531 => "Field of Light Winds",
|
|
532 => "The Greensnake",
|
|
533 => "Sunlit Path",
|
|
536 => "The Shred",
|
|
539 => "Walk of Flitting Rifts",
|
|
540 => "Walk of Stolen Truths",
|
|
541 => "Walk of Dancing Shadow",
|
|
542 => "Antiquity's End",
|
|
545 => "Redolent Glade",
|
|
548 => "White Magick's Embrace",
|
|
549 => "Ice Field of Clearsight",
|
|
550 => "The Edge of Reason",
|
|
552 => "Port Launch",
|
|
555 => "Port Section",
|
|
556 => "Large Freight Stores",
|
|
557 => "Starboard Section",
|
|
558 => "Sub-control Room",
|
|
561 => "Airship Berth Access",
|
|
564 => "Central Brig Access",
|
|
567 => "Cellar Stores",
|
|
568 => "Cellars",
|
|
569 => "Lower Halls",
|
|
570 => "Secret Passage",
|
|
571 => "Treasure Room No. 8",
|
|
572 => "The Garden Stairs",
|
|
576 => "Invitation to Heresy",
|
|
577 => "Sandfalls",
|
|
578 => "Hourglass Basin",
|
|
581 => "The Undershore",
|
|
582 => "Halls of Ardent Darkness",
|
|
585 => "The Balamka Fault",
|
|
586 => "Drybeam Cavern",
|
|
587 => "Darkened Wharf",
|
|
588 => "Canopy of Clay",
|
|
590 => "Athroza Quicksands",
|
|
593 => "Walk of Sky",
|
|
594 => "Walk of Mind",
|
|
597 => "Ward of Measure",
|
|
598 => "Cold Distance",
|
|
599 => "Walk of Prescience",
|
|
600 => "Walk of Reason",
|
|
603 => "Ward of Steel",
|
|
606 => "Ward of Velitation",
|
|
607 => "Walk of Torn Illusion",
|
|
608 => "Walk of Revelation",
|
|
609 => "Ward of the Sword-King",
|
|
612 => "Hall of Worth",
|
|
615 => "Vault of the Champion",
|
|
618 => "Throne of Veiled Gods",
|
|
621 => "A Prama Vikaari",
|
|
622 => "Kabonii Jilaam Pratii'vaa",
|
|
623 => "Kabonii Jilaam Avaa",
|
|
624 => "Dha Vikaari Bhrum",
|
|
625 => "Sthaana Scorpio",
|
|
626 => "A Vikaari Dhebon",
|
|
630 => "West Barbican",
|
|
631 => "Jajim Bazaar",
|
|
632 => "West Ward",
|
|
635 => "Grand Arcade",
|
|
636 => "Highgarden Terrace",
|
|
640 => "Molberry",
|
|
641 => "Trant",
|
|
642 => "Charlotte's Magickery",
|
|
643 => "Bulward's Technicks",
|
|
666 => "Womb of the Sun-cryst",
|
|
668 => "Womb of the Sun-cryst",
|
|
670 => "Heaven's Challenge",
|
|
682 => "Hell's Challenge",
|
|
686 => "Gate of Earth",
|
|
687 => "Gate of Water",
|
|
690 => "The Trimahla Water-Steps",
|
|
691 => "The Aadha Water-Steps",
|
|
694 => "The Haalmikah Water-Steps",
|
|
695 => "Gate of Fire",
|
|
698 => "Gate of Wind",
|
|
701 => "North Sprawl",
|
|
702 => "South Sprawl",
|
|
703 => "Dalan's House",
|
|
704 => "Residence",
|
|
709 => "The Black Watch",
|
|
710 => "The Confiscatory",
|
|
712 => "North Entrance",
|
|
713 => "Pithead Junction A",
|
|
714 => "Phase 1 Shaft",
|
|
715 => "Phase 1 Dig",
|
|
716 => "Crossover A",
|
|
717 => "Pithead Junction B",
|
|
718 => "Staging Shaft",
|
|
719 => "Crossover B",
|
|
722 => "Ore Separation",
|
|
725 => "Phase 2 Dig",
|
|
726 => "Crossover C",
|
|
727 => "Pithead Junction C",
|
|
728 => "Phase 2 Shaft",
|
|
730 => "Special Charter Shaft",
|
|
733 => "Special Charter Dig",
|
|
736 => "Hall of the Light",
|
|
737 => "Hall of the Light",
|
|
738 => "Temple Grounds",
|
|
741 => "Temple Approach",
|
|
742 => "Sand-strewn Pass",
|
|
745 => "Nilbasse",
|
|
746 => "Rienna",
|
|
747 => "Vint's Armaments",
|
|
748 => "Granch's Requisites",
|
|
749 => "Lebleu's Gambits",
|
|
751 => "Banks of the Sogoht",
|
|
752 => "Lull of the Land",
|
|
753 => "The Elderknoll",
|
|
756 => "Tsenoble",
|
|
762 => "Alley of Muted Sighs",
|
|
763 => "Alley of Low Whispers",
|
|
766 => "Fane of the Path",
|
|
767 => "The Spiritwood",
|
|
768 => "Road of Verdant Praise",
|
|
774 => "Periphery",
|
|
775 => "Catwalk",
|
|
776 => "Antechamber",
|
|
777 => "Antechamber",
|
|
779 => "Central Lift",
|
|
782 => "Central Shaft",
|
|
785 => "Cannon Superstructure",
|
|
788 => "Aerodrome (Rabanastre)",
|
|
791 => "Aerodrome (Bhujerba)",
|
|
794 => "Aerodrome (Archades)",
|
|
797 => "Aerodrome (Balfonheim Port)",
|
|
800 => "Aerodrome (Nalbina Town)",
|
|
803 => "Travica Way",
|
|
804 => "Cloudborne Row",
|
|
805 => "Miners' End",
|
|
806 => "Lhusu Square",
|
|
809 => "Khus Skygrounds",
|
|
810 => "Kaff Terrace",
|
|
813 => "Targe's Arms",
|
|
814 => "Rithil's Protectives",
|
|
816 => "Mait's Magicks",
|
|
817 => "Clio's Technicks",
|
|
818 => "Bashketi's Gambits",
|
|
819 => "The Staras Residence",
|
|
820 => "The Cloudborne",
|
|
823 => "Sea Breeze Lane",
|
|
824 => "Gallerina Marketplace",
|
|
825 => "Quayside Court",
|
|
826 => "Saccio Lane",
|
|
827 => "Chivany Breakwater",
|
|
828 => "Canal Lane",
|
|
833 => "Beruny's Armaments",
|
|
834 => "Odo's Technicks",
|
|
835 => "Port Villa",
|
|
836 => "The Whitecap",
|
|
837 => "Port Villa",
|
|
838 => "No. 11 Channel",
|
|
839 => "No. 11 Channel",
|
|
840 => "East Sluice Control",
|
|
841 => "Southern Sluiceway",
|
|
842 => "West Sluice Control",
|
|
843 => "No. 10 Channel",
|
|
844 => "No. 10 Channel",
|
|
845 => "No. 3 Cloaca Spur",
|
|
846 => "No. 3 Cloaca Spur",
|
|
847 => "No. 1 Cloaca",
|
|
848 => "No. 4 Cloaca Spur",
|
|
849 => "No. 4 Cloaca Spur",
|
|
850 => "Central Waterway Control",
|
|
854 => "C.D.B.",
|
|
856 => "Dalan's Marker",
|
|
871 => "Bridge",
|
|
872 => "Battle Launch",
|
|
876 => "Brig No. 1",
|
|
888 => "Crystal Peak",
|
|
891 => "East-West Bypass",
|
|
892 => "The Zeviah Span",
|
|
893 => "West Annex",
|
|
894 => "Terminus No. 7 Adjunct",
|
|
895 => "Special Op Sector 5",
|
|
898 => "Colosseum",
|
|
901 => "Lasche Span",
|
|
902 => "Site 5",
|
|
903 => "Site 6 South",
|
|
904 => "Site 6 North",
|
|
905 => "Staging Area",
|
|
908 => "Living Chasm",
|
|
916 => "Siti Bhrusuna",
|
|
926 => "A Vikaari Kabonii",
|
|
927 => "Sthaana Cancer",
|
|
928 => "Bhrum Pis Avaa",
|
|
929 => "Bhrum Pis Pratii",
|
|
930 => "Dha Vikaari Trahk",
|
|
933 => "Site 2",
|
|
934 => "Shunia Twinspan",
|
|
935 => "Transitway 1",
|
|
936 => "Oltam Span",
|
|
939 => "Dha Vikaari Kabonii",
|
|
940 => "A Vikaari Kanbhru Ra",
|
|
941 => "Dhebon Jilaam Praa'dii",
|
|
942 => "Dhebon Jilaam Pratii'dii",
|
|
943 => "Sthaana Sagittarius",
|
|
944 => "A Vikaari Sirhru Pratii",
|
|
945 => "A Vikaari Sirhru Praa",
|
|
946 => "Dhebon Jilaam Avaapratii",
|
|
947 => "A Vikaari Sirhru Si",
|
|
949 => "Dhebon Jilaam Avaa",
|
|
952 => "Dha Vikaari Dhebon Praa",
|
|
953 => "Dha Vikaari Dhebon Pratii",
|
|
954 => "Sirhru Phullam Praa",
|
|
955 => "Sthaana Leo",
|
|
956 => "Sirhru Phullam Praa'vaa",
|
|
957 => "Sirhru Phullam Pratii'vaa",
|
|
958 => "Sthaana Gemini",
|
|
959 => "Sirhru Phullam Udiipratii",
|
|
960 => "Sirhru Jilaam Praa'dii",
|
|
961 => "Sirhru Jilaam Pratii'dii",
|
|
962 => "Sirhru Jilaam Praa",
|
|
963 => "Sirhru Jilaam Pratii",
|
|
964 => "Sirhru Jilaam Praa'vaa",
|
|
965 => "Sirhru Jilaam Pratii'vaa",
|
|
966 => "Sirhru Pis Praa",
|
|
967 => "Sirhru Pis Pratii",
|
|
968 => "Sirhru Pis Avaa",
|
|
969 => "Sirhru Jilaam Avaapratii",
|
|
970 => "Sirhru Jilaam Avaapraa",
|
|
971 => "A Vikaari Uldobi",
|
|
972 => "A Vikaari Uldobi Si",
|
|
973 => "Dha Vikaari Dhebon Si",
|
|
979 => "Dha Vikaari Sirhru",
|
|
980 => "Sthaana Virgo",
|
|
981 => "Uldobi Jilaam Praa'dii",
|
|
982 => "Uldobi Jilaam Pratii",
|
|
983 => "Uldobi Jilaam Praa",
|
|
984 => "Uldobi Phullam Pratii'dii",
|
|
985 => "Sthaana Capricorn",
|
|
986 => "Dha Vikaari Sirhru Si",
|
|
987 => "Uldobi Phullam Udiipraa",
|
|
988 => "Uldobi Phullam Pratii'vaa",
|
|
989 => "Uldobi Phullam Praa'vaa",
|
|
990 => "Uldobi Phullam Pratii",
|
|
991 => "Sthaana Taurus",
|
|
992 => "Sthaana Libra",
|
|
993 => "Uldobi Jilaam Praa'vaa",
|
|
994 => "Uldobi Jilaam Pratii'vaa",
|
|
995 => "Uldobi Jilaam Avaa",
|
|
996 => "A Vikaari Kanbhru",
|
|
1002 => "Dha Vikaari Uldobi",
|
|
1003 => "Kanbhru Pis",
|
|
1004 => "Dha Vikaari Dhebon Ra",
|
|
1005 => "Sthaana Aquarius",
|
|
1008 => "66th Floor",
|
|
1009 => "Rm 6613 West",
|
|
1010 => "Rm 6613 East",
|
|
1011 => "Rm 6612 West",
|
|
1013 => "Rm 6611 West",
|
|
1014 => "Rm 6611 East",
|
|
1015 => "Rm 6602 West",
|
|
1016 => "Rm 6601 West",
|
|
1017 => "Rm 6602 East",
|
|
1018 => "Rm 6601 East",
|
|
1019 => "67th Floor",
|
|
1020 => "Rm 6711 West",
|
|
1021 => "Rm 6711 East",
|
|
1023 => "Rm 6703 West",
|
|
1024 => "Rm 6704 East",
|
|
1025 => "Rm 6703 East",
|
|
1026 => "Rm 6702 West",
|
|
1027 => "Rm 6701 West",
|
|
1028 => "Rm 6702 East",
|
|
1030 => "68th Floor",
|
|
1031 => "69th Floor",
|
|
1036 => "66th Floor",
|
|
1037 => "Rm 6613 West",
|
|
1038 => "Rm 6613 East",
|
|
1039 => "Rm 6612 West",
|
|
1041 => "Rm 6611 West",
|
|
1042 => "Rm 6611 East",
|
|
1043 => "Rm 6602 West",
|
|
1044 => "Rm 6601 West",
|
|
1045 => "Rm 6602 East",
|
|
1046 => "Rm 6601 East",
|
|
1047 => "70th Floor",
|
|
1048 => "Rm 7002 West",
|
|
1049 => "Rm 7001 West",
|
|
1050 => "Rm 7002 East",
|
|
1054 => "67th Floor",
|
|
1055 => "Rm 6711 West",
|
|
1056 => "Rm 6711 East",
|
|
1058 => "Rm 6703 West",
|
|
1059 => "Rm 6704 East",
|
|
1060 => "Rm 6703 East",
|
|
1061 => "Rm 6702 West",
|
|
1062 => "Rm 6701 West",
|
|
1063 => "Rm 6702 East",
|
|
1067 => "68th Floor",
|
|
1068 => "Rm 6814 West",
|
|
1069 => "Rm 6814 East",
|
|
1070 => "Rm 6813 West",
|
|
1071 => "Rm 6813 East",
|
|
1072 => "Rm 6812 West",
|
|
1073 => "Rm 6812 East",
|
|
1074 => "Rm 6811 West",
|
|
1075 => "Rm 6811 East",
|
|
1076 => "Rm 6804 West",
|
|
1077 => "Rm 6803 West",
|
|
1078 => "Rm 6804 East",
|
|
1079 => "Rm 6803 East",
|
|
1080 => "Rm 6802 West",
|
|
1081 => "Rm 6801 West",
|
|
1082 => "Rm 6802 East",
|
|
1083 => "Rm 6801 East",
|
|
1088 => "Rm 6912 East",
|
|
1089 => "Rm 6911 West",
|
|
1091 => "Rm 6904 West",
|
|
1094 => "Rm 6903 East",
|
|
1095 => "Rm 6902 West",
|
|
1096 => "Rm 6901 West",
|
|
1098 => "Rm 6901 East",
|
|
1101 => "The Wellspring",
|
|
1102 => "Horizon's Break",
|
|
1103 => "The Reach",
|
|
1104 => "Reach of the Damned",
|
|
1105 => "Reach of the Occult",
|
|
1111 => "Wellspring Labyrinth",
|
|
1113 => "Dunes of Profaning Wind",
|
|
1114 => "Blackrock Vault",
|
|
1115 => "Wellspring Ravel - 1st Flight",
|
|
1116 => "Wellspring Ravel - 2nd Flight",
|
|
1118 => "Wellspring Ravel - 3rd Flight",
|
|
1119 => "Wellspring Ravel - 4th Flight",
|
|
1121 => "Marsh of Profaning Wind",
|
|
1122 => "Horizon's Cusp",
|
|
1123 => "Penumbra - Interior",
|
|
1124 => "Penumbra - North",
|
|
1125 => "Penumbra - South",
|
|
1126 => "Umbra - Interior",
|
|
1127 => "Umbra - North",
|
|
1128 => "Umbra - South",
|
|
1129 => "Abyssal - Interior",
|
|
1130 => "Abyssal - North",
|
|
1131 => "Abyssal - South",
|
|
1132 => "Cleft of Profaning Wind",
|
|
1133 => "The Bounds of Truth",
|
|
1134 => "Station of Banishment",
|
|
1136 => "Station of Suffering",
|
|
1138 => "Station of Ascension",
|
|
1140 => "Spire Ravel - 1st Flight",
|
|
1141 => "Spire Ravel - 2nd Flight",
|
|
1143 => "Empyrean Ravel",
|
|
1145 => "Overflow Cloaca",
|
|
1150 => "Air Deck",
|
|
1151 => "Babbling Vale",
|
|
1153 => "Withering Shores",
|
|
1155 => "Stage 1",
|
|
1156 => "Stage 2",
|
|
1157 => "Stage 3",
|
|
1158 => "Stage 4",
|
|
1159 => "Stage 5",
|
|
1163 => "Stage 6",
|
|
1164 => "Stage 7",
|
|
1165 => "Stage 8",
|
|
1166 => "Stage 9",
|
|
1167 => "Stage 10",
|
|
1171 => "Stage 11",
|
|
1172 => "Stage 12",
|
|
1173 => "Stage 13",
|
|
1174 => "Stage 14",
|
|
1175 => "Stage 15",
|
|
1179 => "Stage 16",
|
|
1180 => "Stage 17",
|
|
1181 => "Stage 18",
|
|
1182 => "Stage 19",
|
|
1183 => "Stage 20",
|
|
1187 => "Stage 21",
|
|
1188 => "Stage 22",
|
|
1189 => "Stage 23",
|
|
1190 => "Stage 24",
|
|
1191 => "Stage 25",
|
|
1195 => "Stage 26",
|
|
1196 => "Stage 27",
|
|
1197 => "Stage 28",
|
|
1198 => "Stage 29",
|
|
1199 => "Stage 30",
|
|
1203 => "Stage 31",
|
|
1204 => "Stage 32",
|
|
1205 => "Stage 33",
|
|
1206 => "Stage 34",
|
|
1207 => "Stage 35",
|
|
1211 => "Stage 36",
|
|
1212 => "Stage 37",
|
|
1213 => "Stage 38",
|
|
1214 => "Stage 39",
|
|
1215 => "Stage 40",
|
|
1219 => "Stage 41",
|
|
1220 => "Stage 42",
|
|
1221 => "Stage 43",
|
|
1222 => "Stage 44",
|
|
1223 => "Stage 45",
|
|
1227 => "Stage 46",
|
|
1228 => "Stage 47",
|
|
1229 => "Stage 48",
|
|
1230 => "Stage 49",
|
|
1231 => "Stage 50",
|
|
1235 => "Stage 51",
|
|
1236 => "Stage 52",
|
|
1237 => "Stage 53",
|
|
1238 => "Stage 54",
|
|
1239 => "Stage 55",
|
|
1243 => "Stage 56",
|
|
1244 => "Stage 57",
|
|
1245 => "Stage 58",
|
|
1246 => "Stage 59",
|
|
1247 => "Stage 60",
|
|
1251 => "Stage 61",
|
|
1252 => "Stage 62",
|
|
1253 => "Stage 63",
|
|
1254 => "Stage 64",
|
|
1255 => "Stage 65",
|
|
1259 => "Stage 66",
|
|
1260 => "Stage 67",
|
|
1261 => "Stage 68",
|
|
1262 => "Stage 69",
|
|
1263 => "Stage 70",
|
|
1267 => "Stage 71",
|
|
1268 => "Stage 72",
|
|
1269 => "Stage 73",
|
|
1270 => "Stage 74",
|
|
1271 => "Stage 75",
|
|
1275 => "Stage 76",
|
|
1276 => "Stage 77",
|
|
1277 => "Stage 78",
|
|
1278 => "Stage 79",
|
|
1279 => "Stage 80",
|
|
1283 => "Stage 81",
|
|
1284 => "Stage 82",
|
|
1285 => "Stage 83",
|
|
1286 => "Stage 84",
|
|
1287 => "Stage 85",
|
|
1291 => "Stage 86",
|
|
1292 => "Stage 87",
|
|
1293 => "Stage 88",
|
|
1294 => "Stage 89",
|
|
1295 => "Stage 90",
|
|
1299 => "Stage 91",
|
|
1300 => "Stage 92",
|
|
1301 => "Stage 93",
|
|
1302 => "Stage 94",
|
|
1303 => "Stage 95",
|
|
1307 => "Stage 96",
|
|
1308 => "Stage 97",
|
|
1309 => "Stage 98",
|
|
1310 => "Stage 99",
|
|
1311 => "Stage 100",
|
|
};
|
|
}
|