Skip to the main content
Skip to the entry’s beginning
First published on .

rangifer’s diary: pt. cix

Errata for “Heal”

The previous entry in this diary has an essay entitled “Heal”. You should read it now, if you haven’t already. And if you have read it already, then you should know that I accidentally forgot one kinda important part of the essay, which I’ve gone back & added to it: Heal can be used when unarmed. See, in particular, the “As dissociation” section.

All Hallows’ Eve

It’s time for another one of MapleLegends’s Hallowe’en events! Wow…!

“Wait”, I hear you say. “Another Hallowe’en event? There was one last year??” Yes, actually, there was. Unfortunately, I was unable to attend, & to this day I still regret missing out on the Soft Face… 😔

But that’s okay, because I’m here now. And most importantly, that means that I get to do the Hallowe’en quests!!

Traditional Hallowe’en quests

There are a handful of quests associated with the Hallowe’en event that take place in a location that nevertheless exists year-round: the Haunted House of Masteria’s Phantom Forest. I’ve known that these quests existed ever since I joined MapleLegends, but I never got the chance to do them myself. This was a source of some sadness for obvious reasons, & also, these quests are the only way to obtain a Toymaker Hammer! The only two-handed blunt weapon equippable by anyone other than warriors, archers, & thieves!![1] To make matters worse, the first Hallowe’en event that I did experience didn’t feature these quests…

This time, however, I finally get to do them! And better yet, they’re permanent year-round quests now!! That’s what we like to see: less event junk, & more real game content!

Poofcakes’s Halloween: Haunted Mansion quests[2] is a fairly comprehensive guide to these quests. These quests are covered within the “In quest impressed, & all the rest” and “Ever still to haunt my house” sections below.

Entering the Haunted Mansion

Entering the Haunted Mansion: the special region for this event

I was, however, unaware that there were even more Hallowe’eny quests to be had. This event, like the corresponding 2022 event, also has its own event region modelled vaguely on the Haunted House: the Haunted Mansion. The Mansion has its own quests, & as we’ll see, its own party quest, as well.

Unlike the Haunted House, the Haunted Mansion hosts a lively Hallowe’en party every year, & not just anyone is let through the front door. In addition to needing an invitation from Cassandra, guests are expected to be in full costume. By consulting the local black cat, & peeping (read: copy-&-pasting) a handful of epitaphs in the local graveyard…:

At the graveyard (w/ d00r & GiIf)

…We find ourselves able to turn into a ghost — more than good enough to satisfy the bouncer:

d34r is a ghost

Note that the monsters of the Haunted Mansion, including those of the adjacent graveyard, all take fixed damage. Damage lines taken by such monsters are set to some constant value, regardless of any damage calculation that would ordinarily be performed. This tends to give multi-damage-line attacks — & attacks with large target counts, for that matter — an unusually large advantage, but otherwise “evens the playing field” so that PCs produce more or less similar damage outputs regardless of level, stats, etc.

The Haunted Mansion quests

The questline exclusive to this event

The Haunted Mansion is similar to the Haunted House in many ways, although its layout is completely different. At the centre of the Mansion is the party’s host: the Masked Gentleman.

Little is known or understood about the Masked Gentleman — not even what his face looks like. But the Masked Gentleman is determined to make the party an unforgettable experience for every one of his guests. By taking on the Masked Gentleman’s quests, we’re taken through every branch of a tree-like questline that culminates in a few nifty but temporary face accessories, the Masked Gentleman’s Cape (untradeable slotless level 33 cape with +3 allstat, +1 (W/M)ATK, & +33 (W/M)DEF), the Masked Gentleman’s Tuxedo (untradeable slotless level 33 overall with +5 allstat & +50 (W/M)DEF), & the Jawdestroyer Chair. Oh, and the ability to do the Butler Party Quest…

These quests are covered within the “The d00rs of perception” and “Ever still to haunt my house” sections below.

The Butler Party Quest

What is “BPQ”?

I found out later in the event that completing the entire questline isn’t actually necessary for the PQ; going only far enough to collect all four face accessories is sufficient. This is a little unfortunate, considering that it ruined my idea to use the Jawdestroyer Chair as a visible indicator of “which one of us didn’t finish the prequests‽”.

In any case, the PQ is BPQ. No, that’s not *Boss Party Quest — that would be BRPQ. This is Butler Party Quest, initiated by talking to the Butler of the Haunted Mansion.

This PQ accepts parties of 4〜6 level ≥10 PCs, & has a time limit of 10 minutes. It’s composed of three stages, with an optional fourth bonus stage at the end.

Hanamiru’s Halloween 2023 — Butler PQ guide (archived) is an excellent guide to this version of BPQ.

Stage 1: Parallel JQing

Stage 1: Parallel JQing

Stage one is four separate vertical JQs, each one having its own chest at the end. Only one of the chests opens the portal to the next stage, making this stage similar to EPQ’s 5th stage. Here’s my Vicloc dagger spearwoman d34r, doing JQ #2:

BPQ stage 1; JQ #2

The JQs are as follows:

  1. This JQ has no moving parts, & is instead based only on somewhat precise jumps. Its layout is irregular & varied.
  2. This JQ is somewhat more regular, consisting of a series of layers alternating between left-to-right & right-to-left. Each layer is basically just a rope and a few small evenly-spaced platforms that must be jumped across. This JQ is made difficult by the periodic air gusts that shoot out of certain positions, damaging the player & knocking them back.
  3. This JQ is visually completely regular, consisting of a 13×4 rectangular array of small platforms. However, most of the platforms are “fake”, meaning that they have no footholds. Numbering the columns ⟨1, 2, 3, 4⟩ from left to right, the sequence of “real” platforms from the bottom row to the top is: ⟨2, 3, 2, 3, 3, 2, 1, 2, 3, 4, 3, 2, 1⟩.
  4. This one isn’t a “JQ” in the usual sense; it’s just one long rope that you climb up. Exciting!

When a chest is opened, one of two system messages will be given. If the correct chest is opened, a blue message reading “As the chest opens, the magical barrier that blocked the path mysteriously vanishes.” (the first message in the below image) is displayed in all the PQers’ chatlogs. If an incorrect chest is opened, a pale message reading “The chest opens, but nothing happens.” (the second message in the below image) is displayed in only the chatlog of the player who opened the chest.

BPQ stage 1’s system messages

I occasionally saw people get confused by this system, where they would break a chest at the same time that someone in an adjacent JQ opened another chest, & mistakenly take the global blue message to be coming from their own chest, or vice versa. What you’re really looking for is whether you got the pale failure message.

Once the correct chest is located, everyone has to walk over and do the corresponding JQ to get through that portal. At first, I found that some people were particularly stumped by JQ #3, & once or twice had parties that restarted the entire JQ when it was revealed that chest #3 was the correct one!

Stage 2: Dodging Mirror Ghosts

Stage 2: Dodging Mirror Ghosts

Stage 2 takes place on a very wide, flat map. PQers spawn in the centre of the map, next to the portal to go to stage 3. In order to unlock the portal, however, a broken piece of mirror is required. To the left & right of the portal are two long symmetrical hallways of full-sized mirrors with Mirror Ghosts inside them:

BPQ stage 2

Exactly one random mirror has a broken piece inside. A mirror may be probed for the presence of a broken piece by pressing whilst standing on the centre of the mirror. If it’s the correct mirror, and hasn’t already been probed at least once, then the mirror will drop its broken piece. Otherwise, a Mirror Ghost is briefly spawned, lunging at the PC. If a Mirror Ghost’s attack manages to connect with you — regardless of whether it’s a “MISS” — then you’re immediately warped back to the centre of the map.

What makes this stage mildly interesting is that it’s possible to probe an incorrect mirror without being struck by that mirror’s Mirror Ghost. However, this requires some very precise timing: press too early, & the Mirror Ghost will catch you before you can walk away; but press too late, and you’ll fail to probe the mirror at all. A skilled BPQer can probe the mirrors of an entire half of the map in just a single pass, by holding down the or key, & then pressing once for each mirror, timing the presses very precisely so as to never be forced to start over. I gradually learned how to do this myself, although I can’t say that I ever got super consistent with it.

When someone does get the broken piece, everyone in the party will generally purposely get hit by a Mirror Ghost, so as to be warped to the portal at the centre of the map. The PC with the broken piece in their inventory may use the portal normally, & doing so unlocks the portal for everyone else.

It’s somewhat common for this stage to be cleared before one even arrives at it. Because going from one BPQ stage to the next is not done as a party, but instead as a single PC, someone who gets to stage 2 relatively early (especially the player who opened the correct chest in stage 1, of course) may clear stage 2 before some of their party members manage to walk & JQ their way out of stage 1. In this case, it’s customary to announce in party chat that stage 2 has been cleared — usually by saying “mirror d”. This is because, although a system message is sent into chat when the broken piece is spawned, it’s only sent to players within the map.

Stage 3: Riddles four

Stage 3: Riddles four

In some ways, stage 3 is the meat of BPQ — which is appropriate, given that it’s effectively the final stage. Rather than culminating in a boss fight like many other PQs, this stage involves solving riddles.

When the player talks to the Butler, they are given an ordered list of four random riddles. They must then visit the corresponding four bookshelves throughout this Library Room, in the same order.

BPQ stage 3’s riddles

Transcription of the above image

[NPC chat window with the Butler]

[…] unlit hearth to unlock.

  1. The first bookcase is dutifully guarded, but fear not[,] for his shift hasn’t started.
  2. Packed full of playthings, the second bookcase looks fun, yet frightening.
  3. The third bookcase will give you a moment of self-reflection, or self-affection, if that’s your intention.
  4. Is it empty, or full of air? The fourth bookcase may have answers there.’

The bookshelves are just NPCs, but talking to a bookshelf when not standing immediately on it won’t do anything other than tell you that you’re too far away. This stage thus involves quite a bit of walking around.

There are 28 distinct bookshelves in total, & each one has exactly one corresponding riddle. The list of riddles given by the Butler never contains the same riddle more than once. Each PC is given their own random list.

Visiting a bookshelf out of order, or visiting one not specified by the Butler’s list, forces the PC to start over from the first bookshelf again. Once the PC is successful in visiting the bookshelves in order, they receive one Flame. All Flames are given to the party leader. Once the party leader has a number of Flames equal to the number of PQers, they may enter (by pressing ) the hearth at the top-centre of the map, near the Butler & near where PCs initially spawn into the map. Entering the hearth — which, like BPQ’s other stage advancements, is done on an individual-PC basis — clears the PQ.

The Library Room has four floors, and although down-jumping is possible, the only way to move to higher floors is by taking the hidden teleporters on the right-hand side of the map. This means that, for example, if there are two bookshelves immediately on top of one another, but they’re on the far left-hand side of the map, then getting from the bottom bookshelf to the top one is actually a really long walk.

This stage is, in a way, the opposite of the previous stage: whereas stage 2 is cleared as soon as someone is fast enough to clear it, stage 3 is cleared on a “weakest link” basis, meaning that it’s only cleared as quickly as the slowest person in the party. Everyone must visit their own sequence of bookshelves, meaning that there’s not generally any way to do someone else’s work for them, unlike in every other stage of the PQ. This, combined with the fact that stage 3 makes up the bulk of the PQ, & the fact that BPQ is — as we’ll see — quite time-sensitive, means that stage 3 puts quite a bit of pressure on players to not be responsible for slowing down their entire party.

When I started BPQing, Hanamiru’s guide didn’t exist yet, & so I learned stage 3 “the hard way”. I solved almost all the riddles myself (excepting two or three that I consulted party members for), and I found the locations of bookshelves by just… walking around & looking for them. Finding bookshelves is very non-trivial even when you know what you’re looking for, partly because the map is absolutely huge, & partly because navigating the map is itself painful.

After some runs of learning the hard way, I pieced together my understanding of this stage, & ended up running the vast majority of my BPQs with stage 3 pretty much memorised. I was later somewhat surprised to check Hanamiru’s guide and see that there are 28 bookshelves — that’s a lot of riddles & a lot of bookshelves to memorise!

When I talk to the Butler, I jot down quick notes so that I remember the list that I was given. I usually end up with something like (using the list from the above image as an example):

guard
toy
mirr
empty

Bonus stage: EPQ stage 4… but with ghosts

And now, we arrive at the tragic fatal flaw of BPQ: its bonus stage.

Bonus stage: EPQ stage 4… but with ghosts

The bonus stage is genuinely optional; the PC is awarded a PQ clear as soon as they clear stage 3, & may leave the bonus stage at any time that they like. Nevertheless, some of BPQ’s rewards are only available by taking as much advantage of the bonus stage as possible, & so most — albeit not all — BPQ runs involve the bonus stage.

The bonus stage takes place in a big map with four floors, populated by a respawning population of Ghosts. The PC may talk to the Butler to obtain 50 sacks. Sacks are USE items that, when used whilst standing sufficiently close to a Ghost that’s at <50% HP, captures the Ghost in a Ghost Sack:

BPQ bonus stage

This mechanic is comparable to the same mechanic as used in stage 4 of EPQ. However, there are several key differences, including (but not limited to):

  • Ghosts are immune to all damage, excepting that from basic-attacks; Sprights take damage normally.
  • Ghosts take fixed damage of 5; Sprights take damage normally.
  • Ghosts have visible HP bars; Sprights do not.
  • Sprights immediately respawn in-place when slain; Ghosts respawn naturally.
  • Sprights do not respawn at all when captured; Ghosts respawn naturally.

Because Ghosts have 50 MAXHP, they lose exactly 50∕5 = 10% of their MAXHP each time that they are basic-attacked. Because they can only be captured at <50% HP (not ≤50% HP), a minimum of 6 hits is required to make a Ghost capturable.

However, perhaps the biggest difference between this stage and EPQ’s 4th stage is that this stage is fundamentally a race against time. If you want to collect 50 Ghost Sacks — or even 40 of them, in many cases — you’re going to have to be quick about it. Because basic-attacks are the only attacks here, weapons are selected based only on their attack speeds & their reaches. In the above image, I’m using my Golden River, because I took that screenshot during my second BPQ run or so. I quickly switched to a Cass for all runs after that, to go from a weapon speed category of 4 → 3.

Moreover, how you choose to navigate the map can make a significant difference. Although I didn’t spend any time really optimising these kinds of strategies (particularly because I was running almost exclusively with random people), I’m inclined to agree with bak2monke’s (snakewave, oley, yeIlo, VAPORWAVE) assessment: because the map is split into four floors, & you typically have four (or fewer) bonus stage participants, it makes the most sense for each participant to stick to their own floor. This naturally keeps spawns dense across the entire map, and removes the confusion & suboptimal map usage that arises from not knowing where your party members are (the map has no minimap).

Because this stage is based on monster capture mechanics, it suffers from the same issues that EPQ’s 4th stage does.

Butlerewards

But what are the rewards for doing BPQ? After all, it gives absolutely no EXP whatsoever! Well, the reward structure can be split out into two parts: rewards obtained by clearing, & rewards that require the bonus stage.

Clear rewards
Rewards for simply clearing BPQ

Clearing the PQ awards 25 Pumpkin Coins (“event points”) & a single clear. After accumulating 31 (or more) clears, the PC is awarded an I Heart the Masked Gentleman! chair:

d34r ❤️ the Masked Gentleman!

The 25 Pumpkin Coins makes BPQ an important source of Pumpkin Coins for those who will have a hard time getting them elsewhere, usually because they’re too high-level for ordinary PQs.

Bonus stage rewards
Turning in Ghost Sacks

The only point of doing the bonus stage is to get Ghost Sacks. Ghost Sacks may be turned in to the Butler NPC that’s in the exit map of BPQ (read: not the Butler NPC that exists in the Haunted Mansion map). Turning in your Ghost Sacks always turns in all Ghosts Sacks that are in your inventory at once. You may only turn in Ghost Sacks if you’ve ≥10 of them.

The effect of turning in Ghost Sacks is twofold:

  • The total number of Ghost Sacks that you’ve turned in over the course of the entire event is recorded.
  • You receive a random prize.

Once your total number of Ghost Sacks turned in is 300 or more, you may redeem your Hat of a Masked Man (level 10 slotless hat with +4 allstat).

The random prize that you receive for a given turn-in depends on two factors:

  • Which of two prize pools you selected:
    • Raffle prize pool.
    • NX prize pool.
  • How many Ghost Sacks you turned in, which corresponds to one of five tiers:
    1. Tier 1: 10〜19 Ghost Sacks turned in.
    2. Tier 2: 20〜29 Ghost Sacks turned in.
    3. Tier 3: 30〜39 Ghost Sacks turned in.
    4. Tier 4: 40〜49 Ghost Sacks turned in.
    5. Tier 5: ≥50 Ghost Sacks turned in.

The raffle prize pool awards either a single raffle ticket, or else a dud prize of 10 Malady’s Candies (Green, Red, or Blue). Later in the event, this prize pool was altered to also have a very small chance of awarding either an MCP1 or MCP2, instead of a raffle or dud. The NX prize pool awards either a random amount of vote cash (the same type of NX obtained from voting[3], or from ordinary in-game sources like rare monster drops or LPQ/OPQ/SGQ bonus stages), or else a dud prize like the other prize pool. The same update that added MCPs to the raffle prize pool also increased the magnitude of the NX rewards.

The tier-based system ensures that more Ghost Sacks is not necessarily better: turning in 49 Ghost Sacks is the same as turning in 40, turning in 500 Ghost Sacks is the same as turning in 50, & so on. This system was apparently not clear enough to some, as I saw at least two or three people get upset when they saved up way too many Ghost Sacks just to get “only 1 raffle ticket”…

As you’d expect, a higher tier corresponds to better rewards, where duds < raffle tickets ≪ MCP1s < MCP2s, & more NX is obviously better than less. However, even at tier 5, you can still get duds, albeit with a lower probability than with lower tiers. As we’ll see, the raffle for this event is pretty dry, so turning in 50 Ghost Sacks & getting 10 Malady’s Candies for it is a bit like throwing food directly into a toilet: you knew that you were going to get shit anyway, so you may as well skip the middleman.

Milking the bonus stage!

My strategy was to not bother turning in Ghost Sacks unless I had at least 40 of them, & of course to ideally turn in 50 at a time. Tier 4 is similar enough to tier 5 that I didn’t think that it was worth doing another entire BPQ & bonus stage just to get the remaining 1〜10 Ghost Sacks that I needed for tier 5.

However, the time necessary to farm ≈50 Ghost Sacks is very much not trivial. This is why BPQ is so time-sensitive: if you don’t clear the PQ fast enough, then you’re robbing yourself & your entire party of the precious time necessary to get good bonus stage rewards. I found that, in general, a party needs somewhere around ≈5.5 minutes or more to comfortably farm 50 Ghost Sacks per person. Note that this is more than half of the entire BPQ timer, which is only 10 minutes. The result is that, unless you’re just skipping the bonus stage (as a minority of parties do), more time is spent in BPQ’s bonus stage than in all three BPQ stages combined.

This is why I refer to the bonus stage as the “tragic fatal flaw of BPQ”: it turns what would otherwise be a fun little character-inclusive PQ that you can clear without much effort, into a slow Ghost-capturing slog that’s interspersed with episodes of frantic PQ speedrunning. Moreover, the speedrunning aspect makes bonus-stage-included BPQ uncomfortable or inaccessible for some players: they see the letters ⟨PQ⟩, wait around in the channel 1 lobby until they can find a party, thinking that this event PQ will be a fun little romp à la KPQ etc., & then quickly realise that “casually learning as you go” might not be up to the standards of seasoned BPQers.

Stage 3 theory

Although the speedrunning aspect of this PQ can make it both tiring, & inaccessible to some players, it is also… speedrunning. And some people like that! Heck, I’ve even done some speedrunning of my own in several past entries within this diary, not the least of which being the “Hinamatsuri” section of the previous entry!

bak2monke: i got to ghosts at 7:35 before

Getting to the bonus stage with 7:35 on the clock implies a clear time of 2:25. I suspect that this is pretty close to an ideal run.

The reality is that the time that it takes to clear BPQ is heavily influenced by RNG:

Because stage 3 tends to be the bulkiest of the three stages, & because it necessarily directly exposes all players to the effects of its RNG, it’s perhaps the most interesting. So, welcome to the first of several sections of this diary entry that analyse PQ optimisations!

The problem

It’s clear that, for any given riddle list, there is a well-defined shortest path that takes the PC from the spawnpoint of stage 3, to all four bookshelves in order, & then to the hearth. The length of such a path can be understood as the time (in seconds) that it takes to traverse it. What we want to ask, then, is: how is this length distributed?

In particular, we mostly just want to know three summary statistics: the minimum, the maximum, & the expected value. These correspond to the best case, the worst case, & the average case, respectively.

Graphs

A first step might be to formalise stage 3’s map (Library Room) as a mathematical object of some kind. The obvious choice is a graph, where the vertices are locations throughout the map. Then, we can connect the vertices with edges that are weighted according to how long it takes to travel between those two vertices. The set of vertices, then, would look something like the union of all of the following:

We quickly realise that the edges of this graph are going to need to be directed: for example, doing the reverse of a down-jump generally takes considerably longer than the down-jump itself, so down-jump edges should be directed downwards.

This graph has two small flaws: it cannot encode teleporter delays, & doesn’t include the nigh-unused downward teleporters. This latter flaw is one that I’m simply going to ignore, for two reasons: basically no one uses these teleporters anyway, and more importantly, they’re only faster than down-jumping — & only slightly, thanks to teleporter delays — in somewhat rare cases.

What about teleporter delays, though? Taking an upward teleporter to go up one floor is basically instantaneous. However, also taking the next teleporter, so that you can go up a total of two floors, incorporates one teleporter delay into the time taken. After taking one teleporter, there’s a brief cooldown before you can take another, which I’m here referring to as teleporter delay. But if the edge connecting a teleporter to its destination has a weight of 0 (effectively instantaneous), then traversing two such edges in sequence has a path length of 0+0=0. Where’d the teleporter delay go? This can be ignored, effectively removing teleporter delays from the model, or can be taken into account with ad hoc rules about traversing the graph.

(Quasi)metrics

So far, we haven’t specified that this has to be a complete digraph, with the implication being that we can calculate the directed distance from any given vertex to any other (or possibly the same) given vertex by finding the shortest path, & summing the weights of its edges. This is starting to smell a lot like a metric space, but don’t get too excited.

Firstly, although a complete digraph is indeed unnecessary, we do need enough edges to allow the representation of every possible in-game shortest path between the spawn point & any bookshelf, between any two bookshelves, and between any bookshelf & the hearth. I’m starting to get the idea that the graph representation may or may not actually come in useful, given that it’s not yet doing anything that our basic geometric intuition isn’t already capable of…

But second of all, unfortunately for any aspirations of “just using a metric space instead”, we most certainly do not have a metric space here. Consider the requirements for 𝑑 being a metric over our vertex set, which we’ll call 𝑉. Let 𝑣𝑖𝑉, for any index 𝑖:

But we’re kinda almost there? We’re just crucially missing that symmetry, & for good reason. Therefore, although (𝑉,𝑑) is not a metric space, it is a quasimetric space, which is defined by throwing out exactly that symmetry axiom.

Finding shortest paths

We’re defining 𝑑 in terms of shortest paths, but how do we actually find those shortest paths to begin with? For this problem, our intuition already gives us everything that we need to know. In particular, the BPQer already intuitively understands this simple algorithm:

  1. If you’re on a higher floor than the destination, then down-jump until you’re on the same floor as the destination.
  2. If you’re on a lower floor than the destination, then walk directly to the upward portal that’s on your floor. Take the portals upwards until you’re on the same floor as the destination.
  3. Walk directly to the destination.

Here, “walk directly” is taken to mean either uninterrupted walking purely leftwards, or uninterrupted walking purely rightwards.

Generating riddle lists

Randomly generating a riddle list sounds pretty simple: just pick any 4 distinct riddles out of the 28 riddles, in any order. But we’re going to go further by assuming that this process is uniform, meaning that all possible riddle lists are equally likely to be chosen. This makes the probability of choosing any given riddle list equal to 1𝑛, where 𝑛 is the total number of distinct possible riddle lists.

But what is 𝑛, exactly? If we briefly ignore that each riddle list is an ordered list, then counting the lists is simple: it’s just the binomial coefficient:

( 28 4 ) = 20 475

Once we take into account that the lists are actually ordered, we see that each unordered list can be made into 4!=24 possible ordered lists. Thus, we have 𝑛=20 47524=491 400, which is roughly half a million.

491 400 is a lot, but it’s also small enough that we could, if we were so inclined, brute-force calculate the total travel distance for every one of those riddle lists…

Constructing the graph concretely

Before we can get carried away with dumb computer programs that do stupid things, though, we need to make the aforementioned graph less abstract. To do this, we can associate each vertex with a position within some coördinate system, & also associate a speed with each mode of travel.

For the purpose of extracting positions, I actually made a full-sized panorama of the Library Room very carefully stitched together using only screenshots of the game:

⚠️HUGE IMAGE:⚠️ Screenshot-based panoramic view of the Library Room

Library Room panorama

Wow… Cool… 🤓

We’re going to put the origin at the very top-left corner of the image, and then have values along both axes increase as they move away from the origin. Our x-values will be in pixels, but y-values will simply be floor numbers: 0 for the top floor, 1 for the next floor down, all the way down to floor 3 at the bottom of the map. The result is that each coördinate will be an ordered pair of natural numbers, but the two axes will not be comparable, so the pair is heterogeneous.

For the purpose of extracting movement speeds, I took a short screen recording with OBS Studio at a smooth 60 FPS. By analysing this video, I extracted the following times:

Based on these times, I estimate that it takes roughly ≈800⁢ ms to down-jump from one floor to the floor immediately below it, & roughly ≈8⁢ ms to walk a single unit (pixel) of horizontal distance.

Assigning a time to teleporting is more difficult for the reasons discussed above, but we’ll actually still be able to accurately account for teleporter delay. I used a teleporter in Henesys to analyse the teleporter delay, & found that when holding down , the delay is exactly 600⁢ ms.

The force of a brute

