# Preferences P softerChecks on # Macros = cornucopia n [ a cornucopia At [ { gain crystal*{n}; deactivate } ] ] = haveCrystal n [ A set crystal*{n} n has: crystal*{n} ] = deathRevert [ E death R ] = corruptNode [ gd corruptNode ] = jaunt where [ p {where} g jaunt ] = bossDoor name [ o {name} gt bossDoor q Apino ] = boss who level [ oa fight{who} gt bossFight e [ { <{level}>sum(combat, {who}){ gain defeated{who}; save; deactivate }{ goto endings//death } } ] ] = failBossRevert who [ !ta fight{who}%f R ] = beatBoss who [ ta fight{who}%s # This means that further 'At's after > beatBoss will correctly only # be available if you beat the boss: a claimReward{who} q defeated{who} At deactivate gt trigger ] = useSavePoint [ a save At save ] = enemy which [ gd enemy{which} ] = seeSwitch [ m switch:unhit oa hitSwitch q Apino e { set switch:hit; deactivate } ] = switch [ m switch:unhit a hitSwitch q Apino At { set switch:hit; deactivate } ] = namedSwitch name [ m switch{name}:unhit a hitSwitch{name} q Apino At { set switch{name}:hit; deactivate } ] = seeNamedSwitch name [ m switch{name}:unhit oa hitSwitch{name} q Apino e { set switch{name}:hit; deactivate } ] = recessedSwitch [ m switch:unhit a hitSwitch q Apino&ClawsOfBelial At { set switch:hit; deactivate } ] = snakeConsole [ m console:inactive oa console q ?snakeConsoles e { set console:active; deactivate } ] = console color [ m console:inactive oa console q ?{color}Consoles e { set console:active; deactivate } ] = multiSnakeConsole name [ m console{name}:inactive oa console{name} q ?snakeConsoles e { set console{name}:active; deactivate } ] = multiConsole color name [ m console{name}:inactive oa console{name} q ?{color}Consoles e { set console{name}:active; deactivate } ] = combat enemy level [ m combat:unresolved oa fight e [ { <{level}>sum(combat,{enemy}){ set combat:victory; deactivate }{ set combat:defeat; goto endings//death } } ] ] = lose [ !ta fight%f ] = win [ ta fight%s ] = grab what [ a grab At { gain {what}; deactivate } ] = quest which [ g quest{which} active At gain quest{which}Progress*1 ] = questProgress which [ g quest{which} advanced At gain quest{which}Progress*1 ] = questComplete which [ g quest{which} complete At gain quest{which}Complete ] = upgradeMenu who [ # TODO: Should this be a v? o talkTo{who} {who}UpgradeMenu::menu backTo{__zone__} e gain cameFrom{__zone__} qr cameFrom{__zone__} er lose cameFrom{__zone__} gb virtual t talkTo{who} n at: {who}UpgradeMenu::menu gd menu ] = leaveMenu zone [ t backTo{zone} n at: {zone}::main ] = logVisits [ a visit e { gain visited{__zone__}; deactivate } gt trigger ] = poisonHere [ # Using oa means we don't trigger it immediately but we will if a # second or subsequent action ends up in this position. This makes # sense (although is not precise) because the poison does have a timer # before it actually hurts us. oa poisoned q !?poisonResist e lose health*30 gt trigger ] # Note: we can't add '!poison:suppressed' to the normal poison macro, # because mechanism search would find distant poison mechanisms and read # their state. But using this one in a zone where a 'poison' mechanism # has been set up is safe. = suppressiblePoisonHere [ oa poisoned q !?poisonResist&!poison:suppressed e lose health*30 gt trigger ] = heatHere [ # See poisonHere oa heated q !?heatResist e lose health*50 gt trigger ] = suppressibleHeatHere [ oa heated q !?heatResist&!heat:suppressed e lose health*50 gt trigger ] = darkSlate [ m darkSlate:intact oa breakDarkSlate q ?canBreakDarkSlate e { set darkSlate:broken; deactivate } ] = darkSlateObverse [ oa breakDarkSlate q ?canBreakDarkSlate e { set darkSlate:broken; deactivate } ] # Needed if the obverse alone would be ambiguous: = darkSlateObverseTo where [ oa breakDarkSlate q ?canBreakDarkSlate e { set {where}::darkSlate:broken; deactivate } ] # Set up decision points for goto effects domain endings @ death @ @ @ curseDispelled @ @ # Journal g time: 2024-2-12:15:20 n [ Nine years ago, a curse spread from the castle, stealing color from the world and bringing sorrow. ] domain main S SnakeElevatorRoom::main > logVisits m leftDoor:closed o left qb leftDoor:open o right o up upper down q ?flight|?wallJump @ SnakeElevatorRoom::upper o right # visible on the map @ @ xt right LightningCorridor::main left x right JumpTutorial::bottom left o up top down o right qb ?shimmeringDoor xt up n at: JumpTutorial::top m topLeftDoor:closed o left qb topLeftDoor:open x right SwarmersHallway::main left > enemy Swarmer x right LeafyStaircase::bottom left x up top down o right qb ?shimmeringDoor x left CrystalChamber::main right a examine n [ Crystal mentions Amfibis, Pethiko, and Capra, three ancient gods/titans? ] x left OrbStairs::top right o down bottom up x left HiddenCornucopia::main right gt hidden > cornucopia 24 > haveCrystal 36 t right n at: OrbStairs::top xt down n at: OrbStairs::bottom o right qb ?shimmeringDoor n [ Upon attempting to attack the door, I get text saying that dark crystals can only be destroyed by light. ] o left gt hidden n [ Having this exit both appear on the map and also require breaking through the wall helps set the expectation that secrets will be scattered around. Very Super-Metroid-like. ] xt left UpperLightningHallway::rightSide right m chase:ongoing qr chase:over A save n [ There's a chase sequence here. ] x left leftSide right qr chase:over gt forced x left SnakeElevatorRoom::upper right qr chase:over gt forced n [ Here I tried to attack the apparition and touched it which killed me. ] > deathRevert n at: UpperLightningHallway::rightSide t left n at: UpperLightningHallway::leftSide t left n at: SnakeElevatorRoom::upper t down n at: SnakeElevatorRoom::main n level: combat^0 n level: BlueDemon^0 > boss BlueDemon -1 > beatBoss BlueDemon n [ We lose to the unavoidable beam attack but PLOT happens. Apino shows up. We right-click to hug the teddy bear, and our wounds are healed + color is restored! ] At gain Apino At set UpperLightningHallway::rightSide::chase:over @t right # TODO: Any special syntax for a revision that's known to be an # alteration? q ?shimmeringDoor @ @ F Apino ?shimmeringDoor zz SectorA_TalosEntrance t right n at: LightningCorridor::main t right n at: JumpTutorial::bottom xt right TutorialPiano::main left > useSavePoint n can: Apino g time: 2024-2-12:16:00 n [ Time for my meeting. ] w g time: 2024-2-16:22:39 n [ A bit of time to play before bed... ] t left t up t right n at: SwarmersHallway::main > enemy Flappy t right n at: LeafyStaircase::bottom > enemy Flappy t up n at: LeafyStaircase::top > enemy Flappy xt right FloatingPlatformsAscent::main left o bottomRight > enemy Shooter o midLeft x up top down > switch o topLeft q switch:hit x left TowerBugsJunction::rightSide right > enemy TowerBug > cornucopia 24 > haveCrystal 93 x aroundAbove midRight aroundRight qr ?higherJump|?wallJump o left n [ I think this might be a boss or miniboss, so I back off... ] n [ ...only to find that I can't! I can't jump high enough to get back. So let's revise a bit. ] xt left midChamber right qr combat:victory > enemy AxeArmor n [ Super easy miniboss; really just a tutorial. ] n level: combat^0 > combat AxeArmor -1 > win x left bottomLeft right q combat:victory o up n [ This path has beams going on. ] o left gt music n [ This path has golden music notes driftin out. A save point? ] xt left TrumpetRoom::main right a talkToWynton At deactivate n [ We meet the trumpet player from an orchestra who was hiding here. They're here to play a concert, but got separated. There's a guard with a giant hammer; if we take care of it he'll make it worth our while. His name is Wynton. ] > quest ThePathToBravery t right n [ Now that I'm pretty sure this is progress I regret that I can't go back to the FloatingPlatformsAscent... Hopefully I'll get the power to go back there soon? ] n at: TowerBugsJunction::bottomLeft xt up topLeft down o right topMid left qb ?greenZoom x left CorkscrewWall::main right > enemy TowerBug > enemy Flappy o left qb ?greenZoom x up DistortionHallway::rightSide down > switch x left mid right q switch:hit > enemy Flappy > enemy SwordKnight > combat SwordKnight 1 > lose n [ I was really stupid and used all my health shooting then walked into it. Supposed to be a dodging tutorial T_T ] R n at: TutorialPiano::main n [ Our money fully reverts, as does our map. ] n can: Apino # our capabilities don't revert, right? n [ I'm not that sad since I get to re-explore the FloatingPlatformsAscent forks. ] > jaunt FloatingPlatformsAscent::main xt bottomRight DimTheaterFoyer::main left m door:closed o right qb door:open t left n at: FloatingPlatformsAscent::main xt midLeft CrystalNook::rightSide right o overLeft leftSide overRight q ?wallJump|?flameBoost @ CrystalNook::leftSide oa crystal @ @ t right n at: FloatingPlatformsAscent::main > jaunt TowerBugsJunction::midChamber > win t left t left n at: TrumpetRoom::main ta talkToWynton # TODO: Quest state that can be reset by a death? > quest ThePathToBravery > jaunt DistortionHallway::mid A gain combat^1 n level: combat^1 > win n [ It's a near thing but I did learn about dodging! Also apparenlty attacking enemies refreshes lullaby charges pretty quickly? Health seems very flexible in this game. ] x left leftSide right q combat:victory n [ I actually did try to iframes past the knight but failed. Thankfully I still beat it. ] x left SnakeElevatorFloor2::main bottomRight > logVisits o topRight o topLeft o bottomLeft n [ My quest marker indicates that the upper-left here is a boss fight. Let's look for a save point on one of the other doors first! # TODO: Formal notation for this sort of thing! ] n [ From the future: that wasn't a boss fight!... T_T ] @t topLeft gd destination:ThePathToBravery @ @ n [ This quest desitation notation is actually... not correct. The pink color is because it's a theater. In fact, quest destinations are NOT marked on the map at all... ] > snakeConsole n [ Note that this console looks like the JumpTutorial::top one; I hope I ended up implementing fulfillment for mechanism states... ] xt topRight LonelyCrystal left o right a breakCrystal At { gain blueNote*1; deactivate } n has: blueNote*1 xt right BlueNotePiano::main left > useSavePoint n [ I'm mystified as to what the blue note actually does... It said "Relic acquired" but what does that mean? ] t left t left n at: SnakeElevatorFloor2::main xt bottomLeft FloatingCrystalsHall::main right > enemy EvilCrystal > namedSwitch A x down LasersVertical::top up qb switchA:hit o downRight n [ Lasers this way, let's wait. ] x downLeft bottomLeft up o left @ LasersVertical::bottomRight > seeNamedSwitch B @ @ qb switchB:hit # TODO: This won't activate it since we're in relative mode, right? # TODO: Prevent 'A' from triggering effects in relative mode! # n can: !switchB:hit t up n at: LasersVertical::top xt downRight bottomRight up ta hitSwitchB o zoomRight qb ?greenZoom o zoomLeft qb ?greenZoom t up t downLeft n at: LasersVertical::bottomLeft xt left ZoomyJunction::rightSide topRight > enemy EvilCrystal @ LasersVertical::bottomRight Xt zoomLeft o zoomLeft ZoomyJunction::rightSide zoomRight qb ?greenZoom @ @ o zoomThrough topAndLeft zoomThrough qb ?greenZoom o bottomRight > enemy AxeArmor > snakeConsole n [ Not sure what this one activates... ] x up topAndLeft down > snakeConsole o up qb console:active > enemy Shooter > enemy TowerBug > enemy EvilCrystal > switch o bottomLeft qb switch:hit t down xt bottomRight LeafyStudy::main left a shatterGlobe At { gain CartographersJournal; deactivate } n [ A map of this area. Quite nice! ] t left n at: ZoomyJunction::rightSide t up n at: ZoomyJunction::topAndLeft xt bottomLeft SnakeWaterfalls::top right x down main up qr ?flight|?swimUp o midRight o bottomRight o left n [ Map helps me decide here! Mid right is only one square, as is bottom left (and that's yellow). ] xt midRight BigCrystalRoom::main left > grab WhirlwindStrike n [ Sweet we got charge beam! :P ] n [ Between this and getting good; I'm better now. ] A gain combat^1 n level: combat^2 t left n at: SnakeWaterfalls::main x bottomLeft AnotherDimTheaterFoyer::main right m door:closed o left qb door:open t right n at: SnakeWaterfalls::main xt bottomRight GoldenBath::top left > enemy Flappy o down q ?swimUnder x right NarrowWindowsJunction::top left > enemy Flappy > enemy GreenShooty > enemy SwordKnight > combat SwordKnight 1 > win x right rightSide topLeft q combat:victory o topRight o bottomRight # looks like a boss door maybe? gt toBoss q Apino > multiSnakeConsole A m midNookDoor:closed o midUp midNook down qb midNookDoor:open @ NarrowWindowsJunction::midNook > multiSnakeConsole B @ @ m leftDoor:closed o left bottomLeft right q leftDoor:open @ NarrowWindowsJunction::bottomLeft > multiSnakeConsole C o left # via the map @ @ xt topRight AreaMidPiano::main left > useSavePoint t left n at: NarrowWindowsJunction::rightSide xt bottomRight SwordPilesChamber::main left > boss SwordAndShieldKnight 1 > beatBoss SwordAndShieldKnight n [ Weird fight. It blocks everything except high attacks over the shield, but only uses one easily dodgable sword attack? Felt like most of the tools I've been learning were useless here. ] o right q defeatedSwordAndShieldKnight t left t topRight ta save t left t bottomRight n at: SwordPilesChamber::main xt right GreenCrystalChamber::leftSide left x right rightSide left > snakeConsole @t left q console:active @ @ > grab GraceOfZeus F GraceOfZeus ?snakeConsoles ta console t left n at: GreenCrystalChamber::leftSide t left qr !GraceOfZeus|defeatedSwordAndShieldKnight2 n at: SwordPilesChamber::main > boss SwordAndShieldKnight2 0 > beatBoss SwordAndShieldKnight2 n [ This time we pierce its shield. Makes the previous fight make a lot more sense. ] @t left q !GraceOfZeus|defeatedSwordAndShieldKnight2 @ @ t left t topRight n at: AreaMidPiano::main t left n at: NarrowWindowsJunction::rightSide ta consoleA F NarrowWindowsJunction::rightSide::consoleA:active NarrowWindowsJunction::rightSide::midNookDoor:open n can: midNookDoor:open xt midUp n at: NarrowWindowsJunction::midNook ta consoleB F NarrowWindowsJunction::midNook::consoleB:active NarrowWindowsJunction::rightSide::leftDoor:open t down n at: NarrowWindowsJunction::rightSide xt left n at: NarrowWindowsJunction::bottomLeft ta consoleC > multiSnakeConsole D ta consoleD xt left GoldenBath::mid right qb consoleC:active&consoleD:active o fallDown bottom upRight qr ?flight|?swimUp o jumpAcross leftLedge jumpAcross qb ?higherJump|?swimUp|?flight @ GoldenBath::leftLedge > cornucopia 24 o fallDown bottom upLeft qr ?flight|?swimUp|?wallJump @ @ xt fallDown n [ I tried to get across but you can't, I'm pretty sure. ] n at: GoldenBath::bottom n [ Meta: An idiom at play here is that becuase I was already one-wayed at the SnakeWaterfalls, I don't mind being one-wayed again here. They also ensure you get the GraceOfZeus before getting one-wayed here. ] x right GoldenIslets::top left > enemy GreenShooty > enemy Flappy o down q ?swimUnder x right TallAndNarrow::main left m platform:inactive er set platform:inactive @ TallAndNarrow::top > snakeConsole o fallLeft main jumpUp qr ?higherJump|?wallJump @ a activatePlatform At { set platform:active } n [ The platform is on a timer, but I'm not going to annotate that. ] o bottomRight q console:active e set platform:inactive x rideUp top rideDown ta console x jumpRight rightLedge jumpUp qr ?higherJump o right e set platform:inactive r fallDown main rideUpRight qr platform:active xt bottomRight TwoEntrancesPiano::main left > useSavePoint o right n [ Map shows this completes the loop to the starting room, but now I want to explore the branch above first. ] t left n at: TallAndNarrow::main ta activatePlatform t rideUpRight n at: TallAndNarrow::rightLedge xt right PhasingPlatformPair::leftSide left m platform:right a callPlatform At set platform:left x upRight top downLeft q platform:left|?higherJump|?flight x downRight rightSide upLeft qr platform:right|?higherJump|?flight oa callPlatform At set platform:right x right AncientFragmentRoom::main left > grab ancientFragment*1 > jaunt TwoEntrancesPiano::main ta save xt right ReturnAntechamber::main left o right gt boss xt right GreenLinesChamber::main left n level: combat^2 > boss DwarfWarrior 3 > failBossRevert DwarfWarrior A gain DwarfWarrior^1 n level: DwarfWarrior^1 n at: TwoEntrancesPiano::main t right t right > beatBoss DwarfWarrior > questProgress ThePathToBravery n [ So there's no limit to lullabies in combat, you just need to time them. Pretty forgiving, and getting shield from hitting enemeies also lets you tank stuff. I kind of like this combat system. ] n [ Note to self: game saves on boss death; I don't need to manually save. ] r right SnakeElevatorRoom::main q defeatedDwarfWarrior > snakeConsole ta console x rideElevator MainElevatorMenu::menu toFloor1 gd menu qr visitedSnakeElevatorRoom # Each destination unlocks permanently once visited (I'm assuming) o toFloor2 SnakeElevatorFloor2::main rideElevator q visitedSnakeElevatorFloor2 o toBasement1 SnakeElevatorBasement1::main rideElevator q visitedSnakeElevatorBasement1 @ SnakeElevatorBasement1::main > logVisits @ @ o toBasement2 SnakeElevatorBasement2::main rideElevator q visitedSnakeElevatorBasement2 @ SnakeElevatorBasement2::main > logVisits @ @ o toFloor3 SnakeElevatorFloor3::main rideElevator q visitedSnakeElevatorFloor3 @ SnakeElevatorFloor3::main > logVisits @ @ o toFloor4 SnakeElevatorFloor4::main rideElevator q visitedSnakeElevatorFloor4 @ SnakeElevatorFloor4::main > logVisits @ @ t toFloor2 n at: SnakeElevatorFloor2::main n [ A ghostly apparition appears hear and moves off towards the bottom left... ] t topRight t right n at: BlueNotePiano::main ta save g time: 2024-2-17:01:07 n [ Past time for bed! ] n [ Interestingly, the AreaMidPiano room isn't marked as pink on the map like the other save points. Maybe just an oversight? ] w g time: 2024-2-17:15:31 n [ A bit of time this afternoon. ] > jaunt SnakeElevatorFloor2::main xt topLeft MainStage::main right gd theater a listenToPlayers At deactivate n [ Michiru and Kahori have forseen our arrival, as did the ancient buliders of this castle. Master Hibino is also here. They will help me heal, including wounds of the heart and mind. They need the notes scattered around the castle to do their work. ] > haveCrystal 216 x talkToMichiru MichiruUpgradeMenu::menu backToMainStage gb virtual gd menu oa increaseVitality1 q redNote*5&crystal*100 e [ { lose redNote*5; lose crystal*100; gain vitalityUpgrade*1; deactivate } ] n has: blueNote*1 oa increaseLight1 q blueNote*1&crystal*0 e [ { lose blueNote*1; gain lightUpgrade*1; deactivate } ] ta increaseLight1 n has: blueNote*0 oa increaseLight2 q lightUpgrade*1&blueNote*2&crystal*50 e [ { lose blueNote*2; lose crystal*50; gain lightUpgrade*1; deactivate } ] > leaveMenu MainStage n [ Can't afford more for now. ] a informWynton q defeatedDwarfWarrior n has: lightFragment*0 At { gain lightFragment*1; deactivate } n has: lightFragment*1 > questComplete ThePathToBravery x left ArmorFragmentsRoom::main right a meetHibino At deactivate n [ He uses musical spells to strengthen armor (and plays a very smooth saxophone). ] x talkToHibino HibinoUpgradeMenu::menu backToArmorFragmentsRoom gd menu oa upgradeGraceOfZeus q ancientFragment*2&crystal*100 e [ { lose ancientFragment*2; lose crystal*100; gain GraceOfZeusUpgrade*1; deactivate } ] > leaveMenu ArmorFragmentsRoom n [ Well so much for avoiding this place because it's a boss... T_T ] g reassess n [ I could/should follow the ghost for progress, but want to do some basic cleanup first. ] t right t right n at: SnakeElevatorFloor2::main t rideElevator t toFloor1 n at: SnakeElevatorRoom::main > jaunt JumpTutorial::top > snakeConsole F JumpTutorial::top::console:active JumpTutorial::top::topLeftDoor:open ta console xt left FliersHall::main right > enemy BuzzyShooter ... E death n [ I'm really bad at fighting them since you have to get in melee range to attack... ] R n at: BlueNotePiano::main n has: lightUpgrade*0 n [ Lost this upgrade on revert... ] > jaunt MainStage::main ta listenToPlayers t talkToMichiru n at: MichiruUpgradeMenu::menu ta increaseLight1 n [ Re-doing upgrade ] n has: lightUpgrade*1 n has: blueNote*0 t backToMainStage ta informWynton t left n at: ArmorFragmentsRoom::main a chatWithHibino > jaunt BlueNotePiano::main ta save n has: lightUpgrade*1 n [ Upgrade saved ] g time: 2024-2-17:16:02 n [ Taking a break to walk the dog. ] w g time: 2024-2-17:21:22 > jaunt SnakeElevatorFloor2::main t rideElevator t toFloor1 n at: SnakeElevatorRoom::main > jaunt FliersHall::main . x left FliersBlueNote::main right > grab blueNote*1 n has: blueNote*1 > jaunt OrbStairs::bottom xt right OrbRedNoteRoom::main left > grab redNote*1 > jaunt BlueNotePiano::main n Re-checked the left side of the map here. ta save > jaunt ZoomyJunction::topAndLeft ta console xt up SquishySnakesDoorway::main down x elevator VerdantElevator::main elevator gb elevator zz SectorC_EucalyptusGarden x left VerdantSpiritChamber::main right a meetSpirit At { gain RadicalAcceptance; deactivate } n [ Apino normally finds it hard to trust people. A demon named Belial roams the halls of this castle. We need more power before we can face him. There are three relics: water, earth, and fire. Together, they can dispel the curse. They're what this castle was built to house. ] n [ Huh even more generous health mechanics. Interesting. ] x left SeedthrowerRoom::main right > enemy SeedThrower n [ Perfect environment to practice health cancelling. ] o up q ?higherJump|?flight x left FlowerFalls::top right x fallDown bottom flyUp qr ?flight|?swimUp o midRight q ?flight|?wallJump x left VerdantOneWay::rightSide right > enemy HoverDark > enemy Spikeling x left leftSide right qr ?higherJump|?flight|?wallJump o left q Apino o down xt left PoisonMistShaft::bottom right > multiConsole green A o up > poisonHere n [ I'm not going to attempt any heroic sequence breaks here, despite all the health options. ] t right n at: VerdantOneWay::leftSide xt down FlowerStairs::main up > enemy Spikeling o left n [ Map crowding dicatates that right must not be progress. ] x right FlowerStairsPiano::main left > useSavePoint t left n at: FlowerStairs::main xt left BulkArmorHall::main right > enemy Flappy > enemy BulkArmor x left VerdantFalls::topRight right > enemy HoverDark > enemy AcidShooter x down midRight up qr ?wallJump|?swimUp|?flight x down bottom upRight qr ?wallJump|?swimUp|?flight o right > enemy AcidTowerBug > console blue o upLeft q ?wallJump|?flight o left xt right PoisonMistJunction::main topLeft > poisonHere ... t topLeft n at: VerdantFalls::bottom xt left BatsPool::main right > enemy Flappy > enemy Elefish > enemy AxeArmor x left TwoSwitches::main right > namedSwitch A > namedSwitch B x left WestVerdantElevator::main right q switchA:hit&switchB:hit x elevator CraggyElevator::main elevator gb elevator zz SectorB_ForgottenPond o right o left n [ Kind of a toss-up here... ] xt left CraggyElevatorPiano::main right > useSavePoint t right n at: CraggyElevator::main xt right WitheredGrass::main left x right DessicatedLillies::main left q Apino > enemy Flappy x right DemonFaceGate::top left > enemy BubbleTowerBug > snakeConsole o down qb console:active n [ You have to stand on the enemy to reach the console here, but I'm not going to bother annotating that. ] ta console xt down bottom up qr console:active&(?wallJump|?flight) n [ There's an Apino-enemy in the wall here? Wonder why. ] x left PaladinBeamsRoom::rightSide right > enemy SwordAndShieldKnight n level: combat^2 > combat SwordAndShieldKnight 2 n [ The beams make this more difficult. ] n [ It's got a red shield and a green weapon. ] o left q combat:victory t right n at: DemonFaceGate::bottom n [ Nope for now; let's check the other way first. ] x right OrbBeastJunction::topLeft left > enemy OrbBeast x fallDown main flyUp qr ?flight|?swimUp > enemy Flappy > enemy Elefish > enemy Jellyfloat o upRight topRight fallDown q ?flight|?wallJump|?swimUp o right gt music o down q ?swimUnder o left gt toTheater > switch xt right GuitarRoom::main left q switch:hit gt music a talkToBebel At deactivate > quest ADistantGrowl t left n at: OrbBeastJunction::main xt left LotusRootsHallway::main right > enemy HoverDark > enemy BulkArmor x left NarrowFalls::top right o fallRight mid swimUp qr ?wallJump|?swimUp|?flight x fallDown bottom rideUp o left gt hidden o right qb console:active t rideUp @ NarrowFalls::mid > snakeConsole @ @ xt fallRight ta console r fallDown bottom upRight qr ?wallJump|?swimUp xt left HiddenCrystalChamber::main right a examine n [ This hidden crystal describes Amfibis, a mystical tribe from the ocean depths. ] n [ Meta: Interesting to have a lore-only secret, even if it's not going to be very hidden at all. ] t right n at: NarrowFalls::bottom xt right DeepWell::top left > enemy HoverDark x down upperMid up qr ?higherJump|?wallJump o right gt boss q Apino o left o down q ?swimUnder xt left DeepWellPiano::main right > useSavePoint t right n at: DeepWell::upperMid xt right BossWell::top left m waterLevel:mid o right q defeatedTantalusRoach x down mid right q waterLevel:mid|waterLevel:bottom|?swimUnder o down q ?swimUnder|waterLevel:bottom n level: combat^2 > boss TantalusRoach 1 n [ Easy boss if one can dodge reliably. ] > beatBoss TantalusRoach At [ { goto BossWell::top; set waterLevel:top } ] n [ Water rises during boss fight, which carries us up. ] xt right PoseidonArmorRoom::main left > grab PoseidonArmor F PoseidonArmor ?blueConsoles F PoseidonArmor ?swimUnder n [ It says we can "move freely in water" but really it just lets us apply normal gravity. And we can't even switch off of it once underwater to float back up... ! ] t left n at: BossWell::top t down n at: BossWell::mid qr ?swimUp|((waterLevel:mid|waterLevel:bottom)&(?wallJump|?flight)) xt down bottom up qr ?swimUp|((waterLevel:bottom)&(?wallJump|?flight)) > console blue ta console x left DeepWell::underwater midRight q console:active v up upperMid down o left o bottomRight xt bottomRight SubmergedHallway::leftSide left > enemy Elefish > enemy BubbleShooty > enemy GreenShooty o right rightSide left qr ?higherJump|?swimUp|?wallJump t left n at: DeepWell::underwater t up n at: DeepWell::upperMid t left n at: DeepWellPiano::main ta save t right n at: DeepWell::upperMid t down n at: DeepWell::underwater xt left SubmergedBlueNote::main right > grab blueNote*1 n has: blueNote*2 > jaunt DeepWellPiano::main ta save > jaunt SubmergedHallway::leftSide xt right n at: SubmergedHallway::rightSide x right WaterFallsOut::topLeft left x fallDown bottomLeft swimUp qr ?swimUp|?flight|?wallJump o right bottomRight left q ?higherJump|?wallJump|?flight x left SwordKnight right qr combat:victory > enemy HoverDark > enemy SwordKnight n level: combat^2 A gain combat^1 n level: combat^3 n [ Not right here, but noting accumulating skills... ] > combat SwordKnight 1 o left q combat:victory > win xt left LowerWell::top right x down mid up qr ?higherJump|?wallJump|?floatUp q PoseidonArmor @ upperRight > switch @ @ > enemy Jellyfloat o upRight upperRight down q ?higherJump|?floatUp x down bottom up qr ?higherJump|?floatUp o right x left SubmergedCartographersRoom::main right gt hidden > grab ForgottenPondMap t right n at: LowerWell::bottom xt right WateryFork::main left o up ledge down q ?higherJump|?wallJump|?floatUp @ ledge o right @ @ x right SubmergedJunction::midLeft left > enemy Spikeling x down bottom upLeft qr ?floatUp|?wallJump|?flight > enemy Spikeling x up midLedge downLeft o upLeft topLeft down q ?higherJump|?wallJump|?floatUp > enemy Spikeling > enemy Jellyfloat x downRight bottomRight up qr ?higherJump|?wallJump|?floatUp x right GetPegasusRoom::main left > grab PegasusFeather F PegasusFeather ?higherJump t left t up n at: SubmergedJunction::midLedge xt upLeft n at: SubmergedJunction::topLeft x left WateryFork::ledge right t down n at: WateryFork::main t left n at: LowerWell::bottom t up n at: LowerWell::mid xt upRight n at: LowerWell::upperRight a switch r left top aroundBelow qb switch:hit > jaunt WaterFallsOut::bottomRight o up top down q ?blueZap|?wallJump|?flight x right SpikeyCeiling::main left > enemy SwordAndShieldKnight > combat SwordAndShieldKnight 1 n [ There are two with Zeus/Poseidon shields, giving you a tutorial on armor switching. ] > win x right MistyStep::main bottomLeft q combat:victory o topLeft q Apino o topRight gt theaterHere o bottomRight gt toPiano xt bottomRight MistyStepPiano::main left > useSavePoint g time: 2024-2-17:23:29 n [ Time to go to bed. ] w g time: 2024-2-22:16:07 n [ Bit of time to play. ] g reassess n [ Lost my bearings, but a quick map check reminds me we got swimming powers and double-jump and are headed back up I guess? I'm going to just play it by ear. ] t left n at: MistyStep::main o up q ?flight n [ There's one of those pillars embedded in the wall here which I think will take me upwards somehow? I didn't observe the opening in the top of the room last time I played. ] xt topLeft ArtRoom::main right q Apino a talkToClaude At deactivate n [ We're indeed the one the composers spoke of; we brought color back. Claude used to be a painter and now he's much more. He's searching here for the art of shadow, and he's beginning to understand how it works. We may be the only person able to understand his paintings. The painting opens into a portal. ] m portal:closed At set portal:open x throughPortal PosedHands::main - zz PortraitOfHope zzz Portraits q ArtRoom::main::portal:open n [ There isn't an immediate way back... ] x right PosedHandsPiano::main left > useSavePoint x right WaterspoutsVista::main left n [ It's a scene with multpile waterspouts twisting violently. ] x right LurkingSerpentRoom::topLeft left @ LurkingSerpentRoom::topRight > snakeConsole @ @ n [ We can see a switch thorugh the wall. ] x downThrough bottom upThrough q PoseidonArmor qr ?floatUp > enemy Elefish o right o upLeft leftLedge down q ?wallJump|?floatUp xt right HandyDescent::top left x down bottom up qr (?wallJump&(PegasusFeather|?floatUp))|?flight o right q PoseidonArmor x left BlockedSluice::rightSide right q PoseidonArmor m rightCorruptionWall:intact m leftCorruptionWall:intact oa breakWall q ?breakCorruptionWalls&rightCorruptionWall:intact e [ { set rightCorruptionWall:broken; deactivate } ] o left mid right qb rightCorruptionWall:broken&(PegasusFeather|SirenForm) @ mid oa breakWallRight q ?breakCorruptionWalls&rightCorruptionWall:intact e [ { set rightCorruptionWall:broken; deactivate } ] oa breakWallLeft q ?breakCorruptionWalls&leftCorruptionWall:intact e [ { set leftCorruptionWall:broken; deactivate } ] o left leftSide right qb leftCorruptionWall:broken @ @ @ leftSide oa breakWall q ?breakCorruptionWalls&leftCorruptionWall:intact e [ { set leftCorruptionWall:broken; deactivate } ] @ @ t right n at: HandyDescent::bottom xt right CeruleanOrbRoom::main left a breakOrb At [ { gain SirenForm; deactivate } ] F SirenForm ?floatUp F SirenForm ?breakCorruptionWalls t left n at: HandyDescent::bottom t left n at: BlockedSluice::rightSide ta breakWall xt left n at: BlockedSluice::mid ta breakWallLeft xt left n at: BlockedSluice::leftSide qr leftCorruptionWall:broken&(PegasusFeather|SirenForm) n [ There are actually 4 barriers, but I'm grouping hte left two together becaues I'm lazy. ] x left WaterfallHandsClimb::bottom right x up top down F SirenForm ?swimUp q SirenForm|?flight x right LurkingSerpentRoom::leftLedge left qb PoseidonArmor > switch t down n at: LurkingSerpentRoom::bottom x up mid down q SirenForm v upLeft topLeft down qb SirenForm > namedSwitch B o upRight topRight down qb SirenForm&switchB:hit > enemy Elefish xt upRight n at: LurkingSerpentRoom::topRight o right qb console:active ta console xt right WaterspoutsConnector::leftSide left > enemy BubbleShooty x right rightSide left q Apino&PoseidonArmor qr (PoseidonArmor&(PegasusFeather|SirenForm))|(!PoseidonArmor) > enemy Elefish x right MinesMaze::bottomLeft left > enemy FloatingMine x throughMines midRight throughMines q SirenForm|(PoseidonArmor&?wallJump&PegasusFeather) n [ If you went up here without the PoseidonArmor, you'd be softlocked. ] m door:closed o down qb door:open o upLeft midTopLedge downRight q SirenForm x upRight topRight down q SirenForm o jumpAcross midTopLedge jumpAcross qb SirenForm|PegasusFeather x right MinesMazePiano::main left gt toPiano n has: blueNote*2 > useSavePoint t left n at: MinesMaze::topRight xt jumpAcross n at: MinesMaze::midTopLedge x downLeft upperBasin upRight qr SirenForm&PegasusFeather n [ The Siren Form double jump is particularly impressive :) ] > multiConsole blue A > multiConsole blue B ta consoleA > enemy Swarmer ta consoleB o upLeft topLeft down q ?flight|SirenForm t upRight n at: MinesMaze::midTopLedge t downRight n at: MinesMaze::midRight F MinesMaze::upperBasin::consoleA:active&MinesMaze::upperBasin::consoleB:active MinesMaze::midRight::door:open xt down bottomRight up qr SirenForm|!PoseidonArmor|(PoseidonArmor&?wallJump) x right MinedSluice::main left > enemy ZapJelly > enemy FloatingMine x right WetSpikes::topLeft left x throughSpikes topRight throughSpikes qb SirenForm x down bottomRight up qr PegasusFeather|?wallJump o right n [ This feels suspiciously like progress, so let me check that room at the top left of the MinesMaze.... ] > jaunt MinesMaze::upperBasin xt upLeft n at: MinesMaze::topLeft x left WishyWashy::rightSide right > enemy BubbleTowerBug > enemy ElectroTowerBug n level: combat^3 > combat TowerBugs 2 > win x left leftSide right q SirenForm|combat:victory n [ The moving waterfalls force us back into Poseidon form which is awkward against the tower bugs... A very well-put-together encounter. ] x left SplitFalls::bottomRight right m door:closed o left qb door:open x up top downRight q SirenForm|?flight o downLeft n [ Now I'm so confused. My insticts also say this is progres... ? Which is it? Can it be both? I don't want to get one-wayed, and this drop looks suspicious. I guess I'm going all the way back through the spikes. ] n [ Meta: Because I was sort of one-wayed unexpectedly early on where you had to use a tower bug to jump back up and I wasn't thinking about that option after killing it, I'm now a bit extra cautious. ] > jaunt WetSpikes::bottomRight xt right WashingSpikes::leftSide left > enemy BubbleShooty > enemy HoverDark x across rightSide across > enemy BubbleShooty n [ Somewhat tricky to navigate but I'm not going to bother with a challenge annotation. ] x right TwinFalls::bottomLeft left x up topLeft down q SirenForm|?wallJump m door:closed o left qb door:open x across topRight across qb SirenForm|?flight o right x down bottomRight up qr SirenForm|?wallJump v across bottomLeft across qb SirenForm > snakeConsole ta console r upAcross topLeft downAcross qb SirenForm|?flight F TwinFalls::bottomRight::console:active TwinFalls::topLeft::door:open xt left TwinFallsNote::main right > grab blueNote*1 n has: blueNote*3 t right n at: TwinFalls::topLeft n [ Still worried about which way is progress, but tired of bouncing... ] t across n at: TwinFalls::topRight v downAcross bottomLeft upAcross qb SirenForm|?flight xt right OrbBeastLair::main left qr combat:victory > enemy OrbBeast n level: combat^3 > combat OrbBeast 1 > win x right MegaFalls::bottomLeft left q combat:victory x right bottomRight left q SirenForm|?flight > enemy Flappy o up q ?wallJump|?flight m console:off @ MegaFalls::bottomLeft left e set console:off @ @ a console q console:off At set console:on n [ This console is on a timer... I've just marked nearby transitions as turning it off... # TODO: Better semantics for that? ] x acrossUp midLeftLedge acrossDown q console:on&(SirenForm|?flight) e set console:off x up mid down q SirenForm|?wallJump > namedSwitch A > enemy Flappy x up topMid downLeft q SirenForm|?flight o right topRight left qr SirenForm x left topLeft right qr SirenForm o left x across topRight across q SirenForm|PegasusFeather o right q switchA:hit&switchB:hit t left n at: MegaFalls::topMid x downRight midRight up > enemy Flappy v across mid across qb SirenForm|?flight v down bottomRight up > namedSwitch B t up n at: MegaFalls::topMid t left n at: MegaFalls::topLeft xt left NarrowMines::rightSide right > enemy FloatingMine m corruptWalls:intact a destroyWalls q (!corruptWalls:destroyed)&?breakCorruptionWalls At set corruptWalls:destroyed x left leftSide right > enemy FloatingMine qb corruptWalls:destroyed oa destroyWalls q (!corruptWalls:destroyed)&?breakCorruptionWalls e set corruptWalls:destroyed n [ Actually two walls, but not worth annotating that. ] x left SpikedPools::bottomRight right x left midPool right q SirenForm|!PoseidonArmor > enemy BuzzyShooter n [ Not these guys again! ] x left bottomLeft right q SirenForm|!PoseidonArmor x aroundAbove topRight aroundDown q SirenForm|?flight v down bottomRight up qr ?wallJump|?flight x right EmbracedCrystal::main left > grab ancientFragment*1 n has: ancientFragment*2 n [ Nice! ] > jaunt MegaFalls::topRight xt right WetBugTowers::main left > enemy ElectroTowerBug > enemy BubbleTowerBug n [ Rough combat here, so I skip over some of it. ] x right FallsBeams::bottomLeft left n [ I'm skipping over some nuances in this room. ] x up topLeft down q SirenForm|?flight x left FallsBeamsNote::main right gt hidden n [ It's open on the map, so not very hidden.. ] > grab blueNote*1 n has: blueNote*4 t right n at: FallsBeams::topLeft x across topRight across q SirenForm|?flight n [ The movement here is quite fun. ] o right gt lockingDoor n [ Which is one reason that I'm going to now go ALL the way back to that other branch, which I'm guessing now has a fragment at the end of it. Another reason is that I get to save on the way through. ] > jaunt WetSpikes::topLeft E death R n at: MinesMazePiano::main n has: ancientFragment*1 n has: blueNote*2 n [ Trying to get to a save point quickly I spiked myself twice. A pretty painful death but I was going to have to retread a lot of that ground anyways. T_T At least the moement is lots of fun! ] g time: 2024-2-22:18:15 w g time: 2024-2-22:23:31 n [ I should go to bed... ] > jaunt SplitFalls::top > enemy BubbleShooty xt downLeft leftSide up qr ?wallJump|?flight n [ Indeed it's too tall to jump back up! ] > enemy BubbleShooty > switch F SplitFalls::leftSide::switch:hit SplitFalls::bottomRight::door:open x down bottomLeft up qr ?wallJump|?flight v right bottomRight left x left SplitFallsNote::main right > grab redNote*1 n [ I was just 1 room short of finding the treasure & wrapping up the branch T_T. ] > jaunt MinesMazePiano::main n has: blueNote*2 ta save > jaunt MinesMaze::upperBasin ta consoleA ta consoleB > jaunt MinesMazePiano::main n has: blueNote*2 n has: ancientFragment*1 ta save > jaunt TwinFalls::bottomRight ta console > jaunt TwinFallsNote::main n has: blueNote*2 n [ For consistency with later notations, I'm repairing the journal by assuming I did NOT re-grab this note after death. ] ta grab n has: blueNote*3 > jaunt OrbBeastLair::main > win > jaunt MegaFalls::bottomRight ta console t acrossUp n at: MegaFalls::midLeftLedge > jaunt NarrowMines::rightSide n can: ?breakCorruptionWalls # TODO: Mechanism resetting on save load T_T ta destroyWalls > jaunt EmbracedCrystal::main n has: ancientFragment*1 ta grab n has: ancientFragment*2 > jaunt MegaFalls::mid ta hitSwitchA t across n at: MegaFalls::midRight ta hitSwitchB > jaunt WetBugTowers::main n [ not smart T_T. Shot all my health away and got dinged. ] E death R n at: MinesMazePiano::main n has: ancientFragment*1 n has: blueNote*2 n [ So let me just copy-paste that stuff... T_T ] > jaunt TwinFalls::bottomRight ta console > jaunt TwinFallsNote::main n has: blueNote*2 n [ For consistency, I'm updating the journal to note that I did NOT re-grab this note after death. I think this is the correct explanation for discrepancies in blue note counts. ] # ta grab # n has: blueNote*1 > jaunt OrbBeastLair::main > win > jaunt MegaFalls::bottomRight ta console t acrossUp n at: MegaFalls::midLeftLedge t up n at: MegaFalls::mid ta hitSwitchA t across n at: MegaFalls::midRight ta hitSwitchB > jaunt NarrowMines::rightSide ta destroyWalls > jaunt EmbracedCrystal::main n has: ancientFragment*1 ta grab n has: ancientFragment*2 > jaunt FallsBeamsNote::main n [ Also NOT grabbing this note... ] n has: blueNote*2 # ta grab # n has: blueNote*2 > jaunt FallsBeams::topRight xt right WadingKnights::main left > enemy SwordAndShieldKnight n level: combat^3 > combat SwordAndShieldKnight 1 @t left q combat:victory @ @ n [ They're half-submerged so you need to hit them from the platforms to poke their electric shields. These blokes have an easy pattern though now that I'm well used to it. ] > win x right UBend::topLeft left q combat:victory n [ Note that without a way to pan the screen down, it's not clear whether this will be a one-way or not, and given recent experiences, I'm slightly hesitant, although of course I've cleared out everything behind me now so it's fine to get trapped... but when I hop down, I see ledges leading back up. ] n [ Meta: One-way visibilty & communication is an important part of good Metroidvania design! ] @ topRight > bossDoor right @ @ x down bottom upLeft qr PegasusFeather|?wallJump o right gt toPiano o upRight topRight down q PegasusFeather|?wallJump xt right UBendPiano::main left > useSavePoint t left n at: UBend::bottom xt upRight n at: UBend::topRight xt right SerpentTank::main left n level: combat^3 > boss ShadowOfHope 4 n [ Got through the first phase fine, although I took a hit, but then the double phase was going okay and I flubbed it by shooting too much and getting dinged. ] > failBossRevert ShadowOfHope n at: UBendPiano::main > jaunt SerpentTank::main > failBossRevert ShadowOfHope n at: UBendPiano::main > jaunt SerpentTank::main n [ Revising my level up to 4 after seeing what I hope is the final phase. ] A gain ShadowOfHope^1 n [ But it didn't do me enough good T_T ] > failBossRevert ShadowOfHope n at: UBendPiano::main > jaunt SerpentTank::main > beatBoss ShadowOfHope At gain FistOfBelial > jaunt UBendPiano::main ta save > jaunt SerpentTank::main x right HopeExit::leftSide left q defeatedShadowOfHope # TODO: Is this really not necessary? # F FistOfBelial m gate:closed a openGate q FistOfBelial At [ { set gate:open; deactivate } ] x right rightSide left qb gate:open r throughPortal ArtRoom::main - n [ Claude is gone from this room. ] t right n at: MistyStep::main m waterfall:off a activateFalls q FistOfBelial At [ { toggle waterfall:on off } ] n state: waterfall:on @t up q ?flight|(waterfall:on&SirenForm) @ @ t bottomRight n at: MistyStepPiano::main ta save t left n at: MistyStep::main xt topRight PondTheater::main left gd theater n [ I'm annotating this as a separate room because annotating it as one room in multiple places is a pain. ] a talkToWynton a talkToBebel > upgradeMenu Michiru n has: lightUpgrade*1 n [ Actually, each menu choice dumps us back into the theater. But I don't want to annotate that T_T. ] n has: blueNote*2 ta increaseLight2 n has: lightUpgrade*2 n has: blueNote*0 oa increaseLight3 q lightUpgrade*2&blueNote*3&crystal*50 e [ { lose blueNote*3; lose crystal*50; gain lightUpgrade*1; deactivate } ] > leaveMenu PondTheater x right PondArmorRoom::main left a chatWithHibino > upgradeMenu Hibino oa upgradePoseidonArmor q ancientFragment*2&crystal*100 e [ { lose ancientFragment*2; lose crystal*100; gain PoseidonArmorUpgrade*1; deactivate } ] n [ Tough choice here. Poseidon armor seems to have longer reach, and GraceOfZeus doens't seem to be faster, so I guess I'll go with Poseidon for now? I also like the water element... ] > leaveMenu PondArmorRoom t left n at: PondTheater::main > jaunt MistyStepPiano::main ta save t left n at: MistyStep::main xt up DragonInterlock::leftSide down x throughGates rightSide throughGates qb FistOfBelial&SirenForm|(PoseidonArmor&?wallJump) x down bottomRight up qr ?wallJump|SirenForm x right InterlockFragment::main left > grab ancientFragment*1 n has: ancientFragment*3 n [ Nice of them to put this here. ] n [ Meta: Might call this idiom "bonus padding"? If we hadn't found the "secret/bonus" ancient fragment in the painting, we'd still be able to afford one armor upgrade with this pickup, so that we'd be on-par power wise and only fall behind at a later stage. But since we did pick up that secret, since each upgrade costs two ancient fragments, we're closer to our next upgrade, but it doesn't immediately give us a power spike. ] x right MagiSwarmerGate::leftSide left > enemy MagiSwarmer n [ They need light magic to take them down. ] o right rightSide left @ MagiSwarmerGate::rightSide > console red @ @ @t right qb console:active @ @ n [ This is clearly a return-trip option! But that means we've exhausted "forward" progress around this arc in the pond. Time to backtrack and go upwards? SirenForm unlocks a huge number of things! It's also time for me to go to bed though. ] > jaunt MistyStepPiano::main ta save g time: 2024-2-23:01:12 w g time: 2024-2-23:21:07 n [ Only a scrap of time here. ] > jaunt WaterFallsOut::bottomRight m waterfall:off @t up q ?flight|?wallJump|(waterfall:on&SirenForm) @ @ a switchInWall q FistOfBelial At [ { toggle WaterFallsOut::bottomRight::waterfall:on off } ] xt up topMid down > console blue # TODO: Remember which enemy is here! # > enemy ta console x right topRight left q PegasusFeather|(waterfall:on&SirenForm)|?wallJump qr (waterfall:on&SirenForm)|?wallJump x right WaterFallsThroughBeams::bottom left q console:active m leftWaterfall:off m rightWaterfall:off a switchInWall At [ { toggle leftWaterfall:on off } ] x up mid down q ?wallJump|(leftWaterfall:on&SirenForm) a switchInWall At [ { toggle rightWaterfall:on off } ] x up top down q ?wallJump|(rightWaterfall:on&SirenForm) x left SpikeJump::bottomRight right q PoseidonArmor x overSpikes bottomLeft overSpikes qb SirenForm x up top down q SirenForm|?wallJump > enemy HoverDark > enemy GreenShooty ... x left PaleFlowersCornucopia::main right gt hidden n [ Again the map hints this. ] > cornucopia 24 t right n at: SpikeJump::top o right . xt right BrawlHall::main left > enemy Flappy > enemy AxeArmor > enemy ElectroTowerBug > enemy Swarmer n [ Nice few fights here. ] x right TallTwinShafts::bottomLeft left m waterfallAndPlatforms:off er set waterfallAndPlatforms:off @ TallTwinShafts::bottomRight > bossDoor right e set waterfallAndPlatforms:off @ @ a switchInWall At toggle waterfallAndPlatforms:on off n [ This is on a timer. ] # TODO: Timer syntax! # TODO: just annotate FistOfBelial on the relevant things? x up mid downLeft q (waterfallAndPlatforms:on&SirenForm)|(waterfallAndPlatforms:off&?wallJump) o downRight bottomRight up qr [ (waterfallAndPlatforms:on&SirenForm)|(waterfallAndPlatforms:off&?wallJump) ] x up top down q (waterfallAndPlatforms:on&SirenForm)|(waterfallAndPlatforms:off&?wallJump) x left OrbBeastConnector::main right e set waterfallAndPlatforms:off > enemy GreenShooty > enemy OrbBeast > enemy Flappy o up > console blue ta console x left OrbBeastJunction::topRight right qb console:active n [ A sweet return. ] n [ Could go for a save point now. ] g time: 2024-2-23:22:35 w g time: 2024-2-23:23:10 t fallDown n at: OrbBeastJunction::main xt down bottom up q PoseidonArmor x right SubmergedNoteChamber::main left > grab blueNote*1 n has: blueNote*1 > jaunt DemonFaceGate::bottom m waterfall:off a switchInWall q FistOfBelial # TODO: make this work without specifics At toggle DemonFaceGate::bottom::waterfall:on off @t up q console:active&(?flight|?wallJump|(waterfall:on&SirenForm)) @ @ t up n at: DemonFaceGate::top > jaunt CraggyElevatorPiano::main ta save g time: 2024-2-23:23:20 n [ I'm exhausted... Let's sleep. ] w g time: 2024-2-24:15:04 > jaunt PaladinBeamsRoom::rightSide n level: combat^3 > win # level 2 n [ Not actually that hard if you're patient as the knight doesn't advance into the beams. ] xt left PaladinRedNote::main right > grab redNote*1 n has: redNote*3 g reassess n [ Looking at the map here, it's obvious that the zone boss is next. But I'm sad that there's no closer save point. Hopefully I fight well... ] > jaunt TallTwinShafts::mid xt downRight n at: TallTwinShafts::bottomRight xt right RoughFloralChamber left n [ It wants to eat us! ] n level: combat^3 > boss Ulf 2 > beatBoss Ulf > questProgress ADistantGrowl n [ Pretty easy boss? Only used one attack pattern and even when near death there was plenty of time to lullaby when needed? I did take one health damage but should have been able to avoid even that. ] n [ Let's turn in that quest. ] > jaunt MistyStepPiano::main ta save > jaunt PondTheater::main a informBebel q defeatedUlf At { gain lightFragment*1; deactivate } > questComplete ADistantGrowl n has: lightFragment*2 n [ Not sure what these are for actually... ] t right n at: PondArmorRoom::main ta chatWithHibino n [ Nope, not for armor upgrades, at least yet. ] > jaunt MistyStepPiano::main ta save g reassess n [ There's a bunch of explorables with siren form, but I don't honestly remember where they all are. Probably back in the EucalyptusGarden there's one? But the natural flow of things takes me back to TalosEntrance, where I can see at least one cleanup room, so I'm going to do that next. Maybe another ghost will give me a hint? ] > jaunt OrbBeastConnector::main xt up TallFalls::bottom down x up top down q ?flight|SirenForm > enemy TowerBug n [ I was so focused on taking them out I didn't realize I needed them to reach the switch. But I'm lazy to annotate that. ] > multiSnakeConsole TallFalls o right qb consoleTallFalls:active ta consoleTallFalls xt right PondTalosReconnect::main left > enemy Flappy > enemy AxeArmor > multiSnakeConsole Connector o right qb consoleConnector:active ta consoleConnector # It's been a while! F PondTalosReconnect::main::consoleConnector:active AnotherDimTheaterFoyer::main::door:open r right AnotherDimTheaterFoyer::main left t right n at: SnakeWaterfalls::main t bottomRight n at: GoldenBath::top r down GoldenBath::mid up qr SirenForm xt jumpAcross n at: GoldenBath::leftLedge t fallDown n at: GoldenBath::bottom n [ Meta: Going beyond just shortcuts, having SirenForm makes navigating through these rooms going upwards a *lot* nicer and mor fluid. That feeds into a sense of mastery of the space that you gain as you gain powers, which is nice. ] t right n at: GoldenIslets::top xt down bottom up > enemy ZapJelly x left SubmergedCrystal::main right a examine n [ Second time that a secret "reward" has been pure plot. Maybe I don't hate it? ] n [ The universe was born from a sacred spell: music. The "Great Composers" are noble guides and healers sent by the gods. ] g reassess n [ Looking at the map hee, I don't see any openings for progress besides heading back up to the EucalyptusGarden. So let's do that. ] n [ Meta: Feels a bit sad to be dumped into a revisit (even if partial) and have nothing extra to get. Maybe there's something I'll bump into that's not obvious on the map, like the cornucopia I already claimed? ] > jaunt SquishySnakesDoorway::main t elevator n at: VerdantElevator::main t left n at: VerdantSpiritChamber::main t left n at: SeedthrowerRoom::main xt up MutedSunriseTunnels::bottom down n [ Almost forgot we've gained double-jump into addition to the poseidon amor and siren form since we were last here! ] o throughTunnels qb ?greenZoom t down n at: SeedthrowerRoom::main t left n at: FlowerFalls::top t fallDown n at: FlowerFalls::bottom @t midRight q ?wallJump|SirenForm @ @ xt midRight VerdantCrystal::main left a examine n [ Pethiko sang as one to cleanse themselves of despair, and they bulit the tunnels here? They fled the gaze of a many-eyed bird though... ] > jaunt FlowerStairsPiano::main ta save > jaunt VerdantFalls::bottom ta console @t upLeft q ?wallJump|(console:active&SirenForm) @ @ xt upLeft topLeft down x left CeilingSpikesRoom::main right > enemy LeapingMole x left VerdantBeamFalls::bottomRight right m waterfalls:off er set waterfalls:off n [ Another timed switch that we're approximating... ] a switchInWall q FistOfBelial At set waterfalls:on x up top down q (waterfalls:on&SirenForm)|?wallJump o right gt music e set waterfalls:off o left e set waterfalls:off x downLeft bottomLeft up qr (waterfalls:on&SirenForm)|?wallJump > console green o left qb console:active e set waterfalls:off a switchInWall q FistOfBelial At set waterfalls:on t up n at: VerdantBeamFalls::top xt right ViolinRoom::main left a talkToViolinLady At deactivate n [ She's in search of the Ancient Tree.. She lost her parents' coins. She's been looking for 1500 years... ! (oh just kidding) She's become friends with the bodiless heads. She can help us open our third eye to find her parents' coins sooner? We didn't even learn her name T_T She's a blonde woman in a wheelchair who plays the violin though... ] > quest ATreasureOfOld t left n at: VerdantBeamFalls::top xt left HumbleFalls::bottom right x up mid down q PegasusFeather|?wallJump > enemy LeapingMole > enemy Flappy x up top down q SirenForm x right EarthBeastChokepoint::leftSide left o up gt toPoison xt up PosonConnector::bottom down > poisonHere ... n [ Just nipped in to put it on my map; not going to explore it yet. ] t down n at: EarthBeastChokepoint::leftSide > enemy EarthBeast n level: combat^3 > combat EarthBeast 1 > win x right rightSide left qb combat:victory @ EarthBeastChokepoint::topRight > console blue @ @ o right q console:active x up topRight down n at: EarthBeastChokepoint::topRight q PegasusFeather|?wallJump ta console t down n at: EarthBeastChokepoint::rightSide xt right VerdantTwinFalls::bottomLeft left @ bottomRight > bossDoor right @ @ x up top down q SirenForm o downRight bottomRight up qr SirenForm|?wallJump x left VerdantTwinFallsPiano::main right gt toPiano > useSavePoint t right n at: VerdantTwinFalls::top xt downRight n at: VerdantTwinFalls::bottomRight xt right TinyWindowsChamber::main left n level: combat^3 > boss MaskOfAndros 4 n [ A difficult boss and some patterns I'm bad at... ] A gain MaskOfAndros^1 > failBossRevert MaskOfAndros n at: VerdantTwinFallsPiano::main > jaunt TinyWindowsChamber::main m waterfalls:off > beatBoss MaskOfAndros At set waterfalls:on n [ Fun and challenging but I learned enough from the first time to beat it (still took 1 damage... ] x up topRight down q defeatedMaskOfAndros&waterfalls:on&SirenForm o right gt toPoison t down o right q defeatedMaskOfAndros > jaunt VerdantTwinFallsPiano::main ta save > jaunt TinyWindowsChamber::main xt right GaiasAltar::main left > grab GaiaArmor F GaiaArmor ?greenConsoles F GaiasAltar ?poisonResist n [ Resists poison, among other things! ] t left n at: TinyWindowsChamber::main g reassess n [ There's the obvious way to go, but why not go back, save, and then maybe fill out an otherwise-longstanding poison option? ] > jaunt VerdantTwinFallsPiano::main ta save > jaunt EarthBeastChokepoint::leftSide t up n at: PosonConnector::bottom x up top down > poisonHere q PegasusFeather|?wallJump > enemy LeapingMole x left ShroomShroudedNote::main right gr toPoison n has: blueNote*1 > grab blueNote*1 n has: blueNote*2 n [ I need 3 for the next upgrade. ] n [ Meta: I *think* I could have tanked my way here, especially with a corruption node in the previous room. But I expected to get the poison-resist power fairly quickly which is why I didn't try. ] > jaunt VerdantTwinFallsPiano::main ta save > jaunt TinyWindowsChamber::topRight xt right ThickPoisonRoom::main left > poisonHere > console green ta console x right PoisonMistShaft::mid left qb console:active > poisonHere > enemy Flappy r down bottom up qr PegasusFeather|?wallJump n [ Placement of a corruption node here is suspiciously supportive of tanking through this room, although the PegasusFeather is needed as far as I can tell... ] ta consoleA t up n at: mid > multiConsole green B ta consoleB x up top down > poisonHere > enemy Flappy > multiConsole green C ta consoleC x right WallMasksFlow::bottom left q consoleA:active&consoleB:active&consoleC:active > enemy Elefish x up top downRight q SirenForm x downLeft mid up qr PegasusFeather|?wallJump > cornucopia 24 > haveCrystal 824 x left BigPoisonRoom::main right > poisonHere gt towardsTheater n [ I haven't been noting these, but there are theater mask signes throughout that help guide you... ] > enemy HoverDark > enemy GreenAxeArmor x left GlisteningFallsJunction::bottom right gr toPoison n [ Meta: the other entrance to this room isn't marked as poisonous... ] > enemy LeapingMole > multiConsole green A ta consoleA x up mid down q (consoleA:active&SirenForm)|?wallJump m switch:unhit o right midRight left qb switch:hit oa hitSwitch e [ { set switch:hit; deactivate } ] q ?shootThroughTunnels x up top down q (consoleA:active&SirenForm)|?wallJump o left qb consoleB:active > multiSnakeConsole B q ?snakeConsoles|PegasusFeather|?wallJump ta consoleB o right xt left topLeft right x down bottomLeft up qr PegasusFeather|?wallJump x left PoisonSpikeNest::main right > poisonHere > console blue o up q console:active > enemy BulkArmor > enemy Spikeling n [ We can't hit the console while in Gaia armor, and since we got Gaia armor, we're forced to equip it whenever poison is present. This is similar to how we couldn't eqiup Zeus armor to float upwards after getting PoseidonArmor and it feels awkwards to me. Thankfully there's a switch that disables the poison temporarily. I'm not going to bother annotating that, as it's just an indirect way of triggering the normal mechanism. ] ta console xt up PoisonSpikeBugs::bottom down > poisonHere > enemy Spikeling > enemy TowerBug x up mid down q PegasusFeather|?wallJump n [ This part of the room does not have poison! ] x up top down q ?wallJump|SirenForm o left o right xt left LeafWindowsConnector::main right > enemy Shooter > enemy BulkArmor x up FloweringTrifalls::bottom down q ?wallJump|SirenForm > enemy BuzzyShooter x up top down q ?flight|SirenForm x left UpperVerdantElevator::main right x elevator MoonSigilElevator::main elevator gb elevator zz TheOrphanage x right ShimmeringShaft::bottom left > console green o up q ?flight|(console:active&SirenForm) ta console x right ShimmeringShaftPiano::main left > useSavePoint n [ Time to walk the dog. ] g time: 2024-2-24:17:22 w g time: 2024-2-24:21:22 g reassess n [ Normally, I'd backtrack to get stuff in the EucalyptusGarden, but since I just had a conversation with Ross about how that mode of play affects my untaken-branches counts, I think I'll push forward here. ] n [ I still haven't gotten the title card for this area... ] t left n at: ShimmeringShaft::bottom xt up level1 down q ?flight|(PegasusFeather&?wallJump)|(console:active&SirenForm) o zoomUp qb ?greenZoom > enemy MagiShooter x up top down q ?flight|(PegasusFeather&?wallJump)|(console:active&SirenForm) > enemy Flappy v zoomDown level1 zoomUp n [ Actually there's an extra level here, but I've omitted it since it doesn't seem relevant to the exploration. ] x right BunkBeds::main left a talkToDraythus At deactivate n [ A person stands here with a sword. Europa says "Oh no..." It's Draythus, who didn't imagine he'd find us here. He wants to talk to Apino and promises he won't hurt him, but we don't trust him. He saved our life in the past and trained us. We tell him not to come near us again. ] n [ Out of respect for Europa's decision, I won't approach him again. ] x right SquishySnakesMidnightPrecipice::top left n [ This has all the markings of a one-way. And normally that would make the stuff in the EucalyptusGarden much more compelling. But in my current mood of recklessness, I'm going to push forward. ] x down bottom up qr ?squishySnakeJump n [ Yup, I'm one-wayed now. ] x right MagiknightBookshelf::main left > enemy MagiSwordAndShieldKnight n level: combat^3 > combat MagiSwordAndShieldKnight -1 > win n [ This one has dark armor & weapon. But it doesn't react as we spam it down from afar. ] x right SnakeBustBedroom::leftSide left q combat:victory x right main left qr PegasusFeather|?wallJump|?squishySnakeJump x right OrphanageCrystal::main left m door:closed o right qb door:open n [ Probably a console on the other side but IDK. ] > grab OlympianStrike n [ It's a dive-kick! Sweet. ] F OlympianStrike ?squishySnakeJump n [ Pushing up this far feels like it just got nicely rewraded, even though I now need to backtrack to the EucalyptusGarden anyways. ] > jaunt ShimmeringShaftPiano::main ta save t left t left n at: MoonSigilElevator::main t elevator n [ Our elevator cutscene reveals more about Draythus. We suspect he'll force us to duel him, and we know that the last time we fought, we were clearly outmatched. ] > jaunt PoisonSpikeBugs::top xt right SquishySnakeColumn::bottom left o upRight topRight down q OlympianStrike|?flight x upLeft topLeft down q OlympianStrike|?flight o across topRight across qb OlympianStrike|?flight x left MutedSunsetCornucopia::main right gt hidden n [ I went over here just cuase and then saw the wall react to the OlympianStrike that got me there. IDK if it was marked on the map but probably? ] > cornucopia 24 t right n at: SquishySnakeColumn::topLeft xt across n at: SquishySnakeColumn::topRight x right SquishySnakeArena::topLeft left qr combat:victory o down bottom upLeft qr OlympianStrike|?flight x right topMid left > enemy BulkArmor o right topRight left x fallDown bottom upTop qr OlympianStrike|?flight o upRight topRight down q OlympianStrike|?flight > enemy LeapingMole > enemy EarthBeast n level: combat^3 > combat BulkArmor,LeapingMole,EarthBeast 0 n [ The basic enemies in this game are kinda fun to fight, but the challenge level is pretty low given how easy it is to back off and refill your health. ] > win x upMid mid down q OlympianStrike|?flight > grab blueNote*1 n has: blueNote*3 n [ Enough for the next ugprade! ] t down n at: SquishySnakeArena::bottom xt upRight n at: SquishySnakeArena::topRight x right TunneledStairs::top left q combat:victory > enemy LeapingMole o right o down mid up qr OlympianStrike|?wallJump @ mid o zoomDown qb ?greenZoom o zoomRight qb ?greenZoom @ @ n [ Normally my instinct would drag me down for revisits, but I'm going to go right insead in part on the theory that I'll pick up the ?greenZoom and be shunted to revisits here anyways. ] xt right ClockTower::bottom left m doors:closed er set doors:closed n [ There's a console at the bottom that you need to hit to open the top doors, and it's on a timer. ] a console At set doors:open > enemy Flappy x up top down q OlympianStrike|?wallJump x up KnightsSunsetVista::rightSide down qb doors:open e set doors:closed n [ The doors don't shut immediately, but it's an okay abstraction. ] o zoomRight q ?greenZoom x left main right qb PegasusFeather|?wallJump > enemy SwordAndShieldKnight > enemy Swarmer x left FloralJunction::bottomRight right x up main downRight q PegasusFeather|?wallJump o zoomUp q ?flight&?greenZoom qr ?greenZoom o right o zoomLeft q ?greenZoom o downLeft n [ I think this might be a one-way, but I'm not sure. ] # TODO: Syntax for this? xt right VerdantTheater::main left gt towardsTheater gd theater n [ I honestly couldn't tell if it was this or the zoom above. ] a talkToViolinLady n [ She encourages us to pursue her quest. But we *still* don't know her name! ] > upgradeMenu Michiru n has: blueNote*3 ta increaseLight3 n has: blueNote*0 oa increaseLight4 q lightUpgrade*3&blueNote*4&crystal*50 e [ { lose blueNote*4; lose crystal*50; gain lightUpgrade*1; deactivate } ] > leaveMenu VerdantTheater x right VerdantArmorRoom::main left > upgradeMenu Hibino oa upgradeGaiaArmor q ancientFragment*2&crystal*100 e [ { lose ancientFragment*2; lose crystal*100; gain GaiaArmorUpgrade*1; deactivate } ] > leaveMenu VerdantArmorRoom t left n at: VerdantTheater::main t left n at: FloralJunction::main xt downLeft bottom upRight qr ?flight n [ yeah I can't see a way back up for now... ] m switch:unhit oa switchInWall q ?shootThroughTunnels e set switch:hit o left gt toPiano x upLeft topLeft down q PegasusFeather|?wallJump|?greenZoom o left t down xt left FloralJunctionPiano::main right > useSavePoint t right n at: FloralJunction::bottom t upLeft n at: FloralJunction::topLeft xt left MinorKeyArtRoom::main right m portal:closed a talkToVan At [ { set portal:open; deactivate } ] n [ He didn't want to believe Claude, but now he meets us. Claude always finds a way to escape. This dude is about to finish a painting inspired by despair. Someone endured great trauma here... Van doesn't know who. ] x throughPortal TwistedFossil::main - q MinorKeyArtRoom::main::portal:open zz PortraitOfDespair zzz Portraits x right SwirlingMiasmaVisa::main left n [ Here's where we actually get the title card for the zone. ] x right TwistedFossilJunction::bottom left o zoomUp q (PegasusFeather|?wallJump)&?greenZoom qr ?greenZoom x right BeastGreavesOrb::main left > grab SerpentForm F SerpentForm ?greenZoom n [ We can zoom through tunnels and also lay bombs! ] t left n at: TwistedFossilJunction::bottom xt zoomUp top zoomDown n [ It's fun to use! ] x right SerpentMaze::leftSide left x throughMaze rightSide throughMaze qb SerpentForm x right PoisonPodChambers::bottomLeft left qb SerpentForm x zoomRight topLeft zoomRight > cornucopia 41 n [ I wonder if it's random? Or maybe depends on how fast I hit it? ] x zoomAbove topJunction zoomLeft o zoomRight q ?serpentDeliberateMovement n [ The serpent form can't turn until it hits a wall so this conneciton can't be made from here. I'm including it with an impossible condition because I want to observe it now and allow for the possibility (which I think is unlikely) that the requirement will change. ] x zoomDown mid flyUp qr ?flight&SerpentForm x zoomOnwards rightJunction zoomLeft qr ?serpentDeliberateMovement n [ Another 1-way. ] o zoomUp qb SerpentForm x zoomDown botomRight zoomLeft t zoomLeft n at: PoisonPodChambers::rightJunction xt zoomUp upperMidRight zoomDown qb SerpentForm x zoomRight topRight zoomLeft qb SerpentForm o fallDown bottomRight up qr (?wallJump&SerpentForm) x zoomRight MoleHoles::bottomTunnel zoomLeft x zoomUp bottomConnector zoomDown qr ?serpentDeliberateMovement o zoomUp qb SerpentForm x zoomRight bottomRight zoomLeft qb SerpentForm x right MoleHolesPiano::main left gt toPiano > useSavePoint t left n at: MoleHoles::bottomRight t zoomLeft n at: MoleHoles::bottomConnector xt zoomUp top zoomDownRight > enemy ScuttlingMole o zoomUp qb SerpentForm x zoomLeft PoisonPodChambers::beforeTopJunction zoomRight v zoomLeft topJunction zoomRight t zoomRight n at: MoleHoles::top xt zoomUp PreviewedNoteChamber::outerTunnels zoomDown @ noteChamber oa grabNote e [ { gain blueNote*1; deactivate } ] o zoomRight qb SerpentForm @ @ x zoomRight ZoomyFalls::midTunnels zoomLeft qb SerpentForm x zoomOut fallsChamberRight zoomRight qb SerpentForm x overFalls fallsChamberLeft overFalls qb SirenForm|?wallJump o zoomAroundLeft qb SerpentForm x zoomOutLeft PreviewedNoteChamber::noteChamber zoomRight q SirenForm&SerpentForm qr SerpentForm ta grabNote n has: blueNote*1 t zoomRight n at: ZoomyFalls::fallsChamberLeft xt zoomAroundLeft beamsChamber zoomAroundLeft qb SerpentForm > enemy Swarmer x zoomRight topRightJunction zoomLeft qb SerpentForm v zoomUp midTunnels stopZoom qr ?serpentDeliberateMovement n [ Interesting that for no apparent reason it stops at this junction when going horizontally but doesn't when going vertically. ] x zoomRight topRight zoomLeft qb SerpentForm x right ZoomyArena::leftSide left @ ZoomyArena::topChamber > enemy BulkArmor > combat BulkArmor 0 @ @ @t left q combat:victory @ @ x zoomUp topChamber zoomDownLeft qb SerpentForm n level: combat^3 n [ We can use the floor tunnel to avoid the BulkArmor. ] > win x zoomDownRight rightSide zoomUp qb SerpentForm x right PoisonMaze::leftSide left q combat:victory m poison:active er set poison:active > suppressiblePoisonHere @ topLeft > multiConsole green A @ @ x zoomRight bottomRight zoomUp qb SerpentForm > suppressiblePoisonHere a powerSwitch At set poison:suppressed n Another timed switch T_T @ topMid > multiConsole yellow B q GraceOfZeus&poison:suppressed @ @ o zoomLeft qb SerpentForm x zoomUpRight topRight zoomDown qb SerpentForm > suppressiblePoisonHere o zoomLeft leftSide zoomThroughJunctionRight qr ?serpentDeliberateMovement o right qb PoisonMazeConsolesActive e set poison:active x zoomUpAround topMid zoomUpAround qb SerpentForm > suppressiblePoisonHere ta consoleB x zoomDown crossJunction zoomUp qb SerpentForm o zoomLeft leftSide zoomStop q SerpentForm qr ?serpentDeliberateMovement o zoomRight bottomRight zoomStop q SerpentForm qr ?serpentDeliberateMovement x zoomDown mid zoomUpRight qb SerpentForm > suppressiblePoisonHere > enemy GreenAxeArmor A set poison:active x zoomUpLeft crossJunctionLeft zoomDown qb SerpentForm o zoomLeft leftSide zoomStop2 q SerpentForm qr ?serpentDeliberateMovement o zoomRight bottomRight zoomStop2 q SerpentForm qr ?serpentDeliberateMovement x zoomUp topLeft zoomDown qb SerpentForm > suppressiblePoisonHere ta consoleA x zoomDownLeft bottomLeft zoomUp qb SerpentForm > suppressiblePoisonHere > multiConsole blue C q PoseidonArmor&poison:suppressed F consoleA:active&consoleB:active&consoleC:active PoisonMazeConsolesActive r zoomRight bottomRight zoomLeft ta powerSwitch t zoomLeft n at: PoisonMaze::bottomLeft ta consoleC t zoomRight t zoomUpRight n at: PoisonMaze::topRight xt right LonelyMole::main left > enemy LeapingMole x zoomRight SplashyZoom::leftTunnel zoomLeft qb SerpentForm @ topChamber > enemy GreenAxeArmor o zoomLeft qb SerpentForm @ @ x zoomDown leftTank zoomLeft q SerpentForm qr SerpentForm&PoseidonArmor > enemy Elefish x zoomAcross rightTank zoomAcross qb SerpentForm&SirenForm > enemy Elefish x zoomRight ZoomyFalls::topLeft zoomLeft q PoseidonArmor&SerpentForm qr SerpentForm x down bottomLeft upFalls qr SirenForm o zoomRight qb SerpentForm x left ZoomyFallsPiano::main right gt toPiano > useSavePoint g time: 2024-2-24:23:36 n [ I should kinda go to bed but I want to do one more boss. ] t right n at: ZoomyFalls::bottomLeft xt zoomRight MiasmaVistaHalls::bottom zoomLeft qr SerpentForm&(?wallJump|PegasusFeather) > enemy EvilCrystal > enemy LeapingMole o right x left MiasmaBlueNote::main right gt hidden n [ Wouldn't have checked this except that I looked at hte map. ] > grab blueNote*1 n has: blueNote*2 t right n at: MiasmaVistaHalls::bottom xt right LeafyPoisonRoom::main left > enemy Flappy x zoomRight tunnelJunction zoomLeft qb SerpentForm o zoomDown qb SerpentForm x zoomUp ManyMoles::leftSide zoomLeft qb SerpentForm > enemy ScuttlingMole o zoomRight qb SerpentForm n [ I suspect this is progress? ] t zoomLeft n at: LeafyPoisonRoom::tunnelJunction xt zoomDown DarkChallengeChamber::leftSide zoomLeft qb SerpentForm m leftDoor:closed er set leftDoor:closed o right mid left e set leftDoor:closed @ mid > enemy SwordAndShieldKnight @ @ x zoomUnder rightSide zoomUnder qb SerpentForm m darkDoors:closed o right q darkDoors:open e set leftDoor:closed o left mid right q darkDoors:open @ mid oa hitSwitch q Apino e [ { set darkDoors:open; deactivate } ] n [ This switch setup is a guess... ] @ @ a powerSwitch At set leftDoor:open t zoomUnder xt right n at: mid > enemy Swarmer n level: combat^3 > combat SwordAndShieldKnight 2 n [ The close quarters here means I got hit multiple times! ] > win ta hitSwitch q Apino&combat:victory n [ My prediction about what the switch did was spot on. ] t right n at: rightSide xt right MiasmaFragmentChamber::main left > grab ancientFragment*1 n has: ancientFragment*4 n [ Sweet! Get to upgrade another armor. Zeus will probably just have to wait again, becuase I like the Gaia armor a lot. ] n [ Meta: I'm glad I was right about progress here, unlike in the previous portrait. ] > jaunt ManyMoles::leftSide xt zoomRight top zoomDown x zoomUp LonelyTunnel::main zoomDown qb SerpentForm x zoomLeft MiasmaVistaHalls::top zoomRight qb SerpentForm > enemy LeapingMole > enemy EvilCrystal x zoomLeft ZoomyFalls::upperRight zoomDown q SerpentForm qr PoseidonArmor&SerpentForm > enemy Elefish x zoomUp EmptyMiasmaRoom::main zoomDown q SerpentForm&SirenForm|(PoseidonArmor&PegasusFeather|!PoseidonArmor) qr SerpentForm o left x right MiasmaRedNoteRoom::main left gt hidden n [ This one is NOT indicated on the map, and discovering it was almost pure chance, although a platner near the wall prompted the attack that gave it away. ] > grab redNote*1 n has: redNote*4 t left n at: EmptyMiasmaRoom::main xt left SplashyZoom::topChamber right > enemy Swarmer xt zoomLeft LonelierTunnel::main zoomDown qb SerpentForm x zoomLeft ShatteredZigguratView::bottom zoomRight qb SerpentForm > enemy Flappy x up top down q ?flight|SirenForm x zoomLeft MolesKnot::main zoomRight qb SerpentForm > enemy ScuttlingMole n [ You have to go around in a loop shape and through lots of moles, but it's not really relevant to exploration. ] x zoomUp FossilGreave::mid zoomDown qb SerpentForm o upRight topRight down q PegasusFeather|?wallJump @ topRight > bossDoor right @ @ o upLeft topLeft down q PegasusFeather|?wallJump @ topLeft o left gt toPiano @ @ o downRight bottomRight up qr PegasusFeather|?wallJump o downLeft bottomLeft up qr PegasusFeather|?wallJump xt downLeft t up xt downRight t up n [ Meta: the way that these tiny edges are too deep to get out of without PegasusFeather reinforces the idea that once an upgrade has been acquired for long enough, it often becomes transparent to the developers. ] xt upLeft n at: FossilGreave::topLeft xt left FossilGreavePiano::main right > useSavePoint > jaunt FossilGreave::mid xt upRight n at: FossilGreave::topRight xt right BlastedChamber::main left qr defeatedShadowOfDespair n level: combat^3 > boss ShadowOfDespair 3 n [ These next steps really happened during the boss fight, but eh. ] x zoomDown innerChamber zoomOut qb SerpentForm t zoomOut n at: BlastedChamber::main > beatBoss ShadowOfDespair At [ { gain ClawsOfBelial; gain ShadowOfDespair^1 } ] F ClawsOfBelial ?shootThroughTunnels n [ A fun & close fight. ] x right MiasmaPortalRoom left q defeatedShadowOfDespair m door:closed a tuckedSwitch q ClawsOfBelial&Apino At set door:open x right rightSide left q door:open r throughPortal MinorKeyArtRoom::main - n [ Claude visited Van while we were away and mentioned he wanted to talk to us. He'll be waiting at the next painting. Van doesn't know where that is. ] t right n at: FloralJunction::topLeft t down n at: FloralJunction::bottom t left n at: FloralJunctionPiano::main ta save # TODO: ta syntax? g time: 2024-2-25:00:30 n [ Definitely time for bed. ] w g time: 2024-3-7:22:03 n [ Been a while. I've been coding mostly with time I would have been playing. This journal does not parse 100% yet IIRC, but I'm going to build more of it! ] g reassess n [ Just beat a boss so let's do cleanup on the way out of the area. Don't want to unnaturally avoid it just for being contrarian. Bt right now there are 6 untaken branches in the EucalyptusGarden that I count, which in theory could all be left alone if I wanted to dive to the next area. ] t right n at: FloralJunction::bottom ta switchInWall @t upRight q switch:hit&SirenForm @ @ t upRight n at: FloralJunction::main xt zoomLeft MolesCrossing::main zoomDownLeft > enemy ScuttlingMole x up EucalyptusAncientFragment::main zoomUp qb SerpentForm > grab ancientFragment*1 n has: ancientFragment*5 x zoomLeft MolesCrossing::crossThrough zoomUp r zoomDown FloralJunction::main zoomUp n [ Note: this little loop wasn't even one of the 6 branches I counted earlier as it wasn't on my map yet. Also with 3 ancient fragments right now it's armor upgrade time! ] t right n at: VerdantTheater::main t right n at: VerdantArmorRoom::main > haveCrystal 1053 t talkToHibino n ta: HibinoUpgradeMenu::menu ta upgradeGraceOfZeus n has: ancientFragment*3 > leaveMenu VerdantArmorRoom > jaunt KnightsSunsetVista::rightSide xt zoomRight ClockTower::tunnel zoomUp qb SerpentForm x zoomLeft TunneledStairs::mid zoomRight qb SerpentForm xt zoomDown bottom zoomUp qb SerpentForm v up mid down q OlympianStrike|?wallJump o right r left GlisteningFallsJunction::top right t right n at: TunneledStairs::bottom xt right VerdantCartographersRoom::main left > grab EucalyptusGroveMap n [ I was half-expecting this to be hidden like the one in the ForgottenPond, but it's not. ] > jaunt GlisteningFallsJunction::mid ta hitSwitch xt right n at: GlisteningFallsJunction::midRight x zoomRight OptBossChamber::leftSide zoomLeft qb SerpentForm > switch o right rightSide left qb switch:hit q Apino&ClawsOfBelial xt right n at: OptBossChamber::rightSide > bossDoor right n [ I haven't saved since doing the armor upgrade. Let's find a save point first. huh that's kinda far :(. ] > jaunt FlowerStairsPiano::main ta save > jaunt OptBossChamber::rightSide xt right DuelChamber::main left qr defeatedIssa o right q defeatedIssa n [ Issa appears here: a cowboy ghost. Issa confirmed a story about a mechanical giant. And it's linked to a story about armor forged by the first craftsmen. He'd like to sell our armor to a client. ] n level: combat^3 > boss Issa 2 > beatBoss Issa > questProgress ATreasureOfOld n [ Hard to dodge perfectly but plenty of time to heal. ] n [ "What annoys me most is that he said he wouldn't waste our time..." ] xt right TunnelsChain::leftSide left x right rightSide left qb SerpentForm x right MutedSunriseTunnels::top left r zoomDown bottom throughTunnels > jaunt FlowerStairsPiano::main ta save > jaunt VerdantBeamFalls::bottomLeft ta console xt left VerdantFallsRedNote::main right > grab redNote*1 n has: redNote*5 n [ Sweet, time for my first health upgrade! ] > jaunt FlowerStairsPiano::main ta save > jaunt PoisonMistJunction::main > enemy Swarmer > enemy GreenAxeArmor > enemy ElectroTowerBug > enemy BubbleTowerBug > enemy SwordKnight o bottomLeft o bottomRight gt hidden n [ But it is shown on the map, definitely before I've interacted with it. ] . xt bottomRight VerdantCrystalChamber::main left a examine n [ New kingdom made a castle "upon my back". Young dwelt there but one was depressed and caused the curse? ] t left n at: PoisonMistJunction::main xt bottomLeft EarthBeastGuardhouse::rightSide right > enemy EarthBeast m switch:unhit a switchInWall q FistOfBelial At toggle switch:hit unhit # TODO: Apply with 't' needs to constrain mechanism search! x left leftSide right qb switch:hit > bossDoor left n [ I haven't made much unsaved progress, so let's go! ] n [ Interesting that there's a second optional boss here... ] xt left WistfulSunview::main right qr defeatedLeno n level: combat^3 > boss Leno 2 n [ Another boss that gives us plenty of time to heal even though we tank *many* of its attacks. ] > beatBoss Leno > questProgress ATreasureOfOld > jaunt VerdantFalls::midRight > deathRevert n [ Just careless + using health to hit crystal enemies. ] n at: WistfulSunview::main n has: questATreasureOfOldProgress*3 > jaunt VerdantFalls::topRight g reassess n [ On my way back to save, I reassess. I've hit all the outstandings in the EucalyptusGarden now. The theater in TalosEntrance is closer and on my way to the next stop (green tunnels at the top-right of TalosEntrance) so I'll stop by there to turn in my quest and upgrade my health. ] > jaunt FlowerStairsPiano::main ta save > jaunt MainStage::main # TODO: proper notation for musician availability at various stages? a informMaya q questATreasureOfOldProgress*3 At { gain lightFragment*1; deactivate } > questComplete ATreasureOfOld n has: lightFragment*3 n [ Still not sure what these are for... ] t talkToMichiru n at: MichiruUpgradeMenu::menu > haveCrystal 1063 ta increaseVitality1 oa increaseVitality2 q redNote*8&crystal*100 e [ { lose redNote*8; lose crystal*100; gain vitalityUpgrade*1; deactivate } ] > leaveMenu MainStage > jaunt BlueNotePiano::main ta save n [ And that's it for tonight, although exploring the central green tunnels and the new area reachable at the upper right are next on the agenda. ] g time: 2024-3-7:23:59 w g time: 2024-3-14:21:34 n [ Let's explore the central tunnels before heaidng over to the area connector. ] > jaunt LasersVertical::bottomRight @ ZoomyJunction::rightSide Xt zoomRight @ @ xt zoomRight enteredTunnel zoomOut qb SerpentForm x commit inTunnel - q SerpentForm r zoomLeft ZoomyJunction::rightSide zoomRight qb SerpentForm t zoomRight n at: LasersVertical::inTunnel x zoomRight NorthWestTunnels::main zoomLeft qb SerpentForm x zoomDown WestCentralFalls::bottom zoomUp qb SerpentForm x up top down q SirenForm x zoomRight CentralCornucopia::main zoomLeft qb SerpentForm > cornucopia 32 x zoomRight EastCentralFalls::bottom zoomLeft qb SerpentForm x up top down q SirenForm x zoomRight NorthEastTunnels::main zoomDown qb SerpentForm r zoomRight CorkscrewWall::main left q SerpentForm # reverse requirement already noted t right n at: TowerBugsJunction::topLeft xt right n at: TowerBugsJunction::topMid > enemy Flappy > enemy BombShooty x up BurnishedRailingsElevator::main down x elevator JaggedStonesElevator::main elevator gb elevator zz SectorD_CapraCauldrons x right GlowingPhoenixMarkHall::main left x right CauldronEntranceGates::bottom left gt toTheater o right gt toPiano x up top down qb SerpentForm > seeSwitch q Apino&ClawsOfBelial o right qb switch:hit t down n at: CauldronEntranceGates::bottom xt right CauldronEntrancePiano::main left > useSavePoint t left n at: CauldronEntranceGates::bottom t up n at: CauldronEntranceGates::top ta hitSwitch xt right MagmaVeilHallway::leftSide left m heat:active er set heat:active a hitConsole At set heat:suppressed # Actually this is on a timer... x right rightSide left > suppressibleHeatHere x right DiamondWindowsAscent::bottom left At set heat:active o right gt toTheater x up mid down qb SerpentForm > namedSwitch A x up top down qb SerpentForm > namedSwitch B o right qb switchA:hit&switchB:hit x left MagmaVeilShaft::bottom right er set heat:active m heat:active a powerConsole At set heat:suppressed x up mid down q PegasusFeather > suppressibleHeatHere # Actually on a timer x up top down q PegasusFeather e set heat:active o right o left > enemy BombTurret xt left HoppersQuadrants::bottomRight right > enemy Hopper x zoomLeft bottomLeft zoomRight qb SerpentForm x up topLeft down q ?flight|SirenForm m gate:closed a switchInWall q FistOfBelial At toggle gate:open closed n state: gate:open x right topMid left qb gate:open oa switchInWall q FistOfBelial e toggle gate:open closed ta switchInWall x right topRight left qb gate:closed n [ There's actually two gates in opposite states. ] > enemy Hopper o up m switch:unhit o right gt music q switch:hit a switchInTunnel At { set switch:hit; deactivate} q Apino&ClawsOfBelial xt right ZitherRoom::main left a talkToSahara At deactivate n [ We meet the zither player for the orchestra. They miss their brother (we know the feeling). They want us to fight a machine to get a drawing of their brother. They'll head back to hte theater. ] > quest PortraitOfInnocence t left n at: HoppersQuadrants::topRight xt up FireAndWaterShaft::bottom down o upRight midRight down q ?wallJump x upLeft midLeft down q SirenForm o left gt toPiano @ midRight > bossDoor right @ @ > switch @ bottom upRight q ?wallJump|(switch:hit&SirenForm) @ midRight o up q ?wallJump|(switch:hit&SirenForm) @ @ xt left FireAndWaterPiano::main right > useSavePoint g [ I'm exhausted becuase I'm sick. Let's got to bed. ] g time 2024-3-14:22:33 w g time 2024-3-16:04:16 t right n at: FireAndWaterShaft::midLeft t down n at: FireAndWaterShaft::bottom xt upRight n at: FireAndWaterShaft::midRight xt right LavaVeilDuel::main left n level: combat^3 > boss HekatesIllusion 1 n [ A fun boss, but *plenty* of hug opportunities. ] x right GildedStatueRoom::main left > grab HeliosArmor F HeliosArmor ?heatResist F HeliosArmor ?redConsoles > jaunt FireAndWaterPiano::main ta save > jaunt FireAndWaterShaft::midRight xt up top down > heatHere x right MagmaCorridor::main left > heatHere > enemy GreenShooty > enemy SeedThrower > enemy BombShooty > enemy EarthBeast @ bottomMid > console red o zoomDown qb SerpentForm @ @ x right MagmaPlumeShaftUpper::main left > heatHere m gate:closed o right qb gate:open > darkSlate o up q darkSlate:broken&(?flight|?rideMagmaPlume) x down MagmaPlumeShaftMain::top up qr PegasusFeather|?rideMagmaPlume > heatHere > darkSlate o down q darkSlate:broken qr darkSlate:broken&?rideMagmaPlume x zoomLeft MagmaCorridor::bottomMid zoomDown > heatHere n [ So... you can just use SerpentForm in a heated room safely then? That's interesting. ] ta console At set MagmaPlumeShaftUpper::main::gate:open t zoomDown n at: MagmaPlumeShaftMain::top t up n at: MagmaPlumeShaftUpper::main xt right MagmaPlumeConnector::main left > heatHere x right MagmaWurmsSteps::main left > heatHere o topRight o bottomRight > enemy ToughFlappy > enemy Shooter > enemy BombTurret xt bottomRight TwinFurnaces::mian left > heatHere > enemy SwordAndShieldKnight x right EstrangedSwitchRoom::bottom left > heatHere x up mid down > heatHere q PegasusFeather|?wallJump > recessedSwitch x up top down > heatHere x right UpperCauldronsElevator::main left qb switch:hit o elevator gb elevator n [ Want to check that topRight just nearby first. ] > jaunt MagmaWurmsSteps::main xt topRight CartographersRespite::main left > grab CapraCauldronsMap > jaunt UpperCauldronsElevator::main xt elevator EastResplendentElevator::main elevator zz TheObservatory x left CosmicShaft::bottom right o left gt toPiano o up q SerpentForm&(SirenForm|?wallJump) qr SerpentForm xt left CosmicShaftPiano::main right > useSavePoint t right xt up mid down x up top down q SerpentForm&SirenForm n [ This is an incredibly beautiful room and a fun one to traverse (or it would be if I weren't stopping to write these notes T_T. ] x left ObservationChambers::rightSide right x zoomUnder mid zoomAroundRight qb SerpentForm > enemy SwordAndShieldKnight x zoomAroundLeft leftSide zoomRight qb SerpentForm x left CelestialSteps::top right > enemy MagiShooter x down bottom up qr ?wallJump|OlympianStrike n [ I did NOT expect this to be a one-way, but here we are. Going to refresh the room; maybe there's a way to OlympianStrike up? Indeed, as long as the platner hasn't been senselessley destroyed, you get one shot to pogo it to get up. ] x left CelestialColumnJunction::topRight right x down mid upRight qr PegasusFeather|?wallJump o down x upLeft topLeft down q PegasusFeather|?wallJump o left t down n at: CelestialColumnJunction::mid xt down bottom up qr PegasusFeather|?wallJump > darkSlate o down qb darkSlate:broken x right SlateLockedRoom::top left > darkSlate o downLeft q darkSlate:broken qr darkSlate:broken&PegasusFeather|?wallJump o downRight qr OlympianStrike|?wallJump n [ This room is very softlock-suspicious, so even though it's unassuming I guess I'm getting a power here? ] xt downRight mid up x down bottom upMid qr ?flight|(PegasusFeather&?wallJump) v upLeft top donwLeft > darkSlateObverse > grab HornOfBelial F HornOfBelial ?canBreakDarkSlate ta breakDarkSlate t upLeft n at: SlateLockedRoom::top t left n at: CelestialColumnJunction::bottom n [ Well I can break this now but I'm super curious as to where top left leads. ] t up n at: CelestialColumnJunction::mid t upLeft n at: CelestialColumnJunction::topLeft xt left TwinTelescopes::rightLedge right x down main up qr PegasusFeather|?wallJump x left QuiltedChamber::main right n [ Door here is not a boss door but suggests a locking mechanism for some kind of combat, but nothing triggers when I step in the room. Far door has three pips for actviation but I don't see any swiches. ] m door:closed o left qb door:open > jaunt CelestialColumnJunction::bottom ta breakDarkSlate > haveCrystal 1143 n [ Just randomly noting this as I stare at the pause screen behind my notes window. ] xt down BigTelescope::platform up x down main up q PegasusFeather|?wallJump x down MagmaPlumeShaftApex::top - > heatHere n [ The reverse transition here is bizarre. If I double-jump, I can actually trigger it, but it doesn't lead back to the big telescope room, but instead leads to a blank-looking room with similar geometry (the map has space for both rooms...). But in that room I don't get placed on a platform, and instead fall right back out. If ?rideMagmaPlume is a real thing, maybe we can actually reach that room that way? ] o up MagmaPlumeShaftCulmination::main down q ?rideMagmaPlume|?flight @ MagmaPlumeShaftCulmination::main o up platform down @ MagmaPlumeShaftCulmination::platform o up BigTelescope::main - @ @ x down platforms up qr flight|?rideMagmaPlume > heatHere x down bottom up qr (PegasusFeather&OlympianStrike)|?rideMagmaPlume > heatHere > darkSlateObverseTo MagmaPlumeShaftUpper::main o left v down MagmaPlumeShaftUpper::main up n [ This would be a one-way right now that I really don't want to take. ] xt left MagmaPlumeConnector2::main right > heatHere x left LaserDuelingChamber::main right > enemy SwordAndShieldKnight n level: combat^3 > combat SwordAndShieldKnight 1 @t right q combat:victory @ @ n [ The addition of a beam turret right at face level makes this fight... interesting. I totally flub it. ] o left q combat:victory > lose R n at: CosmicShaftPiano::main n [ Well I said this room would be fun to traverse if not for taking notes, didn't I? T_T ] > jaunt SlateLockedRoom::bottom ta grab n can: HornOfBelial > jaunt LaserDuelingChamber::main > win n [ This fight is actually really easy. Just needs patience to jump down, hit, and jump back up in time with laser cycles. You're totally safe on the ledge and can hug things out whenever you want. The jump to the ledge isn't even a double jump! Note that if our enemy actually moved forward, this would be a super tough fight. But they don't. ] xt left LavaTubeBlueNote::main right > grab blueNote*1 n has: blueNote*3 > haveCrystal 1124 > jaunt MagmaPlumeShaftApex::bottom ta breakDarkSlate t down n at: MagmaPlumeShaftUpper::main t down n at: MagmaPlumeShaftMain::top ta breakDarkSlate xt down mid up qr ?rideMagmaPlume|?flight > heatHere > enemy ToughFlappy x down bottom up qr ?rideMagmaPlume|?wallJump x down UpperMagmaPlumeJunction::main up qr ?rideMagmaPlume|?flight o right o left > darkSlate o down qb darkSlate:broken g reassess n [ Already having the map as I explore this area is super helpful! I can see that to the right there's a complex of rooms, to my left a hallway leading back somewhere I was before, and the shaft continues quite a ways below me. Each option has its appeal, but I'm thinking of trying to leave this area halfway through and go do the next one, just as an intentional deviation from my usual wont. So I wnat to nab the hallway to the left and a few other rooms on my way out, then head back to the central area? But wait! The final connector from the central area is somewhere I've already been, and it DOESN'T have an ability lock: it's just a one-way return. So my grand plan of deviation won't work. I'll still grab the nearby rooms for map completion and then see if I can head down whlie skipping a boss? ] xt left HalfFlameCorridor::main right > enemy RedAxeAmror > enemy FlameBeast > enemy Swarmer n [ An interesting room to visit only after picking up the flame armor: I can now freely jump into the top part to avoid the many enemies, but had I visited earlier, that wouldn't have been easy given the magma on the top. ] x up topHalf down q PegasusFeather|?wallJump > heatHere t down v left MagmaVeilShaft::top right t right n at: UpperMagmaPlumeJunction::main ta breakDarkSlate xt down MagmaPlumeShaftMid::top up qr ?flight|?rideMagmaPlume > heatHere > darkSlateObverseTo UpperMagmaPlumeJunction::main x down mid up qr ?rideMagmaPlume|?flight > heatHere > enemy ToughFlappy x down bottom up qr ?rideMagmaPlume|?wallJump > heatHere x down LowerMagmaPlumeJunction::main up qr ?rideMagmaPlume|?flight > heatHere > darkSlate o down q darkSlate:broken gt towardsTheater x left LavaBeard::main right > enemy RedBuzzyShooter > enemy FlameBeast n [ With the HornOfBelial I just take them out from outside aggro range. Would be a tough fight otherwise. ] r left DiamondWindowsAscent::bottom right > jaunt DiamondWindowsAscent::top xt right LavaTubeRedNote::main left > grab redNote*1 n has: redNote*1 n [ Probably time to call it quits for this early-morning session. ] > jaunt CauldronEntrancePiano::main ta save g time 2024-3-16:06:00 w g time 2024-3-16:13:59 g reassess n [ Guess I'll just try to clear out this area efficiently: Cross the magma stream, down on the right, and hopefully get ?rideMagmaPlume so I can come back up the main shaft. ] > jaunt UpperMagmaPlumeJunction::main xt right TwinLavaBeards::main left x right SecondaryMagmaPlumeJunction::bottom left o right o upPlume topRight down q ?flight|?rideMagmaPlume x upPlatform topLeft down x left LavaEncrustedCrystal::main right a examine n [ The Capra are machinists from the mountains. ] t right n at: SecondaryMagmaPlumeJunction::topLeft t down n at: SecondaryMagmaPlumeJunction::bottom xt right SwordFurnace::main left > enemy EvilCrystal > enemy SwordKnight > heatHere x right MagmaVentsJunction::bottomLeft left > heatHere o up topLeft down q ?wallJump|?rideMagmaPlume n [ Well I guess this is a dead end for now. ] > jaunt LowerMagmaPlumeJunction::main ta breakDarkSlate xt down MagmaPlumeShaftUpperBase::main up qr ?rideMagmaPlume|?flight > heatHere o upRight midRight down q ?useCoolingLavaTriangles|?wallJump x down MagmaPlumeShaftLowerBase::top up qr ?rideMagmaPlume|?flight > heatHere x down bottom up qr ?rideMagmaPlume|?flight > heatHere > enemy ToughFlappy > darkSlate ta breakDarkSlate x down MagmaPlumeShaftSource::top up q darkSlate:broken qr darkSlate:broken&(?rideMagmaPlume|?flight) > darkSlateObverseTo MagmaPlumeShaftLowerBase::bottom o right gt toTheater m gate:closed o left q gate:open oa hitEvilShieldMechanism q Apino&?apinoCanBustShields x down bottom up qr PegasusFeather|?wallJump o left gt toPiano o right xt left MagmaPlumeShaftPiano::main right > useSavePoint t right n at: MagmaPlumeShaftSource::bottom t up n at: MagmaPlumeShaftSource::top x tright CauldronsTheater::main left gd theater a talkToSahara n [ Mentions another musician named Nahre. ] a talkToWynton a talkToMaya a talkToBebel > upgradeMenu Michiru > leaveMenu CauldronsTheater x right CauldronsArmory::main left > upgradeMenu Hibino n has: ancientFragment*3 ta upgradePoseidonArmor n has: ancientFragment*1 # post-hoc slapping an upgrade in here since ancient fragment counts # support the idea... > leaveMenu CauldronsArmory > jaunt MagmaPlumeShaftPiano::main ta save t right n at: MagmaPlumeShaftSource::bottom xt right EdgyArtRoom::main left m portal:closed m gate:closed o right q gate:open a talkToClaude At set portal:open n [ He's relieved to see we survived the previous painting. Overflowing emotions from some traumatic event in the orphanage seem to cause crystals to form. ] x throughPortal ShatteredArch::main - zz PortraitOfDemise zzz Portraits q EdgyArtRoom::main::portal:open x right EdgdyPortraitPiano::main left > useSavePoint x right DesolateVolcanicShaft::topLeft left > heatHere @ topRight > darkSlate o right q darkSlate:broken o down qr ?useCoolingLavaTriangles @ @ x fallAllTheWay bottom flyAllTheWayUp qr ?wallJump > heatHere > darkSlate ta breakDarkSlate x left CinderHome::main right q darkSlate:broken > grab PhoenixForm F PhoenixForm ?rideMagmaPlume F PhoenixForm ?useCoolingLavaTriangles t right n at: DesolateVolcanicShaft::bottom x upRight MointainView::bottom left q PhoenixForm > heatHere x up top down q PhoenixForm|?flight > heatHere x left DesolateVolcanicShaft::midRight right > heatHere x flyUp topRight down > heatHere r floatAcross topLeft floatAcross qb PhoenixForm t left n at: EdgdyPortraitPiano::main ta save t right n at: DesolateVolcanicShaft::topLeft t floatAcross n at: DesolateVolcanicShaft::topRight ta breakDarkSlate xt right VolcanicSpikes::topLeft left > enemy ToughFlappy > heatHere x floatAcross topRight floatAcros qb PhoenixForm > heatHere > enemy ToughFlappy x right VolcanicLedges::bottomLeft left > heatHere @ bottomRight > heatHere o right o up midRight down q PhoenixForm @ midRight > heatHere o right @ @ x up top down q PhoenixForm > heatHere > enemy BombShooty x right VolcanicJunction::top left > heatHere > recessedSwitch o right qb switch:hit x down bottom up qr PhoenixForm|PegasusFeather > heatHere o right gt toPiano v left VolcanicLedges::midRight right xt right VolcanicJunctionPiano::main left > useSavePoint t left n at: VolcanicJunction::bottom xt left n at: VolcanicLedges::midRight xt down n at VolcanicLedges::bottomRight xt right VolcanicSpikesDrifting::top left > heatHere x down bottom up qr PhoenixForm > heatHere x right VolcanicConnector::main left > enemy BombShooty > heatHere x right TwinStreamsSwitches::top left > heatHere > namedSwitch A x down mid up qr PhoenixForm|?flight > heatHere > namedSwitch B > namedSwitch C > namedSwitch D x down bottom up qr PegasusFeather|PhoenixForm|?wallJump > heatHere > namedSwitch E x left ShiftingVentJunction::midRight right q switchA:hit&switchB:hit&switchC:hit&switchD:hit&switchE:hit > heatHere x down bottomRight up qr PhoenixForm|?flight > heatHere o right o left qb PhoenixForm xt right BombTowersConnector::main left > enemy BombTowerBug > heatHere o right t left n at: ShiftingVentJunction::bottomRight xt left midTunnels bottomRight qb SerpentForm&PhoenixForm o left bottomLeft zoomRight q ?serpentDeliberateMovement qr SerpentForm x topRight midPlatform zoomLeft q SerpentForm&PhoenixForm qr SerpentForm > heatHere > enemy BuzzyShooter x right topRight left qb PhoenixForm > heatHere > console red ta console t left n at: ShiftingVentJunction::midPlatform x upLeft topLeft hopDown q PhoenixForm|PegasusFeather > heatHere > enemy BombShooty x down bottomLeft up qr PhoenixForm|?wallJump > heatHere x left ShifitngVentNote::main right q console:active > grab blueNote*1 n has: blueNote*4 n [ Enough for the next upgrade I think :) ] t right n at: ShiftingVentJunction::bottomLeft > jaunt VolcanicJunctionPiano::main ta save t left n at: VolcanicJunction::bottom t up n at: VolcanicJunction::top xt right VolcanicHallway::leftSide left > heatHere x across rightSide across qb PhoenixForm > heatHere x right AboveConflagration::topLeft left m gate:closed o down qb gate:open @ topRight > console red @ @ > jaunt VolcanicJunctionPiano::main ta save > jaunt BombTowersConnector::main xt right VolcanicHoppersRoom::leftLedge left > heatHere x down leftSide up qr PegasusFeather|?wallJump > heatHere > enemy Hopper x throughLasers rightSide throughLasers gb PhoenixForm > heatHere x right BombArmorPair::main left > heatHere > enemy BombTurret > enemy BulkArmor x up ledge down q PegasusFeather n [ Note that depsite this room being a heated room, we cannot use the PhoenixForm here. Not sure what the logic behind where we can use it is then... ] x right BigVortexJunction::bottomLeft left > heatHere x up topLeft down q PhoenixForm > heatHere > darkSlate o left q darkSlate:broken t down n at: BigVortexJunction::bottomLeft x across bottomRight across qb PhoenixForm > heatHere o right t across n at: bottomLeft t up n at: topLeft ta breakDarkSlate xt left ShooterShelves::bottom right > multiConsole red A ta consoleA > enemy Shooter > enemy GreenShooty > heatHere x up top down q PhoenixForm > enemy BombShooty > enemy Shooter n [ Heavy Apino use here makes this easy. ] > multiConsole red B > multiConsole red C ta consoleB ta consoleC x right BulkyRedoubt::leftLedge left q consoleA:active&consoleB:active&consoleC:active > heatHere x down main up qr PegasusFeather|?wallJump > heatHere > enemy BulkArmor x right TrifectaShaft::bottom left > enemy ToughFlappy > enemy BombTowerBug > heatHere x zoomUp top flyDown q SerpentForm&SirenForm&PhoenixForm > enemy ToughFlappy > heatHere x right FiresplitFalls::bottomLeft left > enemy BombTurret > heatHere x up top downLeft q SirenForm o left x downRight bottomRight up qr SirenForm > heatHere t up n at: FiresplitFalls::top xt left SkullrocksShaft::bottom right > heatHere > enemy Shooter > enemy BubbleShooty o left gt toPiano x up top down q PhoenixForm|?flight > heatHere > enemy BubbleShooty > darkSlate o left q darkSlate:broken ta breakDarkSlate t down n at: SkullrocksShaft::bottom xt left SkullrocksPiano::main right > useSavePoint n [ Man, my intuition is just somehow terrible in these portraits. I've been trying to do side-rooms first to avoid backtracking, but here I am at the 3rd piano so up there is probably the boss and I've left behind two unexplored options I'm now going to go back for. ] > jaunt FiresplitFalls::bottomRight x right VortexFight::main left > enemy RedAxeAmror > enemy FlameBeast > heatHere x up platforms down q PhoenixForm > enemy BombShooty > heatHere t down n at: VortexFight::main x right SpikyUBend::topLeft left x down bottomLeft up qr PhoenixForm o flyAroundUp topRight glideDown q ?flight qr PhoenixForm o left gt hidden n [ Trying to get back up reveals this. ] n [ Meta: this "secret that will definitely be found when you do X other thing" is an idiom. ] xt left DesolateBlueNote::main right qr PegasusFeather|?wallJump > grab blueNote*1 n has: blueNote*5 > jaunt SkullrocksPiano::main ta save > jaunt BigVortexJunction::bottomRight xt right RedNoteArch::main left > grab redNote*1 n has: redNote*2 > jaunt SkullrocksPiano::main ta save t right n at: SkullrocksShaft::bottom t up n at: SkullrocksShaft::top xt left VolcanicOneWay::rightLedge right > heatHere x down rightSide up qr ?wallJump|PhoenixForm|OlympianStrike > heatHere n [ I think you could get back up if you don't break the vases? ] x left leftSide right qr ?wallJump > heatHere x left AboveConflagration::topRight right m meteorites:absent ta console At set meteorites:falling F AboveConflagration::topRight::console:active AboveConflagration::topLeft::gate:open n [ Now we go back around the circle to confront the boss? I guess? Maybe new vortexes will be open here and there so we can do that? Let's also check that blocked branch to the right... ] n [ Meta: This is an interesting inversion of the usual: you made it around the circle so here's a shortcut to prevent backtracking. Instead we have: you made it around the circle so you can open the gate but now you have to go back around he circle and make it through all those rooms in reverse order. Many of the rooms are somehow more interesting in reverse, so this is fine? ] t right n at: VolcanicOneWay::leftSide @t right q ?wallJump|(meteorites:falling&PhoenixForm) @ @ t right n at: VolcanicOneWay::rightSide @t up q ?wallJump|(meteorites:falling&PhoenixForm) @ @ t up > jaunt SkullrocksPiano::main ta save > jaunt SpikyUBend::bottomLeft @t flyAroundUp q ?flight|(meteorites:falling&PhoenixForm) @ @ xt flyAroundUp n at: SpikyUBend::topRight x right VolcanicAncientFragment::ledge left x down main up qr PegasusFeather > grab ancientFragment*1 n has: ancientFragment*2 n [ Enough for another upgrade! ] > jaunt SkullrocksPiano::main ta save > jaunt VolcanicJunctionPiano::main ta save > jaunt AboveConflagration::topLeft xt down Conflagration::main up qr ?defeatedShadowOfDemise&?flight n level: combat^3 > heatHere > boss ShadowOfDemise 3 > beatBoss ShadowOfDemise At gain FangOfBelial n [ Very fun boss once you learn the patterns! ] F FangOfBelial ?apinoCanBustShields m lowerGate:closed a hitEvilShieldMechanism q FangOfBelial&Apino At set lowerGate:open x right VolcanicPortalRoom::main left q lowerGate:open r throughPortal EdgyArtRoom::main - n [ The ghostly spirit visists us again. Her greatest love is trapped. She wants to set him free, but it's beyond her control. Talos' Heart resides in the deepest part of the castle. It is all that holds this place together. It is being corrupted by the curse. We must free Talos, by violently cutting away all trace of the corruption. ] n [ We get a quest marker on our map just a few rooms to the right. But now I grok that we're going to have to explore our way there through the other pathway marked on the map, and opening the gate in this room will happen from the other side. ] > jaunt MagmaPlumeShaftPiano::main ta save t right n at: MagmaPlumeShaftSource::bottom t up n at: MagmaPlumeShaftSource::top ta hitEvilShieldMechanism At set gate:open xt left MagmaVentWorks::bottomRight right > heatHere x zoomThrough bottomMidRight zoomThrough qb SerpentForm > heatHere > enemy BuzzyShooter o up q PhoenixForm|?wallJump m gate:closed o left qb gate:open xt up platform downLeft > heatHere v downRight bottomRight up x zoomTop midChamber zoomOut q PhoenixForm&SerpentForm qr PegasusFeather&SerpentForm > heatHere a hitEvilShieldMechanism q Apino&FangOfBelial At set gate:open x zoomDown bottomMid zoomUp qb SerpentForm > heatHere v right bottomMidRight left > enemy FlameBeast m gate2:closed o left qb gate2:open x upShaft topLeftChamber return q PhoenixForm&SerpentForm > heatHere a hitEvilShieldMechanism q Apino&FangOfBelial At set gate2:open t return n at: MagmaVentWorks::bottomMid xt left bottomLeft right > heatHere x left BasaltAncientFragment::main right > grab ancientFragment*1 n has: ancientFragment*3 > jaunt CauldronsTheater::main t talkToMichiru n at: MichiruUpgradeMenu::menu ta increaseLight4 n has: blueNote*1 > haveCrystal 1314 oa increaseLight5 q lightUpgrade*4&blueNote*4&crystal*50 e [ { lose blueNote*4; lose crystal*50; gain lightUpgrade*1; deactivate } ] > leaveMenu CauldronsTheater t right n at: CauldronsArmory::main t talkToHibino n at: HibinoUpgradeMenu::menu oa upgradeHeliosArmor q ancientFragment*2&crystal*100 e [ { lose ancientFragment*2; lose crystal*100; gain HeliosArmorUpgrade*1; deactivate } ] ta upgradeGaiaArmor n has: ancientFragment*1 > jaunt MagmaPlumeShaftPiano::main ta save n [ Time for a break. ] g time 2024-3-16:17:17 w n [ The babe is still asleep. ] g time 2024-3-16:17:40 > jaunt MagmaPlumeShaftUpperBase::main xt upRight n at: MagmaPlumeShaftUpperBase::midRight > heatHere x right MagmaShaftBossConnector::leftLedge left > heatHere x down bottom upLeft qr PegasusFeather|?wallJump > heatHere x upRight rightSide down q PegasusFeather|?wallJump > bossDoor right > heatHere xt right BasaltFangsArena::main left n level: combat^3 n [ Nice that this room isn't heated, so we can use our more powerful armors. Kinda sad that equally-upgraded armors only have almost-trivial differences though. Wish there were more variety of reach & aerial attacks so that one particular armor would be good here. ] > boss Frinise 3 n [ A challenging boss that we can't spam down with our now-powerful Apino. Fun patterns. ] > beatBoss Frinise > questProgress PortraitOfInnocence > jaunt MagmaPlumeShaftPiano::main ta save n [ Flying up and down the shaft feels great! I'm curious about the weird top connection now though... ] > jaunt MagmaPlumeShaftApex::top xt up n at: MagmaPlumeShaftCulmination::main xt up q PegasusFeather|?wallJump n at: MagmaPlumeShaftCulmination::platform t up n at: BigTelescope::main n [ These connections are just weird for no good reason. Maybe to avoid being able to jump in & out of a zone load trigger? ] > jaunt QuiltedChamber::main n [ Wondering if a boss will be here now but nope. ] > jaunt SecondaryMagmaPlumeJunction::bottom xt upPlume n at: SecondaryMagmaPlumeJunction::topRight x right BasaltBlueNote::main left > grab blueNote*1 n has: blueNote*2 t left n at: SecondaryMagmaPlumeJunction::topRight t down n at: SecondaryMagmaPlumeJunction::bottom t right n at: SwordFurnace::main t right n at: MagmaVentsJunction::bottomLeft xt up n at: MagmaVentsJunction::topLeft > heatHere > enemy FlameBeast x flyAcross topRight flyAcross qb PhoenixForm|?flight > heatHere o down qr PhoenixForm|?wallJump x right BasaltCrystalChamber::main left a inspect n [ So Telos was built by the ancients in order to contain the curse! This is actually some juicy lore. ] gt hidden t left n at: MagmaVentsJunction::topRight xt down bottomRight up > heatHere x down BasaltWurmsStep::top up qr PegasusFeather > heatHere x down mid up qr PhoenixForm|?wallJump > heatHere > enemy RedAxeAmror > enemy ToughFlappy x down bottom up qr PhoenixForm|?wallJump > heatHere > enemy RedAxeAmror x left BasaltTunnels::topRight right > heatHere x zoomDown rightTunnels zoomUp qb SerpentForm @ topMid o zoomRight rightTunnels zoomLeft qr ?serpentDeliberateMovement @ @ x zoomDown bottom zoomUp qb SerpentForm > heatHere > enemy BombTurret g time 2024-3-16:18:00 n [ Aaron is awake. ] w > bossDoor left o down q PoseidonArmor&BasaltTunnelsConsolesActive x zoomUpLeft topLeft zoomDown qb SerpentForm&(PegasusFeather|PhoenixForm) > heatHere > multiConsole red A ta consoleA x zoomRight topMid zoomLeft qb SerpentForm > heatHere > multiConsole red B ta consoleB F consoleA:active&consoleB:active BasaltTunnelsConsolesActive t zoomRight n at: BasaltTunnels::rightTunnels t zoomDown n at: BasaltTunnels::bottom n Hopefully this boss isn't too bad. xt left CrystalVeinsTomb::main right qr defeatedCrystalGolem n level: combat^3 > boss CrystalGolem 3 n [ Europa comments that the cyrstal looks like the geodes we've seen around Talos, but corrupted. ] > beatBoss CrystalGolem > questProgress PortraitOfInnocence n [ Hard fight; I stand back to spam, but lose 2 out of 3 health points to poor hug timings. A bit more patients and pattern reading would have been safer. ] n [ Quest is now at 2/2. ] t right n at: BasaltTunnels::bottom xt down LaserSwim::top up x swimThrough bottom swimThrough qb SirenForm x zoomRight CauldronSporesChamber::top zoomLeft qb SerpentForm > poisonHere x zoomDown midTop zoomUp qb SerpentForm > poisonHere > enemy Spikeling x down midBottom up qr PegasusFeather|?wallJump > poisonHere > enemy Spikeling x zoomDown bottom zoomUp qr SerpentForm > poisonHere > enemy LeapingMole x zoomRight PhoenixShaft::top zoomLeft qb SerpentForm > heatHere m switchA:unhit a hitEvilShieldMechanismA q Apino&FangOfBelial At set switchA:hit x down bottomRight up qr PhoenixForm > heatHere x across bottomLeft across qb PhoenixForm|PegasusFeather > heatHere o left qb switchA:hit&switchB:hit x up midLeft down q PhoenixForm > heatHere m switchB:unhit a hitEvilShieldMechanismB q Apino&FangOfBelial At set switchB:hit t down n at: PhoenixShaft::bottomLeft xt left LaserBeard::main right > heatHere > enemy SwordKnight > enemy LaserTurret n [ Havne't been noting these, but better late than never? ] x left FireBugSteps::top right > heatHere > enemy ElectroTowerBug > enemy BombTowerBug o down x left CrimsonCornucopia::main right gt hidden > heatHere > cornucopia 12 t right n at: FireBugSteps::top xt down mid upLeft qr PhoenixForm|?wallJump > heatHere n [ I haven't been noting these up to this point, but the mention of cutting out all traces of corruption has me worried they're significant! Once more better late than never! ] > corruptNode x upZoomDown bottom zoomUp q SerpentForm&(PhoenixForm|PegasusFeather) n [ The bottom is not heated. ] o right x left JaggedObsidianConnector::main right v left EdgyArtRoom::main right > snakeConsole ta console F JaggedObsidianConnector::main::console:active EdgyArtRoom::main::gate:open > jaunt MagmaPlumeShaftPiano::main ta save > jaunt FireBugSteps::bottom xt right SteelPipesElevator::main left o elevator gb elevator x right CauldronsGenerator::main left m generator:inactive a activateGenerator q HeliosArmor At [ { set generator:active; deactivate } ] n [ Text lets us know that generators can activate nearby elevators and doors. I... don't understand why we're using such a fancy mechanism for this. ] t left n at: SteelPipesElevator::main @t elevator qb generator:active @ @ xt elevator PlushClawsElevator::main elevator n [ This castle wasn't just built atop a sleeping giant; it's become part of him. ] zz SectorF_TalosCore n [ I get three quest markers on my map to the west. ] o left o right gt toPiano xt right PlushClawsPiano::main left > useSavePoint t left n at: PlushClawsElevator::main xt left PlushSunbeamHallway::main right x left PlushJunctionUpper::bottomRight right x down PlushJunction::junction up qr PegasusFeather gt toTheater m leftDoor:closed m rightDoor:closed o left leftSide right qb leftDoor:open o right rightSide left qb rightDoor:open @ leftSide > snakeConsole o up @ @ @ rightSide o right @ @ x down elevatorChamber up qr PegasusFeather o elevator gb elevator q coreElevatorGeneratorsOn x left BlueGeneratorRoom::main right m coreElevatorGeneratorA:off a activateGenerator q PoseidonArmor At [ { set coreElevatorGeneratorA:active; deactivate } ] x left DuskyFalls::bottom right > enemy BuzzyShooter x up mid down q SirenForm|?wallJump > corruptNode n [ Hitting the node also clues me in that the wall is breakable. ] o up top down q SirenForm|?wallJump x right CoreMapRoom::main left gt hidden > grab TalosCoreMap t left n at: DuskyFalls::mid xt up n at: DuskyFalls::top x right GoldenGeneratorRoom::main left m coreElevatorGeneratorB:off a activateGenerator q GraceOfZeus At [ { set coreElevatorGeneratorB:active; deactivate } ] x right PlushJunctionUpper::topLeft left x up UpperGolenGeneratorRoom::main downLeft m coreElevatorGeneratorC:off a activateGenerator q GraceOfZeus At [ { set coreElevatorGeneratorC:active; deactivate } ] F coreElevatorGeneratorA:active&coreElevatorGeneratorB:active&coreElevatorGeneratorC:active coreElevatorGeneratorsOn x downRight PlushJunctionUpper::topRight up x down mid up qr PegasusFeather > enemy MagiShooter x down PlushJunction::leftSide up ta console At [ { set leftDoor:open; set rightDoor:open } ] t right n at: PlushJunction::junction xt right n at: PlushJunction::rightSide xt right PlushSwimmingHole::topLeft left > enemy Flappy x down underwater upLeft qr SirenForm|(PoseidonArmor&?wallJump) > enemy OrbBeast x upRight topRight down q SirenForm|(PoseidonArmor&?wallJump) x right SunlitRedNote::main left > grab redNote*1 n has: redNote*3 > jaunt PlushJunction::elevatorChamber xt elevator SporeScatteredElevator::main elevator o left o right gt toPiano xt right SporeElevatorPiano::main left > useSavePoint t left n at: SporeScatteredElevator::main xt left CoreTunnelsChambers::rightSide right x zoomLeft midChamber zoomAroundRight qb SerpentForm > enemy SwordAndShieldKnight > enemy Swarmer x zoomAroundLeft leftSide zoomRight qb SerpentForm > poisonHere > corruptNode x left CorePoisonJunction::bottomRight right > poisonHere x down CoreSecondElevator::topRight up > poisonHere x down elevatorChamber up > poisonHere o zoomRight qb SerpentForm n at: CoreSecondElevator::elevatorChamber m gate:closed o left qb gate:open m secondCoreElevatorGeneratorA:inactive m secondCoreElevatorGeneratorB:inactive m secondCoreElevatorGeneratorC:inactive o elevator gb elevator qb secondCoreElevatorGeneratorA:active&secondCoreElevatorGeneratorB:active&secondCoreElevatorGeneratorC:active x upLeft topLeft down > poisonHere x up CorePoisonJunction::bottomLeft down > poisonHere q PegasusFeather|?wallJump x zoomUp upperTunnels zoomDown qb SerpentForm x zoomRight FireVentChamber::bottom zoomLeft qb SerpentForm > heatHere > enemy ToughFlappy > enemy BombTurret m gate:closed o right gt music qb gate:open x up topLedge down q PhoenixForm|?wallJump > heatHere > enemy ToughFlappy o left x zoomDownRight SkullsPile::main zoomAroundLeft qb SerpentForm gt hidden v left FireVentChamber::bottom right a talkToLouis n [ Louis is tripping. ] > quest PersecutedPercussionist n has: questPersecutedPercussionistProgress*1 > switch F SkullsPile::main::switch:hit FireVentChamber::bottom::gate:open t zoomAroundLeft n at: FireVentChamber::topLedge xt left PhoenixHop::bottom right > heatHere > enemy Hopper x up leftLedge down q (PhoenixForm&PegasusFeather)|SerpentForm > heatHere > enemy BuzzyShooter x up top down q PhoenixForm|?flight > heatHere x up VentAscent::rightSide down q PhoenixForm|?wallJump > heatHere m vent:inactive a hitEvilShieldMechanism q Apino&FangOfBelial At set vent:active x up topLedge downRight q (vent:active&PhoenixForm)|?flight > heatHere o up x downLeft leftLedge up qr (switch:hit&PhoenixForm)|?flight > heatHere > switch > bossDoor left n [ Haven't saved in a while so I'll do that first. ] t up n at: VentAscent::topLedge xt up TallFireShaft::bottom down > heatHere > enemy BombShooty x zoomUp mid down q SerpentForm > heatHere > enemy BubbleShooty > enemy Flappy x ascend top descend q (SerpentForm&PhoenixForm)|?flight > heatHere > corruptNode o left x right HeatedCrystalChamber::main left a examine n [ Talos has seen it all. ] t left n at: TallFireShaft::top xt left OverheatingDrapery::main right > enemy RedAxeAmror > enemy FlameBeast > enemy BombTurret > enemy ToughFlappy n [ Well this is an epic reconnect! ] > console red ta console F OverheatingDrapery::main::console:active DimTheaterFoyer::main::door:open r left DimTheaterFoyer::main right > jaunt TutorialPiano::main ta save n [ Time for bed since I'm sick. ] g time 2024-3-16:23:27 w g time 2024-3-17:21:09 g reassess n [ Now I'm curious whether I can use the helios armor to make progress in the forgotten pond? I'll check the journal as IIRC it was actually switch-locked, not just heated. Journal confirms it's not just a red switch, but one on the wrong side of a gate. Glad I didn't hoof it over there. Let's just keep going as usual. ] > jaunt VentAscent::leftLedge xt left BedrapedThroneRoom::main right A gain combat^1 n [ Kinda has accumulated, I think. A lot of this is patience? ] n level combat^4 > boss Death 4 > beatBoss Death n [ A challeging boss, but again, if you know the hug timings, the rest is just patience. Make the scythes 5% faster and this fight would be a LOT more challenging. Nice homage though. ] > questProgress PersecutedPercussionist n has: questPersecutedPercussionistProgress*2 > jaunt CoreSecondElevator::elevatorChamber xt zoomRight GreenGeneratorCave::offstepTunnels zoomLeft o crossOver onstepTunnels crossOver qb SerpentForm&?serpentDeliberateMovement @ onstepTunnels o zoomRight qb SerpentForm o zoomLeft cave zoomRight qb SerpentForm @ cave oa activateGenerator q GaiaArmor e [ { set secondCoreElevatorGeneratorA:active; deactivate } ] @ @ x zoomRight PoisonCrystal::main zoomAboveLeft qb SerpentForm > poisonHere a inspect n [ Talos can feel the curse. ] x zoomLeft CoreBombsMaze::main zoomRight qb SerpentForm o zoomDown qb SerpentForm o zoomLeft qb SerpentForm xt zoomLeft GreenGeneratorCave::cave - > poisonHere ta activateGenerator xt zoomRight n at: GreenGeneratorCave::onstepTunnels r zoomRight CoreBombsMaze::main - xt zoomDown thornyPath zoomUp > poisonHere m gate:closed o left qb gate:open x right PaladinsLair::main left > poisonHere > enemy SwordAndShieldKnight > enemy LeapingMole > combat SwordAndShieldKnight 1 n [ You have to either ankle-poke it or hit the switch to temporariliy disable the poison so you can use its weakness (fire). ] > win a hitSwitch q combat:victory At [ { set CoreBombsMaze::thornyPath::gate:open; deactivate } ] t left n at: CoreBombsMaze::thornyPath xt left SecondPoisonGeneratorCave::ledge right x down main up qr PegasusFeather|?wallJump a activateGenerator q GaiaArmor At [ { set secondCoreElevatorGeneratorB:active; deactivate } ] x zoomLeft ThirdPoisonGeneratorCave::tunnels zoomRight @ main > poisonHere v right CoreSecondElevator::elevatorChamber left oa shootDoor q Apino e set CoreSecondElevator::elevatorChamber::gate:open oa activateGenerator q GaiaArmor e [ { set secondCoreElevatorGeneratorC:active; deactivate } ] o zoomUp q PegasusFeather&SerpentForm qr SerpentForm @ @ x zoomUp CoreAnotherTunnelsMaze::main zoomDownLeft qb SerpentForm x zoomDown ThirdPoisonGeneratorCave::main zoomUp ta activateGenerator ta shootDoor t right n at: CoreSecondElevator::elevatorChamber xt elevator CoreSecondElevatorBottom::main elevator n [ Three more generators are marked on my map here. ] x left PlushZooms::rightSide right x zoomAcross leftSide zoomAcross qb SerpentForm n [ There are a few stops in the middle, but not worth noting. ] x left BeamFlightShaft::bottomRight right > heatHere @ bottomLeft > bossDoor left o zoomUp qb SerpentForm @ @ x up rightLedge down q PhoenixForm|?wallJump o up x right ShimmeringGenerator::main left > heatHere m thirdCoreElevatorGeneratorA:inactive a activateGenerator q HeliosArmor At [ { set thirdCoreElevatorGeneratorA:active; deactivate } ] x right ShimmeringGeneratorBlueNote::main left gt hidden > grab blueNote*1 n has: blueNote*3 t left n at: ShimmeringGenerator::main t left n at: BeamFlightShaft::rightLedge xt up topRight down q PhoenixForm|?wallJump @ topLeft > heatHere o left o zoomDown tunnels zoomUpLeft qb SerpentForm @ tunnels o zoomUp qb SerpentForm v zoomDown bottomLeft zoomUp @ @ x right TwinBurners::leftLedge left > heatHere > darkSlate ta breakDarkSlate x down bottom upLeft q TwinBurners::leftLedge::darkSlate:broken qr TwinBurners::leftLedge::darkSlate:broken&((PhoenixForm&FistOfBelial)|?wallJump) > heatHere x upRight rightLedge down q (PhoenixForm&FistOfBelial)|?wallJump > heatHere m gate:closed o right qb gate:open > darkSlate ta breakDarkSlate x up top down qb TwinBurners::rightLedge::darkSlate:broken > heatHere > enemy EvilCrystal > enemy MagiShooter > corruptNode o left a hitEvilShieldMechanism q Apino&FangOfBelial At set gate:open t down n at: TwinBurners::rightLedge xt right AnohterGoldenGenerator::main left m thirdCoreElevatorGeneratorB:inactive a activateGenerator q GraceOfZeus At [ { set thirdCoreElevatorGeneratorB:active; deactivate } ] t left n at: TwinBurners::rightLedge t up n at: TwinBurners::top xt left SpikesFlamesAscent::bottomRight right > heatHere x up lowerRightLedge down q PhoenixForm|(PegasusFeather&?wallJump) > heatHere > switch m switch2:unhit o right qb switch:hit&switch2:hit x up upperRightLedge down q PhoenixForm > heatHere o up x right SpikesFlamesAscentPiano::main left gt toPiano > useSavePoint t left n at: SpikesFlamesAscent::upperRightLedge xt up topRight down q PhoenixForm|PegasusFeather > heatHere o right gt toTheater m thirdCoreElevatorGeneratorC:inactive o left q thirdCoreElevatorGeneratorA:active&thirdCoreElevatorGeneratorB:active&thirdCoreElevatorGeneratorC:active a hitSwitch q Apino At [ { set switch2:hit; deactivate } ] xt right TalosCoreTheater::main left gd theater a informSahara q questPortraitOfInnocenceProgress*3 At { gain lightFragment*1; deactivate } > questComplete PortraitOfInnocence n has: lightFragment*4 a talkToSahara a talkToWynton a talkToMaya > upgradeMenu Michiru > leaveMenu TalosCoreTheater a talkToBebel a talkToLouis n [ Hints of using the central elevator to access the lower areas. ] x right TalosCoreArmory::main left > upgradeMenu Hibino > leaveMenu TalosCoreArmory t left n at: TalosCoreTheater::main t left n at: SpikesFlamesAscent::topRight t down n at: SpikesFlamesAscent::upperRightLedge t down n at: SpikesFlamesAscent::lowerRightLedge xt right SereneGeneratorRoom::main left a activateGenerator q PoseidonArmor At [ { set thirdCoreElevatorGeneratorC:active; deactivate } ] t left n at: SpikesFlamesAscent::lowerRightLedge t up n at: SpikesFlamesAscent::upperRightLedge t right n at: SpikesFlamesAscentPiano::main ta save t left n at: SpikesFlamesAscent::upperRightLedge t up n at: SpikesFlamesAscent::topRight xt left topLeft right > heatHere x zoomDown BeamFlightShaft::tunnels zoomUp qb SerpentForm xt zoomDown n at: BeamFlightShaft::bottomLeft t zoomUp n at: BeamFlightShaft::tunnels xt zoomUpLeft n at: BeamFlightShaft::topLeft xt left TatteredPlushConnector::main right > enemy SwiftKnight x left TalosCoreWestConnector::main right m gate:closed o left qb gate:open > jaunt BeamFlightShaft::bottomLeft xt left CoreThirdElevatorChamber::topLedge right @ CoreThirdElevatorChamber::main @ @ !a walkOff q !defeatedLocrianSentinel At goto CoreThirdElevatorChamber::main gt trigger # TODO: Fix bug w/ position here! has passes but ? destinations and # boss action are wrong! n at: CoreThirdElevatorChamber::main n level: combat^4 n [ Gotta learn the patterns fast as there isn't a lot of time to hug. But the patterns are learnable. ] n at: CoreThirdElevatorChamber::main > boss LocrianSentinel 4 > beatBoss LocrianSentinel n at: CoreThirdElevatorChamber::main o up topLedge down q defeatedLocrianSentinel&PegasusFeather x elevator CoreThirdElevatorBottom::main elevator gb elevator x right CoreThirdElevatorPiano::main left > useSavePoint x right EvilCrystalsHallway::main left > enemy EvilCrystal x right PlushShaft::top left > enemy MagiShooter > enemy EvilCrystal x down mid up qr PegasusFeather x zoomDown bombsMaze zoomUp qb SerpentForm o zoomDown bottom zoomUp qb SerpentForm x zoomRight PlushAnnex::main zoomLeft qb SerpentForm x up ledge down q PegasusFeather > bossDoor right xt right NeonSkullChamber::main left qr PegasusFeather n level: combat^4 > boss HornedGod 5 n [ Quite a tricky boss fight to heal in. ] > beatBoss HornedGod > questProgress PersecutedPercussionist n has: questPersecutedPercussionistProgress*3 x right HelmedLordPageant::main left n [ Kinda creepy pageant in the background here, where the lord with a vine-wrapped cone-shaped helmet casts a shadow with a horned helmet. Supplicants at the lord's feet seem desperate or beseaching, and skulls abound within the lord's robe. ] > grab ancientFragment*1 n has: ancientFragment*2 n [ Sweet; that's my final armor upgrade! ] > jaunt CoreThirdElevatorPiano::main ta save > jaunt PlushShaft::bombsMaze xt zoomDown n at: PlushShaft::bottom x left EvilCrystalsFormation::main right > enemy EvilCrystal > bossDoor left xt left CorruptedHeartChamber::main right n level: combat^4 x up platforms down q PegasusFeather > boss HeartOfTalos 6 n [ Okay this is legitimately enough spam that it's hard to dodge and to heal. I think I got it low, but also I think I just saw the first phase. ] > failBossRevert HeartOfTalos n at: CoreThirdElevatorPiano::main n [ Might as well grab that last armor upgrade & light crystal? ] > jaunt TalosCoreTheater::main a informLouis q questPersecutedPercussionistProgress*3 At { gain lightFragment*1; deactivate } > questComplete PersecutedPercussionist n has: lightFragment*5 t right n at: TalosCoreArmory::main t talkToHibino n at: HibinoUpgradeMenu::menu ta upgradeHeliosArmor n has: ancientFragment*0 > jaunt CoreThirdElevatorPiano::main ta save > jaunt CorruptedHeartChamber::platforms A gain HeartOfTalos^1 > beatBoss HeartOfTalos n [ Okay no true form or second phase, just gotta be calm and do it. ] @ CorruptedHeartChamber::main right q !defeatedHeartOfTalos n [ This door locks when we beat the boss... ] @ @ x left TalosLeftSteps::top right q defeatedHeartOfTalos o down x left TalosHeartPiano::main right gt toPiano > useSavePoint t right n at: TalosLeftSteps::top xt down bottom up qr PegasusFeather x left BeamsFerries::rightSide right x across leftSide across x left TunnelBoostSteps::bottom right x zoomUp top down q SerpentForm|?wallJump x left HeatShock::topRight right m heat:active er set heat:active > suppressibleHeatHere a console At set heat:suppressed x down bottom upRight qr SirenForm x upLeft topLeft down q SirenForm > suppressibleHeatHere > console blue ta console n [ The suppression is on a timer so you have to hit it, then quickly go under and back up to hit the blue console before the heat forces you into the Helios Armor. ] x left GreenRedZoom::topRight right qb console:active e set heat:active > heatHere x zoomDown bottom zoomUp qb PhoenixForm&SerpentForm > heatHere x left PlushCalmSpacer::main right m door:closed a breakDoorCap q Apino At [ { set door:open; deactivate } ] x left SnakeElevatorBasement2::main right qb door:open > snakeConsole ta console > cornucopia 50 t rideElevator q console:active n at: MainElevatorMenu::menu F visitedSnakeElevatorBasement2 visitedSnakeElevatorFloor3 n [ We can go up! ] xt toFloor3 n at: SnakeElevatorFloor3::main zz SectorG_UpperQuarters zzz SectorG n [ Note that the game seems to lump the orphanage and the observatory into sector G... I'm going to split the names a bit. ] @ MoonSigilElevator::main zzz SectorG @ EastResplendentElevator::main zzz SectorG @ @ n [ Nahre is here and is greatful that we've gotten the elevator working again. She's a musician who does electronic synthesis? She was exploring the old orphanage, where her father grew up. She saw the shadow of a man with a sword and heard him screaming, so she decided not to explore today. There are four generators to find and fix before we can go up. The man sounds like he's in pain. ] > quest FleetingMusic n has: questFleetingMusicProgress*1 n [ Four renegades to defeat. ] m bottomRightDoor:closed o right gt toTheater qb bottomRightDoor:open m bottomLeftDoor:closed o left gt toTheater qb bottomLeftDoor:open x up top down m floor3GeneratorA:inactive m floor3GeneratorB:inactive m floor3GeneratorC:inactive m floor3GeneratorD:inactive o left q floor3GeneratorA:active&floor3GeneratorB:active&floor3GeneratorC:active&floor3GeneratorD:active m topRightDoor:closed o right qb topRightDoor:open m floor3CoreGenerator:inactive a activateGenerator q GraceOfZeus At { set floor3CoreGenerator:active; deactivate } t down n at: SnakeElevatorFloor3::main F floor3CoreGenerator:active bottomLeftDoor:open F floor3CoreGenerator:active bottomRightDoor:open n [ But not the door above. ] xt left DuskViewHallway::main right > enemy MagiSwordAndShieldKnight > enemy Flapper x left DiamondGrateWindowsSteps::bottom right o left gt toPiano m gate:closed o down qb gate:open x up top down > enemy MagiShooter o left gt toTheater t down n at: DiamondGrateWindowsSteps::bottom xt left DiamondGrateWindowsPiano::main right > useSavePoint g time 2024-3-17:23:49 n [ Time for bed; I'm getting quite sleepy. ] w g time 2024-3-18:15:17 t right n at: DiamondGrateWindowsSteps::bottom t up n at: DiamondGrateWindowsSteps::top xt left AlchemicalStudy::main right > enemy EvilCrystal > enemy RedAxeAmror > enemy AcidTowerBug > enemy BombTowerBug > enemy GreenAxeAmror x left GlitteringAquaTunnels::midRight right x up upperMid down > enemy Spikeling o right gt toTheater o downLeft xt right UpperQuartersTheater::main left > upgradeMenu Michiru > leaveMenu UpperQuartersTheater x right UpperQuartersArmory::main left > upgradeMenu Hibino > leaveMenu UpperQuartersArmory t left n at: UpperQuartersTheater::main t left n at: GlitteringAquaTunnels::upperMid xt downLeft waterChamber up q PoseidonArmor qr SirenForm|!(PoseidonArmor) > enemy FloatingMine > enemy Jellyfloat x zoomDown hiddenStudyLedge zoomUpRight qb SerpentForm > corruptNode o zoomUpLeft qb SerpentForm x down hiddenStudy up qr PegasusFeather o zoomDown qb SerpentForm xt zoomDown TreasureChestHallway::main zoomUp > enemy BuzzyShooter x zoomRight BulkArmorStudy::tunnels zoomLeft qb SerpentForm o zoomUnder studyNiche zoomRight qb SerpentForm @ studyNiche o zoomAroundLeft q (PegasusFeather|?wallJump)&SerpentForm qr SerpentForm @ @ x zoomOver armorStudy zoomOver qb SerpentForm > enemy BulkArmor x right GlitteringCartographersStudy::main left > grab UpperQuartersBottomMap t left n at: BulkArmorStudy::armorStudy t zoomOver n at: BulkArmorStudy::tunnels xt zoomUnder n at: BulkArmorStudy::studyNiche xt zoomAroundLeft PoisonArmorsShelves::shelvesBottom zoomRight > poisonHere > enemy RedAxeAmror x up shelvesTop down > poisonHere > enemy RedAxeAmror x zoomAroundLeft leftSide zoomRight qb SerpentForm x down LevitatingPlatformsWend::main up > cornucopia 25 x zoomRight DousingSpikes::leftSide zoomLeft qb SerpentForm x right midPlatform left qb SirenForm|OlympianStrike n [ I'm too lazy to note that using OlympianStrike would be both difficult and non-repeatable. ] > enemy SwordAndShieldKnight x right rightTunnel left qb (SirenForm|OlympianStrike)&SerpentForm x zoomRight HeatedStaircase::hiddenStudy zoomLeft qb SerpentForm > enemy ToughFlappy > enemy Hopper x zoomUp bombsSqueezeBottom zoomDown qb SerpentForm > heatHere > enemy BombTurret x up bombsSqueezeTop down q PegasusFeather|?wallJump > heatHere > enemy BombTurret x zoomRight PaladinLab::main zoomLeft q SerpentForm qr (PegasusFeather|?wallJump)&SerpentForm > enemy SwordAndShieldKnight x right SealedStudy::leftSide left m gate:closed o right qb gate:open x zoomUnder TwoPools::leftSide zoomUp q SerpentForm qr (SirenForm|!PoseidonArmor)&SerpentForm x down BelowTwoPools::main upLeft q PoseidonArmor qr SirenForm > enemy FloatingMine o upRight q SirenForm qr PoseidonArmor x zoomRight TwoPoolsBlueNote::main zoomLeft qb SerpentForm > grab blueNote*1 n has: blueNote*4 t zoomLeft n at: BelowTwoPools::main xt upRight TwoPools::rightSide down > enemy LeapingMole > enemy Hopper x up SealedStudy::rightNiche down x zoomAcross main zoomRight qb SerpentForm v left leftSide right a hitEvilShieldMechanism At set gate:open x zoomUp BulkBeamsLab::rightSide zoomDown qb SerpentForm > enemy BulkArmor n [ Finally displaying some basic intelligence, I *don't* fight them! ] x across leftSide across > enemy BulkArmor x left HeatedStaircase::rightLanding right > heatHere > enemy BombTurret x zoomUp top downRight q SerpentForm > heatHere > switch v up DiamondGrateWindowsSteps::bottom down F switch:hit DiamondGrateWindowsSteps::bottom::gate:open n [ This connect-back gives us a convenient save point as well! ] o downLeft t up n at: DiamondGrateWindowsSteps::bottom t left n at: DiamondGrateWindowsPiano::main ta save t right n at: DiamondGrateWindowsSteps::bottom t down n at: HeatedStaircase::top xt downLeft leftLanding up qr PhoenixForm|?wallJump > heatHere o left gt toPiano x down bottomLeft up qr PhoenixForm|?wallJump > heatHere > bossDoor left t up n at: HeatedStaircase::leftLanding xt left HeatedStaircasePiano::main right > useSavePoint t right n at: HeatedStaircase::leftLanding t down n at: HeatedStaircase::bottomLeft xt left BlueThreadsChamber::main right n [ Nissi and Limo the slime girls? ] n level: combat^4 > boss NissiAndLimo 5 n [ I got Limo but died to Nissi. Was close. Hug timing is hard. ] n [ Definitely don't want to fight them T_T. ] > failBossRevert NissiAndLimo n at: HeatedStaircasePiano::main > jaunt BlueThreadsChamber::main > failBossRevert NissiAndLimo n at: HeatedStaircasePiano::main > jaunt BlueThreadsChamber::main > beatBoss NissiAndLimo > questProgress FleetingMusic n has: questFleetingMusicProgress*2 x left UpperChambersGreenGenerator::main right a activateGenerator q GaiaArmor At { set floor3GeneratorA:active; deactivate } x left GreenGeneratorCrystal::main right gt hidden a inspect n [ Telos' musings as the corruption progresses. ] > jaunt DiamondGrateWindowsPiano::main ta save > jaunt GlitteringAquaTunnels::hiddenStudyLedge xt zoomUpLeft top zoomDown > enemy BulkArmor x up OrphanageConnector::bottom down q PegasusFeather x up platform down q PegasusFeather x up SideBedroom::main down zz TheOrphanage > corruptNode x right SpikelingJunction::main bottomLeft > enemy Spikeling o right o topLeft xt right DistrubedStudy::main left > enemy ToughFlappy > enemy SwordKnight x up BisectedStudy::bottom down q PegasusFeather|?wallJump > enemy BuzzyShooter > snakeConsole ta console x up leftLedge down q OlympianStrike o left > enemy BuzzyShooter m redConsole:inactive o right rightSide left q console:active&redConsole:active x up topLeft down q OlympianStrike x up BisectedStudyAttic::main downLeft > console red At set redConsole:active > cornucopia 26 x downRight BisectedStudy::rightSide up qr PegasusFeather|?wallJump x right OpenColumn::bottom left o flyUp q ?flight|?wallJump x zoomRight LochsPassage::top zoomLeft q PhoenixForm&SerpentForm qr SerpentForm > corruptNode m gates:position1 oa switchInWall q Apino&FistOfBelial e [ { toggle gates:position1 position2 } ] x down firstLoch up q gates:position1 qr gates:position1&SirenForm oa switchInWall q Apino&FistOfBelial e [ { toggle gates:position1 position2 } ] ta switchInWall x down secondLoch up q gates:position2 qr gates:position2&SirenForm oa switchInWall q Apino&FistOfBelial e [ { toggle gates:position1 position2 } ] ta switchInWall x right rightSide left qb PoseidonArmor&gates:position1 oa switchInWall q Apino&FistOfBelial e [ { toggle gates:position1 position2 } ] x right FireWaterShafts::waterBottom left q SirenForm|(PoseidonArmor&?wallJump)|!PoseidonArmor > enemy FloatingMine x up topLeft down q SirenForm > darkSlate o right topRight left qb darkSlate:broken @ topRight > darkSlateObverse @ @ x left BulkyShootersConnector::main right > enemy BulkArmor > enemy BuzzyShooter x left OpenColumn::top right v fallDown bottom flyUp o up gt toNightmareWisps n [ Going up here looks ominous; let's explore to the right a bit more? ] t right n at: BulkyShootersConnector::main t right n at: FireWaterShafts::topLeft ta breakDarkSlate xt right n at: FireWaterShafts::topRight x down upperLanding up qr PhoenixForm|?wallJump m gate:closed o right qb gate:open x down bottomRight up qr PhoenixForm|?wallJump x right SealedOffChamber::hiddenSwitches left gt hidden a hitSwitches q Apino&ClawsOfBelial At { set gate:open; deactivate } t left n at: FireWaterShafts::bottomRight t up n at: FireWaterShafts::upperLanding xt right SealedOffChamber::entrance left x zoomUp SealedOffRedNote::main zoomDown qb SerpentForm > grab redNote*1 n has: redNote*4 > jaunt OpenColumn::top xt up NightmaresEdge::main down > bossDoor left gd NightmareWisps o right gt toPiano xt right NightmareWispsPiano::main left > useSavePoint t left n at: NightmaresEdge::main xt left IntriguingTent::main right n [ Miria is the last guardian of this castle. The curse is thick here. Her duties require her to stay. Her sister fell here. One of the other guardians violated their oath and betrayed Miria and her sister Dina. Stole a magical artifact. The artifacts we've collected amount to looting Miria's home. The curse is affecting her. ] n level: combat^4 > boss Miria 5 n [ Need more patience. Died to a pattern change though. ] > failBossRevert Miria n at: NightmareWispsPiano::main > jaunt IntriguingTent::main > failBossRevert Miria n at: NightmareWispsPiano::main n [ No chances to heal after the pattern change. ] > jaunt IntriguingTent::main A gain Miria^1 n [ Almost died here but rushed her down after abandoning shield in the last phase. ] > beatBoss Miria > questProgress FleetingMusic n has: questFleetingMusicProgress*3 x left UpperQuartersBlueGenerator::main right a activateGenerator q PoseidonArmor At { set floor3GeneratorB:active; deactivate } > jaunt NightmareWispsPiano::main ta save n [ Time for a break. ] g time 2024-3-18:16:59 w g time 2024-3-18:17:34 n [ A bit more time before dinner? ] > jaunt BisectedStudy::leftLedge xt left OrphanageMapRoom::main right > grab OrphanageMap n [ Meta: Well that was a missed turn! ] > jaunt SpikelingJunction::main xt topLeft DragonHeadPools::bottomRight right x zoomUp pools zoomDownRight q SerpentForm qr PoseidonArmor&SerpentForm x zoomDownLeft ThrowerVent::main zoomRight q PoseidonArmor&SerpentForm qr SerpentForm > enemy SeedThrower x up ShootersAscent::bottom down q PhoenixForm|?wallJump > enemy ElectroShooter x up mid down q PegasusFeather > enemy BubbleShooty > enemy Shooter > corruptNode > enemy AcidShooter n [ There are multiple levels that all require PegasusFeather to jump between, but it's not necessary to annotate that. ] x up top down q PegasusFeather > enemy BombShooty x left KnightBeamsBedroom::rightSide right o zoomAcross leftSide zoomAcross qb SerpentForm x left mid right > enemy EvilCrystal > enemy SwiftKnight x left leftSide right x left MultiSwtichJunction::bottom right > enemy EvilCrystal > multiConsole red A ta consoleA o left q MultiSwitchJunctionConsolesActive x upLeft leftLedge down q PegasusFeather > enemy EvilCrystal > switch o up top downLeft q OlympianStrike|?wallJump t down n at: MultiSwtichJunction::bottom x upRight mid down q PegasusFeather > enemy MagiSwordAndShieldKnight > multiConsole blue B ta consoleB x up rightLedge down q OlympianStrike > enemy EvilCrystal > multiSnakeConsole C ta consoleC x up top downRight q PegasusFeather > enemy EvilCrystal > multiConsole green D ta consoleD F consoleA:active&consoleB:active&consoleC:active&consoleD:active MultiSwitchJunctionConsolesActive v left OrphanageCrystal::main right F MultiSwtichJunction::leftLedge::switch:hit OrphanageCrystal::main::door:open t downLeft n at: MultiSwtichJunction::leftLedge t down n at: MultiSwtichJunction::bottom xt left MultiSwtichRedNote::main right > grab redNote*1 n has: redNote*5 g reassess n [ That's it for the orphanage map, so I guess we're going over to the other side of floor 3 next. ] > jaunt UpperQuartersTheater::main t talkToMichiru n at: MichiruUpgradeMenu::menu ta increaseLight5 n has: blueNote*0 > haveCrystal 1199 oa increaseLight6 q lightUpgrade*5&blueNote*4&crystal*50 e [ { lose blueNote*4; lose crystal*50; gain lightUpgrade*1; deactivate } ] > leaveMenu UpperQuartersTheater > jaunt DiamondGrateWindowsPiano::main ta save > jaunt SnakeElevatorFloor3::main xt right EastDuskViewHallway::main left > enemy Flappy > enemy MagiSwordAndShieldKnight x right DarkPanelJunction::bottom left o right gt toPiano m doors:closed o down qb doors:open x up top down q PegasusFeather o right gt towardsTheater t down n at: DarkPanelJunction::bottom xt right DarkPanelPiano::main left > useSavePoint t left n at: DarkPanelJunction::bottom t up n at: DarkPanelJunction::top xt right FeastHallway::main left > enemy MagiShooter > enemy EvilCrystal > enemy SwiftKnight x right UpperQuartersEastShaft::midLeft left > enemy ToughFlappy > corruptNode x up belowTop down q PegasusFeather > enemy ToughFlappy o downRight o up top down x left UpperQuartersEastTheater::main right gt toTheater > upgradeMenu Michiru > leaveMenu UpperQuartersEastTheater x left UpperQuartersEastArmory::main right > upgradeMenu Hibino > leaveMenu UpperQuartersEastArmory t right t right n at: UpperQuartersEastShaft::belowTop n [ Guess I'll mix it up and do the upper part first here. ] xt up n at: UpperQuartersEastShaft::top > enemy FlameBeast x left ObservatoryEntranceDrapery::main right x left ObservatoryEntrance::main right zz TheObservatory > enemy BuzzyShooter > enemy BulkArmor o up platform down q ?wallJump|OlympianStrike n [ Need an enemy to pogo off of. Let me try that! ] x upLeft leftLedge down q PegasusFeather o zoomUp qb SerpentForm t down n at: ObservatoryEntrance::main n [ Duck out to refresh the enemy here. ] t right n at: ObservatoryEntranceDrapery::main t left n at: ObservatoryEntrance::main xt up n at: ObservatoryEntrance::platform x up PogoRedNote::main down > grab redNote*1 n has: redNote*6 > jaunt ObservatoryEntrance::leftLedge xt zoomUp ShroudedObjects::bottom zoomDown > enemy Hopper x up top down q SirenForm|?wallJump x zoomRight HeatJunction::bottom zoomleft qb SerpentForm > heatHere > enemy BombTurret x up top down q PhoenixForm|?wallJump > heatHere o right o up x left HeatJunctionCrystal::main right gt hidden a inspect n [ Talos is sad to be abandoned, but takes comfort from the skies & stars. ] t right n at: HeatJunction::top xt right ObservatoryMapRoom::main left > grab ObservatoryMap n [ Instinct told me it would be here... ] n [ Also, an achievement lets me know this is the last cartographer's journal. Not sure what's going on with basement level 1 then...? Alternate ending senses start tingling. ] t left n at: HeatJunction::top xt up ChessJunction::bottom down m waterfall:off er set waterfall:off o left n [ Switch is on a timer. ] a switchInWall q Apino&FistOfBelial At set waterfall:on x up firstLedge down q (waterfall:on&SirenForm)|?wallJump oa switchInWall q Apino&FistOfBelial e set waterfall:on o up x downRight bottomRight up qr PegasusFeather x zoomRight ChessConnectingTunnel::main zoomLeft qb SerpentForm e set waterfall:off x zoomRight ChessConnectingMoles::main zoomLeft qb SerpentForm > enemy ScuttlingMole x zoomRight MolesPathsPuzzle zoomLeft qb SerpentForm > enemy ScuttlingMole x zoomRight PoisonConsolesJunction::bottomLeft zoomLeft qb SerpentForm er set poison:active m poison:active > suppressiblePoisonHere x zoomUp center zoomLeft qb SerpentForm > suppressiblePoisonHere a console At set poison:suppressed o zoomDown qb SerpentForm x zoomOver midRight zoomOver qb SerpentForm > suppressiblePoisonHere > multiSnakeConsole A ta consoleA t zoomOver n at: center ta console xt zoomDown bottomMidLeft zoomUp > suppressiblePoisonHere > multiConsole red B ta consoleB x zoomRight bottomRight zoomLeft qb SerpentForm > suppressiblePoisonHere x zoomUp rightSide zoomDown qb SerpentForm > suppressiblePoisonHere o right qb consoleA:active&consoleB:active&consoleC:active x zoomOver bottomMidRight zoomUp qb SerpentForm > suppressiblePoisonHere > multiConsole blue C ta consoleC t zoomUp n at: rightSide # Now we know what opens the door in the QuiltedChamber F consoleA:active&consoleB:active&consoleC:active QuiltedChamber::main::door:open r right QuiltedChamber::main left n [ Time to take a break. ] g time 2024-3-18:18:33 w g time 2024-3-18:21:02 n [ Might have a meeting now, but let's see... ] > jaunt ChessJunction::firstLedge ta switchInWall xt up midLedge down q (waterfall:on&SirenForm)|PegasusFeather @ midRight > snakeConsole o right > darkSlate o up upperMid downRight qb darkSlate:broken @ upperMid > darkSlateObverse @ @ o right midRight left q console:active x across midLeft across q (waterfall:on&SirenForm)|PegasusFeather n [ Jump back doesn't need the extra height. ] x left CelestialArcHallway::rightSide right > enemy ElectroTowerBug x left mid right qb PegasusFeather|SirenForm > enemy SwordAndShieldKnight > enemy BuzzyShooter x left leftSide right qb PegasusFeather|SirenForm > enemy ElectroTowerBug x left PhantomPlatforms::bottom right m platforms:inactive a switchInWall q Apino&ClawsOfBelial At { set platforms:active; deactivate } x up top downLeft q ?wallJump|platforms:active x downRight topRight up qr PegasusFeather > corruptNode x right StarrySkyHallway::main left > enemy EvilCrystal > enemy SwiftKnight n [ There are a few fire vents in this room that aid in dodging enemies but which also throw off your weakness game. ] x right ChessJunction::upperMid left ta breakDarkSlate xt downRight n at: ChessJunction::midRight ta console @t right gt toPiano @ @ x upRight topRight down q PegasusFeather > bossDoor right t down n at: ChessJunction::midRight xt right ChessJunctionPiano::main left > useSavePoint t left n at: ChessJunction::midRight t upRight n at: ChessJunction::topRight xt right ChessMasterCourtyard::main left o right q defeatedChessMaster n level: combat^4 > boss ChessMaster 7 n [ A difficult boss where you must switch up your elements quickly and precisely. ] A gain ChessMaster^1 > failBossRevert ChessMaster n at: ChessJunctionPiano::main > jaunt ChessMasterCourtyard::main > failBossRevert ChessMaster n at: ChessJunctionPiano::main > jaunt ChessMasterCourtyard::main > failBossRevert ChessMaster n at: ChessJunctionPiano::main > jaunt ChessMasterCourtyard::main > failBossRevert ChessMaster n at: ChessJunctionPiano::main > jaunt ChessMasterCourtyard::main > beatBoss ChessMaster > questProgress FleetingMusic n has: questFleetingMusicProgress*4 n [ a.k.a. Maelzel ] n [ A pretty fun boss all around. One of the first truly challenging bosses given that it really doesn't have gaps in its pattern for hugging. ] xt right UpperQuartersRedGenerator::main left a activateGenerator q HeliosArmor At { set floor3GeneratorC:active; deactivate } > jaunt ChessJunctionPiano::main ta save > jaunt ChessJunction::bottom xt left MagmaDrapedHallway::rightSide right m heat:active er set heat:active > suppressibleHeatHere > enemy ToughFlappy > enemy RedAxeAmror > enemy SwordAndShieldKnight > combat SwordAndShieldKnight 1 > win a hitConsole e set heat:suppressed n Heat is on a timer of course, and the big knight isn't weak to fire. x left leftSide right qb combat:victory > suppressibleHeatHere v zoomRight rightSide zoomLeft qr ?serpentDeliberateMovement x left EmbersSkyView::main right e set heat:suppressed x down CelestialSigilTunnels::topLeft up qr PegasusFeather x zoomAcross topRight zoomAcross qb SerpentForm&(SirenForm|PegasusFeather) x right EmberViewBlueNote::main left > grab blueNote*1 n has: blueNote*1 > jaunt ChessJunctionPiano::main ta save > jaunt UpperQuartersEastShaft::belowTop xt downRight midRight up x zoomDown midBottom zoomUp qb SerpentForm > enemy ToughFlappy > enemy RedAxeAmror x down bottom up qr PegasusFeather|?wallJump x down FeastWarmingChamber::main up qr ?flight|PhoenixForm > enemy BombTurret > heatHere x left TallFlamesJunction::bottomRight right x up topRight downRight q PhoenixForm|?wallJump > darkSlate o downLeft mid up qb darkSlate:broken ta breakDarkSlate xt downLeft n at: TallFlamesJunction::mid m switchA:unhit m switchB:unhit o down qb switchA:hit&switchB:hit x zoomLeft midLeft zoomRight qb SerpentForm > poisonHere a switchUnderneath q Apino&ClawsOfBelial At { set switchA:hit; deactivate } a hitEvilShieldMechanism q Apino&FangOfBelial At { set switchB:hit; deactivate } x zoomUp FeastingMoles::main zoomDown qb SerpentForm x zoomRight FeastBlueNote::main zoomLeft qb SerpentForm > grab blueNote*1 n has: blueNote*2 > jaunt TallFlamesJunction::mid # TODO:HERE xt down bottomMid up qr PegasusFeather x zoomDown FishFood::rightSide zoomUp qb SerpentForm > enemy Elefish x left leftSide right qb PoseidonArmor > enemy SwordAndShieldKnight > enemy BubbleShooty n [ Fun fight with platforms dipping in and out of water. ] x up OverturnedChair::bottom down q SirenForm > enemy HoverDark x zoomUp top zoomDown q SerpentForm qr PegasusFeather&SerpentForm x left TallWindowsJunction::top right > enemy EvilCrystal v up DarkPanelJunction::bottom down > switch At set DarkPanelJunction::bottom::doors:open x down mid up > enemy BombShooty o left o zoomDown qb SerpentForm t up n at: TallWindowsJunction::top t up n at: DarkPanelJunction::bottom t right n at: DarkPanelPiano::main ta save > jaunt TallWindowsJunction::mid xt left HoveringFlamesJunction::rightSide right > heatHere > enemy ToughFlappy o zoomOver q (?wallJump|PhoenixForm)&SerpentForm qr SerpentForm x zoomLeft midTunnel zoomRight q (?wallJump|PhoenixForm)&SerpentForm qb SerpentForm > heatHere o zoomDown qb SerpentForm o zoomLeft bottomMid zoomRight q SerpentForm&?serpentDeliberateMovement qr PegasusFeather&SerpentForm @ topMid > multiConsole red A @ @ @ bottomMid > multiConsole red B @ @ t zoomRight n at: HoveringFlamesJunction::rightSide xt zoomOver leftTunnelVert zoomOver > heatHere o stop leftTunnelHoriz stop qb SerpentForm&?serpentDeliberateMovement x zoomLeft bottomLeft zoomRight qb SerpentForm > heatHere o left q consoleA:active&consoleB:active x up leftTunnelHoriz zoomLeft q (PhoenixForm|?wallJump)&SerpentForm > heatHere o zoomRightFallDown bottomMid flyUp q SerpentForm qr ?wallJump&SerpentForm x zoomRightFlyUp topMid zoomLeft q SerpentForm&(PhoenixForm|?wallJump) > heatHere ta consoleA x down bottomMid straightUp qr ?wallJump > heatHere ta consoleB t zoomRight n at: HoveringFlamesJunction::midTunnel t zoomRight n at: HoveringFlamesJunction::rightSide t zoomOver n at: HoveringFlamesJunction::leftTunnelVert t zoomLeft n at: HoveringFlamesJunction::bottomLeft xt left WarmedFeastBlueNote::main right > grab blueNote*1 n has: blueNote*3 > haveCrystal 1353 n [ While I'm checking things in the menu, why not? ] t right n at: HoveringFlamesJunction::bottomLeft > jaunt HoveringFlamesJunction::midTunnel xt zoomDown PoisonConnector::main zoomUp > enemy LeapingMole > enemy SeedThrower o left > darkSlate o right q darkSlate:broken&PegasusFeather qr darkSlate:broken ta breakDarkSlate xt right rightEdge left > darkSlateObverse x right TallWindowsJunction::belowMidLeft left x down bottom upLeft qr PegasusFeather o left gt toPiano > bossDoor right x upRight belowMidRight down q PegasusFeather v zoomUp mid zoomDown q SerpentForm qr SerpentForm&?serpentDeliberateMovement n [ Turns out this wasn't a way to go! ] t down n at: TallWindowsJunction::bottom xt left TallWindowsJunctionPiano::main right > useSavePoint > jaunt PoisonConnector::main xt left WaterPouringOverSpikes::topRight right x zoomAround bottomRight zoomAround qb SerpentForm&SirenForm n [ Oddly enough there are some phoenix form boosters here that we can't use because we can't use phoenix form in this room. ] x down WarmCakes::main up qr PhoenixForm|?flight > heatHere x left WarmFoodRedNote::main right > grab redNote*1 n has: redNote*7 > jaunt TallWindowsJunctionPiano::main ta save t right n at: TallWindowsJunction::bottom xt right HeadlessBusts::main left n [ It's LINK! What an awesome shout-out :) ] n [ Link is part of a collective of 7, one for each huntress, who have vowed to never let the huntresses obtain what they seek. They think we're a huntress, despite our armor (unusual for a huntress) and the fact that we don't have a clan. ] n level: combat^4 > boss Link 3 n [ Not sure if I just figured out things quickly, but this boss does give you time to hug (at least before low health) and it also pulls off its attack if you hit first. So all you have to do is recognize which one is real (super obvious) and then strike first. ] > beatBoss Link > questProgress FleetingMusic n has: questFleetingMusicProgress*5 x right UpperQuartersGoldGenerator::main left q defeatedLink a activateGenerator q GraceOfZeus At { set floor3GeneratorD:active; deactivate } n [ That's all of them! ] x right CornucopiaTable::main left > cornucopia 24 n [ Pretty disappointing size given it's the only thing in this room and this entire sub-wing is food themed... I like the thematic resonance though. ] > jaunt TallWindowsJunctionPiano::main ta save > jaunt SnakeElevatorFloor3::top xt left NightmareWispsAscent::main bottomRight > bossDoor topRight xt topRight PurpleStainedGlassRoom::main left qr defeatedDraythus n level: combat^4 > boss Draythus 7 n [ Draythus was raised in this orphanage, which was a terrible place. He thinks Apino is the missing piece of the puzzle to break the curse. ] A gain Draythus^1 > failBossRevert Draythus n at: TallWindowsJunctionPiano::main > jaunt DarkPanelPiano::main ta save n [ I get injurued on the way in, so I go to the other side (both are equally annoying to runback). ] > jaunt DiamondGrateWindowsPiano::main ta save > jaunt PurpleStainedGlassRoom::main > beatBoss Draythus n [ Man I was not looking forward to lots of runbacks, and it was close, but I'm glad I clutched it out! ] n [ Draythus lets us know, unsurprisingly, that Apino and Belial are the same being. The spirit shows up and tells us the same thing. Nine years ago, a powerful spell changed everything. A scared & lonely boy, tortured for months by grief, looked for a means to escape. His heart and body were separated: heart into the bear, body to become a demon. The spirit is the boy's mom. We get super mad at Apino for lying to us. Color fades and Apino flies away. We spiral into a dark place of loneliness and distrust. ] At [ { lose Apino; lose FistOfBelial; lose ClawsOfBelial; lose HornOfBelial; lose FangOfBelial } ] n [ The way back is blocked. ] @t left q X @ @ x right TwinChandeliers::main left x right DragonMawDescent::main topLeft > snakeConsole v left SnakeElevatorFloor3::top right ta console F console:active SnakeElevatorFloor3::top::topRightDoor:open t left n at: SnakeElevatorFloor3::top t down n at: SnakeElevatorFloor3::main @t left qb Apino @t right qb Apino @ @ n [ Both ways out are shut now... When we get in the elevator though, only one floor is available: B1: Talos' Mind. ] t rideElevator n at: MainElevatorMenu::menu @t toFloor1 q visitedSnakeElevatorRoom&Apino @t toFloor2 q visitedSnakeElevatorFloor2&Apino @t toBasement1 q !Apino @t toBasement2 q visitedSnakeElevatorBasement2&Apino @ @ xt toBasement1 n at: SnakeElevatorBasement1::main zz SectorE_TalosMind m elevator:broken qr elevator:fixed o topLeft gt hidden n [ The map shows something here, but I can't reach it. ] q ?wallJump x right TalosMindPiano::main left gt toPiano > useSavePoint x right IcyWaterfall::bottom left gr toPiano x up top down q SirenForm|?wallJump x left IcyChute::main right x up IcyTunnels::leftSide down qr chase:inactive m chase:inactive a getChased A { set chase:active; deactivate } gt trigger x zoomRight rightSide zoomLeft q SerpentForm qr SerpentForm&chase:inactive x down IcyPool::main up qr chase:inactve&SirenForm x zoomLeft HotIceDescent::main zoomTopRight q SerpentForm qr PhoenixForm&SerpentForm&chase:inactive > heatHere x zoomBottomRight SmallHole::main zoomLeft q SerpentForm qr SerpentForm&chase:inactive x zoomRight HotSpikyHole::main zoomLeft q SerpentForm qr SerpentForm&PhoenixForm&chase:inactive > heatHere x zoomDown IcyHallway::main zoomUpRight q SerpentForm qr SerpentForm&chase:inactive x left SpikesGlideDescent::top topRight qr chase:inactive > heatHere n [ I got distracted by alternate routes here and died T_T ] o topLeft gt hidden n [ Shows on map. ] x down mid up qr PhoenixForm|?flight > heatHere > darkSlate o right midRightLedge left qb darkSlate:broken @ midRightLedge > darkSlateObverse @ @ o down qr (PhoenixForm|?flight)&chase:inactive > deathRevert n at: TalosMindPiano::main # TODO: Why is this wrong? > jaunt SpikesGlideDescent::mid xt down bottom up > heatHere x zoomRight TrickyHole::main zoomLeft q SerpentForm qr SerpentForm&chase:inactive x zoomRight AnotherHotHole::main zoomUp q SerpentForm qr SerpentForm&chase:inactive > heatHere x zoomLeft HotOverSpikes::rightSide zoomRight q SerpentForm qr SerpentForm&chase:inactive > heatHere x zoomAcross leftSide zoomAcross qb SerpentForm > heatHere x zoomDown HotAcross::main zoomUp q SerpentForm qr SerpentForm&chase:inactive > heatHere x down ZoomChoices up qr PhoenixForm&chase:inactive n [ I'm lazy to annotate this properly, but basically a single choice that routes you through a series of water/poison/heated chambers. You either get poison or heat in addition to water. ] x zoomThrough leftSide zoomBack qb SerpentForm x zoomUp NarrowChannel::main zoomDown q SerpentForm qr SerpentForm&chase:inactive&PoseidonArmor x right IceCrystalsPool left qr chase:inactive&PoseidonArmor x zoomUpLeft HeatedRespite::main zoomRight q SerpentForm qr SerpentForm&chase:inactive > heatHere n [ Chase music stops? ] a chaseIsOver At { set chase:inactive; deactivate } g trigger x left ArtistsRefuge::main right m plotLock:engaged ... t right # TODO< Mechanism here? @t zoomRight q SerpentForm&chase:inactive&plotLock:released @ @ t left n at: ArtistsRefuge::main m portal:closed a talkToClaudeAndVan n [ Mabye Apino painted this one? Or maybe Talos? It's too powerful for one artist to open. ] At { set portal:open; deactivate } o left q Apino a portalToApinosMemory q portal:open n [ We see Auriel (Apino's mom) painting Apino + the bear on a spiral staircase. Auriel pulls an absolutely magnificent kid-psych-jiujutsu to get him to stay still, saying that he's just like his bear (who is tough). His mom knows she's going to die, I guess. We decide to fight the demon instead of killing Apino, to make another end to the tale. ] At [ { gain GraceOfAuriel; gain AuraBlast; lose GraceOfZeus; deactivate } ] n [ So.. we can deal light damage, trigger switches on our own, and activate Iris Dash to destroy weak enemies? We can charge up an Aura Blast to hit switches from afar (and damage enemies?) Also our light bar regenerates automatically? This is great :) And we get kickass angel wings (though we can't actually fly). ] F GraceOfAuriel Apino F GraceOfAuriel GraceOfZeus F GraceOfAuriel HornOfBelial F AuraBlast FistOfBelial F AuraBlast ClawsOfBelial F AuraBlast FangOfBelial a talkToClaudeAndVanAgain . xt left PrismaticCrystals::top right > enemy EvilCrystal > enemy MagiSwarmer x down bottom up qr PegasusFeather > cornucopia 2 n [ I hit this with the aura blast, and maybe these are like multi coin blocks in Mario with a timer? ] x down DarkBarriersHallway::rightSide up > darkSlate ta breakDarkSlate > enemy MagiSwarmer x left leftSide right gt darkSlate:broken > darkSlateObverse n [ There are actually two slates but they're redundant. ] > enemy MagiShooter o up x left CrystalsCrystal::main right a inspect n [ Talos was abandoned to the curse. ] t right n at: DarkBarriersHallway::leftSide xt up CurvyCrystalsVista::main down > enemy MagiSwarmer > enemy EvilCrystal x downRight rightPit up qr PegasusFeather t up n at: CurvyCrystalsVista::main x up top down q PegasusFeather|GraceOfAuriel n [ This room can be traversed with single jumps if we're in Iris Dash mode. ] x left CrystalLedges::bottom right x up top down q PegasusFeather > switch m switch2:unhit a switch2 q Apino At { set switch2:hit; deactivate } x right CurvyCrystalsLayers::bottom left q switch:hit&switch2:hit > enemy MagiSwarmer > enemy EvilCrystal x up mid down q PegasusFeather > enemy EvilCrystal > darkSlate ta breakDarkSlate o left qb darkSlate:broken x up top down o left t down n at: CurvyCrystalsLayers::mid xt left ForgottenPondConnectorDrapes::main right > snakeConsole ta console n state: console:active n state: ForgottenPondConnectorDrapes::main::console:active x left MagiSwarmerGate::rightSide right qb ForgottenPondConnectorDrapes::main::console:active ta console t left n at: MagiSwarmerGate::leftSide n [ Just want to walk through the sweet sweet reconnect... ] > jaunt CurvyCrystalsLayers::top xt left AuraBlastPractice::bottom right x up top down q PegasusFeather m switch:unhit a hitSwitchInWall q Apino&ClawsOfBelial n [ Using old annotations still because the new ones are backwards-compatible but the old powers aren't forwards-compatible. ] At { set switch:hit; deactivate } x right LongJumps::bottom left qb switch:hit > enemy EvilCrystal x up top down q (GraceOfAuriel&PegasusFeather) | OlympianStrike x up IceVeilHallway::main downLeft > enemy MagiShooter o downRight x left IcyRedNote::main right gt hidden > grab redNote*1 n has: redNote*8 t right n at: IceVeilHallway::main xt downRight IceSwitchDoorway::topRight up m switch:unhit er set switch:unhit a switch q (Apino&FistOfBelial)|GraceOfAuriel At set switch:hit @ SnakeElevatorBasement1::main Xt topLeft @ @ n [ I guess this was just a map glitch? I'm where it should connect to but there's no rightward connection here. ] x throughGate topLeft throughGate q switch:hit oa switch q (Apino&FistOfBelial)|GraceOfAuriel e set switch:hit x down bottom up qr PegasusFeather > enemy MagiSwarmer x down BigIceGaps::topRight up e set switch:unhit x down rightSide up qr PegasusFeather > enemy EvilCrystal x left leftSide right q (GraceOfAuriel&PegasusFeather)|?wallJump x down MagiKnightCrystalHallway::main up > enemy EvilCrystal > enemy MagiSwordAndShieldKnight x right RealSnakeElevatorBasement1::main left n [ Oh I guess this is the real B1 stop.. ] > snakeConsole ta console o rideElevator qb RealSnakeElevatorBasement1::main::console:active x right rightLedge left q PegasusFeather o right t left n at: RealSnakeElevatorBasement1::main r rideElevator MainElevatorMenu::menu toRealBasement1 @t toBasement1 q !Apino&!GraceOfAuriel @ @ @t toFloor4 q GraceOfAuriel @ @ t toRealBasement1 n at: RealSnakeElevatorBasement1::main t right n at: RealSnakeElevatorBasement1::rightLedge xt right IcySteps::main left x right IceFlowers::main left gt music a talkToKondor n [ It's Kondor the conductor. ] > quest TheLostOrchestra g reassess n [ Here I thought this direction was going to connect to the SpikesGlideDescent... Guess I have to head back over there; that should be the last blue note? ] > jaunt SpikesGlideDescent::top Xt topLeft n [ This is another map bug I guess? No hidden transition here that I can detect. ] t down n at: SpikesGlideDescent::mid ta breakDarkSlate xt right n at: SpikesGlideDescent::midRightLedge x right TalosCoreConnectingDrapes::main left > snakeConsole ta console F TalosCoreConnectingDrapes::main::console:active TalosCoreWestConnector::main::gate:open r right TatteredPlushConnector::main - @ TalosCoreWestConnector::main v left SpikesGlideDescent::midRightLedge - @ @ n [ These connectors all have this weird two-clones setup, although it makes sense to avoid load dithering. ] > jaunt RealSnakeElevatorBasement1::main t rideElevator n at: MainElevatorMenu::menu t toFloor2 n at: SnakeElevatorFloor2::main t topLeft n at: MainStage::main t talkToMichiru n at: MichiruUpgradeMenu::menu > haveCrystal 1647 ta increaseVitality2 n [ Not sure where that last blue note is hiding T_T. ] > leaveMenu MainStage a informNahre q questFleetingMusicProgress*5 At { gain lightFragment*1; deactivate } > questComplete FleetingMusic n has: lightFragment*6 a talkToKondor > quest TheOpeningNight n [ Noises in towers? Not sure but maybe that Observatory arena? ] t left n at: ArmorFragmentsRoom::main t talkToHibino n at: HibinoUpgradeMenu::menu oa upgradeGraceOfAuriel q lightFragment*7&crystal*100 e [ { lose lightFragment*7; lose crystal*100; gain GraceOfAurielUpgrade*1; deactivate } ] > leaveMenu ArmorFragmentsRoom g reassess n [ Indeed on the quest menu in the map it says that the nightmares quest is on the east side of the UpperQuarters. ] > jaunt BlueNotePiano::main ta save > jaunt SnakeElevatorFloor2::main t rideElevator n at: MainElevatorMenu::menu t toFloor3 n at: SnakeElevatorFloor3::main > jaunt DarkPanelPiano::main ta save > jaunt QuiltedChamber::main n level: combat^4 > boss LogonDuck 8 > failBossRevert LogonDuck n at: DarkPanelPiano::main > jaunt ChessJunctionPiano::main ta save > jaunt QuiltedChamber::main > failBossRevert LogonDuck n at: ChessJunctionPiano::main > jaunt QuiltedChamber::main A gain combat^1 n level: combat^5 > beatBoss LogonDuck > questProgress TheOpeningNight n [ Whew what a fight. ] > jaunt ChessJunctionPiano::main ta save > jaunt UpperQuartersEastTheater::main n has: lightFragment*6 a informKondor q questTheOpeningNightProgress*2 At { gain lightFragment*1; deactivate } > questComplete TheOpeningNight n has: lightFragment*7 t left n at: UpperQuartersEastArmory::main t talkToHibino n at: HibinoUpgradeMenu::menu n has: lightFragment*7 ta upgradeGraceOfAuriel n has: lightFragment*0 > jaunt DarkPanelPiano::main ta save g reassess n [ Looking at the map, I see one suspicious one-room gap over in level 1 of the Talos Core. Maybe that's where the last blue note is? Other than that I think we're ready to head to the final conforntation. But it's late. Time to sleep. ] g time 2024-3-19:01:34 w g time 2024-3-19:19:40 > jaunt SnakeElevatorFloor3::main t rideElevator n at: MainElevatorMenu::menu t toFloor1 n at: SnakeElevatorRoom::main > jaunt DimTheaterFoyer::main > jaunt SporeElevatorPiano::main ta save > jaunt BlueGeneratorRoom::main n [ I poke around here where there's a 1x1 map gap, but I can't see any way in. ] > jaunt CauldronEntrancePiano::main ta save > jaunt CrystalNook::rightSide F PhoenixForm ?flameBoost xt overLeft n at: CrystalNook::leftSide ta crystal At [ { gain blueNote*1; deactivate } ] n [ I was heading this way on a symmetry argument (there's a slight asymmetry of the Talos Entrance map) and the asymmetry wans't here, but I vaguely wondered what was in here and lo and behold the missing blue note has been in my jounral the whole time! ] > jaunt TwoEntrancesPiano::main ta save > jaunt SnakeElevatorRoom::main t rideElevator n at: MainElevatorMenu::menu t toFloor2 n at: SnakeElevatorFloor2::main t topLeft n at: MainStage::main t talkToMichiru n at: MichiruUpgradeMenu::menu ta increaseLight6 n has: blueNote*0 > leaveMenu MainStage g time 2024-3-19:20:13 n [ Short break. ] w g reassess n [ That's all the upgrades! Time for the final boss! ] t right n at: SnakeElevatorFloor2::main t rideElevator n at: MainElevatorMenu::menu xt toFloor4 n at: SnakeElevatorFloor4::main zz Observatory zzz SectorH o right o left x up portraits down q PegasusFeather n [ Dev portraits maybe? ] o up q PegasusFeather t down n at: SnakeElevatorFloor4::main xt left StarShipObservatory::main right n [ More portraits, and a statue of somoene using a telescope to observe a stained glass window depicting a sailing ship steering towards a star. ] t right n at: SnakeElevatorFloor4::main xt right ObservatoryTheater::main left > upgradeMenu Michiru > leaveMenu ObservatoryTheater x right ObservatoryArmory::main left > upgradeMenu Hibino > leaveMenu ObservatoryArmory t left n at: ObservatoryTheater::main t left n at: SnakeElevatorFloor4::main t up n at: SnakeElevatorFloor4::portraits xt up WetPortraits::bottom down x up top down q SirenForm|?wallJump o upLeft q SirenForm|?wallJump o upRight q SirenForm|?wallJump xt upRight TunnelsPortraits::bottomRight down x zoomLeft bottomLeft zoomRight qb SerpentForm v down WetPortraits::top upLeft x zoomUp top zoomDown qb SerpentForm x zoomUp HotPortraits::bottom zoomDown qb SerpentForm > heatHere x up top down q PhoenixForm|?flight > heatHere x up HotWetPortraitTunnels::bottom down q PhoenixForm > heatHere x up top down q PhoenixForm&SirenForm&SerpentForm > heatHere x up PortraitsWaterTunnels::bottom down q SirenForm x up top down q SirenForm x up SingleFallPortraits::bottom down q SirenForm x up top down q SirenForm&(PegasusFeather|SerpentForm) x up HotWaterPortraits::bottom down q SirenForm > heatHere x up top down q SirenForm > heatHere n [ Starting to think this is an infinite loop w/ puzzle aspect? I don't think I've seen a repeat room yet, but this is getting fairly repetitive, and the map isn't showing each room I go through, just a single faded room w/ exits on all sides. ] x up NightmareWispsPortraits::bottom down q SirenForm gd NightmareWisps x up top down q SirenForm gd NightmareWisps x up ShatteredCloudview::main down q PhoenixForm|?flight > bossDoor right x left CloudViewPiano::main right gt toPiano > useSavePoint t right n at: ShatteredCloudview::main xt right BelialsLair::main left n level: combat^5 > boss Belial 10 A gain Belial^1 > failBossRevert Belial n at: CloudViewPiano::main > jaunt BelialsLair::main > failBossRevert Belial n at: CloudViewPiano::main > jaunt BelialsLair::main > failBossRevert Belial n at: CloudViewPiano::main > jaunt BelialsLair::main > failBossRevert Belial n at: CloudViewPiano::main > jaunt BelialsLair::main n [ Finally made it into phase 2 proper... ] > failBossRevert Belial n at: CloudViewPiano::main > jaunt BelialsLair::main > failBossRevert Belial n at: CloudViewPiano::main > jaunt BelialsLair::main > failBossRevert Belial n at: CloudViewPiano::main > jaunt BelialsLair::main A gain Belial^1 > failBossRevert Belial n at: CloudViewPiano::main > jaunt BelialsLair::main n This time died to phase 3! > failBossRevert Belial n at: CloudViewPiano::main > jaunt BelialsLair::main A gain Belial^1 n We did it! > beatBoss Belial At goto endings//curseDispelled n [ Overall: a good game, better than your average Metroidvania, but not truly top-tier. The combat is a bit samey towards the end, and even though there are plenty of fun bosses, I wished that the armor upgrades had more distinctions in combat (e.g., what if they each gave you different attack moves? Also, the exploration/secrets were pretty Symphony-of-the-Night-style, which is vastly inferior to Super Metroid's layered & required secret hunting. SM has a higher fractal complexity of decision-making, and to be a top-tier game you need that. Also: the story isn't one that I dislike, but there's no deep lore, and the world feels a bit flat compared to Hollow Knight, for example. ]