I painstakingly recorded the fairly exact in-game positions of every vertex of our digraph, & wrote a Python script that does the riddle list brute-forcing for me. It defines a function called d that is the previously-discussed quasimetric function. I’ve left some comments in there to hopefully make it readable, so be sure to check out the script (bpq_stage_3.py) here if you’ve any idea how to read Python code! [:

Although I wrote it in Python, the script manages to run in about half a second on my machine. Not bad! As we take a look at the results, remember that all these values are just for the walking involved, and thus do not take into account NPC chat delay (much of which is simply due to networking latency), nor the time that it takes to read & jot down the riddles.

Let’s start with the expected value: ≈64.012⁢ s. And how about a five-number summary?:

𝑄 0 (min) = 16.160 s 𝑄 1 = 51.592 s 𝑄 2 (median) = 63.416 s 𝑄 3 = 75.376 s 𝑄 4 (max) = 140.616 s

Wowza… The minimum & maximum values are pretty extreme! The worst-case scenario is about 8.7 times slower than the best case! In particular, the best case is:

  1. Empty.
  2. Clock.
  3. Ladder.
  4. Newspaper.

And the worst case…:

  1. Ludmilla.
  2. Destruction.
  3. Sophilia.
  4. Beachball.

of just walking is pretty brutal!!

But for good measure, let’s plot this bad boy in a good ol’ histogram!:

Histogram of walking times (in s) for all possible riddle lists

(See: riddle_list_plot.py.)

Hmm… Looks vaguely Gaussian, but it’s pretty rough & spiky. Plus, it’s lopsided, leaning more towards lower times… a bit right-tailed, if you will. For reference, I’ve used dashed orange vertical lines to mark the minimum, median, & maximum.

Other sources of event currencies

Other sources of event currencies

Alright, alright, enough of that PQ nerd shit! We know that BPQ can give raffle tickets, & that it can give Pumpkin Coins, so… how else can we get these?

  • Ordinary PQs like KPQ, LPQ, EPQ, OPQ, MPQ, & HTPQ have a small chance to give a single raffle ticket when cleared. All these PQs, as well as APQ, give some Pumpkin Coins when cleared. KPQ gives 20, LPQ gives 50, OPQ gives 60, EPQ gives… 30? Not sure about the other ones. APQ gives 20, I think.
  • Basically all monster species drop raffle tickets & Pumpkin Coins. The raffles are a bit rare, of course, but they’re there.
  • Clearing bosses gives Pumpkin Coins. Rāvaṇa & Papulatus give 10, Zaqqūm & Krexel give… 40? Pink Bean gives 100. Not sure about the others.

Reward structure

Raffo

Because this event’s raffle didn’t have any MCPs nor CSs/WSs, the only raffle prizes that most players actually cared about were the pink capes (PAC/PGC) and the three chairs. These things were largely not present in the raffle pulls, & as a result, overall raffle engagement was relatively low.

There were actually some neat Hallowe’en equips in the raffle pool, however. We got things like:

Pointz

Pumpkin Coins go towards cosmetics like NX equipment, face/hair coupons, event pets, etc. But they also go towards Zombie Army Rings. 310 Pumpkin Coins gets you a clean ring (which is OoaK & untradeable), & 130 gets you a Zombie Essence that you can use to scroll it. A fully-scrolled Zombie Army Ring, then, costs 700 Pumpkin Coins.

Many people will want to retry their ring until they can make a perfect one; that is, passing Zombie Essences on all three slots. Because Zombie Essences have a 75% pass rate, spending 700 Pumpkin Coins immediately on a ring & three essences has a…

( 3 4 ) 3 = 27 64 = 42.187 5%

…Probability of resulting in a perfect ring. That’s not fantastic, as it means that you’re more likely to fail than to succeed.

Of course, if you’re dead-set on a perfect ring, then this isn’t how you do it. As soon as a zEss fails, you drop the ring & buy a new one. You might wonder how many “attempts” it will take to succeed. Well, the maths works out basically the same: the geometric distribution gives the number of attempts necessary for a success[4], & the expected value is simply:

( 27 64 ) −1 = 64 27 = 2.370 370

But with this strategy, what an “attempt” entails can vary. What we really want to know is: how many Pumpkin Coins do you spend to succeed?

What? Don’t look at me. I’m not a mathematician. I don’t fucken know.

Well, okay. We know that it takes 6427 attempts on average, so… how much does an attempt cost, on average? In terms of Pumpkin Coin expenditure, there are only three possibilities per attempt: that the first zEss fails, that the second zEss fails, or that we buy all three zEsses (regardless of whether the third one fails). These correspond to costs of 440, 570, & 700 Pumpkin Coins, respectively. The expected cost per attempt, then, can be calculated like so:

1 4 ( 310 + 130 ) + 3 4 1 4 ( 310 + 2 130 ) + 3 4 3 4 ( 310 + 3 130 ) = 4 885 8 = 610.625

Assuming that we’re justified in simply multiplying these two expected values together(‽), the expected cost of making a perfect ring is then:

64 27 4 885 8 = 39 080 27 1 447.4

1 447.4 is no small quantity of Pumpkin Coins, & worse yet, that’s just the average! With a little bit of bad luck, it could take a whole lot more than that. 🙂 Fun!

That feels like a lot of probability theory, though. Maybe I can check my work by writing another dumb computer program to do it the dumb the Monte Carlo way…? Nothing a few more lines of Python can’t do:

from random import random

costs = []
for _ in range(10_000_000):
    spent, passed = 310, 0
    while passed < 3:
        spent += 130
        if random() < 0.75:
            passed += 1
        else:
            spent, passed = spent + 310, 0
    costs.append(spent)

That was easy, I guess. And it looks like I did my probability theory correctly, because the average value spit out by this little program is just about ≈1 447.4. Of course, it’s all Monte Carlo, so the actual exact average is randomly different every time that you run the program. But it’s close enough to confirm that I was on the right track.

Really, storing each & every individual result in one big fat list is not the best idea here. Instead, we can just use an associative array (Python calls these dictionaries) to record how many times that we see each particular outcome. And with that, well… let’s plot it?

Bar chart of the likelihood of spending any particular exact number of Pumpkin Coins on making a perfect Zombie Army Ring

(The orange dashed line is the average. See: zring.py.)

Kind of a weird-looking bar chart! As you can see, you’re not actually that unlikely to need an amount of Pumpkin Coins so large that you’d better be spamming some BPQ for most of the event, just to make your ring. All of those little bars add up!! When I initially tried generating some random trials, the seventh one resulted in spending 4 120(!) Pumpkin Coins. Also note that I’ve arbitrarily cut the chart off at 6k Pumpkin Coins; if I don’t do this, then the extreme cases are way out there in the tens of thousands, & the chart isn’t so readable anymore.

My impressions of the event

In many ways, this was a pretty PQ-heavy event. If you want raffles, your best bet is likely BPQ spam, & if you’re not in level range for ordinary PQs, then it’s definitely your best bet. Even if you are in level range for, say, OPQ, BPQ spam is so powerful that — with a good party — you can generate many more raffles than the OPQers. And if you BPQ spam with a good party & you skip the bonus stage consistently, you can generate even more Pumpkin Coins than the OPQers — albeit giving up raffles in the process.

Although it might sound like I’m describing an event full of mostly just BPQ spam, taking Maplers away from the Maple World and into the world of the Haunted Mansion & the Butler’s mind, this is certainly no Retro World event (see the “In which MapleLegends is swallowed up by an arcade cabinet” section of pt. cv of this diary). I actually liked this event quite a bit because of its emphasis on, you know, MapleStory, & because of its reasonable raffle prize pool. It’s nice to have a raffle that just offers some nifty stuff, instead of the promise of getting rich quick.

With the exception of mostly just my Viclockers, I rarely felt like I really “had to” spam BPQ. Of course, for my characters like rusa (my darksterity knight) and axisaxis (definitely not my character… trust…) who are ineligible for ordinary PQs, but also don’t do bosses frequently enough, I did go and farm a few BPQs for Pumpkin Coins — & a handful of raffles, to boot. Ordinary PQs were lively as a result of awarding Pumpkin Coins & raffles, as well as the event just generally being noob-friendly, which is always good to see. Bosses were emphasised not only by making them award Pumpkin Coins, but also by — at least, supposedly… — increasing MCP droprates for the duration of the event. And of course, the extra +10% bonus EXP is nice as well!

Footnotes for “All Hallows’ Eve”

  1. [↑] MapleLegends does not have the Sake Bottle. Then again, the Sake Bottle is beginner-only, whereas the Toymaker Hammer has no job requirements whatsoever.

  2. [↑] This guide somewhat erroneously refers to the Haunted House as the Haunted Mansion, whereas here I will be using Haunted Mansion to refer to a location distinct from the Haunted House, as consistent with the in-game nomenclature.

    The guide is archived here.

  3. [↑] See the “Are you a robot?” section of the previous entry of this diary.

  4. [↑] Sometimes, the convention of “failures before the first success” is used for the geometric distribution.

Islandry

Prior to the rollout of the Hallowe’en event, I spent some quality time on the Victorian Archipelago. Slaying golems at FoG, of course! On my Vicloc dagger spearwoman d34r!! Who hit level motherfucken one hundred!!!:

d34r hits level 100!!!!!!

Triple digits, baby!!! Ergoth is crying & pissing himself rn!!!!

But before I even had the chance to go & stab Skeleton Daddy™ in his despicably sexy skeleton face, the Hallowe’en event was already upon us.

d34r is a ghost

Now, as mentioned in the “Raffo” section above, this event’s raffle was offering Worn Halloween Badges. Of course, the Archipelago naturally offers no pendants whatsoever, so the prospect of getting a permanent pendant on my Viclockers — after getting screwed out of a Warm Muffler by this past CNY event — was sounding very juicy indeed. Unlike the aforementioned CNY event, this event puts no particular limitation on how many raffles that you can effectively turn in per unit time — other than your ability to, uhm, spam BPQ (see the “The Butler Party Quest” section above), of course.

So you’ll never guess what happened…!

…I spammed the everloving fuck out of BPQ!! Like, I mean a lot of god-damned BPQs!!! 31 clears to get the I Heart the Masked Gentleman! chair? Done & done.

d34r ❤️ the Masked Gentleman!

Now, I’m turning in like… one or two dozen raffle tickets at a time here, like an absolute lunatic. And you’d better believe I’m getting some stuff. And things. Lots of things, really. But no Worn Halloween Badges…

I got a Flame Chair…?:

d34r sitting in her Flame Chair

Pretty cool, actually! And made by none other than Slime (OmokTeacher, Thinks, JumpQuest, Slimu, Slimusaurus)!!

But I was genuinely beginning to worry that level 100 was too high to have any significant chance of getting these damned pendants from the raffle. I double-checked & triple-checked that Worn Halloween Badge was indeed on the list when I talked to Kaleido-Spinner to ask about which items were in the prize pool. I even went into the MapleLegends Discord™ server (that’s how you know I’m desperate…) to ask if anyone managed to raffle the badges on level ≥100 characters. Shout-out to 39daph (daph39, PQMuIe) for confirming — even including photographic evidence! — that it was indeed possible.

Well, fast-forward to very many hours of BPQ later, and I’ve turned in 73 raffle tickets. Seventy-three. Just on this one character. And BPQ is a bit stingy with those tickets sometimes, too. Especially because most of this BPQing was done before the BPQ update… But you know what they say: (seventy-)third time’s the charm!:

d34r’s Worn Halloween Badge!!

Transcription of the above image

d34r’s

Worn Halloween Badge

Untradeable

  • Req lev: 10
  • Category: pendant
  • STR: +1
  • DEX: +2
  • INT: +3
  • LUK: +3
  • Weapon def.: 17
  • Magic def.: 17

My god, finally!! And of course, the stats are… not good! Lowest possible STR, only average DEX… But hey, it could be worse: at least the LUK is maxed (gotta get that +0.5 WACC!) and so are both the WDEF & the MDEF! A great little upgrade for d34r. [:

You’d’ve never guessed, but I actually got a second Worn Halloween Badge later in the event, from those filthy FoG raffle tickets! And naturally, the stats were somehow even worse!! [':

But okay, surely I got some other Vicloc raffle spoils, including from the raffle tickets that I accumulated on my clericlet d33r in the process of getting her a Masked Gentleman chair… right? Right. Like these two egg yolk Full Moon Night Chairs!:

d33r & d34r sitting in their twin Full Moon Night Chairs

For whatever reason, these things got super expensive, so I’m probably sitting on like 300M worth of chairs in the above image…

Oh, and the Worn Halloween Badge wasn’t even the only priceless equipment upgrade that d34r got from this raffle! I just got a lot more of these Spider Venom Earrings than I did the badges…:

d34r’s Spider Venom Earrings

Transcription of the above image

Spider Venom Earrings

Untradeable

  • Req lev: 30
  • Category: earring
  • STR: +2
  • DEX: +1
  • LUK: +2
  • Weapon def.: 4
  • Magic def.: 4
  • Number of upgrades available: 5

Stromk!!

And of course, with the weight of all of this new gear, d34r headed back to þͤ olde FoG. Including this FoG session that I did with fellow Viclocker bak2monke (snakewave, oley, yeIlo, VAPORWAVE)!:

bak2monke & d34r duoing FoG!

Because 100 just ain’t enough:

d34r hits level 101~!!

😎

Ever still to haunt my house

(ℹ️ See the “Down the rabbit-hole” section of pt. cvii of this diary for the previous instalment in this series.)


The one for whom the Fates write ’cross the sky,
Whose puzz’ling journey leaves us asking why
No peril & no threat doth e’er she meet,
Without again & time doth Death she cheat.

O axis, axis, come once more to now;
Such med’ling in the past you’ll disavow.
And yet you’ll find the town of toys a bore;
To distant lands adventure, girl, once more.

Masteria[1], the land so often curs’d,
Whose hist’ry in which thou art not well vers’d;
Her tales Ossyrian[2] quartos fail to tell,
That ever & anon strange woe befell;
A vast land haunted, tide by tide consum’d,
Until her sunken body were exhum’d;
It fell & rose, or so the story goes,
’Tis here the Fate of axisaxis flows.

So close, yet far, to cities forests are;
The New Leaf outskirts axis reach’d by car.
A wind-swept wetland forest of Bent Trees,
Their lifeless branches leering in the breeze;
As turns her head, so too the plants do peek,
She’s thankful that they do not also speak!

But now, dear axis came across a carr,
In which she learnt of wandèrer’s devoir:

I muſt reclaim that part of me I’ve loſt;
My head I ſeek, no matter what the coſt.
To wꝛite this now, I grant, it aches me ſo;
But ſhould I fail, you’ll definitely know.
To this curs’d land I ſhall one day return,
And all to aſhes I will make it burn.

― Killian[3]

axis finds a Tombstone

She’d ne’er seen so peculiar a place
To rant & rave as this here Tombstone’s face.
But of her worries, epigraphs were least,
For it was now that axis face’d the beast!

On bright pink steed the headless fiend did ride,
His collar pop’d, but nothing was inside.
Instead, the vacant horseman’s head was squash —
His face so glew, ’twas all in flame awash!

No sooner did the pumpkin man come forth,
Than someone fearlessly came walking north.
A woman clad in garb quite odd — but bold —
She spake, & words of partnership she told.

Engross’d in battle both of them became,
So Killian[3] hurl’d forth his “head” of flame;
An awesome fight the dullahan advanc’d;
Betwixt the fire & the blades they danc’d.

Taima & axis vs. the Headless Horseman

The mad equestrian spat one last curse:
If you’ve my head, you’ll ſuffer even worſe.
In hell of hells I’ll ſee you both, my friends;
But we ſhall never, ever make amends!

No sooner did the pumpkin man so speak,
Than empty clothes fell suddenly so weak.
His flame extinguish’d, crumpl’d to the ground;
And so gan ceann[4] was nothing but a mound.
LeFay[5] was spook’d — her lover’d met decease —
And left unlikely allies there in peace.

So axis & miss Taima[6] parted ways,
The both aware that in the coming days,
A party would be held at mansion near,
To celebrate All Hallows’ festive cheer.

axis at the Haunted House

In front the mansion, Old Man Tom did warn:
In this accursèd house, a jinx was born.
If you’ve got any sense left in your head,
Regard this house with great respect & dread.

But to wise words, dear axis paid no heed;
And to the invitation she’d accede.

axis getting into the Hallowe’en party

The costume party was a hit indeed,
And with her appetite the food agree’d.
But when the mansion axis did explore,
She got a whole lot more than she ask’d for.

She found a little girl tuck’d in her room,
And on her face was nothing else than gloom.
With axis as her witness, she did cry:
Where went my mum & pop? Oh why, why, why?!

axis meets Sophilia

With manner quick did axisaxis say:
“Oh don’t you worry, it will be okay!
I’ll go & find your mum & pop, I swear;
I’ll be right back, so please just stay right there.”

Around the Haunted Mansion axis snuck,
Where she would stumble ’cross some things by luck.

axis climbing the Haunted Mansion’s chimney system

Into a secret door she found her way,
And found herself in giant chamber grey.
So well chaotic was the scenery —
The only sounds were of machinery.

Then saw a man at work with fierce intent;
On making toys the fellow was hell-bent.

axis meets Jonas

Who goes there?” bark’d the man, his body tense.
“’Tis only axis — I pose no offence.”
Wherefore, then, art thou present in my mill?
“I met a girl whose wish I must fulfil:
The poor soul’s starv’d of both her parents’ love…”
Is it perhaps my daughter thou speak’st of?

’Twas not long ’fore the man name’d Jonas said:
Outside this factòry I will not tread —
Not till I make the perfect doll for her;
So priceless that she’d nothing else prefer.

The passion in that voice, she had not miss’d;
And thus she felt no choice but to assist.
Around the spacious workshop axis went,
And in each walking doll she made a dent.

axis vs. Busted Dolls

No simple toys these wickèd puppets were;
The magick springs inside them made them stir.
As axis bop’d them one by one, they turn’d;
And for retaliation each one yearn’d.

But all the cloth she’d gather’d was for nought;
The doll so made, he threw out on the spot.
It’s not the perfect doll, why can’t you see?
Go bring a portrait of her back to me.

So on behalf of Jonas axis went,
To find the portraiture for which he sent.
She met the room where picture frames abound,
And search’d until the daughter’s face she found.

axis in the gallery

But all the glass was smash’d, the frame was broke,
And when ’twas brought to Jonas he then spoke:
For use as ref’rence, this here art will do;
But sadly, there is something else askew.
This gadget here & instrument right there,
The both are in acute need of repair.
If thou canst find the spring for my device,
To make the perfect doll it will suffice.

Around the workshop & the house she went,
Into each chimney & out of each vent.

axis finds a hole in the wall

axis in the chimney system, seeking the spring for Jonas’s machine

The mansion vast, its parts put up a fight;
It was poor axis whom they try’d to smite.
The pipes & valves she wrestl’d past in spite,
To crawl her way around with all her might.

At last, she found the resting place of springs,
Plus nuts & bolts, & many other things.

axis finds the spring!

But when she brought it back to Jonas now,
He took it wordlessly, & creas’d his brow.

“Your daughter’s visits you must please allow!” —
Said axis: “You do this, for her? But how?”
Said he: “What did I say? What have I told?
And in his steely voice was only cold.

Dejected axis then return’d to her,
And once again the crying did recur.

Sophelia sobbing again

Transcription of the above image

Sophelia: Just looking at the portrait…? Why? Why is that? Isn’t the real Sophelia more important than a picture? But then why wouldn’t he come and see me?

REWARD!!: Sad Face Mask

The Haunted Mansion was quite large indeed —
Perhaps a sign of avarice & greed.
But ’twasn’t that the poor girl here was lost;
Her father’s shoulder, cold, left only frost.

But then the party’s host approach’d to speak;
From ’hind his mask his shifty eyes did peek.
Mysterious & eerie was his voice;
To axis he gave this outlandish choice:
I hate to see my guests feel so forlorn;
But I’ve a remedy for what you mourn.
Give me a chance, & I’ll have thee reborn;
Yet first, there’s something ’bout which I must warn:
The things you’ve seen & done here on this day,
My magick aims to make them go away.

Upon this proposition axis thought,
And judg’d that to accept she really ought.
With snap of fingers & a tip of hat,
She was made retroactive, just like that.

The Masked Gentleman’s magick

Now with determination fill’d anew,
Once more she went to see what she could do.

Although the father may have been detach’d,
Perhaps the stepmother was better match’d.
In bedroom lavish, under vaulted roof,
Lyudmila[7] stood, amidst an air aloof.

axis meets Lyudmila

Mistaking axisaxis for a maid,
Lyudmila bark’d commands, requesting aid.
Forgetting where her earrings she had laid,
To fetch her jewell’ry pearls she axis bade.

Suspicious beasts the earring hoarders seem’d;
With virid ghosts the western hallways teem’d.
As axis struck each Poltergeist, it scream’d;
The earrings from these phantoms she redeem’d.

axis extracts Lyudmila’s earring from a Green Phantom

But Mila[8] could not even spare a glance,
Before requesting music for the dance.
An inauthentic party it would be,
If there weren’t even dancing here to see!

So axis left to seek a worthy sheet —
Of music — one that surely would move feet.
And in the Libr’y many sheets she found,
There’s just one catch: they’re flying all around!

axis vs. the Library

So breathlessly the folios she fought,
Till fin’lly she a score of music caught.

She place’d the sheet on grand piano’s tray,
Awaiting someone else to come & play.

axis puts the Score on its stand

But when to Mila axis did arrive,
Another busy task she did contrive:
The guests are parch’d, they need something to drink;
A bev’rage Hallowe’en, what do you think…?
Who am I kidding? What do I expect?
Too much from someone of your intellect…

For Mila, any poor folk is a dope;
Her insults & her sneers left little hope.
In desperation, axis would avail,
And with a “fellow” Maid, brew’d special ale.

axis meets the Maid

With pumpkin beer distributed to guests,
Poor axis had enough of Mila’s tests.
So with the grumpy wife she now did plead:
“Your daughter! She’s of parents’ love in need!”

But these concerns Lyudmila did dismiss:
That pamper’d rotten child is remiss.
If all she wants is playing with her dolls,
For all I care, she’ll stay within those walls!

At wits’ end, axis beg’d again the host:
“Your magick tricks I’m now in need of most!”
So once more work his magick did the man —
And this time, axisaxis had a plan.

From dear Sophelia[9] she did request:
“Could you please choose the doll that you like best?
I’ll show it to your father — he’s upstairs;
I’m sure he’ll come & see you if he cares.”

She doll in hand, with Jonas met againe;
The puppet seen, his face collaps’d in pain:
She kept that oldest puppet all these years?
His voice did fail, so muffl’d by the tears.

He look’d now ’pon his fact’ry with disdain:
These horrid monsters I’ve made all in vain.
This workshop is my prison & my bane;
I shall — I will! — see my creations slain!

So axis seeks these blasted, cursèd toys,
And with her pinwheel, each one she destroys.

The rocking horses from a nasty dream,
Becloak’d in night — more dang’rous than they seem!

axis vs. Nightmares

The giant creepy puppets made her start! —
Then flaming pinwheel tore them all apart.

axis vs. Sophilia Dolls

The jacks in boxes had their springs all wound,
And when she struck them, they made quite a sound.

axis vs. a Psycho Jack

Each Psycho Jack with music box was arm’d;
The song they play’d made axis quite alarm’d:[10]

Psycho Jack-in-the-box theme ◐

Lyrics & ABC transcription

For you your daddy made all these toys,
Equip’d with engines of Diesel.
His soul your fate so neatly destroys —
“POP!” GOES THE WEASEL!!

X:1
T:Psycho Jack-in-the-box theme
C:traditional song; lyrics by deer
L:1/8
M:6/8
I:linebreak $
K:C
V:1 clef=treble
(G, | C2) C D2 D | (EGE) C2 (G, | C2)  C DDD    | E3 C z (G, |
      C2) C D2 D | (EGE) C3     | !>!A z z D2 F | E3 C z z   |]
w: For|you your dad- dy|made all these toys, e-|quip’d with en- gines of|Die- sel. His|soul your fate so|neat- ly de- stroys.|“POP!” GOES THE|WEA- SEL!!|

Once axis had all of the playthings fell’d,
Return’d to him, whose head in hands he held:
I cannot thank you quite enough, my friend;
My only solace is to see this end.
I have no things to give, no things to lose;
But you may take my hammer, if you choose.

axis with the Toymaker Hammer

But axis had one question left at hand:
“What happen’d to her? I don’t understand.”

I’d answer you — I really, really would —
But thinking on it has done me no good.
So all that I can do is fin’lly rest;
Retire to my long-forgotten nest.
And when there’s no life left, not e’en a mouse,
I’ll be here ever still to haunt my house.



Footnotes for “Ever still to haunt my house”

  1. [↑] /məˈstɛ(ə̯).ɹiˌə, mæ-, -ɪ.ə/.
  2. [↑] /ə(ʊ̯)ˈsɪɹ.j(ə)n/, not /ə(ʊ̯)ˈsɪɹ.i.ən/.
  3. [↑] /ˈkɪ.li.ən/, Anglicised from Irish Cillian /ˈcɪ.lʲi͜ən̪ˠ/. Note the addition of a syllable. That’s his actual name in MapleStory, I didn’t make that up. Cillian is just a normal Irish name, but the Irish notion of “headless horseman” is called dúlachán /ˈd̪ˠuː.l̪ˠa.xaːn̪ˠ/ — whence English dullahan /ˈdu.ləˌhɑn/.
  4. [↑] /gən̪ˠ caːn̪ˠ/ “headless”.
  5. [↑] /ləˈfeɪ̯/. Eccentric sorceress, disciple of Ridley, namesake of the LeFay Jester & the LeFay Jewel, and Killian’s lover. Transmuted into a pink horse by the Alchemist, & doomed to roam the Phantom Forest with her lover on her back.
  6. [↑] /ˈtaɪ̯.mə/, Anglicised from Japanese (たい)()taima⟩ /tä.i.mä/ “hemp; cannabis”. Note the loss of a syllable.
  7. [↑] /l(j)udˈmi.lə, l(j)ʊ-, -ɪ.lə/, Anglicised from any of various Slavic languages.
  8. [↑] /ˈmi.lə, ˈmɪ.lə/, standard short form of Lyudmila/Ludmilla/etc.[7] From PSl. *milъ “dear, sweet, cute, beloved, pleasant”.
  9. [↑] /(ʊ̯)ˈfi.lɪ.ə, -li-/, with variant spellings ⟨Sophelia⟩ & ⟨Sophilia⟩.
  10. [↑] The tune here is a very slightly modified version of the tune traditionally used for jack-in-the-boxes: “Pop! Goes the Weasel” (Roud 5249), which is of unknown origin — probably three or four centuries old. The tune gained its current name, & became a standard in Anglophone countries, only in the 1850s. The first version with lyrics probably(?) only had the lyric “Pop! Goes the weasel”. Later versions, however, gave it full verses, of which there are many variations (such as this one!).

The d00rs of perception

In the “Hysteria in the area of Masteria” section of the previous entry in this diary, we saw my clericlet d00r accompany her partner in crime, ironman assassin GiIf (MiIf, Dakota), on some juicy Masteria questing adventures. Does that mean that it’s time for another episode of The Adventures Of GiIf & d00r™??

Yes! No. Maybe…

Victoria & defeatoria

But before we get there, I tried — & perhaps, failed… — to do some solo questing on our dear d00r. You see, unlike my ironman companion who wasn’t eligible for KPQ even at levels 21〜30, I did KPQ from level 21 to level ≈29 or so. This meant missing out on the Victoria Island questing that I’d usually do around those levels. If you’ll remember, I quested to the bottom of 21, KPQed to ≈29, & from there, pretty much just completed every goddamn Lūdus Lake quest that I could find.

So I thought that it was high time to head back to Vic. Over at Perion’s East Rocky Mountain III, I hunted Axe Stumps for their Plant Fossils & their Firewoods, for Winston’s Fossil Dig-up and “Thawee Fixing the Roof” &c., respectively:

d00r vs. Axe Stumps

For Winston once again, I did “Planting Trees” & “Shawn the Excavator’s Request” by heading into the Excavation Site:

d00r @ Excavation Site I

And, whilst I was at it, I started Winston’s The Old Tree questline. After hunting those Very Dry Branches from Dark Axe Stumps, it was time to look for a Stumpy.

Unfortunately for me, ≥2 hours of holding mapowner in East Rocky Mountain V later, & I had yet to actually slay a Stumpy myself. Repeatedly getting area bosses stolen from me is really not worth my time — not that waiting for them to spawn was worth my time to begin with — and so I gave up & did something else.

The adventures of GiIf & d00r in the Haunted Mansion

Fast-forward a number of days, & the Hallowe’en event began. As mentioned in the “The Haunted Mansion quests” section above, this event came with its own exclusive questline. So, naturally, I teamed up with my time-honoured teammate to tackle this truly tangled tree of tough tests & trials:

d00r & GiIf @ the Haunted Mansion’s graveyard

A bit of careful re-typing, copying, & pasting later, we were enghostificated. Phantasmalised, if you will:

d00r & GiIf are ghosts

The Gatekeeper may be a big scary green goblin dude, but he nevertheless maintains a healthy fear of ghosts. So, he let us inside the Masked Gentleman’s party, out of respect. When we entered the Haunted Mansion, we ran into one Jonathan (Gumby, daggerknight, Edward, Kimberly) — a fellow ironman!:

d00r & GiIf stumble across Jonathan

Well, I’m not ironman, but you know. Sometimes I pretend like I’m an honorary member. [':

Four-way tragedy

d00r & GiIf meet Sophelia

In any case, as soon as we got into the party, the Masked Gentleman already had something in mind for us. He told us to go to Sophelia’s[1] room to meet the daughter — & stepdaughter, respectively — of the heads of the household: Jonas & Lyudmila Prendergast. We were greeted by a very confused Sophelia, confused by our presence & apprehensive of the noise coming from the partygoers outside her room.

When we explained that there was an ongoing Hallowe’en party, Sophelia requested that we at least bring her some ten or so Halloween Candies, so that she could enjoy Hallowe’en too. All the toy monsters of the Haunted Mansion dropped the candies, so we had no problem scooping some of them up for Sophelia.

But Sophelia had a bigger problem than a mere sweet tooth: she hadn’t actually seen either Jonas or Lyudmila in a distressingly long time. It seemed that they were always busy, never having enough time for her. Sophelia claimed that her father was always holed up in his toy workshop at the apex of the mansion, doing god knows what. So, GiIf & I investigated.

My name is Jonas

Jonas was indeed in his workshop, hard at work intently crafting doll after doll that, to us, looked quite identical. Jonas, however, thought that each individual doll was separately unfit, time & time again taking a good look at each one, & then throwing it into his incinerator. When we spoke with him, he insisted that he was “only trying to make the perfect doll”, & challenged us to make such a doll ourselves. Although we only had a vague idea of what an ostensibly “perfect” doll would even be like, we did find some Busted Dolls from which we could salvage parts:

d00r & GiIf vs. Busted Dolls

I knew that we’d end up needing one hundred or so of these cloth pieces, so GiIf & I spent some time here farming the Busted Dolls for two hundred in total. Using the basic doll skeleton that Jonas gave us, we could attach these pieces to the doll one by one:

Putting together the Rag Doll

And with each additional ten pieces, the Rag Doll started to look appreciably different:

Rag Doll, phase II

Rag Doll, phase III

Rag Doll, phase IV

We brought our well-completed ragdolls to Jonas, but he quickly threw them in the incinerator with the rest. We had made imperfect dolls.

Although we were certainly frustrated to see our hard work thrown away so easily, the look on Jonas’s face was one of even greater frustration. What could he possibly be doing wrong? If he, Jonas Prendergast the renowned toymaker, couldn’t make the perfect doll, then who could…? For better or worse, GiIf & I were going to find out the answer to that question.

But first, Jonas desperately turned to us for help. Unsure of what to say, I suggested that perhaps he didn’t have the right tools for the job — a good workman blames his tools, right…? Jonas recalled that, indeed, there was one tool in particular that he’d previously lost the use of. The apparatus itself wasn’t missing, but when Jonas had taken it apart for repairs & then put it back together, he’d lost track of its crucial spring in the process.

In the course of searching Jonas’s workshop, GiIf came across a low fissure in the eastern wall. Upon further inspection, we discovered that that wall was the only thing separating that side of the workshop from the mansion’s massive chimney. Enlarging the fissure even slightly had already compromised a sizeable section of the wall, and so GiIf & I decided to simply crawl our way in — perhaps the spring had fallen down here…?

d00r & GiIf doing the “special tool” JQ

After falling on our butts more than a few times, we managed to explore this chamber of the chimney. Near its apex, we finally found the spring that we were looking for.

Well… GiIf found it. I was not so fortunate…

do u see a chest too

Transcription of the above image

GiIf: do u see a chest too

d00r: no haha

GiIf: or did i just mfin get it
NDOASNDOANS

d00r: LOLOL:

Don’t worry; the chest respawned.

We brought the spring back to Jonas, who was delighted to have recovered it — or rather, we assume that he was delighted, as he immediately went to work fixing his long-disrepaired apparatus with a deep sense of preoccupation. Of course, we’d come here on Sophelia’s behalf, & so we asked Jonas if he could only come downstairs to see his daughter. But Jonas was more than preoccupied; he was resolutely dead-set on making the “perfect doll” before anything else. GiIf & I sensed a tinge of anger in his voice, & so thought it best not to push him any further.

Would you like to try again?
d00r & GiIf accept the Masked Gentleman’s offer and try again with Jonas

We returned empty-handed to a lonely & disappointed Sophelia. GiIf & I were unsatisfied with this state of affairs, & moreover, thought that it was a rather strange sort of way for a father & daughter to be.

When we explained the trouble to the Masked Gentleman, we were met with little more than a calm question: “would you like to try again?”. GiIf & I were perplexed. The Masked Gentleman explained that it was his duty to not allow his guests such disappointment — not without at least the chance to make it right.

The gentleman made a deliberate gesture with his right hand, & told us to meet with Sophelia again. When we did so, Sophelia was once again confused & surprised by our presence. When questioned, she insisted quite plainly that she’d never met either of us before. We collected ten Halloween Candies for Sophelia again.

We met with Jonas again, & he had likewise forgotten our previous encounters. We put together another doll with the cloth pieces that we had remaining, & Jonas once again tossed it into the incinerator.

This time, GiIf suggested that, if Jonas were trying to make dolls that looked “perfectly” like his daughter, then perhaps actually being able to see his daughter’s face, & to use it as a model, would help. Jonas was immediately receptive to the idea, & sent us away to fetch… a portrait of Sophelia, from the gallery. After scratching our heads & wandering down the wrong hallways of the labyrinthine mansion a few times, we eventually found the gallery, & the portrait in question:

A portrait of the girl Sophelia

It was exactly as Jonas had described, although the glass shield of its pictureframe had unfortunately been shattered to bits. We carefully took the frame from the wall, & brought it up to Jonas’s workshop. Now using the portrait as a reference, Jonas was once again carried away with an inhuman preoccupation centred around making the “perfect” doll.

Stepmum

Quickly realising that the results were no better than last time, we joylessly made our way back to Sophelia. Sophelia was now even more dejected: Jonas wanted a portrait of her? Over his own actual daughter‽

d00r & GiIf try again, this time with Lyudmila

As we made our way back to the Masked Gentleman, he already saw our expressions & began to make that deliberate gesture once again, before we could even say a word. We brought another ten Halloween Candies to Sophelia, but this time, thought that we’d perhaps have more luck convincing her other parent to meet with her.

We found Lyudmila in front of a full-length mirror in the master bedroom, putting the finishing touches on a fresh face of makeup. Thinking that we were maidservants, she didn’t even bother to so much as look at us, & instead just barked an order: to fetch her missing pearl earring. She was irritated to find that we didn’t seem to have any idea where in the vast mansion these earrings might be. Lyudmila indicated that the ugly green blob ghosts were the ones always thieving her jewellery, but made sure to insult our intelligences as she did so…

We found the Green Phantoms in a room on the other side of the mansion:

d00r & GiIf vs. Green Phantoms

Thankfully, they were easily dispatched, & began coughing up jewellery almost immediately.

When Lyudmila took the earring from us, she squinted at us with mistrust, now that she actually saw our faces for the first time. We explained that we were only meeting with her on Sophelia’s behalf, & Lyudmila rolled her eyes in response. She seemed to only speak of her stepdaughter with an air of casual contempt: the girl was always too busy playing with her dolls to come out of her room; never behaving appropriately in the presence of houseguests & partygoers; and worst of all was the jealousy that Lyudmila appeared to harbour towards Sophelia. Jonas was always too busy attending to his daughter & her dolls to spend time with his “gorgeous” (her words) wife.

With a half-snarl on her face, Lyudmila continued to wallow in her displeasure: the Hallowe’en party was not up to her standards. If she was going to go out there & host the party for dozens of guests, then she needed something else to help improve the atmosphere. I suggested that perhaps some good music would enhance the otherwise stale air. Lyudmila was acceptant of the idea, & indicated that we could take some sheet music from the library to give to the in-house pianist.

At first, GiIf & I were a bit confused. Wouldn’t the in-house pianist, of all people, know where the sheet musics were stored? When we found the library ourselves, however, we immediately realised at least one issue:

d00r & GiIf in the library

Half of the books were on their shelves, like in any ordinary library, but the rest were flying about the room of their own accord[2] — & at dangerously high speeds, to boot. After taking a few dozen whacks here & there — both at the books, & from them — we recovered some sheet music that was in readable condition. We placed the sheet music on the grand piano’s stand, in the mansion’s foyer, & returned to Lyudmila.

d00r & GiIf fail, and retry with Lyudmila again

However, when we tried to bring up the subject of Sophelia again, begging Lyudmila to just accept a visit with her own stepdaughter, Lyudmila only turned yet more sour. If that “brat” (her words) were going to do little more than play with her dolls in her room & embarrass Lyudmila in front of the guests, then Sophelia was just going to have to sit in her room and sulk — & that was that.

Once again disappointed by the obstinacy of Sophelia’s parents, GiIf & I made our way back to Sophelia. Sophelia teared up: “I hate Lyudmila! I hate her!!”. Dejected, GiIf & I made our way back to the Masked Gentleman, who worked his magic once again.

We met with Sophelia, ten Halloween Candies in hand. We met with Lyudmila again, & recovered her earring in the same way. This time, however, GiIf suggested that the party could use a wider variety of food & drink. Privately, we hoped that perhaps Lyudmila was just particularly cranky when running on an empty stomach.

Considering that it was a Hallowe’en party, Lyudmila sent us to join the Maid in making some Pumpkin Juice. As it turns out, the key ingredient in Pumpkin Juice is — you guessed it — pumpkin. In particular, we’d need to harvest Pumpkin Pieces from the absolutely colossal witch-hat-wearing pumpkin just out behind the mansion:

d00r farming Pumpkin Slices

And oh boy, is this thing an absolute unit. GiIf & I spent no small amount of time climbing all over this oversized orange gourd, carving at it with improvised weapons of squashtruction. Once we’d made enough Pumpkin Juice for the whole party, we brought some back to Lyudmila. Lyudmila was, however, not easily impressed, & drinking the juice didn’t seem to noticeably improve her mood.

The grateful & the ungrateful dead

Now at wits’ end, GiIf & I complained to the Masked Gentleman. None of this made sense: everyone to whom we spoke seemed to refuse to leave the rooms that they were already in; Jonas’s inhuman obsession with the “perfect doll” had left the ultimate object of that obsession — his own daughter — in neglect; & moreover, why was a mysterious masked man with the magical might to modify memory, managing the mansion & moderating the meeting of so many multitudes of amused masses?

Peto enters the “picture”

The Masked Gentleman calmly assured us that he could explain, on the sole condition that we were willing to entangle ourselves in the fate of the Haunted Mansion. Somewhat apprehensively, GiIf & I assented. The Masked Gentleman gestured one last time, & told us to go see Sophelia again — but this time, to ask about a certain “Peto”.

Sophelia immediately recognised the name, but when we pressed her further to explain who this “Peto” was, she became withdrawn & recalcitrant. She indicated that she wasn’t allowed to mention Peto, because doing so would anger her father. But Sophelia appeared to have some doubt about her own memory of Peto; she didn’t want to talk about him, but nevertheless felt that she remembered something positive about the man. To jog her memory, she suggested fetching an old portrait from the master bedroom that depicted Peto.

When we arrived at the master bedroom, however, Lyudmila was still there. She was, unsurprisingly, dismissive of Sophelia’s request for an old portrait. Instead, she gave us a different task: to help clean up the messes being left by partygoers. With the guests inevitably bumping into the many animate dolls that inhabited the mansion, there was naturally some cotton carnage. When we returned quickly with twenty cloths each, Lyudmila reluctantly allowed us to move one of the many portraits lining the extravagant master bedroom into Sophelia’s room.

The portrait depicted Jonas, Sophelia, & a man who was presumably Peto. Sophelia could be seen tightly hugging a doll. When we brought the portrait to Sophelia, she was pleased to be reminded of good times, but insisted that she needed more candies to keep her energy up whilst she mused on the portrait. Although we were concerned that the child was now surviving on little more than a steady diet of Halloween Candies, we nevertheless obliged.

Ghost-hunting
In search of “T”

Still, we now had only the faintest idea of who Peto was. The Masked Gentleman suggested that we speak with the one other person who’d been here long enough to remember Peto. We spoke with the master Butler, now an old man who’d served the Prendergast household for many years. The Butler’s professional demeanour gave way to a stricken look of unease as soon as we mentioned Peto.

The Butler anxiously explained that Peto was not here — not anymore. Moreover, he claimed that his upset was caused by the damnable ghosts that he too frequently encountered in the nooks & crannies of the mansion. Gesturing at the fireplace, the Butler told us that if we wanted to take care of the disturbing ghosts ourselves, we had only to look in the chimney — if we dared. GiIf & I had been in the chimney at least thrice by this point, & so agreed to investigate it.

At first, the chimney looked just like it had every other time that we’d been in it: a massive multi-chambered stone chimney, complete with pressurised gates, & soot marks that were impossible to clean off. After a few minutes, however, I heard GiIf emit a squeal. The ghost that she found was indeed a spooky scary ghost, although it did also have a face bearing an uncharacteristically jovial expression:

Ghost T

d00r & GiIf uncover the true identity of T

The ghost briefly frowned when GiIf reacted with alarm. It quickly reassured us that it wasn’t going to hurt us. Indeed, the poor ghost was lonely, & confused as to why everyone whom they met seemed to run away screaming. The ghost introduced themself as simply “T”. T then proceeded to ask us if we had any Halloween Candies — they’d seen the ongoing Hallowe’en party, but didn’t want to leave the chimney long enough to snatch up a few Candies for themself, for fear of being seen. Less concerned about the dietary habits of a spectre, GiIf & I freely forked over twenty Halloween Candies each.

In addition to being lonely & confused, T was having something of an identity crisis. Although they identified themself as “T”, they admitted that it was little more than a placeholder name that they’d adopted, for lack of remembrance of their real name. T supposed that there was likely something here in the mansion that would refresh their memory, but lamented their inability to reasonably leave the chimney.

GiIf & I agreed to help T by bringing back various artefacts from around the mansion. The cloth scraps of dolls, slices of pumpkin, logs of firewood, & so on… It wasn’t until we brought T a musical score from the library that their spectral face lit up. We only now realised that the score we’d left on the grand piano earlier hadn’t been touched since then; there was no pianist at the party. T was in fact the ghost of Peto himself, the long-time in-house musician for the Prendergast Mansion.

Joey?
The malevolent ghost of “Joey”…?

When we tried to explain the situation to the Butler, he doubled down, insisting yet again that Peto was nowhere to be found. His real concern was another ghost that seemed to have originated from Sophelia’s favourite doll. This supposedly malevolent ghost continued to haunt the mansion indefinitely, but no one could seem to ever locate it, much less eliminate its presence. If this ghost existed, it didn’t sound anything like Peto — or T, or whoever. When we questioned Sophelia about her favourite doll, she expressed that it had helped her cope with being an only child; she almost had — but did not have — a brother, whom Jonas was planning to name “Joey”.

Not wanting to interrogate the poor girl any further, GiIf & I left her room. As we did so, we were stopped by the Masked Gentleman. The gentleman explained that, if we wanted to find the ghost “Joey” ourselves, then we’d have to… be Sophelia. The ghost simply would not make itself manifest to anyone else. He offered to assist us by using his masked sorcery to brew a potion capable of transforming either one of us into an ostensibly perfect simulacrum of Sophelia. But for that, we’d need to bring to the gentleman a doll of Sophelia’s likeness.

GiIf & I headed up the chimney towards Jonas’s workshop. Without giving away our intent, we asked Jonas to make another doll of Sophelia with the twenty cloth pieces that we each brought to him. After bringing the finished doll to the gentleman, he quickly brewed the potion, as promised. I agreed to drink the potion myself; d00r had imbibed stranger things before. Wandering the grounds of the Hallowe’en party as a small child was, admittedly, less comfortable than doing so as a full-sized person, but I did eventually meet with… a certain spectre:

Joey

Doing my best impression of Sophelia — aided by having a nearly identical copy of her voice — I greeted the ghost. The ghost in question indeed looked like a small boy, dressed all in black. But he was not as responsive as I’d hoped. After a few seconds of awkward silence, the ghost asked: “do you know who I am?”. Naturally, I really didn’t know, but thought that I could get away with “of course; you’re Joey, my favourite doll”. Unfortunately, the ghost was unconvinced by my dissimulation — his name was not Joey. The spectral boy’s tone as he rejected me outright was cold, bitter, & sinister.

Perturbed, I returned to GiIf & the Masked Gentleman. The gentleman reassured me that I could have another chance at speaking to the ghost boy, if only we could make a similar potion to turn us into Peto doppelgängers. With the assistance of the ghost of Peto — who, somewhat bizarrely, looked nothing like Peto — we did exactly that. With some more cloth, T put together a surprisingly well-made doll — impressive handiwork indeed, for a ghost — & we brought it to the Masked Gentleman.

Rain so loud that ghosts retire

With enough Peto potion for the two of us, GiIf & I both turned into frail old men:

GiIf: protec us jon

We asked Jon for some protection, as we didn’t just look like infirm old codgers; our bones really did creak. Slowly & carefully making our way around the mansion, we spoke with the Butler, with Jonas, & with Lyudmila. Each one, in turn, expressed some form of horror at the understanding that Peto had returned.

Peto “returns” (as d00r & GiIf) to make things right

The Butler disclosed a desperate remorse for never resisting Jonas’s orders to kick Peto out onto the streets without so much as a retirement.

Jonas regretted his jealousy over the “perfect” doll that Peto made; the one that Sophelia never ceased to play with. We freed Jonas from his intense obsession by acknowledging that the dolls that he made were perfect in their own way. Jonas was moved to tears.

We heard the only honest words from Lyudmila yet, as she apologised — with uncharacteristic diffidence — for consistently mistreating Peto throughout her time at the mansion.

I went back to meet with the devilish ghost child again. As a result of Jonas’s words especially, I now understood the story of Peto much more clearly. The spectral boy was more credulous this time, & all that I had to do was tell him that it was finally time to leave. The entire mansion felt lighter as that malevolent spirit dissipated.

When GiIf & I went back into Sophelia’s room one last time, we no longer heard the girl’s quiet sobbing. The room was empty.

The Masked Gentleman stopped us once again as we left the room. Now that we knew the story of Peto & the Prendergasts, and had brought it to a close ourselves, the mansion could no longer be called “haunted”.

GiIf: MY SEROTONIN HAS SKYROCKETED

As a reward for our efforts, the gentleman gave us each a very large gobstopper. These Hallowe’en sweets were so large, in fact, that they made for perfectly good chairs:

d00r & GiIf on their Jawdestroyer Chairs

This was all a lot more than I expected from a Hallowe’en party. Nevertheless, ’twas no match for GiIf & d00r. 😎

Grindin’ With d00r

Although I very much enjoyed celebrating Hallowe’en, I was starting to worry that GiIf was getting much too far ahead of me in levels. I considered EPQ & OPQ, but ultimately decided that I had a better idea — plus, it’s not like I would be particularly useful in those PQs, anyway…

As part of my first determined effort to “just grind” on d00r, I seized upon the fact that, unlike my Viclocked clericlet d33r, d00r ain’t so area-locked. Indeed, she’s not area-restricted at all! So I figured it was time for a “world tour” (if you will…) of the undeads of MapleStory. Well, the grindable ones in my level range, at least…

Starting with Master Chronoses at Lost Time ⟨2⟩!:

d00r hits level 54~!

Master Chronoses are most notable for dropping helmet DEX 60% scrolls.

d00r hits level 55~!

Mostly because I managed to catch a handful of GM buffs that were the source of much of my grinding motivation, I ended up not moving from this spot…

d00r hits level 56~!

…I wouldn’t want to waste my precious GM buff duration by travelling, would I? Plus, they drop LUK Crystal Ores as well…

d00r hits level 57~!

At this point, I’ve farmed up a whopping six of those DEX 60% bad bois! Not bad!!

Next time, though, I’ll be sure to do a real “world tour” — & with EPM tests, to boot. Which map will win?? Tune in next time for more d00rventures!! 🧡

Footnotes for “The d00rs of perception”

  1. [↑] In the Haunted House, this NPC is called Sophilia, & so too do the associated monsters — Sophilia Doll Ground & Sophilia Doll — use this spelling. In the Haunted Mansion, however, this NPC is known as Sophelia (note the ⟨e⟩).

    Like many things in the Haunted Mansion, the Sophelia NPC is not accounted for on MapleLegends’s Library, which is why I less-than-correctly link to the Sophilia NPC here. I do this throughout the text, linking to Haunted House counterparts when the Haunted Mansion versions do not exist in the Library.

    The Haunted House–Haunted Mansion correspondences, where they differ in name and/or ID, are as follows:

    House Mansion
    Sophilia Sophelia
    Jonas Prendergast Jonas
    Ludmilla Lyudmila
    Edmunds* Butler
    Voodoo Busted Doll
    Hoodoo Destroyed Doll
    Glutton Ghoul Green Phantom
    Purple Flying Book Rideword P
    Orange Flying Book Rideword Y
    Blue Flying Book Rideword B
    Nightmare Fire Steed
    Headless Horseman Pumpkin Knight
    • *Named Steward in later versions of the game.
    • †Not actually found in the Haunted House, but nevertheless found in the Phantom Forest more broadly.
  2. [↑] These books are the Ridewords P, Y, & B. See above: [1]. These seem to be the only bizarrely-named NPCs/monsters in the Haunted Mansion. I thought that perhaps rideword was an actual word, but it appears not. Results from searching the WWW for rideword are all from Ragnarök Online, another Korean MMORPG that was released around the same time as MapleStory. In the original KMS, these are 라이드워드 ⟨raideuwodeu⟩ /ɾɐ.i.tɯ.wʌ.tɯ/; presumably from English ride /ɹaɪ̯d/ + word /wɜ(ɹ)d/. This would make it a pseudo-anglicism.

Accipiter

W—what if it were time for some Bossin’ Wif rusa™? Would you think that was cool…? 🥺👉🏽👈🏽

Okay, great. Let’s do it. Starting with… Ravpap, I guess? My darksterity knight rusa hasn’t actually fought either of these bosses in quite a while! And, you know, what else am I going to do with my Pink Bean buff…?

I joined STRginner Taima (Yunchang, Tacgnol, Boymoder, Girlmoder) & moderately INTelligent corsair Lvl1Crook (Level1Crook, xXCrookXx, Macer) in the ol’ Rāvvin’:

Taima, rusa, & Lvl1Crook vs. Rāvaṇa

…And in the ol’ Pappin’:

Taima, rusa, & Lvl1Crook vs. Papulatus’s first body

I will say, for Pampered Lattice in particular, it is really quite nice to be able to simply cast stance on myself, instead of only getting stance when I’m surrounded by a weird blue bubble

扶桑

Thailand & Lūdibrium are cool & all, but what about Japan? Alongside shadowers Harlez (Gock, Murhata, VigiI) & SinghNinja, I headed to a shopping mall in Roppongi [(ろっ)(ぽん)()] in the year 2102 to smack a big dumb robot cop with an oversized chandelier.

Unfortunately for everyone involved, however, the aforementioned robot cop did what robot cops do best: catastrophically malfunction. And I do mean catastrophically. The Royal Guard let us know, in no uncertain terms, that today was not the day to take on CBPQ:

I got a handful of good video clips of this bot being utterly broken, but this one in particular was notable because it managed to cast seduction whilst it was clearly stunned. Believe it or not, I survived this seduction despite my Hero’s Will being on cooldown, & despite getting seduced on top of this chunky lad who likes to touch attack me for 15k〜16k damage a pop. I somehow just got enough “MISS”es to make it work. 🤷🏽‍♀️

With CBPQ off the table, we instead did an approximation of an NT1 tour. Starting with Burger Moth…:

rusa, Harlez, & SinghNinja vs. Bergamot

…Moving on to Nibble Lung…:

rusa, Harlez, & SinghNinja vs. Nibelung

…And then Namie…:

rusa, Harlez, & SinghNinja vs. Nameless Magic Monster

…Where I embarrassed myself by activating my Zerk, and then swiftly having a pet autopot failure and IRL pet trying to climb onto my lap at the same time. Oups! 😭 Thankfully, although the sudden absence of HB was bad news for SinghNinja, they managed to survive for the rest of the fight with some clever manœuvring & a bit of luck. Phewf!

We also did some 2nasing alongside hero ChiR:

ChiR, rusa, Harlez, & SinghNinja vs. 2nas

The highlight of this particular run was that I brought along my pugilist tarandus to provide SI to myself & ChiR, but nevertheless forgot to poke 2nas before it died… So no 2nas clear for her… Yet……

A little break from bossing

It wasn’t all bossing, though. Here I am with Lvl1Crook, doing some monk-slapping at 7 F!:

Lvl1Crook & rusa @ 7 F

I also did the full Haunted Mansion questline (see the “The adventures of GiIf & d00r in the Haunted Mansion” section above) with MiIf (GiIf, Dakota)! Here we are doing BFJOLPQ (Big Fat Jack-O’-Lantern Party Quest, of course) together:

MiIf & rusa duoing Punkin Slice PQ

This “PQ” can be played as a party of one, which is how it seems to nearly always be done. It is a good deal faster as a real party, though.

’Tail

But would it even be a real episode of Bossin’ Wif rusa™ if there were no Horntailing? I did a run or two hosted by Diggy, as sed target, during which I had a bit of an 🤔interesting🤔 moment involving HT’s tail…:

A little fun with the tail…

Right, so, you can see Vorizon dead in this image. They’re a bishop, but they’re only in my party because they managed to die to the tail earlier, & this was a 10-Mapler run anyway, so we just moved them over to our party in anticipation of my sed bish Resurrecting them immediately after tail was to die.

Thanks to an unfortunate series of coincidences, I ended up getting right-sedded into tail whilst I was unroped & my Will was on cooldown. I’ve done many runs as sed target now, & I’m cautious enough that this really rarely happens — indeed, I think the only other time was one that I captured in a very juicy video clip that you can find in the “⁧روسا⁩” section of pt. ci of this diary. Like last time, I actually managed to survive somehow, despite not being assisted by my bishop. Unlike last time, unfortunately, I didn’t manage to record a video clip; all I have is the above screenshot.

Bizarrely, I kind of just waltzed right past the tail! By the time that my seduction wore off, I was somehow at around ≈20k HP remaining. I then almost immediately got seduced again, but this time on the “how the fuck did you get over there?” part of the map. This is why, in the above screenshot, you can see me rope-sedded rightward of the tail.

Pink Bean & jelly sandwich

But what about PB, tho? The bean of the pink?? The pale red legume??? The fuchsia pea????

In the «El haba rosada» section of the previous entry in this diary, I did my first ever runs of PB, as hosted by xBowtjuhNL (PriestjuhNL, BuccjuhNL) & Nonon (“Milky”, Ettyne, Lorenae). To give enough context for the reader, and especially to hash out my own perspective on & understanding of the PB fight, I went into some detail about what said fight actually entails. Before I talk about PB even more, I’ll quote myself to reiterate an important disclaimer:

⚠️NOTE:⚠️ In this section, I mention PB strategies & things related to them. The strategies represented here are applicable to MapleLegends specifically, even more specifically to the version of MapleLegends that is current at the time of this writing, & even more specifically to the 30-Mapler runs that I’ve personally joined. They are not necessarily applicable otherwise.

With that out of the way, I’d like to add a few bits of info that I neglected to include previously. The first two are courtesy of xBowtjuhNL:

Also, in «El haba rosada», I referenced xiaoyaoz’s Pink Bean Animations Guide (archived), which covers much more than just “animations”, in spite of its title. I’d now also like to point to Milky’s brand-new PB guide that is specifically targeted towards active bishop players, but that is — naturally — also potentially useful for non-bishop PB runners. Unfortunately, this guide appears to only be posted on Discord™ at the moment, so I can’t link to it here. Maybe in the future…

Alright, that’s enough PB nerd shit for now. Last time, I was lucky enough to get my very own Timeless Pendant from PB! But I still had to level it up, so I promised to show the fully-levelled version this time. Well, here it is…:

rusa’s TLP

Transcription of the above image

Timeless Pendant

One of a kind Item, Untradeable

  • Req lev: 150
  • Category: pendant
  • STR: +26
  • DEX: +23
  • INT: +20
  • LUK: +21
  • Weapon def.: 248
  • Magic def.: 255
  • Avoidability: +42
  • Number of upgrades available: 3

Hmm… Not bad! I was really mostly looking for an upgrade to my Horntail Necklace, & I suppose this fits the bill: an additional 3 STR & 2 DEX, effectively the same AVOID & WDEF, and an additional 12 MDEF! I’m still not sure if I want to throw it away so that I can have a chance at a better one… 😅

In any case, I did continue PBing with this same group, & in one such run, we got really spoilt!!:

Facestompers AND MW30?!?

Transcription of the above image

[system message]: [Loot] xBowtjuhNL picked up Facestompers

Minethrower: what

Essoo: MW

Minethrower: WHAT

Kasio: wat

Harlez: both frfr

Danoninho: oooooooooooooooooooooh
nice

zLiOz: WHAT

Essoo: SPOILEDDDDDDDDD

[system message]: [Loot] xBowtjuhNL picked up [Mastery Book] Maple Warrior 30

Freefire: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Minethrower: LETS GOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

FS and MW30?? At the same time??? 🤑🤑🤑

In another run, I managed to level up at the end! To level 184!!!:

rusa hits level 184!!!

Transcription of the chatlog in the above image

[game-wide announcement]: Oh, the exploration team who has defeated Pink Bean with undying fervor! You are the true victors of time!

[system message]: ⟨Party⟩ rusa has reached Lv.184.
⟨Guild⟩ rusa has reached Lv.184.

Whew. You know, this isn’t easy, considering that I only get ≈2% EXP from an entire PB run… Come back in five months for when I level up again! 😊

And we weren’t finished getting spoilt, either. In yet another run, we got two MW30s!!:

Two MW30s?!?

Transcription of the above image

MattNL: 2 mw

benisputt: Ooo

[system message]: [Loot] xBowtjuhNL picked up [Mastery Book] Maple Warrior 30

RacheI: wao!

Kasio: wottda

SweetTofu: 2

WokenEgg: WOW

[system message]: [Loot] xBowtjuhNL picked up [Mastery Book] Maple Warrior 30

TheNarrowz: WHOAAA

[system message]: [Loot] xBowtjuhNL picked up Mysterious Coin Pouch 5

Danoninho: nooooooo way

Minethrower: WOW

Wow. Rich…

Alright, how about even more PB content?:

Using NMM as PB pinning practice

Wait, what? This isn’t PB. That is clearly NMM. What’s going on here?

As it turns out, the easiest approximation to pinning PB’s main body is… Hamstringing NMM. So it’s a neat way to help train buccs for doing just that. And they needed HB, so I tagged along as well!

Part of the training involved Kasio practising barrel cancelling for the first time:

Kasio trying barrel cancelling for the first time

As a bucc player myself, I admit to being basically ignorant of these devious hacks used to bypass the delays intentionally built into many of the pirates’ attacking skills. I pretty much just press the attack that I want to use. I know, how naïve… But the fact that Kasio — a level 200 buccaneer — was largely unfamiliar with how to pull these tricks off at least made me feel a little better about myself. 🥲

After a while of using NMM as little more than a plaything — a seemingly bizarre thing to do — we finally decided to actually slay the thing:

Ettyne, Repairman, Kasio, rusa, & xBowtjuhNL vs. NMM

Dyadic

In other news, I also did a duo Zaqqūm run with Harlez!:

rusa & Harlez duoing Zak: arm 2

Unfortunately, neither of us can reach arm 2. 🥲 Don’t worry — enough jump-Crushering & BStepping later, and it did die.

Unfortunately, I also died! Actually, I died when there were still seven or eight arms alive, but thankfully was revived by MineyBish (Minethrower), who was there (with a few mules) mostly to loot helms. Believe it or not, this marks the second time, in this entry alone — at least, as far as I know… — that I’ve died as a result of a bug with active Zerk. I managed to get video clips clearly demonstrating both instances, although I’m not including them as part of my diary for two main reasons:

The first of these buggy Zerk deaths actually occurred during a PB run, where I was actively Zerked, at ≈12k HP, & got one-shot by an attack. Now, there’s a lot of stuff going on at any given time during a PB run, especially because this was during stage 4 or 5, so I sent the clip to Harlez to get a second opinion. Harlez said that it was clearly a bug.

In the Zaqqūm case, it happened a little differently. Whilst actively Zerked, I got hit by an attack. This nominally lowered my HP to 1 (which is correct), but also had the following other effects:

The next attack that connected with me, then, did me in.

In the “DK rev. 3” section of pt. xcix of this diary, I listed a great number of both pros & cons of MapleLegends’s 3rd version of the DK throughclass — the version that introduced active Zerk, & the current version at the time of this writing. The really important part of that essay is the “The unforgivably ugly” section, but the technical details prior to that section do touch upon several bugs with the implementation. Since then, one or two bugs with DK rev. 3 have been introduced & fixed — including the Beholder bug mentioned in the “My first Pink Beanpressions” section of the previous entry. Or not fixed…

But the point is this: in addition to being fundamentally broken on several levels as explained in my “DK rev. 3” essay, it’s clear that active Zerk is just a buggy mess that I can’t even use selectively, because I never know when it’s going to blindside me with a nasty bug. I’ve since removed Zerk from my keybinds entirely. Good riddance.

The good news is that Zaqqūm went down like a chump — the caveat being that it only dropped one or two helms, unfortunately for Miney.

But Zaqqūm wasn’t the only Mayan chunk of granite that I duoed with Harlez. …Actually, it was. But it wasn’t the only boss that we duoed. Here we are duoing Dunas Unit (effectively 2nas’s first body):

rusa & Harlez duoing Dunas Unit

Although we were indeed duoing, Positivity (Disney) tagged along to get themself a 2nas clear.

And here we are, beating up 2nas himself:

rusa & Harlez duoing 2nas main body

Unfortunately, Harlez didn’t make it to the end of 2nas, & when Positivity tried to come Resurrect her, they… didn’t make it, either:

rusa soloing the rest of 2nas

So I ended up soloing the remaining twenty or twenty-five percent of the damnable rascal Dunas II:

rusa finishes 2nas off

😎 I even managed to get a 2nas clear for tara this time…

Sorts, kinds, sets, & types

Hellow, & welcome to more PQing with my mfing PQ mules!! In the previous episode — the “Keming” section of the previous entry in this diary — my DEX page SGQ/KPQ mule kinds did some KPQing with friends, & then sold some very ✨unique✨ “KPQ service” to Danger (Hampy) & his quartet of hooligans: bandits Peruggia & Bonnot, and gunslingers Jennings & Worley.

LPQ gang rise tf up

With the level 31 → 35 gap bridged, it was time for the hooligans to do some LPQing. No “LPQ svc” here, though. Just some good ol’ fashioned LPQing with friends! I joined a number of runs on my DEX brawler LPQ/EPQ mule sorts:

The LPQ stage 4 eye monsters drop NX…?

Stage 4 of LPQ consists in slaying Shadow Eyes from Another Dimension & Dark Eyes from Another Dimension (whose names cannot be witnessed in-game) for the Passes of Dimension that they drop. In the image above, we can see Peruggia learning that Passes of Dimension aren’t the only things that these mysteriously disappearing eyes drop! Eyedrops, if you will!!

In this same stage, Peruggia also learnt from fellow bandit & notorious brigand Hitodama (Taima, Boymoder, Tacgnol, Girlmoder, deerhunter) another bit of eyedrop-related trickery:

Stealing Passes of Dimension

Transcription of the above image

sorts: d

Peruggia: oh
do they respawn?

sorts: no
but i have 6 passes

Peruggia: i need one of these then
oh wtf

sorts: huh

[system message]: You have lost items (6 Pass of Dimension)
You have gained experience (+6720)

Peruggia: weird
i was hitting one in there

sorts: oh LOL
ahem

Hitodama: i stole from them

sorts: wow. weird

Worley: holy fuk
i can use steal wtf

Can you really call yourself a “thief” if you don’t even Steal?

In the next stage, I gave away some 💸free mesos💸! Wow!:

Free mesos in LPQ stage 5…

You’re welcome! F2

And here’s the gang, featuring brawler Murhata (Harlez, Gock, VigiI), taking on Lūdibrium’s most handsome whale:

sorts, Murhata, Peruggia, LPQGODDESS, & PocketSage vs. Alishar

When we were particularly starved of mages, we had the idea to try doing the mage portal of stage 5 The Gunslinger Way™. Is there such a thing as The Gunslinger Way™, though? Because of their access to the Wings skill, gunslingers are capable of completing the four “normal” (read: neither mage nor “thief”[1]) portals extremely quickly — much faster than any non-gunslinger. For the mage portal, though, the idea is slightly different: because completing the mage portal consists in down-Teleporting through a series of equally-sized platforms (& hitting the boxes to obtain passes along the way), the gunslinger ostensibly could briefly walk off the edge of one platform, almost immediately Recoil Shot, & thus land on the immediately lower platform.

This is actually not the first time that I’ve been in an LPQ party that has tried this. Nevertheless, I couldn’t actually remember why it doesn’t (or does??) work. I didn’t mind giving it a go, though, so that’s what we did:

So THAT’S why you can’t do LPQ mage portal without Teleport…

Right, so the actual obstacle to completing the mage portal sans Teleport is at the very beginning (read: the top of the map): there’s a top platform that is at least as wide as the map is, & with down-jumping obviously disabled — as that would trivialise the mage portal so that anyone could do it — there’s simply no way to get to any other part of the map, sans Teleport. Boooo…

So, maybe the mage portal really is as uninteresting as it seems: it’s no more than a Teleport check, similar to the right-hand portal of MPQ’s 4th stage. But what about everyone’s favourite LPQ stage: stage 8?

Unlocking the mystery of LPQ’s 8th stage

(Alternate title: “Counting is harder than you think”.)

LPQ stage 8 boxes

Love it, hate it, or both, you can’t deny that stage 8 requires an unusually high level of coördination between party members. This stage is easily recognised as KPQ’s 4th stage — which is itself a version of the preceding two KPQ stages on steroids — on steroids. And by “steroids”, I really mean that there are more possible combos:[2] (43)=4 in KPQ’s 2nd stage, (53)=10 in KPQ’s 3rd stage, (63)=20 in KPQ’s 4th stage, & (95)=126 in LPQ’s 8th stage. This notably makes stage 8 the only reason why LPQ cannot be completed with a party of four or fewer (LPQ-sans-stage-8 would be duo-able).

Lexicography

Because of the analogy with KPQ stages 3 & 4 (not stage 2, because stage 2 does not explicitly number its slots), players are naturally tempted to solve LPQ’s 8th stage in the same way: by traversing all possible combos in lexicographic order. Because the slots are neatly labelled, each with its own natural number, the usual ordering of the natural numbers yields the aforementioned lexicographic order on all possible combos. KPQ’s 4th stage has only 20 possible combos, so I’ll list them here for illustrative purposes:

  1. 123
  2. 124
  3. 125
  4. 126
  5. 134
  6. 135
  7. 136
  8. 145
  9. 146
  10. 156
  11. 234
  12. 235
  13. 236
  14. 245
  15. 246
  16. 256
  17. 345
  18. 346
  19. 356
  20. 456
Figure 1: The usual (lexicographic) ordering of KPQ stage 4 combos, in the usual string-of-slots presentation (with one-based numbering, left-to-right).

In this notation, each decimal digit represents one element of the combo. The order in which the digits are presented within a combo is strictly irrelevant from the game’s perspective, but by always listing them in ascending order, we can get the aforementioned lexicographic order.

In the jargon of formal languages, we are treating each combo as a string of length 𝑘, where 𝑘 is the number of slots (in KPQ’s 4th stage: barrels) that have a PC occupying (read: standing on) them. We then require that all strings have their symbols in sorted order, & that a given symbol appears at most once within a given string (in other words: each string is actually a well-ordered set of cardinality 𝑘). The alphabet from which the symbols are taken is the set of all positive integers that are less than or equal to 𝑛, where 𝑛 is the number of slots. This framing is what justifies my use of the phrase lexicographic order.[3]

Shortest Hamming paths, flip graphs, & more maths

Ordering the combos is great, but doesn’t tell us how to actually play out those combos in-game. Thankfully, because we chose a kind of lexicographic order, the strategy is naturally suggested to us: we simply assign one PC to each index in the string. A given PC, then, only has to move themself during the transition from one combo to the next iff the corresponding strings differ w.r.t. the integer that they have in that PC’s index. For example, when transitioning from 123 to 124, the PCs assigned to the first two indices do not move, whereas the PC assigned to the third & last index must move from 3 to 4.

We get the vague idea that the fewer PCs who must move to transition from one combo to the next, the better. This amounts to minimising the Hamming distance from one string to the next. In the “For the Goddess” section of pt. cv of this diary, we saw a similar problem in the context of OPQ’s On the Way Up stage. When solving On the Way Up deterministically — using rogerhub’s method — each combo is a bit-string of length 5, & they are ordered as a Gray code. This allows for traversing all 25=32 possible combos with there being a Hamming distance of exactly 1 from each combo to the next, which is clearly optimal.

Unfortunately, the usual binary Gray codes (which we’ll later refer to as RBGCs) aren’t gonna cut it for the class of problems in question. We can generalise Gray codes to arbitrary radices (that is, radices other than 2)[4], but we’ll end up with combos like 333 that don’t make sense because they have more than one occurrence of the same symbol, as well as combos like 312 that are unsorted, & thus unwanted duplicates of their sorted counterparts (123, in this example).

We can instead think of each combo as a bit-string of length 𝑛, where a 1 indicates that the slot is occupied, & vice versa. We then have a perfectly ordinary binary Gray code over the set of bit-strings of length 𝑛, but this includes bit-strings that are unwanted because they don’t have exactly 𝑘 1’s in them. In the context of KPQ’s 4th stage, this includes combos like e.g. 23 & 1234, that are invalid because too few & too many barrels are occupied, respectively.

In “For the Goddess”, we saw that rogerhub derived his Gray code method without knowing of the existence of Gray codes per se. Instead, he arranged the 32 combos as the vertices of a 5-cube[5], & then found a shortest possible traversal — moving along the 5-cube’s edges — of all of said vertices.[15] This is an example of a more general kind of mathematical object called a flip graph. A flip graph is a graph in which each vertex is some geometric or combinatorial object, & two vertices are connected by an edge iff they can be transformed between one another via some elementary operation called a “flip”. In rogerhub’s case, the “flip” is literally a flip, particularly of a single lever at the top of the map. In our case, a “flip” is the movement of exactly one PC from one slot to another.

In both rogerhub’s & our cases, what we’re looking for is virtually the same: a Hamiltonian path (a path that visits each vertex exactly once) in the flip graph. We could go even further & ask for a Hamiltonian circuit in particular. However, this is only theoretically an optimisation for cases where you fuck up & have to start over again, after you’ve just supposedly — but not actually — checked all possible combos. But, you know, if that happens, you’re already screwed anyway…

But it’s not looking so good. For starters, not all graphs even contain a Hamiltonian path. Worse yet, the problem of determining whether a graph has a Hamiltonian path — the well-known Hamiltonian path problem — is infamously 𝐍𝐏-complete in the general case, which is computational complexity speak for “good luck with that”[6].

Don’t give up just yet, though! We’re not working with the general case, which means that we have a few particular affordances. For one, in the largest practical case for MapleStory — LPQ’s 8th stage — we “only” have 126 vertices. That’s still a lot, but nonetheless better than “any number of vertices”. Furthermore, to quote Petr Gregor:[7]

As an informal remark, many flip graphs are usually highly symmetric, in the sense they are vertex-transitive and sometimes Cayley graphs. In this context, the following conjecture makes us optimistic about the existence of combinatorial Gray codes for various classes:

Conjecture 1 (Lovász[8]): Every connected vertex-transitive graph has a Hamilton path.

“Distance-2 Cyclic Chaining of Constant-Weight Codes”

That brings us to a particularly relevant 1973 paper by Donald T. Tang & C. N. Liu: “Distance-2 Cyclic Chaining of Constant-Weight Codes”[9]. To understand the meaning of the title of this paper, we can revisit a remark that I made above:

We can instead think of each combo as a bit-string of length 𝑛, where a 1 indicates that the slot is occupied, & vice versa.

Using the convention that we read bit-strings from right to left — that is, from the 1’s place, to the 2’s place, to the 4’s place, & so on — we can use the example from Fig. 1 to illustrate this representation:

  1. 000111
  2. 001011
  3. 010011
  4. 100011
  5. 001101
  6. 010101
  7. 100101
  8. 011001
  9. 101001
  10. 110001
  11. 001110
  12. 010110
  13. 100110
  14. 011010
  15. 101010
  16. 110010
  17. 011100
  18. 101100
  19. 110100
  20. 111000
Figure 2: The usual (lexicographic) ordering of KPQ stage 4 combos, in bit-string representation.

Notice that some — but not all — transitions in this lexicographic sequence are the kind of transitions that we want. For example, the first two combos in Fig. 2 are 000111 and 001011, which only requires one PC to move (viz. from barrel 3 to 4). But in the bit-string representation, the Hamming distance between these two combos is not 1 as it was with the string-of-slots representation in Fig. 1; instead, it’s 2. This is because we have a bit complemented from 1 to 0 as the PC leaves the barrel, and then another bit complemented from 0 to 1 as the PC arrives at another barrel. This is the meaning of “Distance-2” in the paper’s title.

“Cyclic Chaining” basically means that this paper is concerned with Hamiltonian circuits, rather than just any Hamiltonian paths. And finally, “Constant-Weight” refers to the fact that each bit-string has the same Hamming weight; in the KPQ stage 4 example, this means that a constant number of barrels is occupied in any given combo.

The paper is originally concerned with analog-to-digital conversion, but also mentions the exact problem that we have:[9]

The cyclic distance-2 chaining of constant-weight codes has applications in A/D conversions as well as in combinatorial problems involving the exhaustion of 𝑘-out-of-𝑛 combinations.

For our purposes, the main utility of this paper is that it not only proves that such Hamiltonian circuits exist, but also proves that simply taking an ordinary binary Gray code on bit-strings of length 𝑛, & then removing bit-strings that aren’t of the desired weight, produces exactly such a Hamiltonian circuit! It’s that easy?!?

Well, not so fast. And I mean that literally; one of the issues is that naïvely generating the binary Gray code & then extracting the desired subsequence is quite inefficient. But also, the proof presented in the paper is not exactly trivial. I read the paper until I understood the proof — which took quite a bit of time & effort, even though the proof itself is only a few paragraphs of text! I’ll attempt to give a simplified sketch of the proof that doesn’t actually prove anything, & if you want a real proof, then check out the paper yourself.[9]

Proof sketch

(NOTE: You can skip this proof sketch section, especially if it hurts your head to read anywhere near as much as it hurt mine to write.)

We’ll use 𝐺𝑛 to denote a binary Gray code whose bit-strings each have length 𝑛. It’s clear that taking the subsequence of 𝐺𝑛 that contains exactly those bit-strings of weight 𝑘 yields a sequence — which we’ll call the induced sequence — containing all the desired bit-strings exactly once. What we’re worried about is that they might be in the wrong order. If we have two such length 𝑛 bit-strings 𝑥 and 𝑦 — both of weight 𝑘 — that are adjacent in the induced sequence, & the distance between them is more than 2, then we’re shit out of luck.

Notice that the distance between 𝑥 and 𝑦 has to be even, due to the same reasoning as in the previous section. Half of the distance is from 10 transitions (leaving a barrel), and the other half is from 01 transitions (arriving at another barrel). So if the distance between 𝑥 and 𝑦 is more than 2, then it must be 4 or more. In this case, we’d better hope that there are other bit-strings in the induced sequence that go in between 𝑥 and 𝑦, so that 𝑥 and 𝑦 aren’t adjacent. But what does “go in between” mean, exactly?

Because our induced sequence is supposed to be a Hamiltonian circuit, it’s cyclic. Thus, we need not one, but two bit-strings — which we’ll call 𝑢 and 𝑣 — to “go in between” them…:

𝑢 sandwiched between 𝑥 and 𝑦; 𝑣 sandwiched between 𝑦 and 𝑥

Figure 3: Interleaving 𝑢 and 𝑣 in between 𝑥 and 𝑦.

…So that we have 𝑢 sandwiched between 𝑥 and 𝑦; and we have 𝑣 sandwiched between 𝑦 and 𝑥 (note the order). In the above diagram, the arrows are dotted because there may be zero or more other anonymous bit-strings that are omitted.

The standard construction of 𝐺𝑛 is as a reflected binary Gray code (RBGC). We take 𝐺𝑛1, & concatenate it with a reversed (“reflected”) copy of itself. In the reflected copy, the bit-strings are the same, but are listed in the reverse order. Then, we prefix each element of the original 𝐺𝑛1 with 0’s, & those of the reflected copy with 1’s. For example, to construct 𝐺3:[15]

RBGC construction for 𝑛 = 3 ◐

Figure 4: RBGC construction for 𝑛=3.[15] Courtesy of Wikipedia users Inductiveload & Watchduck.

The result is that, in 𝐺𝑛, the most significant (read: leftmost) 𝑚 bits repeat themselves exactly 2𝑛𝑚 times in a row, before proceeding to the next configuration & repeating themselves exactly 2𝑛𝑚 times again, & so on. We can exploit this fact to show that 𝑢 and 𝑣 really must exist, & must be sandwiched between 𝑥 and 𝑦, as in Fig. 3.

Let 𝑓 be the number of “flips” (in the sense of “flip graph”) necessary to go from 𝑥 to 𝑦 (or equivalently, vice versa). Clearly, 2𝑓 is the Hamming distance between 𝑥 and 𝑦, and 𝑓2. Then, 𝑥 and 𝑦 are the same in 𝑛2𝑓 of their bit-positions, & we can make a subsequence of 𝐺𝑛 by “freezing” (if you will) all of those positions to the values that they have in 𝑥 and 𝑦 (that is to say, elements of 𝐺𝑛 that differ from 𝑥 and 𝑦 in any of those positions are deleted). Given the “reflected” structure of 𝐺𝑛 that we saw in Fig. 4, freezing the values of 𝐺𝑛 in all but 2𝑓 bit-positions produces another Gray code 𝐺′2𝑓. I’ve put a prime symbol (′) on 𝐺 to represent the fact that we’ve re-indexed the bit-positions; for example, 𝐺4 has the bit-positions 4,3,2,1, and if we freeze position 2, we obtain 𝐺′3 with the bit-positions 4,3,1, which is a re-indexing of the more usual 3,2,1 where 2 becomes 3, & 3 becomes 4.

If we look at the most significant two bit-positions of 𝐺′2𝑓, we obviously know that 𝑥 and 𝑦 have a Hamming distance of 2 in those positions. But because these positions form 𝐺′2, there have to be corresponding two-bit versions of 𝑢 and 𝑣 interleaved between them, similar to Fig. 3. For example, if the two-bit version of 𝑥 is 00, & the corresponding two-bit version of 𝑦 is 11 (this is a valid example because 00 and 11 have a distance of 2), then we definitely can’t have a Gray code like ⟨…, 00, 11, …⟩; that’s not a Gray code. We’d need something more like ⟨00, 01, 11, 10⟩, where 01 & 10 are our “two-bit versions of 𝑢 & 𝑣, respectively”, so to speak.

But that doesn’t necessarily mean that these “two-bit versions of 𝑢 & 𝑣” are parts of larger bit-strings of length 𝑛 & weight 𝑘, right? Well, remember that each element of 𝐺′2 is — within 𝐺′2𝑓 — repeated 22𝑓2 times in a row. If the two-bit version of 𝑢 is 𝑢2, then somewhere within its 22𝑓2 repetitions, there is a trailing string of 2𝑓2 bits that looks like 𝑢2𝟷𝟶𝟷𝟶𝟷𝟶.[10] Thus, the full element of 𝐺′2𝑓 — viz. 𝑢2𝑢2𝟷𝟶𝟷𝟶𝟷𝟶 — has a weight of 2 due to 𝑢2𝑢2 (a bit-string & its complement always have a combined weight equal to the length of the original bit-string), plus 2𝑓42=𝑓2 for the trailing 10’s, for a total weight of 𝑓.

𝑥 and 𝑦 are of weight 𝑘, & they clearly both have the same amount of that weight within the bit-positions that they share — thus, they have the same amount of that weight within the 2𝑓 bit-positions that they don’t share. Because in the latter positions 𝑥 and 𝑦 are bitwise complements of one another, we can again exploit the fact that a bit-string & its complement always have a combined weight equal to the length of the original bit-string. We then see that 𝑓 of the weight is in the non-shared positions, and so 𝑘𝑓 in the shared positions. Seeing as our 2𝑓-length versions of 𝑢 & 𝑣 were each of weight 𝑓, the full 𝑛-length versions must be the desired weight 𝑓+𝑘𝑓=𝑘 once we restore the “frozen” shared bits of 𝑥 and 𝑦.

Now that we see that any two bit-strings in the induced sequence that shouldn’t be adjacent (𝑥 and 𝑦) aren’t (because they’re dutifully separated by 𝑢 and 𝑣), we know that the induced sequence has the right order! Wow!! Kill me!!!

What’s a little naïveté?

Above, I said…

[…] one of the issues is that naïvely generating the binary Gray code & then extracting the desired subsequence is quite inefficient.

But how bad can the naïve approach be? Tang & Liu give this no more than an unsourced passing remark:[9]

However, this straightforward method can be shown to be rather inefficient as 𝑛 becomes large. This is because we are interested in only (𝑛𝑘) code vectors out of 2𝑛 possible ones, and the ratio of (𝑛𝑘) to 2𝑛 tends to zero as 𝑛 grows indefinitely.

Does it, though? For some reason, I felt the need to clarify this. Especially because we’re comparing (𝑛𝑘) to 2𝑛, and the former is of two variables, whereas the latter is only of one variable. I think I know enough to investigate this!

If we get rid of 𝑘 by letting it be constant, then I have no doubt that 2𝑛 wins. But I’ve seen Pascal’s triangle before, & I know that the fat numbers are in the middle! So what if we let 𝑘 also grow indefinitely, by setting 𝑘𝑛2? Well, the formula for (𝑛𝑘) is usually stated in terms of factorials like so:

( 𝑛 𝑘 ) = 𝑛 ! 𝑘 ! ( 𝑛 𝑘 ) !

By using Stirling’s approximation, we can characterise the asymptotic growth of 𝑛! in terms of some other elementary functions:

𝑛 ! 2 π 𝑛 ( 𝑛 e ) 𝑛

We don’t need those pesky constants, though.

𝑛 ! Θ ( 𝑛 𝑛 𝑛 )

Much better.

I won’t bore you with the half-dozen algebraic steps necessary to get from this, with 𝑘𝑛2, to something useful. This is what you get:

( 𝑛 𝑛 2 ) Θ ( 2 𝑛 𝑛 )

…Which would imply that Tang & Liu were correct in their assertion, & in particular, the ratio approaches zero at the same asymptotic rate that 1𝑛 does.

Even for relatively small 𝑛, the difference is considerable. For example, at 𝑛9 (the LPQ stage 8 case), we have 126 and 512 (ratio of ≈4.1). At 𝑛20, 184 756 and 1 048 576 (ratio of ≈5.7). At 𝑛100, the ratio is ≈12.6; at 𝑛1 000, ≈39.6; & so on, increasing like 𝑛

Homogeneity & nearing perfection

Tang & Liu’s paper goes on to prove the correctness of an algorithm that is much more efficient than the naïve method. But it’s super confusing (show me the pseudocode!!), & this is a pretty old paper anyway, right?

Well, I chased a lot of random papers, scoured the interwebz, & spent many hours just kind of scratching my head, for the most part. I found several promising items, but as far as I can tell, the best result that I found was — perhaps unsurprisingly… — in §7.2.1.3 of vol. 4A (“Combinatorial Algorithms, Part 1”; 2011) of Donald Knuth’s The Art of Computer Programming (TAOCP). This section also credits the theorem proved by Tang & Liu — as sketched in the “Proof sketch” section above — to an earlier 1971 Ph.D. thesis by J. E. Miller, citing Tang & Liu as having independently rediscovered it, but I couldn’t find her thesis.

In any case, whilst reading this section, I did some more head-scratching, & also found some interesting things that actually made some sense to me (rare!), but that aren’t really relevant here. What are relevant, however, are TAOCP’s notions of genlex order, homogeneity, near-perfection… — oh, & some pseudocode for an algorithm!

Although the path of combos that we’re after isn’t ordered lexicographically, it is in a genlex order. This means that every string with a given prefix occurs in a contiguous sequence. This is more or less just a consequence of recursively building up the order; see, for example, the classic RBGC construction in the “Proof sketch” section above. It’s not super important, but it does have the nice property of making the order amenable to a trie, where each node of the trie represents a common prefix.

But we can do better than that. Going back to the KPQ stage 4 example, consider the transition 001011011001. This has a Hamming distance of two, which is what we want: we can see that the transition only involves a single PC moving from barrel 2 to barrel 5. But if we translate this into the usual string-of-slots representation, we notice something a bit weird: 124145. In this representation, the Hamming distance is still 2, which is not what we want; we want a distance of 1. This is because the PC who started on barrel 2 had to “cross over” the PC who’s on barrel 4, in order to go from barrel 2 → 5. We can simply refer to this as crossing, & we definitely want to eliminate it, if at all possible. TAOCP refers to a path that eliminates all crossing as homogeneous.

Believe it or not, we can tighten the homogeneity requirement even further, if we so choose. A near-perfect path is a homogeneous path wherein each homogeneous transition either looks like 0110 or 001100. In the KPQ stage 4 example, a near-perfect path would mean that every transition involves one PC moving from a barrel to another barrel, where the barrels’ numbers differ by no more than 2.

In an attempt to take into account how long it takes for a PC to go from one barrel (more generally, one slot) to another, we can define a function δ(𝑠0,𝑠1) that takes two slots 𝑠0 and 𝑠1, and gives the “round-trip” time taken to move from 𝑠0, to 𝑠1, & back to 𝑠0 again. This attempts to smooth over the “quasimetric” problem, similar to that encountered in the “Stage 3 theory” section above, caused by the fact that it may take longer to go from one slot to another than it does to do the same in reverse. Then, we can order the slots (denote the set of slots by 𝑆{𝑠0,𝑠1,,𝑠𝑛1}) in a way that minimises the following sum:

𝑖 0 𝑛 2 δ ( 𝑠 𝑖 , 𝑠 𝑖 + 1 )

If we do this, then our slot ordering plays very nicely with near-perfect paths!

You might be wondering why they’re called near-perfect paths, or you already figured out that perfect paths would only have 0110 transitions. This is clearly worthy of the name “perfect”, but there’s just one problem: such paths usually don’t exist, excepting some special cases. In particular, TAOCP proves “Theorem P”, which largely boils down to (ignoring some trivial cases) perfect paths only existing when both 𝑘 and (𝑛𝑘) are odd. Ouf. This means that there are no perfect paths for KPQ stage 3 nor LPQ stage 8, but there are perfect paths for KPQ stages 2 & 4 — granted, for KPQ stage 2, it’s trivial. However, perfect paths are vastly more difficult to generate than near-perfect ones, even when they do exist, so we’ll leave the optimisation of KPQ’s 4th stage for… another time… 😉

Al Gore’s rhythm

TAOCP attributes the first construction of near-perfect paths to Phillip J. Chase (1976), & so calls such a path Chase’s sequence. It then gives “Algorithm C”, for generating Chase’s sequence.

I did find a free software implementation of Algorithm C — along with many other such algorithms — first in the form of The Combinatorial Object Server, a website originally launched by Frank Ruskey, & later relaunched by Torsten Mütze, Joe Sawada, & Aaron Williams (all theoretical computer scientists). You can find its source code here. For many of the algorithms, including Chase’s, the COS uses the implementations provided by Jörg Arndt’s FXT library, written in C++ & licenced under the GPL v3.

For various reasons, I decided to just implement Algorithm C myself! Check it out here, at src/algorithm_c.rs!! I think that my implementation improves upon FXT’s in some ways, & it’s pretty easy to use safely from any Rust code. For example:

use algorithm_c::AlgorithmC;

let mut ac = AlgorithmC::new(6, 3);
while let Some(combo) = ac.next() {
    println!("{combo:?}");
}

Which prints the following to stdout:

000111
001011
100011
010011
011001
101001
110001
100101
010101
001101
001110
100110
010110
011010
101010
110010
111000
110100
101100
011100

There’s also a little testing function called sanity_check that I used to ensure that my implementation was correct. If we inspect the above example output, we can see that it’s indeed a near-perfect Hamiltonian path through the bit-strings of length 6 & weight 3. Notice, however, that Algorithm C makes no attempt to produce circuits; the Hamming distance between the first & last bit-strings is 4. As mentioned previously, though, this is fine for our purposes; we really don’t need a circuit.

One possible optimisation that sticks out to me is to not use the bit-vec library, or to at least have a version of the AlgorithmC struct that doesn’t use it. Instead, AlgorithmC can directly store a single primitive integral type like u64 — or even u128 — to use as a bit-string. But my current lone implementation has the nice property that it easily handles any values of n and t (the name that TAOCP uses for what I’ve been calling 𝑘) that you could really dream of.

In any case, with a working implementation to generate Chase’s sequence, let’s take a peek at what such a sequence visually looks like for LPQ stage 8’s parameters (𝑛9 and 𝑘5):

Chase’s sequence for 𝑛 ≔ 9, 𝑘 ≔ 5

Figure 5: Chase’s sequence for 𝑛9, 𝑘5. Slots that have just been moved to are coloured green, slots that are about to be moved from are coloured reddish, & slots that would have both colours are coloured green. (See chase_9_5.py.)

Wooooaaaah… kinda cool.

“Chase”ing the optimal path

LPQ stage 8 boxes

Remember these bad boys?

Using Chase’s sequence straightforwardly — by assigning the boxes labelled ⟨“1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”⟩ to the bit-strings from left to right, or from right to left — is… something that you can definitely do. In fact, if you ignore the practical difficulties of getting people to memorise, & to coöperate in the execution of, the sequence (which we’ll get to), it’s probably really fast.

But as a point of attempted(!) optimisation, in the “Homogeneity & nearing perfection” section above, I suggested minimising the following sum:

𝑖 0 𝑛 2 δ ( 𝑠 𝑖 , 𝑠 𝑖 + 1 )

The idea is that, if our Chase’s sequence — or whatever sequence of bit-strings we choose — is near-perfect or perfect, then we’re hoping that movements between slots are very small: a distance of one slot (one bit-position’s distance: 0110) in most or all cases, & a distance of two slots (001100) when necessary. Thus, if slots that are adjacent are also very close to one another in the game-physical world, then the stars should hopefully align, & we’ll get something close to maximal economy of motion.

That being said, we can already foresee at least a few potential problems with this approach:

But let’s take a look at those two-slots’-distance transitions, shall we? It’s easy enough to count them for a specific case, so I did just that for 𝑛9, 𝑘5: there are 34 of them. That’s out of 126 − 1 = 125, because we have 126 vertices, and we’re making a Hamiltonian path that isn’t a circuit. 27.2% isn’t terribly high, which is nice — it’s definitely a minority. So we’re just gonna call it good.

The travelling LPQer problem

As far as solving a TSP goes, we do have the benefit that δ is a metric. This metricity puts the problem more specifically in 𝐀𝐏𝐗, & even more specifically, it’s 𝐀𝐏𝐗-complete. That means that it’s sorta approximable, but not as well as e.g. something in 𝐅𝐏𝐓𝐀𝐒 (e.g. the knapsack problem).

There are plenty of good heuristic/approximation algorithms out there, but you know what? Fuck it. Nine boxes isn’t that many. I started writing a BHK implementation myself, got pretty far into it, & then… thought better of it. Unfortunately, although the Concorde TSP Solver is super fast & source-available, it’s also proprietary. 😓 So instead, I used python-tsp to make things easier. It provides a function called solve_tsp_dynamic_programming that does what it sounds like it does: the BHK algorithm.

Of course, I need to know how to actually calculate δ. More effort can be put into this, but for now, I decided to just base it on the actual distances, in pixels.[12] We also want to make sure that we’re solving an open TSP, meaning that we don’t need a circuit — just a Hamiltonian path. Because the starting — & thus ending — vertex of the TSP circuit found by BHK is always the same, you can just make that vertex have zero distance to it from any vertex — maintaining the true distances from it to other vertices. Moreover, we don’t care where we start the path, so I just ran the solver once for each of the nine boxes. Is that “the dumb way”? I’m not sure. In any case, by running travelling_lpqer.py, we get:

1, 3, 6, 7, 4, 2, 5, 8, 9⟩.

(That’s a total travel distance of ≈410 pixels, by the way!)

You know… I don’t know what I expected. This is very nearly the JMS order (which we’ll get to…), & that’s something that we really didn’t need a TSP solver for — but hey. 🤷🏽‍♀️

The only difference is in how we visit box 8, but it probably isn’t all that significant. I think that the JMS order is clearly a bit better for going forward through the path, but maybe the above order has the advantage of being based on a metric (read: not a quasimetric)…? I do think that it has fewer “awkward moves” when going in reverse.

Note that although the Hamming distance of this order from the JMS order is 3, the Levenshtein distance from the JMS order is only 2, because 8 is simply shifted 2 places to the right.

Plus, if better measurements of box-to-box distances — as measured in ms, rather than px! — are obtained, then travelling_lpqer.py can be modified to produce something really optimal. Or, it won’t make much of a difference…

組合せ数学

Speaking of the JMS method, what is that, exactly?

In the “Lexicography” section above, I suggested that naïve LPQers would make an analogy between LPQ’s 8th stage and the combo stages of KPQ (especially stage 4). This gets you the so-called GMS method: 12345, 12346, 12347, 12348, 12349, 12356, & so on… The GMS method is certainly straightforward, but it has just one problem: it sucks ass.

That’s why no one uses the GMS method, & we all use JMS instead. It all starts with an ordering:

LPQ stage 8 boxes, JMS ordering

Figure 6: LPQ stage 8 boxes, in JMS order, grouped into four segments.

Here, I divide the order into four segments, using grey arrows to connect the segments to one another:

Algorithm 1: The JMS ordering of LPQ stage 8’s boxes.
  1. Segment I: The lonesome yellow column on the far left, where we proceed downward as ⟨1, 3, 6⟩.
  2. The diagonals (think of the bottom-left half of a 3×3 matrix):
    1. Segment II: The red degenerate diagonal, which only contains ⟨7⟩.
    2. Segment III: The blue diagonal just above it, where we proceed down-&-rightward as ⟨4, 8⟩.
    3. Segment IV: The green diagonal on top, where we proceed down-&-rightward as ⟨2, 5, 9⟩.

Thus, the full order: ⟨1, 3, 6, 7, 4, 8, 2, 5, 9⟩.

JMS’s order is surely the primary, or the only, thing acting as a stumbling block for those learning the method for the first time. Although the JMS order geometrically makes more sense than the label order, its discoverability is severely hamstringed by the rather frustrating fact that the boxes are labelled with numbers. As soon as people start saying “1 3 6 7 4 8 2 5 9”, the poor noobs may as well be reading a tyre tread. In reality, the numbers could just as well be colours, shapes, words, or animals, for all we care, so long as they allow for the verbal identification of each box.

So perhaps a different diagram is in order…

JMS order, simplified & re-numbered

Figure 7: JMS order, simplified & re-numbered. (See jms_colouring.py.)

In any case, with a box ordering established, JMS becomes a strange amalgam of the classic lexicographic method & something similar to a Gray code construction. The JMS method can be described as follows:

Algorithm 2: The JMS method.
  1. Initialise: Have the 5 PCs occupy the first 5 boxes of the JMS order. Designate the PC who is standing on box 1 as the cycler.
  2. Cycle: Have the cycler cycle through the first 𝑐 consecutive boxes of the JMS order that aren’t currently occupied by non-cycler PCs, in any order, visiting one combo for each box along the cycle. This step visits 𝑐 combos, where 1𝑐5.
  3. Lexicographic transition: Transition to the lexicographically succeeding combo, ignoring the cycler. Return to the “Cycle” step.

(In reality, this algorithm terminates due to the stage clearing. Otherwise, the “Lexicographic transition” step eventually cannot proceed because there is no “lexicographically succeeding combo”.)

Due to the third step (“Lexicographic transition”), four out of the five PCs move only according to a lexicographic scheme. On the other hand, the “Cycle” step generally visits many combos for each single lexicographic item; in some ways, this is similar to e.g. the RBGC construction, where we “freeze” a subset of the bits — that is, a subset of the symbolic positions within each combo string — whilst we visit all combinations of the other non-frozen positions.

Of course, in some sense, even a naïve purely-lexicographic strategy has this vague form. But in such a case, there’s only really one “active” PC at any given time, & other PCs almost always move simultaneously with the “active”/“leading” PC. Moreover, because of the nature of lexicographic order, the PCs are constantly encroaching on the “active” positions, forcing time-consuming (read: many PCs moving arbitrary distances) “avalanche” resets any time that the active positions can’t be squeezed further, which is quite frequent.

The Gray-code-construction-like quality of JMS, then, lies in the fact that there are effectively two active PCs at any time — with the caveat that 𝑐 is sometimes 1, in which case the cycler is effectively inactive — & in the fact that the cycler’s active positions are never encroached upon, so that the cycler is never involved in costly avalanches. And this is all in spite of JMS also ultimately relying on a lexicographic sub-regime, of course.

There’s also a nifty bonus that I allude to in the “Cycle” step of Algorithm 2: “[…], in any order, […]”. This means that if the cycler is, for example, cycling through boxes {1, 3, 6}, then they can follow the repeating sequence ⟨1, 3, 6, 6, 3, 1⟩, so that they never have to move at the same time that the other PCs do, & also generally reduce their own movement. Notice that this is the same “reflection” utilised in the RBGC construction. In reality, it’s actually more like the repeating sequence ⟨1, 3, 6, 6, 1, 3, 3, 6, 1⟩, but that’s just the quasimetric problem (63 and 16 being far costlier than 36 and 61, respectively).

None of this is to downplay the JMS ordering of boxes. The JMS order is undoubtedly a massive advantage that the JMS method has over its naïve GMS counterpart!

Looking ahead, looking bhead, looking chead, …

We might think to take the naïve lexicographic method & augment it with minor optimisations, due to the unwanted avalanching. Using KPQ stage 4 as an example once again, consider:

  1. 123
  2. 124
  3. 125
  4. 126
  5. 136
  6. 135
  7. 134
  8. 145
Figure 8: Avoiding the first avalanche in KPQ’s 4th stage.

For now, we’re ignoring the fact that this sequence often instead begins with ⟨123, 126, 125, 124, 134, …⟩, due to how the barrels are physically placed.

This starting sequence looks fairly economical due to going 126136 instead of the lexicographic 126134. However, by continuing this pattern straightforwardly, we hit 134 & have nowhere to go, thus the unfortunate 134145 transition. By looking further ahead, we can try to circumvent this little issue:

  1. 123
  2. 124
  3. 125
  4. 126
  5. 136
  6. 134
  7. 135
  8. 145
  9. 146
  10. 156
  11. 234
Figure 9: Avoiding the first two avalanches in KPQ’s 4th stage.

…But then we have that horrible 156234 transition. Do note that these kinds of optimisations are certainly not unheard of in practice. For example, I fondly recall being introduced to the so-called “WMS” method of LPQ stage 8. The ⟨W⟩, of course, stands for Wamu, an LPQ mule who — amongst many other things — enjoys leading the JMS combos, spicing it up & throwing in a few optimisations towards the beginning.

However, in order to continue optimising our KPQ-stage-4 strategy in this way, we have to finally relinquish any claim that “we’re basically just going in lexicographic order, but with some minor optimisations”. We’re leaving the realm of mere mortals.

  1. 123
  2. 124
  3. 125
  4. 126
  5. 136
  6. 134
  7. 135
  8. 145
  9. 146
  10. 156
  11. 256
  12. 246
  13. 236
  14. 234
  15. 235
  16. 245
  17. 345
  18. 346
  19. 356
  20. 456
Figure 10: Avalanche avoidance in KPQ’s 4th stage becomes a fully-fledged near-perfect path.

Woah! It’s a near-perfect path now! What the fuck? There’s only ever one PC moving from combo to combo, & they never move from one barrel to another barrel whose number is more than 2 away!

Of course, this is not a recommendation of this exact method. In order to actually optimise this, we’d at least need to re-order the barrels to reflect how difficult it is to go between them. Moreover, we learned earlier that KPQ’s 4th stage has a lucky configuration — 𝑘 and (𝑛𝑘) are both odd — that actually allows for a ✨perfect✨ path. Still, it’s interesting that we got from a totally lexicographic order to a near-perfect path just by progressively working around the unsavoury combo transitions.

Putting it all together, threegether, fourgether…

Now that we’ve investigated the JMS method & near-perfection, let’s see what we can get out of it. We’ve seen basically three methods of doing LPQ’s 8th stage: GMS, JMS, & some combination of Chase’s sequence with an open-TSP-like ordering of the boxes. Wamu named WMS after himself, so I’m reserving the name dMS just as well, for this third option!! F3

For now, I’m using the box ordering generated via open TSP for dMS’s order: ⟨1, 3, 6, 7, 4, 2, 5, 8, 9⟩.

So how do GMS, JMS, & dMS compare? Well, we can use some of the measurements that we’ve already worked with, in an attempt to answer that question — or at least part of that question. We’ll count the Hamming distance along a path to be the Hamming distance in its string-of-slots presentation (e.g. 12345, not 000011111). We’ll count its slotwise distance similarly, but taking into account the absolute differences between slots, within that method’s canonical ordering. And pixel distances will be calculated in the obvious way.

Table 1: A brief numeric comparison of GMS, JMS, & dMS.
GMS JMS dMS
absolute relative absolute relative absolute relative
Hamming distance 190 +52.0% 156 +24.8% 125 + 0.0%
Slotwise distance 230 +44.7% 193 +21.4% 159 + 0.0%
Pixel distance 15 615 +92.0% 11 069 +36.1% 8 133 + 0.0%

A bar chart version of Table 1

Figure 11: A bar chart version of Table 1. (See together_chart.py.)

Check out together.py for the script that produced these numbers. In particular, it contains this implementation of the JMS method:

def jms(n=9, k=5):
    """
    Returns zero-normalised combos, e.g. [0, 1, 2, 3, 4] instead of the in-game
    labelling [1, 3, 6, 7, 4].
    """

    # 1. [Initialise:]
    c = list(range(k))
    c.append(n)

    while True:
        # 2. [Cycle:]
        for j in range(c[1]):
            yield c[:k]

            if j < c[1] - 1:
                c[0] = (c[0] + 1) % c[1]

        # 3. [Lexicographic transition:]
        i = k - 1
        while c[i] + 1 == c[i + 1]:
            i -= 1
        if i < 1:
            return

        c[i] += 1
        i += 1
        while i < k:
            c[i] = c[i - 1] + 1
            i += 1
Algorithm 2A: An implementation of the JMS method (Algorithm 2) as a Python generator.

The JMS method can here be generalised by passing non-default values of n and/or k. More obviously, the GMS method can also be generalised to pretty arbitrary values of n and k, & so too can dMS, as it’s really just Chase’s sequence applied to a bespoke well-ordering of the n slots.

Welcome to dMS

First off, I should make it very clear that this essay, for all of its exploration, is not intended to persuade the reader of actually using a “dMS method” in-game, for realsie reals. Part of why I feel comfortable giving it a silly name like “dMS” is because it’s largely a silly mathematical exercise. Consider that:

Nonetheless, now that we’ve seen a brief comparison of the three methods, let’s take a look at what the current version of dMS looks like, in the usual notation:

Figure 12: dMS version 0.1, in the usual — other than not being presented in sorted in-game label order — string-of-slots notation.
  1. 13674
  2. 13675
  3. 13679
  4. 13678
  5. 13672
  6. 13642
  7. 13645
  8. 13649
  9. 13648
  10. 13658
  11. 13659
  12. 13689
  13. 13629
  14. 13628
  15. 13625
  16. 13425
  17. 13429
  18. 13428
  19. 13458
  20. 13459
  21. 13489
  22. 13589
  23. 13289
  24. 13259
  25. 13258
  26. 13758
  27. 13759
  28. 13789
  29. 13729
  30. 13728
  31. 13725
  32. 13745
  33. 13749
  34. 13748
  35. 13742
  36. 16742
  37. 16745
  38. 16749
  39. 16748
  40. 16758
  41. 16759
  42. 16789
  43. 16729
  44. 16728
  45. 16725
  46. 16425
  47. 16429
  48. 16428
  49. 16458
  50. 16459
  51. 16489
  52. 16589
  53. 16289
  54. 16259
  55. 16258
  56. 14258
  57. 14259
  58. 14289
  59. 14589
  60. 12589
  61. 17589
  62. 17289
  63. 17259
  64. 17258
  65. 17458
  66. 17459
  67. 17489
  68. 17429
  69. 17428
  70. 17425
  71. 67425
  72. 67429
  73. 67428
  74. 67458
  75. 67459
  76. 67489
  77. 67589
  78. 67289
  79. 67259
  80. 67258
  81. 64258
  82. 64259
  83. 64289
  84. 64589
  85. 62589
  86. 42589
  87. 72589
  88. 74589
  89. 74289
  90. 74259
  91. 74258
  92. 34258
  93. 34259
  94. 34289
  95. 34589
  96. 32589
  97. 37589
  98. 37289
  99. 37259
  100. 37258
  101. 37458
  102. 37459
  103. 37489
  104. 37429
  105. 37428
  106. 37425
  107. 36425
  108. 36429
  109. 36428
  110. 36458
  111. 36459
  112. 36489
  113. 36589
  114. 36289
  115. 36259
  116. 36258
  117. 36758
  118. 36759
  119. 36789
  120. 36729
  121. 36728
  122. 36725
  123. 36745
  124. 36749
  125. 36748
  126. 36742
Figure 12: dMS version 0.1, in the usual — other than not being presented in sorted in-game label order — string-of-slots notation.

It would be really nice to present this sequence visually, à la Fig. 5, but there’s a slight issue: the arrangement of LPQ stage 8 boxes isn’t flat. This isn’t a dealbreaker, but I figure it’s probably best to go for an animation…:

Animation of dMS v0.1

Figure 13: An animation of dMS v0.1 that is 15 seconds long. (See chase_lpq_anim.py.)

That’s 126 combos!! If that’s a bit fast, here’s a version that’s at a more leisurely pace:

Figure 13A: Figure 13, but thrice as slow (45 seconds long).

Slower animation of dMS v0.1

Figure 13A: Figure 13, but thrice as slow (45 seconds long). (See chase_lpq_anim.py.)

Mystery unlocked?

So, how about that? I think I personally unlocked quite a few mysteries over the course of this little essay. The only mystery that I haven’t unlocked yet, is how exactly I blacked out for like a month, & then, when I came to, found that I’d written all of this. I guess nature is just full of mysteries!!!

Indeed, while dMS taught me a lot, one of the many things that it taught me was that the JMS method is really, really good. I mean, I kinda already knew that, but it’s worth noting how difficult it is to improve upon JMS without making it impractical for real in-game usage. WMS largely has the right idea: by pushing some minor optimisations onto the sole “combo leader” (the PC who starts on box 4), & then expecting the cycler to use “cycles” of the general form ⟨1, 3, 6, 6, 1, 3, 3, 6, 1⟩ (and its analogues for other values of 𝑐), JMS remains practical but surprisingly efficient — especially when compared to GMS…

If you’ve read this far, thank you, & I hope you learned something, or at least… laughed at me, or whatever. If you find any errors, or are having trouble understanding any part of this essay — computer code included — just drop me a line! 🧡

S>EPQ svc

So… where was I…?

Oh, right. In the “S>PQ svc” section of the previous entry in this diary, I went over the KPQ svc that I sold to Hampy’s quadruplets (see also: the “LPQ gang rise tf up” section above). After enough LPQs to get each character a pair of Broken Glasses, it was time to move on to EPQ for those sweet, sweet Glittering Altaire Earrings.

Of course, sorts doubles as a quite effective EPQ mule, so I agreed to do some more “solo” PQing as a PQ-carry service! Stage 1, especially at first, ended up taking a good chunk of the time. Although I can SSK these Poisoned Lord Trees pretty effectively, there are just an absolute load of them, & the map that they’re spread over is quite large. So Danger found a way to make this easier:

sorts selling EPQ service: stage 1

By luring the monsters on the bottom floor to the right-hand side, I can focus on the top three platforms first, & then come down to the bottom-right & start SSKing these bad bois away.

Stage 2 was no problem, especially with my CSB. Similarly to what we saw with LPQ, Steal can be used to steal the Poisoned Stone Bugs’ Concentrated Poisons. Believe it or not, this actually came in handy quite a few times! The advantage is that, especially with CSB, you’re frequently waiting for the bug’s weapon cancel buff to wear off so that you can kill it, & drop its poison bottle onto the pond. With Steal, you don’t have to wait! With any luck! But also it only really helps on the final bug, because otherwise you have to wait to kill it anyway…

Hampy also helped with stage 3, & even stage 4. It can be helpful to have someone just spamming Purification Marbles, yeah?

He also noticed that, for some reason, the MapleLegends Library entry for the EPQ stage 4 map lists 20 spawnpoints for Poisoned Spright (and none for any other species), but the monster doesn’t look anything like the in-game version — instead, it’s some kind of purplish Nependeath-looking plant-monster. Moreover, the spellings of English sprite in the context of the Ellin Forest are inconsistent: here, it’s ⟨Spright⟩, for some reason…?

If we look at the KMS entity with the same MoID, we see that it has the correct sprites (in the graphics sense LOL) that we’re used to seeing in-game in MapleLegends. Moreover, its name is 중독된 스프라이트Jungdokdoen Seupeuraiteu⟩ /t͜ɕuŋ.tok.twen sɯ.pʰɯ.ɾɐ.i.tʰɯ/ “Poisoned Seupeuraiteu”. 스프라이트 is clearly an adapted loan of English sprite /spɹaɪ̯t/, so we can only assume that whoever localised this into English saw ⟨-ㅏ이트⟩ and thought that it was a straightforward adaptation of ⟨-ight⟩.

This confusion is partly a result of the Great Vowel Shift of ca. the 15th through 17th centuries, whereby (amongst other things) MidE // diphthongised to ModE /əɪ̯/ > /aɪ̯/. MidE sprite (also spryt, etc.) would have been /spriːt/. In order to distinguish this use of ⟨i⟩ from its use for /ɪ/ (or even /i/) — compare sprit /spɹɪt/ — English orthography has adopted the significant use of a “silent ⟨e⟩”. On the other hand, words like bright, might, tight, light, etc. were generally *-ht- (e.g. *berhtaz) in PGmc, lost most or all of the suffix after the *-ht- by PWGmc (e.g. *berht), & were then realised in OldE & MidE as /-xt/ — e.g. OldE beorht (also bryht, byrht, etc.) /beo̯rxt/ > MidE bright (also briht, briȝt, etc.) /brixt/. By LMidE & EModE, h-loss had completed, and the presence of /x〜h/ (most commonly [ç], as in LModE[13] human /ˈhju.mən/ [ˈçjum(ə)n]) in coda positions was lost, whilst spellings like ⟨bright⟩, ⟨knight⟩, etc. remained.

The result is that /aɪ̯/ — virtually /aj/ — is a common phoneme in ModE, but there somewhat confusingly remains no good way to spell it, apart from ⟨i⟩[14] — indeed, the letter ⟨i⟩ itself is pronounced /aɪ̯/! English sprite is from OF esprit (Modern French esprit /ɛs.pʁi/), from Latin spīritus /ˈspiː.rɪ.tʊs/, making it a doublet of spirit /ˈspɪ.ɹɪt/ (which retained the Latin form). The spelling ⟨spright⟩, then, is unetymological — there was never a /x〜h/ — but the confusion is understandable. Indeed, ⟨spright⟩ is a now-obsolete spelling of the word, & it survives to the present day in sprightly!

EPQ made its GMS debut in v72 (2009-06-24). In the WZ data of that version, we can see that MoID 9300175 also looks how we expect it to — but its name is unexpectedly Poison Flower. Looking at MoID 9300174, we see the poisoned-Nependeath-looking monster named Poisoned Spright. It’s clear that their names were accidentally swapped, although it is possible that the accidental swapping already existed in e.g. KMS prior to the localisation into GMS, & was later fixed.

In any event, stage 5 works about how you’d expect; if we’re unlucky (read: ⅓ of the time), then the Purple Stone of Magic is on the platform that neither of us initially checked.

Then, I have to kill BBRG. During one run, Danger gave me an Onyx Apple (& MW30!), and so I got to absolutely melt this geological critter!:

sorts killing the BBRG with an Onyx Apple & MW30!!

Transcription of the chatlog in the above image

Worley: got DAYUM

SHEESH.

This final stage turned out to be more dangerous than it first seemed. There was one incident where one of Danger’s characters died because he’d moved them to the right-hand side of the map as a minor optimisation, & BBRG randomly decided that it really enjoyed the right-hand side of the map. It seems that BBRG somehow has a “re-aggro” mechanic similar to Pink Bean, where it can re-aggro to a PC that it “sees” (so to speak; meaning whatever’s right in front of it, in the direction that it’s facing), largely regardless of how much damage that PC is dealing. This would make at least some sense, considering that GMS released both EPQ and PB in v72…

Once we got the hang of it, most runs were below the ten-minute mark. Like last time, I tried to record times as accurately as I could manage, starting upon entering the PQ, & stopping when BBRG dies. You can see the raw data here:

Raw EPQ time-to-clear data

Legend:

  • *Abortive (not a clear).

  • 18:00
  • 12:30
  • 11:23
  • 13:25
  • 10:35
  • 01:30*
  • 11:00
  • 11:30
  • 13:30
  • 10:45
  • 06:30*
  • 11:05
  • 10:00
  • 11:30
  • 10:30
  • 10:10
  • 09:30
  • 10:25
  • 08:55
  • 10:00
  • 09:50
  • 09:30
  • 09:20
  • 09:45
  • 10:00
  • 09:10
  • 10:45
  • 09:30
  • 10:30
  • 09:10
  • 09:10
  • 08:30
  • 08:25
  • 09:10
  • 10:30
  • 09:30
  • 09:40

This represents a total of 37 runs & 35 clears (2 abortive runs), with a fastest TTC of 8:25, a slowest TTC of 18:00, a mean TTC of ≈10:29, & a median TTC of 10:00. Not bad for “solo” EPQ svc! 🧡

🛑

That wasn’t all the sortsing that I did, though. I also partook in a li’l bit more of that LPQ action, this time alongside gunslinger Rokugatsu (Lvl1Crook, Level1Crook, xXCrookXx, Macer), permapirate Mommie (GiIf, MiIf, Dakota), & swashbuckler insist (Skjal, inject, inhale, Tetrin)!:

sorts, Rokugatsu, Mommie, & insist, LPQ stage 7

Transcription of the chatlog in the above image

Rokugatsu: how is deer so op, are we the same class

sorts: [:<

[:<

sorts, Rokugatsu, Mommie, & insist vs. Alishar

Naturally, no LPQ sesh is complete without some hoeing afterwards. So I headed over to the Haunted Mansion with insist & Mommie, to play Hallowe’en dress-up, and… to hoe. Duh.

Hoeing after an LPQ sesh

Transcription of the chatlog in the above image

insist: the balance must not be disturbed

Mommie: yes

Footnotes for “Sorts, kinds, sets, & types”

  1. [↑] I write “thief” portal with scare quotes around “thief” because, although thieves are well-suited to using Dark Sight to complete this portal, many non-thieves are also well-suited:

  2. [↑] (𝑛𝑘) (which can be read aloud as “𝑛 choose 𝑘”) is the usual notation for a binomial coefficient, meaning the number of ways to choose 𝑘 distinct elements — without regard to the order in which they’re chosen — from a set of 𝑛 elements.

  3. [↑] Note that this framing can also be interpreted in terms of positional notation. For example, we can interpret the combo string 123 as the number 123 (“one hundred & twenty-three”; a senary — or whatever radix — interpretation is also possible, of course). We then see that the combo strings are not only in lexicographic order, but are also in numeric (the usual ordering of the natural numbers) order. But we have to skip a lot of numbers (e.g. 131, 132, 133, etc.), so I prefer to think of it lexicographically.

  4. [↑] See, for example, Clive Maxfield’s “‘𝑛-ary’ (non-Boolean) Gray codes (Part Deux)” (2008-10-07), a very brief blogpost on the subject.

  5. [↑] A.k.a. penteract, regular deca-5-tope, or regular decateron; this is the 5-dimensional analogue of the 3-dimensional cube.

  6. [↑] Unless it turns out that 𝐏=𝐍𝐏, in which case, it’s more like “good luck finding a polynomial-time algorithm for that that isn’t also galactic”…

  7. [↑] Petr Gregor, scribed by Václav Vlček & Sasha Sami; “Lecture 10”; Hypercube Structures, Charles University, Department of Theoretical Computer Science and Mathematical Logic; 2021-12-12; archived.

  8. [↑] Laszlo Lovász; “Problem 11”; Combinatorial Structures and their Applications; Gordon & Breach Science Publishers, New York; 1970.

  9. [↑] Donald T. Tang & C. N. Liu; “Distance-2 Cyclic Chaining of Constant-Weight Codes”; IEEE Trans. Comput., vol. C-22, no. 2; 1973-02; doi:10.1109/T-C.1973.223681. (You’re gonna have to use Sci-Hub for this one.)

  10. [↑] Using an overline to represent bitwise complement.

  11. [↑] See my scroll_strategist for another application of dynamic programming!

  12. [↑] When I took these measurements, I realised that not only is box 9 an extra four pixels to the right (which is fairly visible in-game), but for some godforsaken reason, specifically box 6 is misaligned by being one (1) pixel too far to the right. Hello? Wizet??

  13. [↑] Excepting varieties that drop this /h/ unconditionally.

  14. [↑] Or similarly confusingly, this phoneme is sometimes represented as ⟨y⟩, as in e.g. eye, why, try, dry, etc. This would suggest either *⟨spryte⟩ or *⟨spryt⟩.

  15. [↑] Notice how the RBGC construction parallels the hypercube (as in e.g.: [5]) structure of its corresponding flip graph. In order to construct an 𝑛-cube, we can take an (𝑛1)-cube, duplicate it, and then add (𝑛1) edges, each edge being between a vertex in the original (𝑛1)-cube & its corresponding duplicated vertex. These added edges correspond to the

    2 𝑛 1 2 𝑛 1 𝟶 𝟶 𝟶 𝟶 𝟷 𝟷 𝟷 𝟷

    sequence seen in the leftmost position of 𝐺𝑛.

    To make a Hamiltonian circuit (corresponding to 𝐺𝑛) on the 𝑛-cube, then, we simply go around the original (𝑛1)-cube (starting at whatever you decide is the “zero” vertex), take the available edge to the duplicate (𝑛1)-cube, go around that in the reverse direction, & then take the available edge back to the very beginning (“zero”) vertex. For example, with 𝑛3:

    RBGC construction on a 3-cube flip graph

    The fact that we go in the reverse direction on the duplicate (𝑛1)-cube (in this example, an (𝑛1)-cube is a 2-cube, a.k.a. a square) corresponds to the “reflection” part of the reflected binary Gray code.

Thee ſubtile & vvonderfull aduentures ov ela & noto

As I briefly mentioned in the “My impressions of the event” section above, this Hallowe’en event made the PQs quite lively & rewarding. Although I did do some Hallowe’en-y LPQing in the “🛑” section above, I was hungery Hungary HUNGRY for something a little different.

And guess what? You’re not my mum, you’re not my boss, & you’re not my other mum, either (…unless you are. Hi mum!!). I can do whatever the ✨fuck✨ I want. So I made elaphus:

ela & noto.

Accompanied by her trusty murid sidekick notomys, ela & noto set out to do some god-damned PQs. The plan could hardly be simpler: look cute, hit things with my red rose, show noto the delicate delights of party questing, kick some arse, be gay, do crime, et cētera, all that shit. You know the drill.

ela, Gyutan, Whoever, Backshot, et al. vs. Alishar

And who knows? I just might learn something new.

I previously believed that this route of OPQ’s Lobby stage — the 5th from the left, for Thursdays — was impossible without either Teleport or Recoil Shot. After all, even with maximum (viz. 123%) JUMP, it’s just not possible to directly jump from this one platform to the next. Then, I heard someone claim that they’d done an OPQ with a mysterious archer who did this stage themself, on Thursday. Now that I really thought about it, I realised that there was a single pesky flying star obstacle that could — potentially — be used to bump the apex of the jump up a bit further.

As it was Thursday & there were no mages nor gunslingers forthcoming, I decided to give it a go anyway. After a few tries, I indeed made the jump, as you can see in the above video clip. Now we know that that archer wasn’t fly hacking! Probably!!

Indigoferous

In the “Cervidae” section of the previous entry in this diary, we saw my pure STR bishop cervid do some questing in Masteria, helping to uncover the mystery of the powerful magician Subani’s Legacy, & then meeting with John Barricade’s brother, Jack, to obtain a very handy Map of [the] Phantom Forest.

This time, I got to do a bit of fun grinding with fellow basic-attackers & Ctrl ⎈[1] aficionados Taima (Hitodama, Yunchang, Boymoder, Tacgnol, Girlmoder, deerhunter) & Jestterz the STRginners! We did some classic trio grinding at Fancy Amps, in eye-melting Taiwanese shopping mall hell:

Jestterz, cervid, & Taima trioing Fancy Amps

Whoa! I also gave cervid a makeover! Whoa!!

Anyway, a day or two later, we decided to do some more trio grinding, but this time at a ✨brand new✨ (woah!) grinding spot: Forgotten Passage! The rewards — especially including the EXP — for killing Thanatos, & its triocular cousin Gatekeeper, were bumped up by a huge amount in a recent update to MapleLegends. Naturally, this suggests a new grinding method, & we were eager to give it a go:

Jestterz, cervid, & Taima training at Forgotten Passage

This is nothing like Fancy Amps, though. Instead of multiple platforms full of numerous little bad guys, the Forgotten Passage is one long floor that only has two spawnpoints! But Thanatos is pretty chunky, at 70k HP a piece, so we move around the map together as a trio, chipping away at each individual Thanatos like some kind of mini-boss.

Comparing Thanatoses to other training methods

Transcription of the above image

Taima: epm here varies quite a bit, hard to get an average
3mil to 3.8mil per hour?

Jestterz: what was [Fancy] amps [getting] last night?

Taima: i got like 2.7mil/hr at most
i would ideally level up here in 90 mins–2 hrs

cervid: wow

Taima: from 91.6%

cervid: hahah

Taima: this is such a cool training map and method
very active

Indeed, this training method is very active work. In fact, for cervid, it’s more than “active” — it’s quite the workout!! Thanks to the Seals, Curses, & Darknesses that these spoopy doods like to cast upon us, I get a ton of use out of my Dispel skill, & I have to be very quick to react! My only solace is Holy Shield, which gives me about half a minute of chill time, during which I can just attack. Well, even then, I still do a decent amount of Healing…

cervid on Dispel duty

It might be exhausting, but that doesn’t mean that it isn’t pretty damned cool!

Footnotes for “Indigoferous”

  1. [↑] The fact that I actually have it bound to x notwithstanding…

Bats spelled backwards is stab

Thanks in part to every diary entry that I make now taking ≈1 month’s worth of constant daily work to produce, & thanks in even larger part to MapleLegends being limited-time-event-driven (F7), I haven’t allocated much time to playing our favourite stabby girl alces.

Heck, last time, I even forgot to include the part where alces soloed Captain Lataniel twice daily until I finally finished up that card set!:

alces finishes the Capt. Latanica card set! Wow~

Speaking of Lataniel, I also did some Latting with STRginner Taima (Hitodama, Yunchang, Boymoder, Tacgnol, Girlmoder, deerhunter). That meant some more frantic ≈115-second clears so that we could keep the Holy Symbol buff that we got in the FM!:

Taima & alces slay Lat in 115 seconds flat

Killing Lat in 115 seconds flat! How about that‽

And I did get just a tiny smol amount of card-hunting done. Over in Masteria once again, on the steep Mountain Slopes, I started the I.AM.ROBOT set:

I.AM.ROBOT card get!

Which also incidentally allowed me to start making progress on the Mighty Maple Eater set as well!:

Mighty Maple Eater card get!

Hopefully we’ll see more stabbing in the future!!

In quest impressed, & all the rest

In the “Accipiter” section above, I got some NT quest completions on my pugilist tarandus. So… how about that Questin’ With tara™ content…? Well, you’ll be pleased to know that this diary entry has a lot of Questin’ With tara™! Like a lot!!

But first, a little bossing. “Boooo!” I know, I know — we already saw rusa do a bunch of that. But can rusa do Bigfoot?

Actually, yeah. We’ve even seen rusa solo Bigfoot, at least a few times before. But soloing is boring, because there’s no one to talk to. That’s why I duoed some BF, alongside STRginner Taima (Yunchang, Tacgnol, Boymoder, Girlmoder):

tara & Taima duoing Bigfoot

And after a great number of BFs slain, I even levelled up — to 154~!:

tara hits level 154~!

Cool and nice.

I also did some BFs as a trio with Taima & somewhat INTelligent corsair Lvl1Crook (Level1Crook, xXCrookXx, Macer), during which, we uncovered Lvl1Crook’s true identity: purse pirate.

Lvl1Crook is a purse pirate now

Transcription of the chatlog in the above image

Taima: omg
purse pirate

tarandus: !!!!!!!!!

Lvl1Crook: im a summoner now

Incredible.

Also, Taima hit level 135?!?!?:

Taima hits level 135~!!!

Whoa! That’s the Zak level!! Let’s… Zak?? o_o

And indeed, I was delighted to take part in just such a legendary permabeginner Zaqqūm moment with Taima, shadower Harlez (Gock, Murhata, VigiI), bishop misandrist (xRook), markswoman Temptress (Beotch, Chastity), & paladin 360Flip!:

Taima, tara, Harlez, misandrist, Temptress, & 360Flip vs. Zaqqūm arms

Taima, tara, Harlez, misandrist, Temptress, & 360Flip vs. Zaqqūm body

Out of our party of six, 360Flip was the only one whom I could really call a “rando”, so it was a neat cosy pair of runs. Plus, with Harlez absolutely swaddling & carrying us, the runs were decently fast, to boot!

Like in the previous episode, I did a wee bit of Yāosēng duoing with Harlez. This time, even without using anything stronger than Ciders at all, we cleared with a little over a minute to spare each time!:

tara & Harlez duo Yāosēng with 61⁢ s to spare!

Stromk???

Also with Harlez & Taima, I did some o’ that good ol’ Rāvpappin’:

tara, Taima, & Harlez vs. Rāvaṇa

And Harlez helped me get my Portable Laser Guidance by doing just one or two NTPQs with me!:

tara finds the Portable Laser Guidance!

Pretty luccy!! Oh, and I was really close to levelling up, anyway…:

tara hits level 155~!!

155?!? That’s the HT level!! Will this mean that I get to HT on a character that isn’t rusa…?

Anywho, remember the first NMM run that I did in the 「扶桑」 section above? That’s a Namie clear for tara! NT1 done!! F5

Plus, I had a bunch of fun doing some Zaqqūming alongside Lvl1Crook & bishop MiIf (GiIf, Dakota)!:

TinySalmon, MediumRibeye, SwordSlap, MiIf, tara, & Lvl1Crook vs. Zaqqūm

Gang!!

And of course, level 155 just wasn’t enough…

tara hits level 156~!

The mystery of the Prendergast Mansion

But farming just a PLG is no more than the tip of the tip of the iceberg here. As mentioned in the “Traditional Hallowe’en quests” section above, this year’s Hallowe’en event brought back the Haunted House quests! That’s yuge!! I’ve really been wanting to do these quests ever since I joined the server, so naturally, I did them for the first time ever by doing them as tara.

Upon arriving at the Phantom Forest, just outside the previously opulent — but now dilapidated — Haunted House, I’m stopped by Old Man Tom. “A Word to the Wise” involves Tom repeatedly warning us that the house is haunted by the ghosts of the Prendergasts. Jonas Prendergast was a renowned toymaker who tragically lost his wife, & when he then tragically lost his child Sophilia to an unspecified accident, he was finally driven to madness. Jonas locked himself in his Toy Workshop, never came out, & it’s said that his factory continues churning out deranged “toys” to this day, which haunt the house in perpetuity.

I ain’t afraid of no ghosts, though. Tom becomes increasingly exasperated with me — just another “young’un” ignoring his words of warning.

You’ll be sorry! Don’t say I didn’t warn you!

But I’ve been in this Haunted House before: back in the “तारा” section of pt. xciv of this diary, we saw a 2nd-job tarandus (li’l baby tara omfg 🥹) complete “Smores No More” by beating up a bunch of Nightmares[1]. Well, for “A Cold Hearth”, I did just that, once again:

tara vs. Nightmares

Of course, you could just bring Firewoods from, say, somewhere in Perion like East Rocky Mountain IV, but given that I’d only need 110 of them — 60 for “A Cold Hearth”, & 50 for “The Infernal Toy Machine” — farming Nightmares for them really wasn’t so bad.

Edmunds, the head butler of the household, has continued to service the mansion even after the demise of their darling Sophilia. This is no phantasmal manservant, however; Edmunds is just an old man who has serviced the Prendergast Mansion ever since its construction, and he — & the few other staff members who remain — have had to deal with the ghosts that now prowl the estate.

Edmunds fills me in about some other details relevant to the Prendergasts. After Jonas’s first wife passed, he remarried six times, with Ludmilla being his seventh & current wife. With Jonas being extravagantly wealthy from his highly successful toymaking business, he had plenty of suitors, but none could replace his lost first wife.

Now, the groundskeeper of the mansion has apparently… died? And it’s implied that the groundskeeper was slain by the ghosts and/or toys of the mansion! With no groundskeeper to cut wood for the fireplaces, Ludmilla has been complaining endlessly about the cold — hence “A Cold Hearth”.

Although the remaining mansion staff have plenty of their own troubles, they aren’t the only ones interested in the spooky scawwy skeletons of the Haunted House. Agent Falcon, who previously hired me to bring him those 25 Smores, is a Maple Bureau of Investigation (MBI) agent on a mission to interview a certain “Mr. Bones”, purportedly located within the mansion.

Normally, of course, I would never collaborate with cops. But like all cops in MapleStory, Falcon is comically incompetent — one of the game’s few concessions to realism. On an attempt to make his way through the mansion, he was spooked by a couple of Glutton Ghouls, & dropped his pages of a so-called “Paranormal Activity Report”. Thus, for “The M-Files” — so named for The X-Files, whose protagonists are fictional FBI agents, the IRL analogue of MBI agents — I headed to the Haunted House’s Library to farm Glutton Ghouls:

tara vs. Glutton Ghouls

Unfortunately for me, farming Glutton Ghouls — to use a highly technical term — sucks big doo-doo. The map is oversized & difficult to navigate, & worse, there are these goddamned flying books everywhere. Unlike the flying books (“Ridewords”) of the Haunted Mansion — see the “Four-way tragedy” section above — the airborne tomes of the Haunted House are totally invincible. This means that if you accidentally hit one with an attack, it just follows you around forever — or at least, until you leave the map.

Also, why are there two species of Glutton Ghoul? The other one doesn’t drop any equipment, & doesn’t drop any of the USE items that the other one does… except for Maple Pops, for some reason? Whatever.

Oh, and “File Under Incomplete” asks for another hundred pages (for a total of 150), because… the report is a bit bloated as a result of most pages just being doodles.

For “Special Delivery”, we get the full Ludmilla treatment of “I wouldn’t usually converse with someone of your obvious low breeding”, “you’re quite an ugly one, aren’t you?”, & being called a “wretch” if we decline to assist her. I’m starting to think that Ludmilla is part of the reason why Jonas locked himself in that workshop… But she just wants five Cherry Pies, which is easy enough when Miki’s got your back.

Ludmilla tries luring Jonas out of the workshop with the smell of Cherry Pie, his favourite food, but unsurprisingly fails. Ludmilla immediately gives up, & for “Family Jewels”, asks me to recover her missing earrings. She wants twenty Tarrymore Earrings & ten Sepha Earrings… So many of the same exact two pairs of earrings? I guess she really loses these often! In any case, the Sophilia Dolls have them:

tara vs. Sophilia Dolls

As recompense for my efforts, Ludmilla has a “ragged old doll” for me. This is actually Sophilia’s First Doll (named “Annabelia”), much to Sophilia’s delight in “A Lost Girl”. Wait, what? Sophilia is alive?? Something’s not adding up…

As it turns out, getting into Jonas’s workshop is… not terribly difficult? There’s a door on the top floor of the Library that leads into it, & the door has been left unlocked. Jonas is in there, & somehow manages to mistake me for his daughter. Rather than bringing him food, or water, or trying to get him to come out of his workshop for once, I set about assisting him in repairing his toy factory, in “The Infernal Toy Machine”. In addition to the aforementioned Firewoods, & a handful of Screws, Jonas needs 25 Loaded Springs to be recovered from his jack-in-the-box toys.

No ordinary jack-in-the-boxes, these tricksome musical boxes[2] are nōn compos mentis: they are Psycho Jacks.

tara vs. Psycho Jacks

Terrifying.

In any case, for “In Her Likeness”, I helped Jonas to use his newly-repaired toy factory to make a doll in the likeness of his late daughter, by collecting a few materials: 30 of the Locks of Doll’s Hair that I’d previously obtained from the Sophilia Dolls, 10 Heartstoppers that I’d previously obtained from Sophilia, 10 Pumpkin Taffies from Glutton Ghouls or Sophilia Dolls, & 10 Maple Pops from Glutton Ghouls or Nightmares.

The result is a “Perfect” Sophilia Doll, & in “A Father’s Love”, I bring it to Sophilia. Sophilia is already satisfied with her first doll, & wishes that her father would stop spending so much time to make more, instead spending that time with her. Delivering Annabelia to Jonas, he realises why Sophilia kept the old doll all this time, & wants to atone for his parenting mistakes in “Reparations”.

“Reparations” then splits into three subquests, which require 50 each of Psycho Jack, Sophilia Doll, & Nightmare kills.

[T]o think that they have become so corrupted and frightful. The thought of breaking my own creations is distressing, but it eases my heart to see that any image of my daughter so desecrated is reduced to scrap.

The rewards are the Toymaker Cap, Toymaker Cape, & Toymaker Hammer, respectively.

tara with the Toymaker set equipped

Looking goooood. 😎

Jonas also gives me a Toy Workshop Key so that I can go in & out of his workshop whenever I want. In “The Past in the Present”, Old Man Tom sees the key & is — reluctantly — convinced that I actually did meet with Jonas in that Haunted House. Old Man Tom reveals that his full name is Thomlin Prendergast — he’s Jonas’s younger brother!! Everyone in there was a ghost, this whole time!!! No way… I never would’ve guessed…

Anywho, the ultimate reward for unlocking the mystery of the Prendergasts is a set of five Sophilia’s Necklaces:

Sophilia’s Necklace

Transcription of the above image

Sophilia’s Necklace

Untradeable

A jewel crafted by Prendergast for his daughter, intended as a protective gift for her 16th birthday. [Restores all HP/MP, +50 Weapon Defense, +50 Magic Defense for 10 minutes. 5 uses.]

Unfortunately, these are almost useless to me, given that Super Transformation is a +60 (W/M)DEF buff…

But that’s not all. In The File Thickens parts 1 & 2, Falcon reveals that the so-called “Mr. Bones” is actually just a name that he made up to make Jonas Prendergast sound scary. Falcon has now given up on trying to enter the mansion at all, & instead sends me in to do the dirty work. I get Jonas to fill out a Paranormal Subject Questionnaire… Great. I can’t imagine what such a questionnaire could possibly contain…

There is just one more thing, though. You see, although the exact cause of Sophilia’s demise is left unspecified, we do learn from Edmunds in “Eat This!” that she died whilst somewhere inside a fireplace, or inside the chimney system. For this reason, there are now locked grates protecting each fireplace from unauthorised entry. If I can bring 20 of each type of Gummy Slime — Red, Green, Purple, & Orange — to Edmunds, then he’ll give me the Omni Key, a kind of skeleton key for the fireplaces:

Omni Key

Transcription of the above image

Omni Key

Quest Item

A strange key kept in excellent condition. Can be used to enter fireplaces in the Prendergast Mansion.

So… I did that! It’s a bit tedious, so as it turns out, this quest takes probably at least as much time as all other Haunted House quests combined. Although they are, as previously mentioned, quite painful to fight, Glutton Ghouls are nevertheless a good source of the Gummy Slimes, as they drop all four colours.

Omni Key in hand, I unlocked my way into the Ghost Chimney — the main artery of the Haunted House’s chimney system:

tara in the chimney

As you can see, there are branches off of this main artery — indeed, roughly a dozen or so of them. But in order to make your way up the artery, you have to use those shitty little platforms. The platforms are devilishly spaced, & even with how relatively confident in my JQing abilities I am now, I had an extremely hard time making much progress at all.

In fact, it’s so difficult to go up, & so easy to fall quite far down, that I used probably a few dozen Return Scrolls — Nearest Town in the process of climbing this thing. I entered through the fireplace at the top of the Foyer, & if I fell significantly below that entry point, I just used a return scroll. I could then painstakingly walk back into the Haunted House, all the way up the Foyer’s four floors again, & back into the abominable Ghost Chimney. Seriously, that was faster than just climbing up the JQ. It is so difficult.

Eventually, however, I did make it up to the top!:

tara finally made it to the top of the chimney!!

Exhausted, I entered that top portal, & wound up in… Jonas’s workshop. Again. 🤦🏽‍♀️🤦🏽‍♀️🤦🏽‍♀️ So yeah, I maybe slightly improved my JQing skills… but that’s about it. Ouf.

As I was wandering around the Haunted House in this way, I did come across an uncanny Barren Room…:

tara in the Barren Room

Apparently, there are four of these things! Creepy…

So there it is! My first experience with the Haunted House quests!! I had heaps of fun doing these; although none of the quests involve doing anything particularly interesting on their own, the way that each quest — with the slight exception of “Eat This!” — is relatively lightweight, & the way that the quests are all webbed together, is pretty neat. Plus, you get the Toymaker set!

You might have noticed that these quests are quite plot-driven. And the Haunted Mansion quests (see the “The adventures of GiIf & d00r in the Haunted Mansion” section above), even more so. In addition to being plot-driven, these quests are characteristically vague with the actual premise of said plots. There’s a lot of spooky ghost action, which allows for characters to be clearly ghosts, not-so-clearly ghosts, living persons, or even an ambiguous compromise between these things. It also allows for a lot of objects & events to be “just kinda ✨magical✨” — that’s just how ghosts work, I guess!?!

The basic premises of both the Haunted House & the Haunted Mansion quests are, very broadly, similar: Jonas Prendergast is a wildly successful toymaker who lives in an opulent mansion; his daughter Sophilia tragically dies at a young age; Jonas is driven mad in an attempt to create the “perfect” doll of his daughter’s likeness; Ludmilla is the incredibly stuck-up remarried wife of Jonas who doesn’t care for Sophilia & doesn’t treat anyone with respect; and the player later learns that everyone with whom they were interacting was actually a ghost this whole time.

Still, there are a great number of differences, including several major plot points & characters. When combined with the wishy-washy nature of the premises, & the somewhat convoluted nature of the plots, the result is that I’m personally not so great at keeping track of what happens… what’s what… who’s who, & when… It hurts my tiny dum-dum brain. So I think that’s about enough of that…

Ex mātrimōniō

In the “A grasp nullary” section of the previous entry in this diary, we saw tara get married to some random nerd sair named Lvl1Crook. Amongst other things, this opened up a few Amorian quests for yr grrl tara.

I actually started out with “Cupid’s Courier”, in spite of what I said about this quest back in the “tara tara!” section of pt. xc of this diary:

Look at that. Angelique deadass tossed two Watermelons at me and laughed in my face. Well, that’s the last time that I do her a favour…

Unfortunately, this quest has continued to sit around in the “Available” tab of my quest journal, despite my having completed it. I actually like using my quest journal, so it’s a bit irritating to have spurious entries in it. I figured that this was probably just one of those quests (like e.g. “The Final Stage of the Sealing Ritual”), but just in case doing it a second time would actually fix it, I did exactly that. Aaaand it is, indeed, just one of those quests. Bummer.

But let’s move on to the new stuff, shall we? Like “Red Dahlia”, featuring Ben, a farmer of Amoria. Ben promised his wife a Red Dahlia, but his left arm is in an orthopædic cast, & he hasn’t the strength to fight. So, it’s my job to gather the materials for him to… make one? Namely: three Diamond Ores & 30 Stiff Feathers. I thought dahlias were flowers, though? You can’t just smash some diamond & bird feathers together to make a whole plant! That’s not how anything works!!

The genus Dahlia is native to Mexico, & is known for the beautiful flowers of its specimens — indeed, the national flower of Mexico is D. pinnata (a.k.a. D. rosea)! Given that D. pinnata is also the type species of the genus, & given that its flowers can(!) be red, it might be the red dahlia of “Red Dahlia”. Then again, the English Wikipedia article Dahlia recounts an anecdote of an outstanding red dahlia that is almost as poorly-sourced (🥲) as it is stirring:

In 1872, J. T. van der Berg of Utrecht received a shipment of seeds and plants from a friend in Mexico. The entire shipment was badly rotted and appeared to be ruined, but van der Berg examined it carefully and found a small piece of root that seemed alive. He planted and carefully tended it; it grew into a plant that he identified as a dahlia. He made cuttings from the plant during the winter of 1872–1873. This was an entirely different type of flower, with rich, red color and a high degree of doubling. In 1874, van der Berg catalogued it for sale, calling it Dahlia juarezii[3] to honor Mexican president Benito Pablo Juárez, who had died the year before, and described it as “…equal to the beautiful color of the red poppy. Its form is very outstanding, and different in every respect from all known dahlia flowers”.

This plant has perhaps had a greater influence on the popularity of the modern dahlia than any other. Called « les étoiles du diable » (“stars of the devil”) in France and “cactus dahlia” elsewhere, the edges of its petals rolled backwards, rather than forward, and this new form revolutionized the dahlia world. It was thought to be a distinct mutation, since no other plant that resembled it could be found in the wild. Today, it is assumed that D. juarezii had, at one time, existed in Mexico, and subsequently disappeared. Nurserymen in Europe crossbred this plant with dahlias discovered earlier; the results became the progenitors of all modern dahlia hybrids today.

Resurrecting a beautiful plant species from extinction! How romantic! And for my efforts, Ben gave me a single eye accessory for WACC 60% scroll…:

Ben gives tara an eye accessory for WACC 60% scroll…

Gee, thanx…

Luckily, the other new quest that I got to do — Circle of Trust — was much more rewarding. As it turned out, I already had a number of Ring Fragments from the Tweeters that I killed over the course of my Lūdus Lake questing. So I was able to — with Moony’s help — repair Gary and Shatima’s wedding rings, & redeem my Gelt Chocolate right away:

Gelt moment

Transcription of the above image

Gelt Chocolate

Untradeable

A special piece of tasty chocolate given out at the Festival of Lights.

Recovers 100 HP & MP, and +120 Attack +120 Weapon Def. +30 Accuracy +30 Avoidability +10 Speed +10 Jump for 10 minutes.

If you’ve never seen Gelt Chocolates before, they’re basically like Onyx Apples on steroids, giving +120 WATK for 10 minutes, instead of +100. This makes them the strongest WATK buff in the game!! But they’re also more special than Onyx Apples, as you’d expect: they’re untradeable, & quite rare. As far as I know, this non-repeatable questline is the only way to get one, other than rare drops in CWKPQ’s bonus stage.

Gelt chocolate (more likely chocolate gelt) refers to chocolate Ḥanukkah gelt; the in-game item description even mentions the “Festival of Lights”, another name for Ḥanukkah[4]. Sometime during the early 20th century, U.S. chocolatiers began selling coin-shaped chocolates individually wrapped in shiny tin foil, as an edible replacement for gifts of actual money to children. The origin of monetary gifts for Ḥanukkah appears to be slightly obscure, apparently stemming from tips given to certain workers towards the end of the year.[5]

The forefronting of Ḥanukkah as a major Jewish holiday in the U.S. — in spite of its relatively little religious significance — is interesting in its own right, & coincides (in the early 20th c.) not only with the innovation of chocolate gelt, but also with the American practice of gift-giving during Ḥanukkah, which developed by analogy with Christmas (another end-of-year holiday). Although chocolate Ḥanukkah gelt has since spread outside of the U.S., chocolate gelt & gift-giving are historically linked to a distinctly American commercialisation of Ḥanukkah that occurred during the first half of the 20th c., alongside a similar commercialisation of Christmas — a source of some disappointment for rabbis & Christian ministers alike.[6] It is thus unsurprising that the innovation of chocolate gelt was due to American commercial chocolate manufacturers.

The word gelt /gɛlt/ “money; tribute, tax” had already entered the English language by the 16th c., via MHG gelt /gɛlt/ (descending to SHG Geld /gɛlt/ “money”). Ultimately OHG gelt /gɛlt/ “payment, money”, from PWGmc *geld “payment”, from PGmc *geldą “payout, reward, gift, money”, from PIE *gʰeldʰ- “[to] repay, reward, pay”. But PWGmc *geld is also the source of Yiddish ⁧געלט⁩ ⟨gelt⟩ /gɛlt/ “money”, whereby the word re-entered English in a specifically Jewish context. We also have:

So… there you have it. English gelt, yield, & guild were originally all the same word.

More seriously, the association between “Amoria & Masteria” & “chocolate Ḥanukkah gelt” makes some very vague sense insofar as these two in-game regions originated in GMS, which is operated by Necksawn America, which is headquartered in the U.S. state of California. But chocolate Ḥanukkah gelt has no other relation to Amoria nor Masteria, & moreover, is really only relevant during December[7]…? Looking through old GMS data, Gelt Chocolate was first added in v32, which is also the version in which Amoria was added. Note that the release of Masteria would have to wait all the way until v40. v32 was released on 2006-12-06,[8] nine days before the first day of Ḥanukkah!

I did quite a bit of digging — like, probably too much digging — for the v32 patch notes. I found a few leads that almost got me there; for example, Alexa began crawling the GMS news pages in early December of 2006, just in time for this update! However, any archived pages prior to about 2007-05-28 or so get you this little gem:

2006 was a different time

Transcription of the above image

Browser alert!!

The browser you are currently using is not compatible with mapleglobal.com


Please use Internet Explorer

Due to technical reasons, you can only access nexon.net by using Internet Explorer.
If you are already using Internet Explorer, please click on the link below to download the newest version.


Microsoft Internet Explorer

Download newest version of
Internet Explorer

Remember when Internet Explorer™ was actually a good browser? Me neither. But I do, unfortunately, remember when it was the only widely-used one… 2006 was a different time. I tried spoofing my user agent string to be IE 6 or 7 on Windows™ XP, but to no avail. 😢 Nonetheless, huge shoutout to ruffle for making these archives of old websites considerably more functional than they otherwise would be; apparently, there was a lot of Flash™ shit going on in the old GMS website.

Neoseeker was another promising lead; for example, they have the patch notes for GMS v9. But the archival is pretty sparse, & v32 ain’t in there. southperry.net posts Negzaan’s announcements on their forum, but they only started doing so somewhere around mid-2008. And so on…

Finally, I remembered to check the Hidden Street forum! As it happens, GMS v32 is the earliest GMS update that was recorded on there, so I really lucked out! Here’s the full text of Nehcsaun’s announcement:

Full text of the official GMS v32 announcement

Hello, Maplers!

MapleStory Client ver. 0.32 is now released!

Below is the overview of what’s in store for you:

⟨ Game ⟩

  • Wedding is now available in MapleStory! Travelers may now venture to Amoria to finalize their romance with that special someone and help the good townsfolk there. Adventure or Romance, Amoria is the key that can unlock your heart’s desire.
  • As the year draws to a close, we at MapleStory wish each and every one of you Happy Holidays! We have brand new adventurous quests that should await you. Find Maple Claws (yes, Maple Claws) and Hannah and give them a helping hand this holiday! We’re sure they will appreciate your assistance and reward you accordingly. Hurry up and go find them now!
  • Exchange presents with your friends this holiday. Give the presents you received from Maple Claws and Hannah to your friends in MapleStory. Once you exchange presents, you will be able to open the present you received from your friends. Remember, you can only open presents if you give one to your friend!
  • Remember making (or eating) gingerbread houses when you were young? Simply gather some crackers and be sure to save them all (instead of devouring them), because the top three guilds with the most Graham Crackers will receive Maple Points!
  • Pick up ornaments that monsters drop and decorate Happyville and Shalom Temple. Also, please help Toro[13] find his lost horn in Happyville!

⟨ Item ⟩

  1. Game Item:

    • All Wedding & Christmas-related items
  2. Cash Item

    1. Hat
      • Purple Bride’s Veil
      • Green Bride’s Veil
      • Wedding Veil
      • Princess Tiara
      • Diamond Tiara
      • Ruby Tiara
      • Royal Tiara
      • Fur Hat
      • Skull Beanie
      • Elf Hat
      • Santa Boy Hat
      • Santa Girl Hat
      • Tweed Headband
      • Black Snowboard Helmet
      • Red Snowboard Helmet
    2. Coupon
      • Amoria Hairstyle Coupon (EXP)
      • Amoria Hairstyle Coupon (VIP)
      • Amoria Hair Color Coupon (REG)
      • Amoria Hair Color Coupon (VIP)
      • Amoria Face Coupon (REG)
      • Amoria Face Coupon (VIP)
      • Amoria Cosmetic Lens Coupon (VIP)
      • Amoria Cosmetic Lens Coupon (REG)
    3. Top
      • Skull Shirt
      • Skull Hooded Vest
    4. Wedding
      • Wedding Ticket (Cathedral)
      • Wedding Ticket (Chapel)
      • Premium Wedding Ticket (Cathedral)
      • Premium Wedding Ticket (Chapel)
      • Wedding Invitation Ticket
    5. Overall
      • Santa Girl Overall
      • Santa Boy Overall
      • Women’s Fur Coat
      • Men’s Fur Coat
      • Black Snowboard Overall
      • Brown Snowboard Overall
      • Elf Outfit
      • Beau Tuxedo
      • Wedding Tuxedo
      • Wedding Dress
      • Princess Isis
      • Queen Mary
    6. Shoes
      • Paris Wingtips
      • Veras Heels
      • Santa Girl Boots
      • Santa Boy Boots
      • Snowman Shoes
      • Snowboard Boots
    7. Effect
      • My Boyfriend
      • My Girlfriend
    8. Cape
      • Christmas Cape
    9. Weapon
      • Bouquet
      • Yellow Candy Cane
      • Red Candy Cane
      • Green Candy Cane
      • Snowflake Staff
      • Transparent Claw
    10. Gloves
      • Wedding Gloves
    11. Pet
      • Penguin
      • Rudolph
    12. Pet Equip.
      • Tree Hat
      • Red Fur Coat
    13. Store
      • Holiday Store Permit
    14. Package
      • Santa Girl Package
      • Santa Boy Package
      • Elf Package
      • Penguin Package
      • Rudolph Package
      • Groom’s Package
      • Queen Mary Package
      • Princess Isis Package
      • Amoria Package (VIP)
      • Amoria Package (REG)

We hope you enjoy the newly updated contents for MapleStory. Happy Mapling!

―The MapleStory Staff―

A-ha! As expected, this version came not only with Amoria, but also with a festive season event. In particular, we see reference not only to Happyville (which is Christmas-themed), but also to Shalom Temple. As a bit of a humorous (to me, at least) sidenote, looking through the Hidden Street thread reveals that GMS players were not too happy about this update at the time: other versions like KMS, JMS, CMS, etc. were way ahead of them in terms of game content, & all they got were some stinky weddings that you have to pay a fat little chunk of IRL money for! Of course, there are no direct references to particular quests, nor to Gelt Chocolates, so we’ll have to dig a little more.

I took a look in the WZ data. As I mentioned previously, Masteria didn’t exist yet, so ostensibly, the only source of Gelt Chocolate would be Circle of Trust (QIDs 8867, 8868, & 8871). The problem is, in GMS v32, the QIDs below 9000 only go up to 8843, meaning that Circle of Trust just didn’t exist yet. So was Gelt Chocolate in the game data only, & inaccessible in-game? Not so fast. QID 8843 is “Festival of Lights — Blessing the Festival reward”, associated with the NPC Hannah. She has this to say:

Hannah can be found in Shalom Temple, where the NPC Simon can also be found.

Thankfully, MapleTip has record of this quest, & gives the big fat list of possible rewards, almost all of which are pretty much garbage. I mean, you can get 100 Arrows for Bow… W—wow…! But you can also get five(!!) Gelt Chocolates, which is pretty crazy.

Festival of Lights — Building the Altar” (QID 8829) is the first quest in the Festival of Lights questline:

Excellent. I’d like to build an altar for the festival, so we’ll need 25 Altar Pieces. Some others attempted to help me, but their axes got stuck in the wood. Fighting those monsters should give you the needed pieces. Thank you and hurry back!

Once you get those Altar Pieces from the Axe Stumps, the quest ends by awarding two Gelt Chocolates, & giving this text:

Ok, I’ll start building the Altar. In the meantime, I’ll need you to gather 9 Sabbath Candles so we can officially start the festival. They can be found on those strange horned mushroom creatures.

This leads into “Festival of Lights — Blessing the Festival” (QID 8830), & once you get those Sabbath Candles from the Horny Mushrooms, you’re rewarded with the aforementioned Hanukkah Present (which Hannah erroneously refers to as a *“Hanukkah Present Box”).

By just the next version (v33; 2007-01-11)[8][9], we do get Circle of Trust, & it does award one (1) Gelt Chocolate. CWKPQ is not added until v66 (2009-03-05)[8]. Nevertheless, based on forum posts from around that time, it appears that CWKPQ’s bonus stage has always given out Gelt Chocolates.

Thus, it seems that Gelt Chocolates were indeed added to the game specifically for a one-time Ḥanukkah–New Year event, but were later re-used for miscellaneous rewards in other GMS-specific content.

Alrighty, then. Now that we know absolutely way more about Gelt Chocolate than literally anyone has ever wanted to know about it, it’s time to move on. Amoria is over!!

Top secret military operation: “Nurture cute baby bird”

In the “The mystery of the Prendergast Mansion” section above, I mentioned that I’d been wanting to do the Haunted House quests ever since I joined MapleLegends, but never had the chance to — until now. Well, the story with Clock Tower Monster Wipe-Out is similar: I’ve previously professed my love for area boss questlines, but Clock Tower Monster Wipe-Out was always mysteriously missing from MapleLegends. Timer has always been there in the Whirlpool of Time, but its questline just… wasn’t. Until a recent update! Hecc ya!!

This quest appears to be entirely unchanged from its original GMS debut. This primarily means that the dialogue is slightly embarrassing (although there’s certainly worse elsewhere), & was probably translated from Korean somewhat hastily. That being said, it’s still super fun, & pretty damn good, even by area boss questline standards! So let’s fuccing do it??

tara finds a Springy Worm

For “Operation Strategy 1 : Collect All the Eggs”, Ghosthunter Bob wants ten each of Tick-Tock’s Eggs, Chronos’s Eggs[10], & Timer’s Eggs.[11] I haven’t found any eggs quite yet, but I did find this adorable li’l wind-up worm:

Springy Worm

Transcription of the above image

Springy Worm

Untradeable

This little worm lives in Ludibrium. It’s so small it’s not at all threatening.

After fighting some Tick-Tocks at the Whirlpool of Time, I found my first Tick-Tock’s Egg:

tara finds a Tick-Tock’s Egg

Wow, it’s already got the pair of bells on top! Nature is fascinating! But really, these function less like “eggs” than you might expect. Using one reveals its contents:

Opening Tick-Tock’s Eggs

Transcription of the above image

[system message]: You have gained an item (Springy Worm)
You have gained an item (Timer’s Egg)
You have gained an item (Springy Worm)
You have gained an item (Chick Cookie)
You have gained an item (Chick Cookie)
You have gained an item (Timer’s Egg)
You have gained an item (Timer’s Egg)
You have gained an item (Chick Cookie)
You have gained an item (Timer’s Egg)
You have gained an item (Chick Cookie)
You have gained an item (Timer’s Egg)

Sometimes, we get a Springy Worm. Sometimes, we get a Chick Cookie, which is an untradeable little cookie in the shape of a baby bird that heals 1k HP & 1k MP. And other times, we get a Timer’s Egg. Indeed, opening up Tick-Tock’s Eggs & Chronos’s Eggs is the only way to get Timer’s Eggs. Bob explains that this is because Timers always lay their eggs in other birds’ nests.

Once I pulled ten Timer’s Eggs out, & collected ten more Tick-Tock’s Eggs, I could move on to the Chronoses in The Path of Time ⟨2⟩:

tara hunting Chronos’s Eggs

For “Operation Strategy 2 : Defeat the Monsters”, I destroyed 50 Master Chronoses…:

tara vs. Master Chronoses

…40 Platoon Chronoses…:

tara vs. Platoon Chronoses

…30 Chronoses, & 20 Tick-Tocks.

That left only big mamma bird: Timer.

tara vs. Timer

Now that the birbs had been wiped out, it was time to… replace them, I guess? But with tamed birbs. Out with the big scary Timer, in with the docile, domesticated Timer. For “Operation Strategy 3: A Cute Baby Bird”, Bob gave me a Timer’s Egg of my very own, to raise as my plastic avian child:

Timer’s Egg

The mechanic here is substantially identical to the mechanic used for putting together the Rag Doll in the Haunted Mansion quests (see the “Four-way tragedy” section above). Double-clicking the item opens a dedicated little window that displays the progress of the item, & in order to make my little Timer Jr. grow up to be a healthy adult Timer Jr., I would have to drag Springy Worms onto it:

Timer’s Egg, phase II

Timer’s Egg, phase III

Timer’s Egg, phase IV

Wow! They grow up so fast! 🥹

ˈbɔsɪŋ

We’re really on a roll here when it comes to Questing With tara™, but I’m afraid that I must interrupt this episode for a commercial break li’l bit o’ bossin’. I did a handful of Zakky-wakky runs with Funk & co., including marksman & bishop xBowtjuhNL (PriestjuhNL, BuccjuhNL), paladin Palladino (Pengebingen), hero Machoke, & fellow buccaneer Camylla!:

tara, xBowtjuhNL, PriestjuhNL, Palladino, Camylla, & Machoke vs. Zaqqūm

We tried to get some Zaqqūm Helmets for Palladino’s bishop Pengebingen, but we got very unlucky with our first run, & zero helms dropped. So we did the second run, and…

Hatless as ever…

Transcription of the chatlog in the above image

tarandus: LMAO what

Machoke: r u kiDDIN
no hats

What?? I mean, I’ve seen Zak not drop any helms before, but not twice in a row! Welp. Maybe next time…

I continued Zakking with xBowtjuhNL, including this pair of runs featuring bishop misandrist (xRook), shadowers Harlez (Gock, Murhata, VigiI) & TheBigThief, and fellow buckin’ near Government:

Harlez: é sempre mais barato comprar um que já tenha sido atualizado

This was pretty funny to watch. You see, Harlez doesn’t actually speak a lick of Portuguese. But, thanks to her being a member of the Favela guild, TheBigThief understandably assumed that she did. Being a Lusophone himself — & not knowing much English — TheBigThief immediately tried to converse directly with Harlez in Brazilian Portuguese. Although Harlez later made it clear that she didn’t speak the language, she initially tried just using Google Translate™ to maintain a conversation, as you can see in the image above.

The Portuguese that you see above is written very formally & standardly, as you’d expect from the generic output of a machine translator. The result is that not only does it not look like the Portuguese that you’d normally see in MapleLegends, but it’s also reasonably intelligible to even a Hispanophone, to some degree. Consider a direct comparison (keeping in mind that this is written language, so phonetic differences are not generally adequately represented):

Google Translate™ output ésempremaisbaratocomprarumquetenhasidoatualizado[12]
piecemeal Spanish translation essiempremásbaratocomprarunoqueyatengasidoactualizado[12]
interlinear gloss isalwaysmoreinexpensiveto.buyonethatalreadyhave\SJVbeenactualised[12]
English translation It’s always cheaper to buy one that’s already scrolled.

This somewhat artificial example is unusually neat, but still… It does highlight how formal written registers of languages can bring them closer to their siblings & cousins.

Speaking of Google Translate™, I slapped some big tree with Lvl1Crook & some randos:

tara & Lvl1Crook Krexing w/ randos

What does that have to do with Google Translate™? I dunno, but I’m sure that you can figure something out.

And finally, I partook of a few cheeky Bigfeet in a quartet alongside Lvl1Crook, Taima, & priestlet AppleBasket (LawdHeComin, OrangeFungus, Mushers, Snel)!:

AppleBasket, Taima, Lvl1Crook, & tara vs. BF

Bigfeatened. 😎

Health point challenges


⚠️WARNING:⚠️ Here be spoilers!! Normally, I’m covering ancient MapleStory content in my diary, so spoiler warnings are frequently unnecessary. Not in this section (“Health point challenges”), though! This is relatively new, MapleLegends-exclusive content.


Okay, phewf. Time for more Questing With tara™ now, right? Right. But these quests are… a little different.

You see, MapleLegends’s patented HP Challenges™ have finally been released… sort of. The first two tiers of the system are pretty much fully functional at this point, whereas the others are coming Soon™. I spoke with the HP Challenges NPC, Rosa, to ask about the MAXHP rewards that I’d be able to redeem by completing the Challenges:

Rosa breaks down the mathematics for me

Transcription of the above image

Rosa: You are a level 156 Buccaneer, with 10348 Base Max HP.
You have not completed any Challenges tiers yet.
If you complete all your available Challenges:

  1. Lv 100: +0 HP
  2. Lv 110: +0 HP
  3. Lv 120: +0 HP
  4. Lv 130: +0 HP
  5. Lv 140: +584 HP
  6. Lv 150: +980 HP

You can gain up to 01564 HP.

Hmmm… So basically nothing — at least, not until tiers ≥5 are released, and I complete all tiers up to & including that point.

People often assume that this underwhelming calculus is the result of my having HP washed previously. That certainly is a factor here, but not very much so; I never had more than 40 base INT at any given time, & I stopped washing entirely at around level ≈50 or so. The real kicker here is simply natural MAXHP gain upon levelup. In this screenshot, I’m level 156, so I just naturally have way more MAXHP than the Challenges system expects me to have for the lower tiers 1〜4, which are geared towards levels 100〜130 (56〜26 levels below me), respectively.

Nonetheless, I’m largely unfazed by this structure. In the long run, assuming that the later tiers actually do get released, I will end up with considerable MAXHP rewards. Moreover, I’m not really in it for the MAXHP, in this case — although it did provide the motivation to stop washing so long ago. What I really want are those ✨juicy quests✨.

The original beta testing version of the HP Challenges didn’t involve any quests in the conventional sense. This released version, however, adds onto the old version a fully-fledged questline for each tier, complete with many quests, NPC dialogue, varied tasks, characters & plot, and all that jazz. Super cool!!!

We still have the other non-questlike content from the beta versions of the Challenges system, but we’ll get to that later. For now, we’ll start with the good stuff.

Full transcript

As I did these Challenge quests — including the non-questlike parts, for that matter — for the first time, I kept a full transcript, for reference. This made questing take easily an order of magnitude longer, because I insisted on writing absolutely everything down verbatim. It is painfully fastidious, & if for some reason you’d like to make use of it yourself, you can find it here:

[Challenge: Tier 1] Rosa and the Diary of Challenges transcript

The Markdown source can be found here: hp-challenges-tier-i.md.

I tried to reproduce the errors in the in-game text faithfully, so if you see typos, they are probably(!) in the original.

The formatting is basically ad hoc, & it’s all in Markdown. I used heading elements (#, ##, ###, etc.) to create the necessary hierarchy of quests, subquests, etc., which worked okay enough in this case, although I am aware of its limitations.

NPC dialogue & item descriptions use MapleStory’s own bespoke textual markup system. This is fairly accurate to the actual way that the data are represented programmatically in the game (read: in the WZ data). The main exception is that I use literal line feeds (U+000a) to represent what would actually be CRLF (U+000d U+000a), & would normally be represented in handwritten code via C-style escape sequences: \r\n.

MapleStory’s little markup language isn’t terribly complex, so here’s a little cheatsheet that you can use for reference:

MapleStory markup cheatsheet

Some pairs of these do apparently the same thing as one another, & I’m unsure if there are any differences…

code effect
#b Begin blue text.
#d Begin purple text.
#g Begin green text.
#k Begin black text.
#r Begin red text.
#e Begin bolded text.
#n Begin unbolded (“normal”) text.
#L{index}# Begin a selectable option with the zero-based index {index}.
#l Close a selectable option.
#h # Write the PC’s name.
#m{mapid}# Write the name of the map with map ID {mapid}.
#c{iid}# Write how many items with IID {iid} the PC has in their inventory.
#t{iid}# Write the name of the item with IID {iid}.
#z{iid}# Write the name of the item with IID {iid}.
#o{moid}# Write the name of the monster with MoID {moid}.
#p{nid}# Write the name of the NPC with NID {nid}.
#q{sid}# Write the name of the skill with SID {sid}.
#i{iid}# Display the icon of the item with IID {iid}.
#v{iid}# Display the icon of the item with IID {iid}.
#s{sid}# Display the icon of the skill with SID {sid}.
#f{imgpath}# Display the image found at {imgpath} within the WZ data.
#F{imgpath}# Display an image found at {imgpath} within the WZ data.
#B{percent}# Display a progress bar that is {percent}% full.

If the rendering on my website somehow doesn’t work, you prefer not to read the raw Markdown, & you prefer not to render it yourself, then you can just use Codeberg’s rendering:

[Challenge: Tier 1] Rosa and the Diary of Challenges transcript (rendered to HTML by Codeberg)

Although it is quite fastidious, there are nonetheless some things missing from my transcription: branches of dialogue that I didn’t manage to find, text from the quest journal entries, etc. Maybe I’ll be able to add some of these things on a second pass, on another character…

Part I: The breaking of Arel

Our quest begins with Vikin, who is happy to see me again, so long after I helped him recover that “Pirate’s Map”. Vikin needs another favour, but this time, not to recover a map, but to recover his booty.

No, not that kind of booty. Gold. Gold bars, gold coins… Vikin keeps his booty locked up in a secret place, but JM From tha Streetz nevertheless reported that some of it may’ve been stolen. So I headed to Kerning to check it out.

JM claimed that he saw someone furtively sprint into the sewers & accidentally spill a few coins on the way in. JM suggested that if this mysterious individual were so careless in their haste, then they probably left behind at least some physical evidence of what they were doing. So, I headed into the sewers to check it out.

Unfortunately, JM didn’t really give any concrete instructions other than “check near the sewer entrance”:

That’s all I know, seriously. Don’t trust me? Then go ahead and check in the sewers. The coins I found were here around the entrance. If you’re luck[y,] you might find some more inside.

So… I tried that. I didn’t see anything that looked suspicious, & when I tried moving my mouse pointer over either side of the sewer entrance, there was still nothing of interest. I tried killing the Ligators & Jr. Neckis of The Swamp of Despair I (the only sewer map near the entrance) — after all, the coins might’ve looked tasty to eat. Perhaps they were just chocolate gelt… Heck, I even tried beating up the Witchgrass plants.

I tried poking around a little more, & thought for a brief second that I might’ve figured it out:

[Challenge] You have discovered a unique map.

I got this message as soon as I entered Swamp of the Jr.Necki, but soon realised that it was for a different part of this Challenge tier, which we’ll get to later.

I had now spent quite a while on this very first part of the questline that wasn’t just reading dialogue. Taima had already done this part, so I asked for a hint. She said that there was indeed a hidden NPC that you had to find by moving your mouse pointer all over, but didn’t tell me where it was, in order to let me figure it out on my own.

It took me an embarrassingly long time, & I got quite close to just asking Taima to spoil it for me, but I did eventually find it myself:

tara found the hidden spot!!

Yep! It’s completely unmarked. Not even a little one-pixel sparkly thingy. The good news is that this questline gets the poorly-designed stuff out of the way first, & the rest is actually fun.

In the hidden spot, I found some more of the gold coins:

Lost Coins

Transcription of the above image

Lost Coins

Quest Item

Spare coins from Vikin’s treasure.

I brought the coins back to Vikin, who confirmed that they had indeed been shaken loose from his booty. The only logical conclusion, then, was that someone had found his ultra-top-secret hermetically sealed booty hole, which was guarded by none other than Dances with Balrog. When I visited DwB about it, however, he was shocked to learn that I even knew that the booty was stored in the Warriors’ Sanctuary, & he insisted that not just anyone was allowed to plunder Vikin’s booty.

Indeed, even though my intent was merely to investigate, DwB would only be willing to trust someone with the pure soul of a true warrior. I’m a pirate, not a warrior, so it was game over for me.

Then, Blackbull noticed me exiting the Sanctuary with a dejected look on my face. When I explained my situation, Blackbull suggested that I was strong enough to obtain a Wild Amulet[11] of my very own. Only a true warrior could possibly sport such a sacred amulet, so it would surely be enough to convince DwB.

The main component of a Wild Amulet is a Fierce Fang, which can only be obtained from Red Drakes. So I headed to Dangerous Valley II:

tara vs. Red Drakes

After some farming, I found a Fierce Fang of my very own:

tara finds the Fierce Fang

But taking this Fierce Fang & merely stringing it onto a necklace wasn’t going to cut it. First, the fang needed to be empowered, & there was only one person with the alchemical knowledge to do such a thing: Sophia. So I made my way to Sophia’s general store.

I was pleased to find that Sophia was willing to teach me the necessary alchemical ritual! She read the following passage from the tome of the Wild Amulet:

“First, you must pour the quickness of a wild hog, to reach superior speeds while pursuing.

“Second, you must pour the agility of a nimble monkey, to hone your reflexes while dodging.

“Third, you must pour the keen eye of a sharp eagle, to improve your aim while hunting.

“Fourth, you must pour the strength of a hunter, to increase the limit of your might.

“And last, you must pour the wisdom of the ancient gods, to gain the instinct of the natives, and thus seal the energy within.”

Thankfully, Sophia already sells each one of these five components in her general store:

  1. Speed Potion.
  2. Dexterity Potion.
  3. Sniper Potion.
  4. Warrior Potion.
  5. Magic Potion.

It was then time to test my understanding, & to make an Empowered Fang:

Sophia: Ready for the first infusion!

With the fang now empowered, I thanked Sophia & went back to Blackbull to have the necklace made. With the Wild Amulet around my neck, DwB now recognised me as a true warrior, & allowed me to inspect the Treasure Room:

tara at the entrance to the Treasure Room

tara in the Treasure Room

DwB was astonished to see that Vikin’s booty had indeed been stolen, right from under his nose. He was certain that no one could possibly have passed through the Warriors’ Sanctuary whilst evading his ever-vigilant gaze. After some investigation, I found that there was a strange goopy residue left behind where the booty had once been. DwB suggested that I take it to Sophia, so that she might identify the substance.

Sophia, however, was stumped. It was nothing like any of the chemicals that she’d worked with before. She suggested that if anyone had information related to this goop, it would be Jay of Henesys. When I arrived to meet with Jay, our conversation wasn’t off to a great start:

Jay: Oh, hello. Do we know each other? You don’t look like the scholarly-type.

tarandus: I actually am! I love reading ancient books. I finished my last tome yesterday!

Jay: You… definitely aren’t. But it makes me wonder, why would you lie to me? What brings you here… are you looking for information of some kind?

Rude!! Hello??

Whatever. After a bit more chatting, I was able to convince Jay to let me into his library:

tara in Jay’s Library

Cool!! I’ve never been in here before!

Jay isn’t an alchemical expert like Sophia, but his library is quite wide-ranging, so we browsed it, hoping to find something relevant:

This tome is titled “Invisibility and You”! Maybe that’s it!

…The pages are all empty…

Eventually, Jay found this recipe in a book:

Purple Translucent Potion

A potion that grants transparency to whoever consumes it. The bigger the consumed quantity, the stronger the effect. A full flask will grant temporary invisibility.

Warning: prolonged exposition to the air will turn the liquid potion into a sticky gel waste.

━━ Ingredients: ━━

  • 2 Violet Sagecap mushroom caps,
  • 1 Giant Fern frond,
  • 1 root of Black Starshroom,
  • 3 minced Woodmic cloves,
  • a pinch of Skydust salt.

A-ha! A “sticky gel waste”, you say? My natural inclination was to attempt to reproduce this potion by following the provided recipe, but… no one seemed to know what the ingredients list was about. Harvesting Violet Sagecaps is doable, as they grow all the way up at the Top of the Tree That Grew…:

tara finds the Violet Sagecap

…But what about the others? “Black Starshroom”? “Woodmic”?? “Skydust”??? Neither I, nor Jay, nor even Sophia had ever heard of such things. Luckily, the recipe is attributed to an author: Wing the Fairy of Ellinia.

I met with Wing, & before I could even mention the recipe, he already knew what I was going to ask. He could see that I’d harvested a Violet Sagecap — a fungus with no common uses. Wing explained that the ingredients of the recipe — excepting the Violet Sagecap — were given fake names to prevent anyone from successfully using the recipe without first consulting him personally. That way, not only did he have the power to withhold the necessary information, but even if he did give the real recipe, he’d have a list of people who knew about it.

Wing remarked that I’d be the first person to be put on said list. But that didn’t add up: either we had the wrong alchemical recipe, or Wing was the thief whom I was after… or someone else figured out how to make this stuff. Wing admitted that there was one other person who knew about this recipe: his childhood friend Arel, with whom he’d originally invented the potion. But Wing was adamant that not only was it beyond unlikely that someone had independently rediscovered the potion, but also that Arel was perfectly upstanding, & would never resort to such theft. Although this was starting to sound a bit self-incriminating, Wing did have an alibi, so I decided to take his word for it.

The actual remainder — apart from the Violet Sagecap — of the recipe was:

So I headed to the nearby Forest of Evil II, to hunt some Maladies…:

tara vs. Maladies

…And up north, to TDFUNIX[14], to farm some Curse Eyes…:

tara collecting Curse Eye Tails

…Over to the Hot Sands of Florina Beach, to grind some Torties & Clangs…:

tara @ Hot Sand

…And finally, took out that mouldy Lemon that’s been sitting in my inventory since… the last time that I scrolled up that far. It’s fine. I’m sure it’s still good.

Of course, I’m no alchemist. With this whole heaping pile of ingredients in my arms, I slowly made my way back to visit Sophia again. When I got there, though, Sophia had other ideas: she wanted Jay’s copy of 101 Recipes and Potions with Ancient Trees Sap. So I dropped my pile of several hundred random monster body parts (& one Lemon of questionable quality) onto the floor of Sophia’s general store, & went back to Jay, to check a book out from his library. Jay found the book for me, & I returned to a contented Sophia, who was now willing to help me prepare this “Purple Translucent Potion”…

Much like with the empowering of the Fierce Fang, Sophia tested my understanding of the recipe in question:

(Let’s prepare the Curse Eye Tails…)

  • Mince them.
  • Peel them.
  • Add salt to them.
  • Cut them in slices.

Once we were finished brewing, it was time for me to put this alchemy to the test. I took a swig of the potion, & entered the Warriors’ Sanctuary as silently as I could.

tara sips some Translucent Potion

DwB didn’t seem to notice, & so I was able to enter the Treasure Room unimpeded. To prove that I’d really pulled a fast one on him, I took one of the coins out of the Treasure Room. DwB was shook. How could I have done it?? Recklessly ingesting bizarre & mysterious alchemical products, that’s how.

Now that I’d confirmed that the Translucent Potion[15] was capable of enabling this crime, & confirmed that its residue was identical to the residue left behind by our perpetrator, I had one strong lead: Wing’s childhood friend Arel. Wing continued to insist that Arel would never do something like this, but also gave some useful description of Arel: tanned skin; hazel eyes; dark brown hair, always dishevelled; wears gold jewellery; and a native of Sleepywood who went to Ellinia to study.

When I reported all of this to Vikin, he had a rather belated confession to make: he & DwB were not the only ones aware of Treasure Room. Jr. Balrog & his cronies had such fierce control of the air & waters surrounding the Victorian Archipelago, that it made practical sense for Vikin to offer some of his booty to the Balrogs, in exchange for a guarantee of safe passage to & from Victoria.

Of course, the figure that JM saw was certainly much too small to be a Balrog. Nevertheless, considering that Arel was a Sleepywood native, considering that he was found running through the Kerning sewers towards Sleepywood, & considering that Jr. Balrog’s Cursed Sanctuary is buried deep in the heart of the Sleepywood Dungeon’s Ant Tunnel, I knew my next destination.

I asked around at Sleepywood, questioning the locals about Arel, but no one seemed to have any useful info. Amongst them was Sabitrama, who thought that I looked quite weary, & could perhaps use a relaxing rest at the renowned Sleepywood Hotel. Of course! I confirmed with the receptionist at the that Arel had passed through, briefly staying at the hotel, but also that he was gone now.

As I entered ATI, I spotted a figure whom I quickly identified with Arel:

tara gets a lightbulb at Ant Tunnel I

Noticing that I’d spotted him, Arel made twofold his pace. So I gave chase:

tara chasing Arel

Finally, at TTLLII, Arel, in his great haste, tripped over some of the jaggèd blue rocks:

tara catches Arel!

The look on Arel’s face was one of remorse. He explained that he never wanted to steal anything, but that he had no choice, if he wanted to survive to see his own family & community intact. Jr. Balrog had so cruelly recruited Arel’s expertise — offering in exchange a better life, wealth, & access to incredible scholarly knowledge — in order to steal the entirety of Vikin’s booty for itself. When Arel refused to assent to such a devil’s bargain, the Balrog played a heinous trick: to manipulate the minds of Arel’s family, friends, & the other Sleepywood locals, to cause them to forget about Arel’s existence entirely. Jr. Balrog threatened Arel, claiming that only Arel’s collaboration could reverse the memory curse, & that if he still refused, the Balrog would only intensify the curse to cover the whole of the Victorian Archipelago.

And so it was just as I’d suspected after Vikin admitted to bargaining with the Balrogs: Jr. Balrog was the real culprit here. Arel didn’t have the booty; he’d already handed it over to Jr. Balrog. So I promised Arel to take care of the beast, & headed towards its Cursed Sanctuary.

Just as I moved to enter the Sanctuary from its entrance, however, a strange magical force sent me all the way back to Another Entrance. When I appeared there, the Insignificant Being greeted me. I was already quite familiar with the Insignificant Being from A Spell That Seals Up a Critical Danger, & this time, I had to ask him to help me do the opposite: to take down the very spell that seals up this critical danger, so that I could get in there & beat the piss out of Jr. Balrog.

Of course, much like last time, doing such a thing would require no small quantity of elbow grease. To weaken the barrier, I’d have to slay a thousand each of Ice Drakes & Dark Drakes. Moreover, once the barrier was weakened, a counterspell would be required, in order to shatter it altogether. For the counterspell, I would need to gather up ten Thunder Catalysts from Tauromacis & Taurospears:

tara finds a Thunder Catalyst

Since Taima was also doing this questline, I teamed up with her to farm Sanctuary Entrance IV:

Taima & tara farming Tauros

These Thunder Catalysts are no joke. Although we only needed ten each, their droprate was not particularly high, especially given that Tauros spawn at a quite leisurely rate even in Sanctuary Entrance IV, which is unfortunately the best place to farm them.

And we likewise teamed up to grind Ice & Dark Drakes — first at Drake’s Nest, & later at Cold Cradle, when we realised that Drake’s Nest had a disproportionately large number of the Dark Drakes:

Taima & tara grinding Dark & Ice Drakes

Phewf! That was a lot of Drakes!!

With the sealing spell weakened, the Insignificant Being put together a counterspell that demolished it. Now able to enter the Cursed Sanctuary, I found myself faced by a vexed Jr. Balrog who was anticipating my arrival. So I gave him a taste of my fists!!:

tara takes on Jr. Balrog!

With the beast incapacitated, I scooped up Vikin’s booty, & scrambled all the way back to the Treasure Room. As I departed, Jr. Balrog spat curses in my direction:

Aaargh… You…! Who are you? How dare your steal what’s mine? Come back here! Curse you!! Damned human!

DwB, & especially Vikin, were of course very pleased to see the booty returned to its rightful place — although it could perhaps be argued whether the hands of a pirate is the “rightful place” of some booty that they plundered to begin with.

In any case, although we got a kind of happy ending, there are still some loose ends & things that just don’t add up. What other nefarious things could the Balrogs be planning? And more importantly, how did Jr. Balrog come into such incredible powers of massively mind-altering magic, so far beyond the powers ordinarily attributed to Balrogs??

My little review of The breaking of Arel

This mandatory questline for tier 1 of MapleLegends’s HP Challenge system is entitled Vikin’s Treasure (here, I rename it to a more spoilery name: “The breaking of Arel”), & is totally custom content made for MapleLegends specifically. As far as I can tell, these mandatory questlines are what make the HP Challenges really worth doing, even beyond the promised MAXHP rewards: although the system’s raison d’être is making MAXHP balanced, the ultimate reality is that it is game content.

I can sum up my overall opinion pretty succinctly: it’s very good.

It goes without saying that I have some personal bias here, as I’m a huge sucker for questing. But even further, The breaking of Arel is just very high-quality questing that stands up well to the so many other quests in MapleLegends, which are generally designed by Wizet–Necksawn. We have:

That being said, there are still a few flaws, & some room for improvement, like with any questline. The obvious flaw is the first quest, where the invisible NPC must be located entirely through the arbitrary use of the mouse pointer. A tiny visual indicator, like the one used for the second 2nas quest, could go a long way, for example.

I’m also a big sucker for written dialogue — as careful readers of my past few diary entries may have noticed… — and so I spotted some room for improvement there, as well. Quite frankly, the bar is usually set pretty low here, partly — but certainly not entirely — as a result of so much dialogue in GMS (upon which MapleLegends is based) being sloppily translated or half-translated into English from the original (usually Korean, or Japanese). By comparison, The breaking of Arel easily holds up. Still, there are a few small things that I’d like to see:

Everything else

What a strong start. Now it’s time for the disappointing part: the entire rest of tier 1!

The Test of Strength

The other mandatory quest(line) isn’t much of a quest, & definitely isn’t a questline. Instead, it consisted entirely of Kyrin telling me to deal 50M damage with Energy Blast, saying “go get ’em, kiddo”, & paddling me on the bum. Well… minus the part where she touched my butt. That would be weird. Oh, and there’s also the part where I had to Energy Blast a bunch of Rāvaṇa summons until the quest was complete.

This quest is obviously super boring, so there appears to be… not much to say about it. That being said, although it is boring, it may or may not be tedious — or even impossible — to complete. Consider that this is a tier 1 Challenge, meaning that it is specifically designed under the assumption that the PC is in the level range 100〜109 — with the caveat that they might actually be level ≥110, like in my case. SP builds for marauders are not trivial, & choosing whether to prioritise EB — or even whether to bother setting aside SP for it at all — is part of the experience of playing a marauder/buccaneer, just like SP builds are part of the experience of playing almost any class in MapleStory. Personally, if I were to play tara over again, I would go the Shockwave route, because I think it’s actually a pretty underrated skill — indeed, I still use it fairly frequently, even as a level one hundred & fifty-something buccaneer who only levelled it up to 18 (out of a maximum level of 30)!

Kyrin, then, seems to be insisting otherwise, for some reason: the level 100〜109 marauder is expected to have already invested significant SP into this skill, & if they haven’t, then their “strength” mysteriously cannot be accurately “tested”. Worse, I’ve heard second-hand reports of HP Challenge quests requiring Magic Crash, despite white knight & paladin being notoriously SP-starved classes. And so on…

And, naturally, it gets even worse: these quests can completely exclude entire heaps of character builds from this entire category of game content, especially because the full completion of one entire Challenge tier is a hard requirement for the commencement of any part of the next tier. As much as I’d absolutely love to, I won’t be insulting the reader’s intelligence by presenting a huge list of such character builds. Instead, it’s much easier to simply ask: why? The “Tests of Strength” are boring, in many cases don’t even warrant the player doing anything other than playing their character normally, contribute nothing to this game content, & are weirdly incredibly specific in their requirements, for no ostensible reason.

Grab-bag of optionals

Then, we have the optional Challenges. These are, of course, not totally optional, but rather, are a “do any 𝑛 or more of these” sort of affair.

These Challenges have plenty of potential if the author is willing to put in the creativity, & they’re also forgiving enough, thanks to the player’s ability to choose which ones they want to complete. The result is basically what you’d expect: a mixed bag. For tier 1, there are eight of them, & at least three must be completed. I’ll leave a brief comment on each:

The “10 unique Victoria Island maps visited” optional is the one that I accidentally triggered when I entered the Swamp of the Jr.Necki above. I do like the idea of a travel optional, especially one that encourages exploration & going to maps that are rarely used, or even rarely set foot in. I found nine out of the ten “unique” maps by literally just running across every Victoria Island map that I could think of. Then, I got a little lazy & cheated to find the last one, because I forgor that the road to Mushmom’s house was a thing. Can you blame me? Mushmom has been hunted to extinction, after all…

When I visited some quite unique maps & didn’t get credit for them, I started to think that maybe the list could have been longer. For example, The Pig Beach doesn’t count, despite it counting for a beta version of the Challenge. My precious baby CFD isn’t in there, either. TDFUNIV isn’t in there. Hut in the Swamp isn’t in there. Mushroom Garden isn’t in there. And so on… Perhaps, instead of requiring ten out of ten, 18 out of 20 could be required…?

Ellinia’s guarded forest

In any case, another one of the HP Challenge tier 1 optionals that I liked was the “3 Victoria Island JQs completed” one. This just so happened to coincide with a certain pair of quests that I intentionally skipped so long ago on tara: “Sabitrama and the Diet Medicine” & “Sabitrama’s Anti-Aging Medicine”. tara? Skipping quests?? On purpose???

Right, so, here’s the deal: Sabitrama is Sleepywood’s local snake oil salesman. He wants some ingredients to make some weight loss pills & some anti-ageing pills, but there’s a catch: you have to climb The Forest of Patience in Ellinia to get them. Shane (Roger’s name when he’s not doing maple leaf cosplay) will let anyone into The Forest of Patience for a fee, but the way up is perilous. I was always pretty shite at these JQs, & they’re considered the most difficult Victorian JQs.

So, it looks like it’s time to finally clear these JQs for the first time ever in my entire Maple career. Then, I’ll only need one more Victorian JQ completion to finish that optional!

tara taking on “Sabitrama and the Diet Medicine”

Spikes. Logs. Monkeys.

tara & the blasted Lupins

As it turns out, these JQs might be good MapleStory Physical Fitness Test (“Fitness”) practice. Unfortunately, my Fitness skills are still not that great, even after so many Fitnesses on my Viclocked clericlet d33r… 🥲

But I did it! I got to a pile of flowers!!:

tara gets a pile of flowers!!

I was relieved to find that this JQ actually… wasn’t terribly difficult? Then I realised that the real difficulty is, of course, in the second quest.

tara taking on “Sabitrama’s Anti-Aging Medicine”: the pillars of tiny platforms

As you can see in the example above, the “Anti-Aging Medicine” JQ starts out with a bunch of really tight jumps. There aren’t even any moving parts nor obstacles yet; just pure jumping. These jumps are very much not trivial, however, & I definitely fell all the way down at least a few times. Nevertheless, unlike the last time that I was here (on my Viclocked dagger spearwoman d34r), I was eventually able to nail all the jumps! That actually makes these jumps easier than the ones in the Ghost Chimney (see the “The mystery of the Prendergast Mansion” section above)…!

That’s not all, though. Once I got past the austerity of the static jumping bits, things started moving around & threatening to yeet me:

tara taking on “Sabitrama’s Anti-Aging Medicine”: Jr. Neckis…

Oh no… I’m having Hinamatsuri flashbacks (see the “Hinamatsuri” section of the previous entry)…

And finally, towards the end, there are the Lupin diagonals:

tara taking on “Sabitrama’s Anti-Aging Medicine”: the Lupin diagonals!

There are three of these bad boys in step 5, & they’re kinda nasty, especially when you first see them. Going up three or four diagonal jumps takes a while, so I think it’s mostly a matter of timing. If you’re a pro speedrunner, or you’re like me and just fuck up, you might take a hit from a banana, & hopefully shake it off.

I don’t mind timing them, though, so I was able to make it through the Lupin diagonals, thus arriving at a pile of herbs!!!:

tara gets a pile of herbs!!!

I did it!! I beat JQing!!! I’m an epic JQer now!!!! 😎😎😎

But I still needed that one (1) more Victorian JQ completion for my HP Challenges, so I did Kerning’s B2 JQ once again…:

tara finishes the B2 JQ once again…?

JQ’d.

Puckishness

Holy moly guacamole. That was a lot of fuccing Questing With tara™!! Hecc ya!!! To wrap things up, how about we see tara level up one more time…?

tara & Taima duoing Rāvanners

I did some duo Rāvanning & Papping with Taima. As it turns out, I can’t really pin Rāv to the left and take care of his summons at the same time…

Gob moment (feat. tara in full dino costume)

But so many gobby goblins are no match for 🦕tarasaur🦕! rawr xD

Plus, this was how I completed my “Test of Strength”…

tara & Taima duoing Pap (second body)

And, after this fateful Pappening, I was at 99.9% EXP?? So I headed out to the Warped Passage, to level up by killing a few newly-buffed Gatekeepers!!:

tara hits level 157~!

Footnotes for “In quest impressed, & all the rest”

  1. [↑] See footnote #2 of the aforementioned diary section, for more on the name of this monster species.

  2. [↑] See footnote #4 of the “Down the rabbit-hole” section of pt. cvii of this diary, for more on the presence of musical boxes in MapleStory.

  3. [↑] Not a recognised specific name these days, as far as I know.

  4. [↑] Hebrew ⁧חֲנֻכָּה⁩ (⟨Ḥanukkah⟩; Modern Hebrew /χä.nuˈkä/) or ⁧חנוכה⁩ (⟨Ḥnwkh⟩, ⟨Ḥ[a]nuk[a]h⟩; /ˈχä.nu.kä, χä.nuˈkä/). English /ˈhɑ.nə.kə, ˈhʌ.nʊ-, ˈx-/. Also commonly transliterated into English as ⟨Chanukah⟩, amongst many others.

  5. [↑] Due to Gina Glasman, as quoted in Deena Prichep; “Hanukkah History: Those Chocolate Coins Were Once Real Tips”; NPR: The Salt; 2014-12-13; archived.

    Most sources seem to credit Loft’s Candies™ for the innovation of chocolate gelt sometime during the 1920s. The exact origin is not super relevant here, however, so I’m relegating this to a footnote.

  6. [↑] Due to Rabbi Menachem Creditor, as quoted in Rachel E. Greenspan; “The Real Reason American Jews Give Gifts During Hanukkah”; TIME; 2019-12-20; archived.

  7. [↑] By pure coincidence, I happen to be writing this exactly on the first day of Ḥanukkah! By the time that this is actually published, though, it’ll probably be like, March or something. 🙄

  8. [↑] See:

  9. [↑] This version fleshed out Amoria somewhat, adding some NPCs, quests like Circle of Trust, as well as a single map that has monsters: Purple Plains 1. APQ would not be added until v39 (2007-06-13), however.[8]

  10. [↑] Also erroneously spelt in-game as *Cronos' Egg.

  11. [↑] Whenever MapleLegends updates their Library again (read: the year 2999), these will stop producing HTTP 404s.

  12. [↑] I do question the choice of atualizado here, as it appears to mostly be used in Portuguese to mean “updated; modernised”. Maybe completo “completed” makes more sense…?

  13. [↑] Sic. The correct spelling is Torr.

  14. [↑] I’ve always pronounced this as /ˌti.diˈfʌ.nɪks/ in my head. Is that weird…?

  15. [↑] The actual item is called Translucent Potion, & is often referred to as such, although the recipe calls it Purple Translucent Potion.

(…cnvpstdf…)

cnvpstdf

You’re under a rest!

Transcription of the above image

[in the Free Market Entrance]


[system message]: You have been seduced, which disables you from moving.

tarandus: LOL
pls

Abagnale [GM]: It is just a bot check

tarandus: o
its a client bug
not botting rofl

Abagnale [GM]: That is the correct answer

phone calls happen every day

Transcription of the above image

Archery: sorry phone call

elaphus: izzok
phone calls happen every day
its an international tragedy

Archery: haha yeah\

penips1: we’re not 12 years old coming home from school to play maplestory anym[ore]
:(

DarkClover: speak for urself

hydropotina is fucking dead