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

rangifer’s diary: pt. ciii

Cool grades

Like many RPGs (see the “Authenticity in role-playing” section of pt. xcv of this diary), MapleStory features character progression as one of its core gameplay elements. The reader is likely already familiar with what this is supposed to mean, but it’s worth looking at the concrete mechanical details:

The reader might have noticed that each item in the above list begins with “The PC may […]”. The word “may” here is operative; the PC can — and in many cases, does — forgo any combination of these things altogether, for an unlimited time, or even in perpetuity. In some cases, the PC has strictly no choice: the level 200 PC may not level up, which also means no more fresh AP/SP to spend; the grade 𝑔 PC may not job advance if the version of MapleStory that they exist within does not possess grade (𝑔 + 1); the PC may not expand their skillbook via quests/items if none exist that they’ve not already used; etc. In other cases, the PC may intently self-elect a style of gameplay — including, but certainly not limited to, their job, as contrasted with their class at any given time — that necessarily rejects any combination of the items in the above list, conditionally or unconditionally; a trivial example is the APless PC, who is partly defined by never spending AP. In yet other cases, the PC may simply choose not to do these things, for any reason whatsoever — including, for example, because they’re too busy chatting with fellow Henehoes.

Monotonicity

The overarching structure that we conventionally derive from these gameplay elements is one of monotonicity: as the PC continues to engage with the game in the requisite ways, their character’s “progression” marches forth, and, in particular, does not march backwards. This monotonicity is non-strict (a.k.a. weak), meaning that the “does not march backwards” part is the important part; we accept that the PC may sometimes not be going either way, i.e. they may be staying effectively (progression-wise) the same. This monotonicity is evinced most clearly by the game’s EXP mechanics: although the PC may lose EXP by dying (somewhat unusual, as most deaths are likely those of beginners, PCs possessing a Safety Charm, or PCs with 0% EXP anyways), they cannot lose levels.

But is that actually true? I want to argue that there are two meaningful senses in which character progression is non-monotonic:

And we’ll see that these two senses are not unrelated.

Non-monotonicity per se

Here are a few of the major examples of non-monotonicity per se in character progression:

There are also some minor examples:

Relative non-monotonicity & “cool grades”

Examples of non-monotonicity per se of character progression are certainly important, and somewhat interesting, but it’s not usually what we’re concerned about. The kind of non-monotonicity that really deeply pervades & affects gameplay is relative to our expectations and the expectations of our peers, and those expectations are equal parts subjective & objective.

On the one hand, psychological expectations & aspirations invite subjectivity: if I am the player of a given PC, then there’s a sense in which I am the only one who can decide what that character is supposed to be able to do. Or rather, I’m the only one who can decide what I think that character is supposed to be capable of — the same kind of subjectivity can be extended to the third person, i.e. what other people think my character is supposed to be capable of.

On the other hand, we can intermingle these subjective expectations with objective facts about the game and its mechanics, thus producing expectations that can be objectified — which includes both the mere ability to express said expectations (rather than merely thinking them), and the grounding of said expectations in a particular conception of the game’s mechanical structure — to at least some degree.

The outlaw

For example, consider a game implementation like MapleLegends, which is post-4th-job, post-pirates, & pre-BB. It’s not uncommon to think of the outlaw class as being a “slouch class”, if you will, or equivalently to think of the 3rd grade as a “slouch grade” for the gunslinger/outlaw/corsair. The fresh gunslinger gets lots of cool & unique new skills, and excels at PQing; the corsair is capable of reaching the full awesome potential of the throughclass, and seemingly never runs out of neat skills to spend SP on; and the outlaw… just sucks?

Naturally, there are at least a few ways in which this might not be true: many aspects here are subjective, so the player who expects exactly what the outlaw gives them will be satisfied; and maybe there’s a different way to frame the game-mechanical structure so that outlaw is not particularly “bad”, relatively speaking.

Even so, if it could be true, then it stands in opposition to the supposed monotonicity of character progression. With some typically avoidable exceptions (e.g. the Burst Fire example from above), the transition from gunslinger to outlaw is monotonic per se; the gunslinger isn’t giving up anything in the process, and they are clearly more powerful in most ways as a result. And yet, it might not feel that way.

Content loss

One reason for relative non-monotonicity is content loss. Above, I said:

[S]ome content requires (absolutely or not, as we’ll later see) the PC to be below a certain level, thus disqualifying them when they level up.

On one analysis, some content loss is “absolute”, and other loss is “soft”. A PC that once had access to a given piece of content may, later, no longer be able to do that content at all, as a result of some character “progression” (usually overlevelling). We would see this as “absolute” because there is absolutely no way for the PC to reclaim the content. In other cases, the PC may, in an absolute sense, have access to a given piece of content, but nevertheless that piece of content does not exist within their world of content — the content is inappropriate for them, because they have progressed “beyond” it. This is “soft” content loss, because there’s no hard boundary involved.

Although I think that this is an okay way to analyse content loss, it misses the big picture. Although absolute content loss certainly occurs, there’s nothing special about it. Rather, absolute & soft forms of content loss are two somewhat different manifestations of a larger phenomenon. I briefly spoke about a vaguely similar concept in the “Vicloc endgame balance” section of pt. xciii of this diary, in the context of Vicloc game balance:

Please do note that this is not intended to be some kind of polemic against the legitimacy of 3rd job & 4th job. I personally love both 3rd job and 4th job very much. However, in so loving them, I am keenly aware of their many flaws (many of which can be easily fixed, some of which can be fixed with some effort, and almost none of which are actually fixed in practice), and I am also keenly aware of how they reshape the game. Shaving off higher grades (higher jobs) from the game reverses this reshaping to a great degree, allowing us to re-discover the things that we inevitably lost in that reshaping. In this context, no change — no reshaping, nor un-reshaping — is lossless. Every addition & every advancement necessarily obfuscates parts of the structure that it “adds to” or “advances”, which poses a very serious test for our feeble collective memory.

As we progress through the game as a particular PC, our capabilities evolve, our modus operandi changes, our motives shift, and our relationship to the game world & game content is totally transformed as a result. In this process, our old modi operandi & relationships to the game world are not so much “necessarily lost”, as they are simply tucked under the fold; fossilised in memory not so much episodic (although there certainly are episodic memories, they’re less important in this context), but more implicit, & even semantic; not entirely lost from the perspective of the onlooker, but simply augmented by newfound powers & motives.

The items being folded together in this process, however, are not entirely transparent. As we strain our eyes to look through increasingly tall stacks of old ways of gameplay, we find it increasingly difficult to discern what we’re seeing. The indistinct things fade, and we scarcely think of them anymore.

In the face of this sort of folding — a kind of feeble loss that we never quite let go of — the PC is forced to adapt. These adaptations may fail to meet, may meet, or may even exceed our expectations. In extreme cases, the player may expect to adapt, but fail to do so entirely, effectively stranding themselves in a way that turns “character progression” into character stagnation.

Peerage

Another part of the way we form expectations is through our peers. We play the game with other people, with their PCs, and we want to do what they do. Every PC that isn’t our own is a model, regardless of whether we choose to contrast ourselves favourably (“my PC is quite capable by comparison”), unfavourably (“I can only hope that my PC should be so capable”), neither, or both. Often, these comparisons are actually far more oblique: “I don’t aspire to be that kind of PC”, etc.

Peering back beneath the folds

As discussed in the “Content loss” section above, old pieces of game content & modes of gameplay are not necessarily lost altogether. One way in which they exert hysteresis is the simple fact of imparting a sense of progression. If the player feels that they aren’t progressing as much as they did before, that is a kind of relative non-monotonicity.

Using the outlaw example from above, a player might feel that the beginner → pirate & pirate → gunslinger advancements were huge leaps in character progression, and then feel that the gunslinger → outlaw advancement is underwhelming by comparison.

More examples

The title of this essay is from the notion of a “cool” (in the sense of “fun, good, outstanding, 🆒”) phase of a PC’s progression, e.g. a particularly fun class within the PC’s class progression — thus cool grade. In general, phases need not actually be grades; they can be any arbitrary segment of the PC’s progression through the game. Thus, perhaps cool phase… …I’m bad at naming things, clearly. 😖

So far, I’ve only used the outlaw as a simple (if perhaps not uncontroversial…) example, particularly as an example of the opposite of a cool grade: a slouch grade, if you will. Here are a few more examples, to illustrate what I mean:

Footnotes for “Cool grades”

  1. [↑] Pun intended.

  2. [↑] This quirk was removed from MapleLegends, but it exists in every other post-3rd-job, pre-BB MapleStory implementation that I know of, including the first ≈7 years or so of MapleLegends’s existence.

  3. [↑] In general, higher variance in this context is undesirable when it causes the player to be less able to predict their PC’s position, as a “MISS” will not knock them back, whereas a hit will (assuming no Stance, etc.). The variance of the Bernoulli distribution is given by 𝑝(1𝑝), where 𝑝 is the probability of a “MISS”. This is often stated as 𝑝𝑞, using the convention that 𝑞1𝑝. By distributing over the subtraction, we get 𝑝𝑝2, which can be rearranged into 𝑝2+𝑝+0. This is just an ordinary quadratic polynomial in 𝑝, where the coefficients are 𝑎−1, 𝑏1, 𝑐0. Because 𝑎<0, the polynomial is maximised when 𝑝=𝑏2𝑎=−1−2=12

    This intuitively makes sense, and we can very simply state that the predictability of whether or not the PC is “MISS”ed decreases as 𝑝 gets closer to 12, and increases as it gets further away from 12, reaching its absolute maximum predictability when either 𝑝=0 (the player is never “MISS”ed) or 𝑝=1 (the player is always “MISS”ed). When 𝑝=12, the variance is 14, which makes the standard deviation σ=14=12

  4. [↑] In MapleLegends, there are a handful of quests, e.g. “Preparing for the Revival”, that can give defames.

  5. [↑] This is not to say that Stun Mastery, Transformation, & Shockwave are totally devoid of possible use-cases. Rather, it’s to say that they feel a lot more like “SP sinks” than they do “actual skills that you might want to intently invest into”.

  6. [↑] Not that Coma in particular is necessarily all that useful, but at least it’s fully completed without requiring 4th grade advancement.

And, sowing the kernels of it in the sea, bring forth more islands

I think you know the Vicloc drill by now. I did yet more MapleStory Physical Fitness Challenging on my Vicloc clericlet d33r — and this time, I was the only one who finished!:

Congratulations! (…on completing the MapleStory Physical Fitness Challenge)

Just kidding. I did, however, snatch up my Scroll of Secrets and scram as quickly as possible; being alone in the map with Pietro was giving me the heebie-jeebies… Also, I think I just noticed that this map (Receiving the Reward For the Event) is Lith-Harbor-themed! Look at that blue dome!!

On my Vicloc dagger spearwoman d34r, I teamed up as part of a GM buffs duo with outland STRginner Furbs (SwordFurbs, Yoshis, Fabiennes), to do some FoGging!!:

d34r & Furbs duoing The forest of Golem

Will I ever get bored of FoGging? You tell me.

And that wasn’t the only Victorian grinding that I did with some GM boofs coursing through my veins. I finally got around to doing a direct comparison between Camp 1 (average monster level 58.2) and L1A4 (average monster[1] level 48.0) on d33r. Both of these maps are chock full of medium- to high-level (by Vicloc standards) undead baddies, making them competitive training spots for Vicloc Healers such as d33r.

Of course, I don’t expect my results to be representative of just any Vicloc Healers — moreso level ≈70 Vicloc clericlets in particular… — but that’s okay. I just want to know where I should go when I have GM buffs. So I took my OPQ mule sets to Victoria Island, to soak up some of the EXP and thus activate d33r’s GM HS. Although there were some minor hitches here & there, I did relatively lengthy @epm tests that I think gave a good picture:

d33r, level 72, Camp 1 @epm test on GM buffs w/ single leecher

Transcription of the chatlog in the above image

[system message]: d33r — Lv.72 Cleric — Total EXP: 432,960 (18.86%)
EXP Per Hour: 865,920 — EXP Per Minute: 14,432

d33r, level 72, L1A4 @epm test on GM buffs w/ single leecher

Transcription of the chatlog in the above image

[system message]: d33r — Lv.72 Cleric — Total EXP: 307,008 (13.38%)
EXP Per Hour: 921,000 — EXP Per Minute: 15,350

Hmm… Interesting! It seems that L1A4 is still the go-to spot for d33r… Probably forever…… Then again, L1A4 “only” appears to have superior EPH by a factor of about ≈1.06 here, and unlike Camp 1, it doesn’t drop wand 60%s! So maybe Camp 1 ain’t so bad after all. [:

Footnotes for “And, sowing the kernels of it in the sea, bring forth more islands”

  1. [↑] Ignoring Shade.

Holy order

I did a pair of five-Mapler Zakum runs on my pure STR bishop cervid, alongside buccaneer Jayem (Jacquemus), shadower Harlez (VigiI, Murhata), marksman Level1Crook (Lvl1Crook, xXCrookXx, SuperLuck), & nightlord Matsheshu (Fara, Muguet, FaraDelisle)!:

Jayem, Harlez, cervid, Level1Crook, & Matsheshu vs. Zakum

During which, I was reminded just how difficult it is to do a good job of actively bishoping a Zak run. Don’t get me wrong, it is super fun, but it’s a real workout as well. Perhaps even more difficult than when I play my darksterity knight rusa and Monster Magnet my ass off! And it really put those 29(!) SP that I invested in HSh to good use. [:

For our second run, Matsheshu unfortunately forgot to recharge her stars, and ran out of stars towards the very beginning of the run. Here she is, using SM instead…:

Matsheshu ran out of stars…

That’s right, folx; SM ain’t just for LUKless hermits anymore…

Speaking of goofy skills, I also gave Doom a try on a few of the flying summons that Zak produces:

Dooming the Zak summons

It might not always be super useful, but seeing Blue Snails in extremely unexpected places is good for a little chuckle now & then.

Also during the second run, Jayem came to a realisation…:

bsp need SI ? o-o

Transcription of the above image

cervid: si
tq

Jayem: ty
SI?
bsp need SI ? o-o

cervid: ya

Matsheshu: is a str bishy

Jayem: OH
is deer

cervid: hehe

Matsheshu: :D

Level1Crook: lol

Jayem: sorry i been half afk

A most auspicious star, whose influence if now I court not, but omit, my fortunes will ever after droop

In the previous diary entry, I featured a section entitled “A. axis”, wherein I featured the adventures of a mysterious LUK warrior by the name of axisaxis. I asked for editorial assistance from the warrior herself, and it seems that she had a bit of fun — perhaps too much fun — randomly rearranging the words via pure luck… Typical LUK warrior behaviour. Apologies to anyone who found it difficult to read!

Then again, maybe there was something… less than random about the way that she scrambled it. If I could find a way to easily unscramble it, I’d be able to read back what I wrote, and I could help you, my dear reader, to read the “A. axis” section in its full unscrambled glory. Luckily for us, I think axis may have left behind a clue…

⚠️SPOILERS!⚠️ The scrambling of “A. axis

Okay, maybe she wasn’t really that subtle, because there is clearly a link to some source code at the beginning of the section: …/101/src/main.rs. And, as promised by the filename (main.rs), it does indeed appear to be full of Rust code. And thankfully, it appears to not be obfuscated! How convenient…

Poking around in that directory (…/101/src/), we can see that there is also a second source file, …/101/src/parse.rs, which is referenced by main.rs. parse.rs makes use of a parsing library called winnow, which I don’t know how to use. It’s fully publicly documented, but maybe we can figure out what’s going on here, even without knowing exactly how the parsing library works.

As always, the types[1] tell all. parse.rs defines just one type, a sum type called SentenceFrag:

pub enum SentenceFrag<'t> {
    Terminal(&'t str),
    Interword(&'t str),
    Word(&'t str),
}

All of the variants look pretty much the same, so this is basically just a &str (a non-owned reference to a string) that is marked as being exactly one of: a terminal, an interword, or a word. I get the idea that SentenceFrag is just short for sentence fragment. So parse.rs’s job, then, is presumably to parse some text (a string) into a sequence of sentence fragments.

Looking still only at the top of the file, we see:

static SENTENCE_TERMINAL_TOKENS: &str = ".!?\u{2026}\u{203d}";
static INTERWORD_TOKENS: &str =
    " \n,;:/()[]{}'\"\u{201c}\u{201d}\u{2018}\u{2014}\u{2015}*";

So it seems that a sentence terminal is something that ends a sentence, exactly as you’d expect: a full stop (.), an exclamation mark (!), a question mark (?), whatever \u{2026} and \u{203d} are, or perhaps some sequence of one or more such characters. Here, \u stands for Unicode, and the bracketed number is just a hexadecimal number representing a single codepoint. U+2026 is “HORIZONTAL ELLIPSIS”: . And U+203d is “INTERROBANG”: . Looks like English punctuation to me!

The interword seems to include ordinary spaces (U+0020), ordinary newlines (U+000a; represented here as \n), and some more punctuation — but this time, punctuation that you won’t see at the end of a sentence.

So, if we took some random-ass sentence like this…:

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua?!

…We might parse it into something like:

[
    Word("Lorem"),
    Interword(" "),
    Word("ipsum"),
    Interword(" "),
    Word("dolor"),
    Interword(" "),
    Word("amet"),
    Interword(", "),
    Word("consectetur"),
    Interword(" "),
    Word("adipiscing"),
    Interword(" "),
    Word("elit"),
    Interword(" — "),
    Word("sed"),
    Interword(" "),
    Word("do"),
    Interword(" "),
    Word("eiusmod"),
    Interword(" "),
    Word("tempor"),
    Interword(" "),
    Word("incididunt"),
    Interword(" "),
    Word("et"),
    Interword(" "),
    Word("labore"),
    Interword(" "),
    Word("et"),
    Interword(" "),
    Word("dolore"),
    Interword(" "),
    Word("magna"),
    Interword(" "),
    Word("aliqua"),
    Terminal("?!"),
]

Notice that anything which isn’t made of interword characters, and also isn’t made of terminal characters, ends up being interpreted as a word.

Now that we basically understand parse.rs, let’s look at main.rs. This file has some comments, including this conspicuous one:

// English is a fairly analytic language with brittle word order.
// So, let’s shatter it.

Oh, my. Well, it’s no surprise that this comment mentions word order (and the analyticity of English), as the word order is exactly what we’re trying to unscramble here! Looking at the source code immediately below this comment, we can see the meat of the scrambling logic. Let’s look at just the first two lines:

let mut length_trace = Vec::with_capacity(sentences.len());
for sentence in sentences.iter_mut() {

It’s not yet clear what length_trace is going to be used for, but so far, it’s an empty dynamic array (std::vec::Vec) that we apparently expect to be storing up to as many values as there are sentences in the input text. This is not a hard limit (Vecs can always grow — at least, until they run out of memory), but it gives us an idea of what this array might be used for. Then, we proceed to loop over each sentence in the input text. However, we already notice that there’s something a little fishy here: rather than any of the usual ways of iterating that we probably expected to be used here, we have a call to .iter_mut(). The only reason to call this method is if we need to mutate (that is, change) each sentence as we iterate over it.

Looking inside of the for loop, we see the first bit of the logic:

let word_initial = sentence.first().unwrap().is_word();
let l = sentence.len();
let word_count = (l - if word_initial { 0 } else { 1 }) / 2;
if word_count < 1 {
    continue;
}
length_trace.push(word_count - 1);

First, we query for whether or not this sentence starts with a word; the resulting Boolean value (of type bool) is then stored in word_initial. It might seem like this is a dumb query to make — surely, a sentence starts with a word? That’s how sentences start? But even ignoring the possibility of malformed input to the program, there are perfectly good English sentences that don’t start with a “word” in the specific parsing sense that we’re using here. Consider…:

“I see”, said the blind man.

…Which parses as:

[
    Interword("“"),
    Word("I"),
    Interword(" "),
    Word("see"),
    Interword("”, "),
    Word("said"),
    Interword(" "),
    Word("the"),
    Interword(" "),
    Word("blind"),
    Interword(" "),
    Word("man"),
    Terminal("."),
]

As you can see, it starts with an interword.

The program then gets the word count of the sentence with the expression (l - if word_initial { 0 } else { 1 }) / 2, where l is the total length of the sentence (in terms of SentenceFrags). Because terminals are what delineate one sentence from the next, we know that there is exactly one terminal in the sentence, and that it is the final sentence fragment. And because words are just made up of the characters that aren’t interwords & aren’t terminals, we can say that the rest of the sentence is just alternating between words & interwords. Thus, if we represent an interword with i, a word with w, and a terminal with t, we can illustrate all four possible sentence types like so:

  1. w i w … i w t (starting & ending with a word).
  2. w i w i … w i t (starting with a word & ending with an interword).
  3. i w i w … i w t (starting with an interword & ending with a word).
  4. i w i … w i t (starting & ending with an interword).

In the first case (1.), we have 𝑛 words, 𝑛1 interwords, and 1 terminal. 𝑛+(𝑛1)+1=2𝑛 sentence fragments, so we can just straightforwardly divide by 2 to get the word count.

In the second case (2.), we have 𝑛 words, 𝑛 interwords, and 1 terminal. 𝑛+𝑛+1=2𝑛+1 sentence fragments. Doing integer division effectively divides and then truncates[2], so we can integer divide by 2 to get: 2 𝑛 + 1 2 = 𝑛 + 1 2 = 𝑛 .

In the third case (3.), we have 𝑛 words, 𝑛 interwords, and 1 terminal. 𝑛+𝑛+1=2𝑛+1 sentence fragments. Because we aren’t starting with a word, we subtract 1 to get ( 2 𝑛 + 1 ) 1 = 2 𝑛 sentence fragments, so we can just straightforwardly divide by 2 to get the word count.

In the fourth & final case (4.), we have 𝑛 words, 𝑛+1 interwords, and 1 terminal. 𝑛 + ( 𝑛 + 1 ) + 1 = 2 𝑛 + 2 sentence fragments. Because we aren’t starting with a word, we subtract 1 to get ( 2 𝑛 + 2 ) 1 = 2 𝑛 + 1 sentence fragments. 2 𝑛 + 1 2 = 𝑛 + 1 2 = 𝑛 .

Whew! Looks like axisaxis managed to avoid[3] the off-by-one errors that are just begging to be made here! 😅

Once we know the word count, we skip this sentence (by continueing) if it has no words, which is entirely possible. And now, we see length_trace being used: we push one less than the word count of this sentence onto the end of the array. It’s not yet clear why we would want to do this, but at least it explains the name of the length_trace variable: it gives a trace of the lengths (in terms of word count) of the sentences that we’ve seen so far.

Continuing further into the body of the for loop, we have:

let slot_to_ix = move |ws| {
    if word_initial {
        // w i w i … w t
        //
        // w i w i … w i t
        ws * 2 % if l % 2 == 0 { l } else { l - 1 }
    } else {
        // i w i w … i w i t
        //
        // i w i w … i w t
        1 + ws * 2 % if l % 2 == 0 { l - 2 } else { l - 1 }
    }
};

If you’re not familiar with Rust syntax, you should know that |param1, param2| { … } represents a closure with two parameters param1 and param2, and a function body { … }.

This function appears to take in some kind of integer named ws, and return another integer that is roughly twice as large as ws (ws * 2), after adjusting for the purpose of, presumably, avoiding even more potential off-by-one errors. The comments here use the same w i w i w …-looking notation that I used above.

Based on the arithmetic and the name of the function (slot_to_ix, where ix is an abbreviation of index), it seems that this function takes in a request for the wsth word in the sentence, and returns the index into the array of sentence fragments that points to that word. However, the use of the modulo operator (%) here allows ws to be very large and just… wrap around to the beginning of the sentence.

Consider the concrete case w i w i w i t (a particular instantiation of the second case considered by the source code’s comments). In this case, l == 7. Thus if l % 2 == 0 { l } else { l - 1 } evaluates to if 7 % 2 == 0 { 7 } else { 7 - 1 }, which evaluates to if 1 == 0 { 7 } else { 6 }, which evaluates to 6. Then, the function is reduced to simply |ws| { ws * 2 % 6 }. If we pass in 0, 1, 2, 3, and 4 to this function, we get the outputs 0, 2, 4, 0, 2. It’s clear that we can keep incrementing the input and get a (virtually) infinite cycle of 0, 2, 4, 0, 2, 4, ⋯. Interpreting these as indices, that looks like:

0 1 2 3 4 5 6 (<-- array indices)
w i w i w i t
^

w i w i w i t
    ^

w i w i w i t
        ^

w i w i w i t
^

In particular, notice that this iterates over all & only the words in the sentence.

And finally, looking at the remainder of the for loop body, we have:

let swap = |(m, n)| sentence.swap(slot_to_ix(m), slot_to_ix(n));
let chunks = length_trace.chunks_exact(2).map(|mn| {
    let &[m, n] = mn else { unreachable!() };

    (m, n)
});
if decode {
    chunks.rev().for_each(swap);
} else {
    chunks.for_each(swap);
}

At this point, we call .chunks_exact(2) on length_trace, which just iterates over length_trace two elements at a time. The first item of iteration is the 0th & 1st elements of length_trace, the second item is the 2nd & 3rd elements of length_trace, and so on. Because of the _exact in .chunks_exact(2), we never actually get to the final element of length_trace if length_trace happens to have an odd length; this would require a chunk containing only the final element of length_trace, which would be a chunk of length 1, and 1 is not exactly 2 (i.e. 1 ≠ 2).

For each chunk, we call swap. swap is where we actually do the mutation that was alluded to by the use of .iter_mut() earlier. It calls the .swap(…) method on the sentence, using slot_to_ix to translate the lengths obtained from length_trace into indices (of sentence, whose elements are SentenceFrags) that can be swapped.

For example, imagine that the 0th sentence in the input text has 3 words in it, and the 1st sentence has 7. Then, when iterating past the 1st sentence and any later sentences, the first swap that we would do would swap the positions of the (3 − 1)th and (7 − 1)th words in the sentence. Now we can see why we subtracted 1 from the word count before pushing to the end of length_trace: doing so is, in a sense, virtually converting from 1-based indexing to 0-based indexing.

So it seems that the word order scrambling was indeed not so random after all! The way that the words in a given sentence are swapped depends only on the word-count of previous sentences in the text! This produces the effect that the text gets more scrambled as we continue reading it; the further into the text that we go, the longer that the length_trace gets, and thus the more quasi-random word swaps that occur.

Because of the method used, an unusually long sentence will tend to have an untouched coda; because previous sentences haven’t been as long, there’s no way for the later words in the sentence to be involved in swaps. We could, if we were so inclined, get rid of this effect by making the scrambling algorithm more complex; for example, we might multiply each element of length_trace by some integer — constant or otherwise — before feeding it into slot_to_ix.

But wait a second. The program already has decoding functionality built in‽ If the decode variable is true, we do the swaps in reverse (by calling .rev() on chunks), thus undoing the scrambling… So where does decode come from?

let decode = std::env::args()
    .nth(1)
    .map(|s| "--decode" == s)
    .unwrap_or_default();

Oh, seriously? All that we had to do this whole time was pass --decode as a command-line argument to the program, and it would unscramble for us?? Well I’ll be damned… I guess axis would need a way to test that the program actually works properly……

Welp… Now that we know how axis did it, we can unscramble that shit. You can do it yourself, but if you prefer spoilers, here’s the unscrambled version of “A. axis” (NOTE: this includes images as well):

⚠️SPOILERS!⚠️A. axis”, unscrambled

In the “Simply inexplicable” section of part c of this diary, I spoke (and showed) a bit — and perhaps somewhat poetically — on the subject of LUK warriors. I was fortunate enough to witness the spontaneous birth of one such LUK warrior, and I’ve invited her to help me write this section — hopefully, nothing too strange comes of it.

Like any MapleLegends character, axisaxis was born a mage…:

Babby axis.

Born under the auspice of the Chinese New Year event, our girl axis was destined to rock the event look, complete with well-conditioned wavy locks, and a conspicuously nigh-invisible mouth.

With nowhere to call home, axis wandered the land in search of things to eat, things to do, and ways to manifest her fortune & inevitably profound physical strength. Beneath the city streets, submerged in the dank sewers of the city known only as Kerning, axis joined a rogue band of odoriferous adventurers (including Jean the beginner) in their quest to slay an oversized slime:

JasianRevA, axisaxis, & Jean vs. King Slime

axis could feel her power wax, but she did not feel a corresponding physical strengthening. As such, she continued to strike her enemies delicately; nevertheless, they yielded to her blows. The Genins of the Ninja Castle were no match for the most formidable speared fish in all the land, combined with axis’s strangely accurate stabs.

axis vs. Genins

Rather than roam aimlessly & endlessly, axis felt that she could be of some use to the people of this island. axis accepted the quests offered to her by anyone whom she could find, even in the obscurest nooks of the island. The behests of Nella, of Mrs Ming Ming, of Sophia, and of Luke the Security Guy, brought axis to a Damp Forest amongst the rainforests of Sleepywood:

axis @ Damp Forest

And, at the behest of Winston, to the first Excavation Site:

axis @ Excavation Site I

Faithfully completing all manner of odd jobs (pun very much intended) here & there, axis found herself at a new apex. Dances with Balrog had always a curious eye trained upon axis’s journey. Something was not quite right with the girl, and there was something unnerving about her chromatic outfit, and the marionette strings inexplicably ascending from her svelte frame. Nevertheless, in so keeping an eye trained, Dances with Balrog was keenly aware of axis’s mysterious ascent. So, when the time came, he knew what to do:

[2nd Job] Congratulations to axisaxis on becoming a Page!

At the time, axis did not understand the implications of her new title. Still yet, she continued onward, book in hand, finding new ways to bludgeon her foes with its ends & corners:

axis hunting Wild Boars

axis found that one distinct advantage of such blunt weaponry is the lack of inclination to inadvertently cut herself upon the blade… And, in any case, there’s something oddly satisfying about the delicate “thunk; thunk” as her adversaries are gently knocked every which way, eventually succumbing to the sheer boredom of it.

Such odd satisfaction was brought to its logical conclusion by quests such as “Eliminate Monsters from the Site”, which would have axis placidly bludgeoning monsters so repeatedly that the resulting noise would become a fixture of the environ, plastered to the faces of the cliffs and the walls of the sky:

axis Eliminating Monsters from the Site

In a fit of boredom, axis found herself snooping around Grendel’s library, where she came across a curious tome:

axis is a Maple historian

Thief at heart, axis scurried away with the tome, only stopping to crack it open later. The tome’s contents were composed in an antiquated style that proved to be somewhat difficult to read, but axis read enough to see mention of far-off lands that she’d scarcely heard of before. It seemed that there was indeed more to the world than just Victoria Island, but axis did not think herself yet ready to explore such distant lands.

In any case, the world as she knew it was already so vast. In the mossy dungeons of Sleepywood, a pile of blue flowers awaited axis’s patience:

axis’s pile of blue flowers

axis once again revisited the repetitive, yet tranquil, pummelling of “kill many” quests. Quests to kill 1098 Green Mushrooms, 1098 Horny Mushrooms, 1098 Zombie Mushrooms, & 1098 Curse Eyes. And of course, yet further underground, in the extra limey bits of the Ant Tunnel caves, 1098 Evil Eyes as well:

axis @ CoEEII

For Kyrin, axis ducked into the half-abandoned Kerning subway system to reclaim cloth napkins from a handful of spooky scary ghosts. Only the finest cloth for Kyrin

axis vs. Jr. Wraiths

axis would find these fine tablecloths useful also for “Icarus and the Balloon”. Of course, Icarus also demanded Ligator skins, so axis would once again descend into the swampy Kerning sewers for those:

axis hunting for Icarus and the Balloon

Along the way, axis briefly lost her direction, climbing up the wrong sewer swamp vine (you know the type) and finding herself in a very different part of the swamp: the Monkey Swamp.

axis @ Monkey Swamp III

It was here that axis’s desire to furnish the swamp with a seemingly permanent concordance of almost-rhythmic thuds & thumps could be realised. Rowen the Fairy and the Cursed Dolls spelled axis’s fate, and that fate was spelled out in numbers of Cursed Dolls: one hundred, two hundred, four hundred, six hundred, & one thousand.

This meant that axis would need to collect two thousand & three hundred Cursed Dolls! axis idly wondered where these numbers came from.[4] Plus, what in the nine circles was Rowen going to do with so many dolls‽ So, so many cursèd fetishes…

axis collects 2 300 Cursed Dolls!!!!

At this point, the Monkey Swamp III was practically axis’s permanent dwelling. But there they all were: two thousand & three hundred dolls. axis let out a deep sigh, hoping that Rowen would at least be satisfied now.

And yet still, even now, axis hungered for more. In her time aboard the Nautilus, she fulfilled Bartol’s Request, and the time was now to make use of that red & yellow plastic card in search of more doodads to collect…

axis @ Off Limits

axis? axis?

Can you believe I wrote all that, and axis didn’t even have the common courtesy to add an explanation for her name…? Well, like myself, axisaxis is a deer — more specifically, of the species Axis axis, perhaps better known by its common name: the chital (/ˈt͡ʃiː.təl/; sometimes spelled ⟨cheetal⟩). The chital is native to the Indian subcontinent, and can be found across the majority of said subcontinent. A. axis is the type species of the genus Axis, which also contains three other species that are distributed over the Indian subcontinent and/or Southeast Asia.

That’s cool & all, but why axis? What does any of this have to do with “an imaginary line around which an object spins or is symmetrically arranged”?? The answer lies within the ancient texts! Well… sort of. You see, the name axis originates from Pliny the Elder (English /ˈplɪ.ni ði ˈɛl.də(ɹ)/; Gāius Plīnius Secundus; /ˈɡäː.ɪ.ʊs ˈpliː.nɪ.ʊs sɛˈkʊn.dʊs/), who describes the deer in his encyclopædic Nātūrālis Historia (AD 77〜79; /näː.tuːˈräː.lɪs hɪsˈtɔ.rɪ.ä/; “Natural History”).

Of course, Nātūrālis Historia is written in Classical Latin, which I can’t read. 😢 Luckily for me, Wikipedia links to a 1940 English translation by Harris Rackham. 🙂 The relevant passage is §XXXI from book VIII, which I’ve reproduced here (highlighting mine):

XXXI. He says that in India there are also oxen with solid hoofs and one horn,[a] and a wild animal, named axis,[b] with the hide of a fawn but with more spots and whiter ones, belonging to the ritual of Father Liber (the Orsaean Indians hunt monkeys that are a bright white all over the body)[c]; but that the fiercest animal is the unicorn, which in the rest of the body resembles a horse, but in the head a stag, in the feet an elephant, and in the tail a boar, and has a deep bellow, and a single black horn three feet long projecting from the middle of the forehead. They say that it is impossible to capture this animal alive.

  1. [↑] Again an echo of the rhinoceros, confused with the antelope; and the same hybrid in a more lurid shape recurs below in the unicorn.
  2. [↑] Possibly a spotted deer of India.
  3. [↑] Mayhoff notes that this sentence looks as if wrongly inserted here.

As you can see, Pliny is describing a bunch of different beasts over the course of a giant run-on sentence: oxen with a single horn, a fawn-like spotted wild animal, bright white monkeys, impossibly dangerous unicorns… Lots of crazy animals in India! But his brief description of the so-called axis is indeed accurate to what we now know as the chital: a modestly-sized deer with lots of bright white spots. Even so, I really have no idea where he’s getting “axis” from. As far as I know (please do correct me if I’m wrong!), there’s no Sanskrit word/root that stands as a plausible origin, although I suppose it could be from Telugu or something…

But, speaking of Sanskrit and of “lots of bright white spots”, the origin of chital is much more clear: Hindustani चीतल् (Urdu spelling ⁧چِیتل⁩; ⟨cītal⟩; /ˈt͜ʃiː.təl/), which is ultimately from Sanskrit चित्र (⟨citra⟩; /ˈt͜ɕɪt.ɾɐ/) in the sense of “variegated, spotted, speckled”. This Sanskrit word is also the source of Hindustani चीता (⁧چِیتا⁩; ⟨cītā⟩; /ˈt͜ʃiː.täː/), whence English cheetah (/ˈt͜ʃiː.tə/), also known for its distinctive spotted coat!

Beyond the 101st floor

I wasn’t sure if I’d see axisaxis again, until I went to LPQ on my DEX brawler LPQ/EPQ mule sorts, to help out fellow odd-jobber AdenosineIVP the blood spearman:

sorts is optimised for LPQ

Transcription of the above image

AdenosineIVP: but we dont have range

Ganja420: we have no range no?

AdenosineIVP: LOL

sorts: i am ranged

AdenosineIVP: you can hit?
box?

sorts: trust me

Ganja420: i trust


AdenosineIVP: omg
u so strong

sorts: :P

AdenosineIVP: CARRY US
sorts
are you a gunbrawler

sorts: nope
i’m a dex brawler [:

AdenosineIVP: :O
i’ve never met such a stronk oddjobber

sorts: this one is quite optimised for lpq haha

After I satisfactorily proved my rangèdness, I noticed that axisaxis, too, was doing her own fair share of LPQing:

axisaxis vs. the hidden LPQ eyeballs

axisaxis had precious little experience banding together with other adventurers, with the slight exception of the one or two KPQs that she did last time. It wasn’t long before her party members were similarly confused with respect to her character build:

whatchu doing for your page build?

Transcription of the above image

KARTOOON: whatchu doing for your page build?

axisaxis: me?

KARTOOON: ya

[redacted]: max luck is the usual build

axisaxis: im pure luk [:

KARTOOON: any[ ]one of the pages here.
luk ??

axisaxis: ya

[redacted] [buddy chat]: we do a little trolling

KARTOOON: what does luk do?

axisaxis [buddy chat]: oh im not trolling

axisaxis [party chat]: more acc and avoid [:

[redacted] [party chat]: so basically almost nothing

axisaxis: ok nerd

DeeeezNuts: lol

[redacted]: dont try this at home, kids

KARTOOON: hmm, im doing str
and some dex.
did i mess up ??

axisaxis: u can do whatever u want honey

axis was surprised to learn that her peers cared so greatly about her stats, but was unfazed by their flippant remarks & slights.

In any case, axis frequently found herself at the vanguard of her party, confidently standing toe to toe with the great clock-whale and pulling the rest of her party in tow:

axis whites Alishar and inadvertently levels without INT gear

Transcription of the text in the above image

[system message]: ⟨Party⟩ axisaxis has reached Lv.44.

axisaxis: fuc


[white EXP]: You have gained experience (+2987)

[yellow EXP]: Bonus EXP for PARTY (+597)

Of course, axis was disheartened to have levelled up immediately after felling the monstrous baleen, as she had grown accustomed to donning her scholarly pyjamas just before levelling, in lieu of actually reading books. She would need the wisdom to survive, although she wasn’t quite sure what “thinking PJs” had to do with sustaining physical punishment from her cartoonish enemies.

Worse yet, axis’s perplexity magnified when she was gifted a MapleTV Messenger by the Japanese “gashapon [ガシャポン], and found that it didn’t work:

You have been automatically banned from using smegas.

Transcription of the chatlog in the above image

[system message]: You have been automatically banned from using smegas. If you believe this is a mistake, please make a ban appeal on our forum..

axis had never used a “smega” before, so she supposed that she was simply ✨lucky✨ enough to draw the ire of the opaque machine that administered the MapleTVs that she saw tastelessly bedaubed across the land. At any rate, it seemed that the opaque machine soon reconsidered, wordlessly retracting its injunction — although, axis was no longer keen to test the machine again:

Your smega ability is now on.

Transcription of the above image

[system message]: Your smega ability is now on.
Your @gm has been marked resolved.

Taking on LPQ once more, axis joined forces with a fellow… peculiar individual, an overgrown beginner of the “Oddjobs” guild by the name of Leekree. axis supposed that Leekree hadn’t been wearing her own wardrobe of wisdom, as she was too terrified of the great whale to even come within sparring distance of its unnerving areolas:

Leekree

Transcription of the above image

Leekree: im gonna leave this one to ya’ll
if that guy so much as touches me with his pink nips, im dead

It was also at LPQ that axisaxis met a man of the cloth: BMWM4.

axis whites Alishar again…

BMWM4, which I can only assume stands for Rev. Bartholomew Myrindre Wilhelm Mourtenshire IV, took an interest in axisaxis after witnessing her slay the mighty clock-whale with nought but her mighty pinwheel. BMWM4 spoke of a fabulous quest very unlike þͤ olde LPQ in many ways, situated in a distant land — so distant, in fact, that axis & BMWM4 would need to suffer the agitations & mind-warpings of an experimental time-machine atop the Helios Tower spire, just to get there.

In & out the mists, purple, exuberant, dampen’d in the shade by the ever-crawling vines & the susurrations that they hear

axis would need to prepare herself, so she instead made her way to the opposite end of the Helios Tower, visiting a rural Korean hamlet to see what odd jobs the people there could task her with. She played courier between the brothers Chil Sung & Chil Nam. She helped Nolbu to hunt down, to plant, and to harvest, a magical seed of a gourd:

axis opening Nolbu’s gourd

And, when she felt ready, she made her way back up the Helios Tower, gingerly stepping through Karen’s admittedly dodgy-looking time-machine. What she found on the flip side of this machine was a dreary forest; rainy, but unlike any rainforest that axis had ever seen, or even heard of. Perhaps “dreary” is not the right word; the forest was shadowy and beset with a seemingly permanent rainy mist, but it was not without its chromaticity. Every beast & every vegetable — and everything in between… — seemed to effuse a subtle hue ranging from a deep — almost grey — purple, to the dank green of an artichoke, and every stygian shade in between.

axis decided that she liked this forest, and she took the short walk eastward into the Deep Fairy Forest to convene with BMWM4. It was there that they could take on the EPQ: a foggy course of trials full of poisonous quadrupedal trees, petrified caterpillars, baffling labyrinths, buck-toothed witches covered in poisonous vines, and an enchanted stone golem very unlike any golems that axis had ever seen in her time at Lūdibrium.

This golem was so powerful, in fact, that it stole away the lives of her comrades in arms, BMWM4 & MonkeyKya, in the blink of an eye — leaving axis alone to dispatch the golem herself:

R.I.P. BMWM4 & MonkeyKya

Having fallen to the poisonous stone golem once already, MonkeyKya was nevertheless undaunted. Still yet, the golem proved its tyrannous might, sapping the precious resources & reserves of axis’s party:

DAGGER TIME

Transcription of the above image

23Flavors: no more arrows lmao

axisaxis: LOL

MonkeyKya: LOL

23Flavors: alright

MonkeyKya: i ran out [of] all cures

23Flavors: DAGGER TIME
YEA
thatll show em

Even axis’s mighty crossbowman companion, 23Flavors, was reduced to no more than a rusty old Razor.

In spite of the adversity, axis powered onwards, proclaiming victory over the golem alongside BMWM4, spearman Shinvalor, and infamous assassin SuperLuck (Lvl1Crook, Level1Crook, xXCrookXx):

SuperLuck, axisaxis, BMWM4, & Shinvalor vs. BBRG

Even here, axis found that her party members took great interest in her constitution:

more gach

Transcription of the above image

Shinvalor: how much dex u have

axisaxis: me?

Shinvalor: yea

axisaxis: 4 base

Shinvalor: wtf
how u not missing

axisaxis: 181 base luk

Shinvalor: why

axisaxis: im lucky

Shinvalor: :/
why add luk

axisaxis: more gach

Shinvalor: is that true lol

axisaxis: no

But axis insisted that her prowess was inexplicable:

faith and willpower

Transcription of the above image

Shinvalor: how the hell u doing dmg with 35 str

axisaxis: faith
and willpower

And she came to learn that there really is some witchcraft affecting these forests; some of the monsters that she Threatened appeared to not exist at all:

Phantom Threaten

Being the man of god that BMWM4 is, he wanted to make sure that we weren’t naming any briny fruits in vain:

p*ckles

Transcription of the above image

BMWM4: [I] dc/ed .. [sic]

Shinvalor: wait

AcidEater: f

Shinvalor: he dc?

AcidEater: ye

Shinvalor: rip

axisaxis: rest in pickles :/

BMWM4: is that a bad word ?

Shinvalor: u have my approval
say as much as u want
go wild

BMWM4:

axisaxis: p*ckles

Shinvalor: bmw [is] offline

AcidEater: yea guess he got tired

Shinvalor: he didnt say shet
maybe dc?

axisaxis: probably logged off to go eat p*ckles

Perhaps he prefers “gherkin”…?

axis was fatigued of nerd advice from nerds saying to “add INT”, and decided to offer her own advice as well:

whats so funny

Transcription of the above image

Hardlyknower: nah as a war you have extra int for extra mp
put 1 pt into hp rest into str or w/e
then wash ur extra mp into ur str
to make it back

Shinvalor: yea im doing that now

axisaxis: or just

Shinvalor: so hard to get nx

axisaxis: put all ur AP into LUK

Hardlyknower: xD

Shinvalor: shh

axisaxis: whats so funny

Even after the p*ckles incident, axis’s party continued to have vocabulary troubles:

cgn

Transcription of the above image

axisaxis: are we d

Hardlyknower: n

axisaxis: does that stand for
neutral

Hardlyknower: neurosynapsy

axisaxis: oh ofc

Hardlyknower: ofc ofc

axisaxis: cool great nice
or
cgn
as the kids call it these days

Shinvalor: are u 40

axisaxis: 40 what
rods to the hog’s head[5]?

Infinite snow, infinite weald, infinite orogeny, infinite vulkanism

In any event, axis was feeling very strong indeed, after so many EPQs building her character & honing her skills. She knew, even as a wee fawn, that the snowy town of El Nath [⁧النَّطْح⁩] was home to the most powerful instructors in all the land. El Nath was the place where you go to prove your worth, and axis was ready for her first real test, given to her by Tylus, wisest of all warriors. She had slain the almighty poison golem herself numerous times now, so what was a little spelunking in the mouth of an active volcano? Nothing, that’s what.

axis is a page.

Of course, to enter the mouth, she would first need to scale the spine. The El Nath mountains may be unboundedly tall & unboundedly treacherous, but somehow the snow-clad softwoods are yet more towering, providing an eerie adumbration, and breaking the line of sight of the audacious mountaineer. axis braved the journey up the base of the mountain, and was thus enveloped in this strange interstitial realm between the base & the peak, surrounded by so many sharp tongues of the cliff faces, and cloaked in the arboreal wrapping of the impossibly tall trees surrounding her in every possible direction.

axis scales the El Nath mountains

The path along the vertebræ of the mountain was quiet. There was something unnaturally still about this interstitium. Maybe it was the fleecy trees muffling all sound, or perhaps simply that no one else would be so foolhardy as to try to scale this mountain themself. Either way, axis could hear with painful clarity every tiny scrape of claw meeting rock & every little sputter of her own mouth as she scrambled up yet another precarious ledge.

The claws were not hers, of course; the wolves of the snow and the burly bipedal lycanthropes patrolled the shelves of the mountainside endlessly, presumably in search of something to eat. axis tried to decrease her appeal by smearing herself with earthy-smelling Red Bean Porridge [팥죽patjuk⟩ /pʰɐtʰ.t͜ɕuk/] (a local staple that helps to combat the cold weather, generally left unsweetened, unlike 팥소patso⟩ /pʰɐtʰ.so/), fabled for its ability to ward off malefic spirits — but the canines seemed to hardly notice her presence anyway.

Having finally reached the mountain ridge, axis was exhausted; but her trials had only begun. Or rather, they hadn’t begun at all; she still had to make it across the Forest of Dead Trees, down through the Dead Mine, directly down the towering Passage, & through The Caves of Trial, before even beginning the first real trial.

Luckily, axis had been warned about the Forest of Dead Trees & the Dead Mine; she knew that they would be home to the walking dead. Pinching her nostrils together with a pair of digits, she ran through these places, not giving the lethargic zombies enough time to get their putrid rotting corpses anywhere near her.

Having carefully descended through The Passage, axis needed only to pass through the Caves of Trial to finally meet the fabled Adobis. In moving from the base of The Passage into the first Cave of Trial, axis noticed a clear change of atmosphere. The unnatural stillness of the mountainside had given way to the gentle echoing of zombies shuffling & groaning in the open air, which in turn gave way to that same undead din chambered in a stony mine-tunnel, accompanied only by the occasional metallic clanking or the flap of a Flyeye’s wing. Now, however, the undead could no longer be heard.

Instead, axis was confronted with geological reality: the vulcanism of the El Nath mountain range was now apparent. Indeed, it was more than apparent; the earthly furnace so oppressed the very atmosphere of the cave that sounds themselves seemed less distinct — the gentle convection of the air and the sludgy popping & roiling of magma were the only things left. Even so, axis trudged onwards, determined to reach The Door to Zakum. Even more canines greeted her on her way through these caves, but axis was no longer afraid of big dogs.

Perīcula Adōbidis

Meeting Adobis in person at long last, axis was given her first real trial: to unlock a giant chest buried in a labyrinth of mineshafts, to bring back the Fire Ore encased within. axis found that Adobis was very much not lying when he described the area as a labyrinth. Indeed, the labyrinth even played nasty tricks on axis, throwing her back to the start as punishment for seeking keys. Eventually, however, axis had exhausted the key-bearing surface of the maze, and brought her hard-won keys to the giant chest:

axis solos the first Zakum prequest

The second trial was perhaps even more wicked. Although there were no mazes this time, axis was plunged once again into the belly of the volcano, to suffer what could only be described as a nefariously-constructed obstacle course of painfully tiny rocks and metal chains. Flaming clusters of magmatic rock hurtled to & fro as razor-sharp chunks of cave wall fell down over axis’s head, all suspended above an unforgiving pool of pure magma.

axis vs. Zakum JQ

axis had been traumatised by this minutely-crafted slice of hell in a past life, and she wasn’t going to let it stop her this time. After crying just a little bit, she moved on, and used her knowledge of dastardly lithological scumbaggery to successfully complete the obstacle course without too much trouble.

Considering the increase in wickedness from the first trial to the second, axis was expecting the third & final trial to be terrible indeed. To her pleasant surprise, however, all that Adobis asked for was two or three dozen loose gold teeth from the zombies in the Dead Mine. axis knew that there were plenty of those zombies crawling around, so it probably wouldn’t be too hard to shake a few gold teeth out of ’em. That being said, axis was not keen to get anywhere near those fetid sacks of rotting flesh, so she instead opted to make use of all those points invested into LUK.

She knew that there were cave farmers adapted to the Dead Mine life, and all that she had to do was wait to come across one of them. After a bit of wandering and some patience, axis came across a cave farmer, and used her roguish charm to convince the farmer to sell thirty gold teeth to her, in exchange for a fat stack of useless mesos. axis never much liked mesos anyways, so she was glad to be rid of them.

Adobis was surprised to see axis back so soon with the gold teeth, but nevertheless gave her the Eye of Fire, as promised. In a grave tone, Adobis issued a warning to axis as he placed the Eye into her grasp: laying the Eye upon the altar would summon the incredibly dangerous statue of the Zaqqūm [⁧زَقُّوم⁩] tree. Even if axis were far stronger than she appeared, she would need a full party to have any hope of prevailing over the statue and its dark magicks.

First mission

But axis was not concerned. If she could buy a couple of gold teeth off of a random cave farmer, then she could convince a band of strong Zaqqūm-vanquishing adventurers to let her go along for the ride, as well. With some patience, she found exactly such a band of adventurers. Indeed, it was at this point that my path fatefully crossed with axis’s once again: that band was exactly the one that you saw in the “Holy order” section above.

As luck would have it, axis obtained a very nice Zhelm as a result — and a nifty Zakum Chair, to boot!:

axis’s Zhelm!

Transcription of the above image

Zakum Helmet

One of a kind Item, Untradeable

  • Req lev: 50
  • Category: hat
  • STR: +17
  • DEX: +17
  • INT: +16
  • LUK: +14
  • Weapon def.: 150
  • Magic def.: 146
  • Accuracy: +20
  • Avoidability: +20
  • Number of upgrades available: 10

With this stony cage wrapped around her skull, axis was emboldened to return to the Ellin Forest — crossing through the dodgy time-machine once again — and join her peers in the pursuit of EPQs. A very special pair of earrings awaits…

Footnotes for “A most auspicious star, whose influence if now I court not, but omit, my fortunes will ever after droop”

  1. [↑] See also: Type theory.

  2. [↑] I will use 𝑥 to denote the truncation of the real number 𝑥.

  3. [↑] Pun intended.

  4. [↑] See the footnotes (which are not scrambled) for “A. axis” in the previous diary entry.

  5. [↑] This particular rendition of the phrase (“40 rods to the hog’s head”) is from Tera Melos’s “40 Rods to the Hog’s Head”, the second track of Drugs to the Dear Youth (2007-01; self-released). The title of the musical piece is itself a malaprop of a quotation from the Abe Simpson character on The Simpsons, in season 6, episode 18: “A Star Is Burns” (aired 1995-03-05; Fox).

    The metric system is the tool of the devil! My car gets forty rods to the hogshead, and that’s the way I likes it!

    Much to Abe’s chagrin, we can convert this value into SI units. Of course, as you probably anticipated, this is complicated by the fact that neither the rod (sometimes also pole, perch, or lug) nor the hogshead (unit symbol ⟨hhd⟩) are consistently defined. The rod varies extremely widely between its definitions, but given that The Simpsons takes place in the United States sometime during the 20th century, a rod should be exactly 16.5 U.S. survey feet, which in turn is about ≈5.03⁢ m. The hogshead is slipperier, but the English Wikipedia article suggests that it would probably be 63 U.S. liquid gallons in this context, which is roughly ≈238.5⁢ L.

    40⁢ rod⧸hhd, then, is roughly ≈0.843 5⁢ m⧸L. This would imply that Abe’s car would need, on average, about ≈1 185⁢ L of petrol to travel just one (1) kilometre. Ouf……

In Scythia there is a beast called tarandus, which chaungeth likewise colour as the chamæleon

Welcome back to tarand. I mean, tarandos. I mean… parandros. Oh, now I’m confused. Don’t tell me that Pliny the Elder guy had something to do with this, too…

LII. The reindeer of Scythia also changes its colours, but none other of the fur-clad animals does so except the Indian wolf, which is reported to have a mane on the neck. For the jackal — which is a kind of wolf, longer in the body and differing in the shortness of the legs, quick in its spring, living by hunting, harmless to man — changes its raiment though not its colour, being shaggy through the winter but naked in summer. The reindeer is the size of an ox; its head is larger than that of a stag but not unlike it; it has branching horns, cloven hooves, and a fleece as shaggy as a bear’s but, when it happens to be self-coloured, resembling an ass’s coat. The hide is so hard that they use it for making cuirasses. When alarmed it imitates the colours of all the trees, bushes and flowers and places where it lurks,[a] and consequently is rarely caught. It would be surprising that its body has such variety of character, but it is more surprising that even its fleece has.

  1. [↑] This is not true.

I love how the translator (Harris Rackham) just calls Pliny out on his bullshit here. A reindeer that spontaneously changes the colour of its fur to match the appearance of its surroundings? Mmmmmm… I don’t think so. Pliny discusses chamaeleons in the section immediately prior to this one (§LI), and I think that the mere existence of chamaeleons probably disposed Pliny to credulously believe Aristotle’s description of the tárandos.

In any case, I personally have no chamaeleon-like ability to change colour, so it’s strange to think that this is where my pugilist tarandus’s name ultimately comes from. Then again, I suppose that between her ordinary form, Transformation, Super Transformation, and Oak Barrel, tara technically does have the ability to change colours. Not exactly to match her surroundings, but, you know… it’s something.

As you’ll see in the “Lady Palmation” section below, I did a bunch of card-hunting on my daggerlord alces. Well, I just so happened to be logged into tara at a time when corsair Danger was giving away ⚠️⚠️⚠️FREE CARDS⚠️⚠️⚠️ in the process of giving leech.

Oh, yes! You don’t have to be spamming a mage ult to give leech, you know? Heck, remember that one time I sold leech? In the “cervine on the home stretch” section of pt. lxxx? That was Ice Strike leech!! Of course, corsair leech is far more competitive, and they even have their own fair share of “mage ult” action!

At first, Danger was giving Peach Monke leech at Peach Farm1 [sic]. Although it might seem like an odd choice in a context where GS2 also exists (Peach Monkes are level 62, & Slimies are level 63), it’s actually a somewhat well-known leech spot that has its own perks.

Then, it was off to Lower Ascent (“LA”) for WR leech. I was still working on the previous diary entry at this time, so I was just chilling and AFKing pretty much. Once I had grabbed up four or five excess WR cards and finished the WR set, Danger offered to help me get the other Crimsonwood Mountain sets as well! The badges are useful for the Crimsonwood exchange, so why not.

I strapped on my equips, and we went into the Cavern of Fear to hunt some Stormbreakers and Firebrands:

tarandus & Danger at the Cavern of Fear

And we even went to The Wrath of Night to do the Nightshadow set:

tara & Danger vs. Nightshadows

All in all, tara got quite a few nifty sets here, which is really going to help jumpstarting her card-hunting journey, in addition to all of the cards (mostly incomplete sets) acquired from questing!

Ah, but where is the questing? The people crave Questin’ With tara™ (I assume… I dunno), so let’s give the people what they want!! Okay, there’s not that much questing, but I did do a little bit. Including finishing up the Bergamot prequests! I started these last time, and finished them up this time by getting a Calculating Domino from the monsters in Odaiba [(だい)()] in the year 2100:

Calculating Domino get!

Last time, I commented on the other quest ETC items — the Conductive Polymer Gain & the Macromolecule Actualater — noting that they are derived from real terms: conductive polymer, & macromolecule + (a corruption of) actuator, respectively. This time, it looks like maybe it’s supposed to be a microcontroller or microprocessor of some kind, especially considering the use of the term calculating — after all, calculating is what processors are for, right?

And I’m not sure, but I suspect that the word domino here is a playful extension of the term die, meaning “a chunk of semiconductor (usually silicon) onto which an integrated circuit is fabricated”. The use of die in this context is from both the verb & noun senses: “dicing up a semiconductor wafer into many dice”. But the original sense in English is that of a playing die (which was then pluralised as dice), generally a cube with pips on each side which number the sides from 1 to 6, such that opposite sides always sum to 7.[1] The term domino is etymologically unrelated, but the idea is very similar: implements used for playing games, which have square “faces” (which in the case of dominoes are generally coplanar) marked by a handful of (again usually up to 6) pips.

Of course, now that I had finished the Berga prequests, I needed to kill Berga itself… Berga is level 168(!), and I don’t even have enough MAXHP to survive several of its attacks, so I won’t be doing that in earnest quite yet. I can, however, tag along for a Berga run and get the quest completion that way! So that’s exactly what I did (see the “ˈɹ̠ʷuː.sə” section below): I duo Berga on my darksterity knight rusa with shadower Harlez (VigiI, Murhata) fairly frequently, so I just had to take tara along for the quest completion… and the sweet, sweet SI. 😎

tara might not be able to withstand some of Berga’s attacks, but if she cowers in the far bottom-left corner of the map, the only thing that really threatens her is the dispel laser that the first & second bodies use. This can be dodged by simply crouching (read: holding ), or even by using a Rainbow-colored Snail Shell (dropped by Mano) to turn into snayl. Since I’m controlling rusa, and I don’t have any psychedelic snail shells, my best bet is just tanking the laser damage. Thankfully, the laser can’t really deal more than like ≈8k damage at a time, but that also means that I pretty much need to have PEs on pet autopot.

In any case, it worked, which means that tara is now past the “kill Bergamot” quest, and means that tara is now a functional SI mule for Bergamot. [':

I also had the pleasure of doing my first-ever 7 F session on tara! As discussed in past diary entries, I decided on a “bossing-first” — meaning “Demo-first” — SP build for tara, which means that she’s not really built for grinding many monsters at once — at least, not yet. Nevertheless, Demo can be fairly useful at 7 F thanks to the extreme chunkiness of the monsters there, and my EB is still quite powerful. So, when I had GM buffs, Harlez offered to do 60 minutes of 7 F with me!:

tara & Harlez duoing 7 F on GM buffs

Transcription of the chatlog in the above image

[system message]: tarandus — Lv.131 Buccaneer — Total EXP: 5,126,114 (9.59%)
EXP Per Hour: 30,756,660 — EXP Per Minute: 512,611

Wew! Needless to say, 30.8M EPH is quite a lot at this level! Of course, I would be getting quite a bit more if I were playing rusa instead, but that should come as no surprise — rusa really shreds ’em up on this map.

And naturally, I hit level 132!:

tara hits level 132~!

With another level under my belt, I later did a bit of RavPapping as well, and noticed something a bit different:

tara & Harlez vs. Rav

Transcription of the chatlog in the above image

tarandus: o i actually kb sometimes
wot da

Yeah! With my Demo being so high-level now, I actually knock Rav back (meaning a ≥10k-damage line) fairly often with it, even on just Cider!!

Now that I was feeling really strong, I offered to duo Ravana with level 116 INTlaw Lvl1Crook (Level1Crook, xXCrookXx, SuperLuck), if he was keen on doing something that wasn’t CDs for a change…

i cant believe you bring so many mules

Transcription of the above image

Lvl1Crook: i cant believe you bring so many mules
do you hate yourself

capreolina: literally
self loathjing [sic]

Yeah… So… I admit to taking “the whole herd” to help with buffs for Rav fights sometimes. Although I was only attacking on tara, I took along rusa for the MW20, HB, & IW; my STR bishop cervid for the HS, Bless, & potentially (hopefully not) Resurrection; as well as my woodsmaster capreolina for the SE. Ahem.

So we gave it a go, and I started by popping an Onyx Apple into my mouth and TLing my ST:

tara & Lvl1Crook vs. the Ravana

And… it went pretty well.

Super Transform is broken

Transcription of the above image

[Echo of Hero, SE, Onyx Apple, MW20, ST, SI, & HB buffs]

[raw damage range]: 751〜6 307


[system message]: tarandus — Lv.132 Buccaneer — Total Damage: 3,628,270
Damage Per Hour: 217,696,200 — Damage Per Minute: 3,628,270

Lvl1Crook: u should make an entry about why super transform is broken

tarandus: LMAO

🙂 Goodbye, Rāvaṇa’s HP bar; I hardly knew ye. The Onyx Apple lasts for ten minutes, and by the end of it, Rav is getting pretty close to 0 HP. Maybe a few minutes more of Cidering at most, and there you have it!

Of course, this is a little more painful when I’m popping apples and bringing in three buff mules. So Lvl1Crook switched to his marksman, Level1Crook:

Level1Crook & tarandus vs. Rav

Transcription of the chatlog in the above image

Level1Crook: whats up wtih [sic] the random 1s

tarandus: im too epic
so the dmg overflows

Ah yes, the joys of the pugilist. One of the only jobs with less stable damage than a STRginner! [':

Since Level1Crook had been away for a while, he reflected on tara’s journey — particularly, on her rapid ascent — during the time that he’d taken a break from the game:

i remember when tara was just a lil shithead

Transcription of the chatlog in the above image

Level1Crook: i remember when tara was just a lil shithead

tarandus: LOL

And later, we decided to do a little Boyfriend Bigfoot murdering, as well:

Level1Crook & tara vs. Bigfeeties

But never fear — a little more Questin’ With tara™ is here! Now that I had cleared Bergamot, it was time to farm for a Twisted Radar from the Prototype Lords at an unnamed Japanese park in the year 2095:

Harlez & tara vs. Prototype Lords

Transcription of the chatlog in the above image

[system message]: [Prototype Lord Card] has been successfully recorded on the Monster Book. — (5⧸5)

tarandus: ez set

Indeed, Prototype Lords are perhaps one of the easiest card sets in the entire game! But getting a Twisted Radar is a little trickier. Thankfully, tara was actually extremely lucky with this quest, and got one after not too long of farming with Harlez:

Twisted Radar get!

Tune in next time for — hopefully — more Questin’ With tara™! Mayhaps some NTPQ…? [:

Footnotes for “In Scythia there is a beast called tarandus, which chaungeth likewise colour as the chamæleon”

  1. [↑] die as in “to stop being alive” is unrelated: from PGmc *dawjaną “to die”. PGmc had two distinct words with the general meaning “to die”, the other being *sweltaną, whence OldE sweltan “to die”, which was displaced by die and only barely survived into EModE as the now-obsolete swelt “to die”.

ˈɹ̠ʷuː.sə

As usual, I did a wee lil bit o’ bossin’ on my darksterity knight rusa. As mentioned in the “In Scythia there is a beast called tarandus, which chaungeth likewise colour as the chamæleon” section above, I mentioned duoing Burger Moth with shadower Harlez (VigiI, Murhata). Here’s video from one such run, where I was having internet problems, and Harlez clipped a video of me reconnecting to the server after like half a minute or something (LOL):

Wowza! That’s a lot of Crushers, all at once. Truly, fearsome.

And in another Berga run, I finally got my very own Bergamot Chair!!:

Bergamot chair get!!!

Honestly, the chair must be pretty damn rare for me to only be getting one now. So many Burger Moths slain… I have 128 Berga entries at the time of this writing!

Bergamot chairs 😎

Oh, and in the Berga run where we got tara her quest completion, rusa hit level 182!!!:

rusa hits level 182!!!

And finally, there was one very strange run that I did where I died during the first body fight. Although this is certainly unusual, you might reasonably suppose that there’s some kind of explanation. But you would be wrong about that! You see, at the time that I died, I certainly had at least ≥9k HP remaining (likely significantly more), and I was quite sure that I had activated my Berserk (see the “DK rev. 3” section of pt. xcix of this diary). My Berserk being active could be called into question if it weren’t for the fact that its cooldown still had somewhere between 100% and 95% remaining at the time that I was actually slain; the duration is 30 seconds, the cooldown is 60, and it’s not even dispellable, for that matter. Looking back at the replay on Harlez’s end, you can clearly see the attack that killed me dealing over 10k damage to me, instantly slaying me despite me having Zerk active. Looks like another rev. 3 Zerk bug (or perhaps Bergamot bug?) to add to the list… 😅

I also did a little more Nameless Magic Monster duoing with marksman xBowtjuhNL (PriestjuhNL). Unfortunately, in spite of our sweat-drenched efforts (well, at least I’m drenched in sweat — I think it’s mostly “AFK” for xBowtjuhNL…), we continue to be rewarded only with poverty. And I do mean poverty…:

The actual worst drops.

Transcription of the chatlog in the above image

rusa: wat.

xBowtjuhNL: lol

You ever spend 45 minutes killing an NMM, only for it to literally drop a Battle Hammer, a Blue Marine, and nothing else whatsoever? ._.

But of course, it wouldn’t be another episode of Bossin’ With rusa™ if there were no Horntail, yeah? Here’s a screenshot from a run that I did — as sed target, as usual — where we accidentally triggered right arm’s mass sed a little too early…:

Right arm dead, right head alive…

As you can see, although the mid & left heads were dead already, right head was still alive, and so we opted to simply focus the right arm and kill it before right head. In some situations, you’d try to avoid triggering the problematic arm altogether, once you realise it’s in mass sed range, but that’s not an option here; not triggering right arm would mean that no one could go to the right-hand half of the map, which would mean not being able to attack the only live head

Lady Palmation

In the previous diary entry, I (finally!) got my darksterity knight rusa to tier 10 on her Monster Book Ring. That’s my second T10 (after that of my woodsmaster capreolina), and I have quite a number of other Monster Book Rings as well. Of course, the rest are not T10… In the case of my Vicloc dagger spearwoman d34r, her T2 is effectively T10 insofar as T2 is the highest achievable tier for Viclockers. But I have a lot (a lot) of characters, and many of them naturally want the nifty stats provided by the ring, which puts me in the difficult position of “how do I even begin to grind cards for my 82 864 869 804 characters, especially when I don’t even particularly like card-hunting, nor even know which characters I want to play?”! It’s a bit of a mouthful, but rest assured that I’ve given you The Short Version™ here.

Put simply, my answer to this question is frequently just… to not card-hunt. Card-hunting is merely one (1) of a seemingly nigh limitless set of possible activities that one might enjoy engaging in, within the context of MapleStory — and in many (most?) versions of the game, it’s not even a thing! But I can enjoy card-hunting, when I have the motivation, and get into the groove of it. Moreover, perhaps the greatest virtue of card-hunting is its nigh nonexistent set of requirements: Can you kill monsters? You’re hired. You’re level 𝑛? Sounds like a level to me. Don’t have any friends to party with? No problem.

You know, sometimes I want to play MapleStory, but no one wants to play MapleStory with me. Then what? Well, maybe sometimes the answer is “card-hunting”…

Long story short, I mostly narrowed my scope down to the two characters that I most recently began my 4th-job journeys with: my shield bucc tarandus, & my daggerlord alces. On the one hand, I think that tara is a character who I’m going to be playing a lot: she’s very versatile, does heaps of damage, has fun stuff to offer her party (particularly SI & TL, but also fun bullying skills like CSB & Barrage, etc.), is quite survivable, and is on a quest to do all of the quests! On the other hand, alces is as Double Stabby as ever, which doesn’t “scale” super well (see the “Cool grades” section above); she lacks the versatility & party utility of tara; and she’s not nearly as survivable, either. To make matters worse, alces is on the same account as rusa, making it more difficult to motivate playing her — especially when that means not having access to rusa’s buddy list. That being said, alces has a lot more to gain from the Monster Book Ring: she benefits hugely from three out of the four main stats (viz. STR, DEX, & LUK) — especially compared to tara, who really mostly needs WATK, not stats — and she needs the MAXHP much more than tara does. alces can’t even survive Rav nor Pap without a good ring! So maybe card-hunting is a good excuse to get some gameplay out of my girl alces. [:

Of course, if you’ve read past diary entries, then you might recall my disappointment upon finally unlocking Ninja Ambush for alces. I knew, long in advance, that it wasn’t going to do much damage at all. But I didn’t really care, because I just wanted to have a multi-target attack that wasn’t SW. Don’t get me wrong; SW is great. But its damage is based on the victim’s MAXHP, hence its inability to last-hit monsters, hence I mostly use it for its ability to hold monsters in place. Then I found out that, in addition to being way too much of a pain in the arse to actually connect it with its intended targets, Ninja Ambush actually can’t last-hit either! Hahaha!!! So I really have no use for it, although it is a bit of fun to look at.

What does that mean for alces now? Well, it means that her card-hunting is going to look like a whole lot of Double Stabbing, a lot of FJing, and that’s pretty much it. If this sounds excessively masochistic to you, welcome to my diary! I hope you’re enjoying what you’re reading. [: More seriously, it is going to be slower & more painful than the card grind that I did on rusa, or even on capreolina, for sure. But we’ll see how it goes, and we’re gonna start with a little warm-up, since I’m already in NLC anyways: “Urban Jungle — Continued”.

alces doing “Urban Jungle — Continued”

Naturally, none of the 100〜110 Wolf Spiders that I killed to complete this quest dropped any cards, so it’s not a great start. But I did get a bit of fame, some tasty Leaf Crystals, and let’s be real — Wolf Spiders don’t drop cards, anyways! It’s a myth!! A legend!!!

In any case, one other markèd virtue of card-hunting is the travel & the sight-seeing. In the pursuit of cards, cards, & more cards, the card-hunter travels far & wide, making their way into every habitat of every monster species that is a suspected card-dropper. When we did some card-hunting with alces last time — particularly the “all says” section of pt. xcvii, wherein I card-hunted with dagger sader inject, but also the “alces my beloved” section of pt. xcviii — we left off somewhere in Magatia, the dusky reaches of the Nihal Desert, & the alchemy capital of the Maple world. However, since I was going to have to pass through Victoria anyways, it was time to go back and finish up the last few “easy” Victorian card sets that I accidentally forgot last time: those of Florina Beach.

At Lorang Lorang — and also Lorang Lorang Lorang, but mostly Lorang Lorang — I did…

Lorang card get!

You guessed it. The Lorang set.

I had, however, already completed the card set of their more yellowish-brown cousins, the Clangs. I’m not sure how, but maybe I was just a bit lucky when I came here to do some of the quests! So I really just needed the Tortie set, which meant hunting at Hot Sand:

Tortie card get!

Whilst I was hunting there, I accidentally rested my hoof a bit too heavily upon the up arrow key (), and was surprised to see myself teleported to another part of the map! I checked BBB Hidden Street, and it didn’t have any information on these intra-map teleporters. So I found them all myself:

Hot Sand minimap

Zoomed & cropped version of the above minimap

Hot Sand minimap ×4

I apologise for my terrible arrows (arrows are difficult at such a low resolution!!), but hopefully you can see that there are two series of teleporters here, one on the left, and one on the right. Each series has four teleporters, and leads upwards to the same point at the top of the map (which is not itself a teleporter). The locations of the teleporters can be seen in the minimap that I’ve provided, but they are also subtly visually indicated in-game. Most of them are little trees that look like this…:

Hot Sand little tree

…With the exception of the teleporter in the bottom-right, which is instead indicated by a treasure chest lodged in the sand:

Hot Sand treasure chest

Neat, right…? Hot Sand? More like 🔥🔥hot grinding spot🔥🔥!!

Anywho, with the Tortie set completed, I jumped back to Magatia to continue the hunt there. I invited myself into Area B-1 of the Alcadno Research Institute to finish up the Mithril Mutæ[1] set:

Mithril Mutæ card get!

I decided to check up on the Security Camera at Authorised Personnel Only, and much to my pleasant surprise, I found some!:

Security Camera card get!

I even finished the whole Security Camera card set! Wowza!!

With the Mithril Mutæs done, then, I moved over to Area C-1 for the Roid set:

Roid card get!

Roids are weirdly cute, don’t you think? Where can I get a pet Roid?

And I did a lot of hanging out at Area C-3 (better known for being where D. Roy spawns) for the diaper robot set:

Neo Huroid card get!

Whilst I was there, I found out that they drop Silver Identities

alces finds a Silver Identity

Then, it was time for the highest-level Nihal Desert card sets. Naturally, I will be skipping the simply ridiculous ones like D. Roy, Homunscullo, & Kimera. But I headed over to the other side, to invade the Zenumist Research Institute (particularly Unit 201) and pilfer their Homun cards:

Homun card get!

Since I was already at Zenumist anyways, I checked on Deet and Roi a few times, finishing that set as well:

Deet & Roi card get!

Whilst hunting Homuns, I came across a Site card or two:

Site card get!

And later, I would finish this set at Authorised Personnel Only.

At this point, Sites have surely featured — by name, or otherwise — in my diary quite a few times. I’ve even remarked, in passing, on their peculiar name. How do you pronounce Site? Like the English site; /saɪ̯t/? Or perhaps more like /si.te/, as I suggested in the “rusasasasasasa” section of pt. c of this diary? And why are they called Cyti when you find them in MPQ? To answer these questions, we must go back to the source.

The source, of course, is KMS. Unlike regions of the game that are targeted towards particular regions IRL — e.g. Amoria (targeted at GMS) or Singapore — I suspect (key word “suspect”) that Nihal Desert probably just originated in the primary, Korean version of MapleStory. Looking at the KMS data, we immediately get the idea that the SiteCyti distinction is just a transliteration issue: both versions of the monster are called 사이티; ⟨Saiti⟩; /sɐ.i.tʰi/[2]. The English speaker is likely tempted to render this as /ˈsaɪ̯.ti/, but the Korean name actually has no diphthongs whatsoever. Korean syllable structure is « (C)(G)V(C) », meaning that the only diphthongs are of the form « GV », e.g. 별; ⟨byeol⟩; /pɭ/; “star [astronomic]; star [geometric]”. There’s hiatus between the /ɐ/ and the first /i/, making 사이티 three syllables (as reflected by its written form), rather than two.

I think that the ⟨Cyti⟩ spelling — putting aside the strange choice of ⟨C⟩ instead of just ⟨S⟩ — is more likely to get the English speaker closer to the intended pronunciation, although I do wonder why they didn’t just settle on ⟨Saiti⟩, considering that that’s how both Revised Romanisation and McCune–Reischauer do it (actually, McCune–Reischauer would be ⟨Saitʼi⟩). In any case, if you ever have a reason to say this monster species’s name out loud (unlikely…), try /sɐ.i.tʰi/! [:

Anyways, with the Saiti Site set all put together, I went to Unit 203 to do the Homunculus set…:

Homunculus card get!

…Which pretty much wrapped up all of the Nihal Desert sets that I’m willing to do. So… then what? Like with rusa, I’m going to be using the same card-hunting guide — at least for now — as a roadmap: GrayNimbus’s Card Hunting Guide: Get your Tier 10 Ring ASAP. I think that antibishop’s (NightlordHS) Card Hunt: Cheese your Tier 10 Monster Book Ring with a Bishop is also a valuable resource — especially as a second opinion — but it’s explicitly targeted at bishops[3] who are farming mostly or entirely with Genesis, which is basically the polar opposite of what I’m doing. And, although I kinda followed GrayNimbus’s guide with rusa, the order that she got card sets in was very unusual, and she hit tier 10 before getting to the later bits of the guide (actually, she didn’t even finish Victoria…).

Thus, after Nihal comes another “S”-tier locale: the Orbis Tower. Starting at the top, I did the Jr. Sentinel set…:

Jr. Sentinel card get!

…Followed by the Sr. Sentinel set:

Sentinel card get!

Going down to the 13th floor, I did the frosty Ice Sentinels as well:

Ice Sentinel card get!

And of course, where there’s smoke ice, there’s fire. Right? That’s how the saying goes…? Indeed, just two floors down, I did the Fire Sentinel set:

Fire Sentinel card get!

Going even further down, oddly enough, things start to get quite a bit snowier. Now, ordinarily, I associate snowiness with higher elevations, but I guess Orbis is above the clouds or whatever, so… sure. On the 7th floor, I did the Leatty set:

Leatty card get!

And, on the 3rd floor, the Dark Leatty set as well:

Dark Leatty card get!

And finally, on the 1st floor, the Jr. Pepe set:

Jr. Pepe card get!

Actually… wait. That’s not the bottom of the Orbis Tower! Descending through floor B1[4], I came to floor B2 for the Scuba Pepe set:

Scuba Pepe card get!

As soon as I hit that 5⧸5, I was greeted by a familiar lightbulb!:

💡

That’s tier 4 for alces 😎😎😎:

alces gets the Monster Book Ring ⟨Tier 4⟩!!

But that’s also the real end of the Orbis Tower. Short, but sweet. The next stop, according to my trusty roadmap, is yet another tower: the Eos Tower. This time, I’m going to start from the bottom and work my way up. That means starting on the 1st floor, with the Ratz set:

Ratz card get!

Whilst I was here farming Ratzes[5], I took a moment to admire the stoop of the Eos Tower as it descends to the western lake island of the Lūdus Lake.

World map of Lūdus Lake, for context

Lūdus Lake world map

The Eos Tower is all fun & games (quite literally), so it’s somewhat uncanny — if perhaps in a charmingly kitschy way — to see it in the context of the Omega Sector, which is otherwise exactly as described: the western lake island of the Lūdus Lake, complete with its own coniferous forest and, apparently, a mountain range.[6] Of course, there’s also the… slight detail of the Omega Sector being the site of an alien invasion, or whatever. But the view of the trees & mountains in the distance is really quite spectacular from the Eos Tower. I guess I just rarely notice how pretty the Omega Sector island is, what with all of the futuristic sci-fi architecture and alien shit lying around…

The Eos Stoop

Footnotes for “Lady Palmation”

  1. [↑] For the name of this monster species, see the footnotes for “alces my beloved” in pt. xcviii.

  2. [↑] Note that aspiration is distinctive (i.e. phonemic) in Korean. This is unlike English, which aspirates voiceless plosives in certain positions, but makes no distinctions on this basis, instead distinguishing between voiced & unvoiced.

  3. [↑] See footnote #2 of the “Wooza” section of pt. xciv of this diary.

  4. [↑] I can only assume that the ⟨B⟩ stands for “below”, “bottom”, “beneath”, “basement”, or similar. Notice that we go directly from floor 1 to floor B1; I’m reminded of the lack of a year zero in the Gregorian calendar

  5. [↑] Is Ratz the plural, too? Or maybe just *Ratzs?? Well, surely Ratz is /ɹæts/ (see: Xtreme Kool Letterz, but also some words of German/Yiddish origin e.g. waltz, quartz, putz, etc.). */-tz/ is… maybe possible(??), but certainly not in English. So it’s either invariant, or plural /ˈɹætsɪz/. So, you know, ⟨Ratzes⟩. The original Korean is clearly taken from the English rats: 라츠; ⟨Racheu⟩; /ɾɐ.t͜ɕʰɯ, nɐ.t͜ɕʰɯ/ (because this is an English loan, almost certainly /ɾ-/; however, word-initial ⟨ㄹ⟩ is normally /n-/ except before /i, j/).

    Then again, speaking of German origin… Ratz (/ʁats/) is an Upper (read: southern) German term meaning “rat”, of which the plural is Ratze (/ˈʁatsə/). Another fun option. You’re welcome. :)))

  6. [↑] If this strikes you as unlikely, consider real-life lake islands, which can be impressively large: Manitoulin Island (Ottawa: ᒪᓂᑝᐙᓕᓐᒃ; Manidwowaaling; /mnɪ.dwɑː.lɪŋg/), in Canada, is a lake island with a surface area of 2 766⁢ km2! That is a bit larger than Luxembourg, two or three times the combined land area of Hong Kong, or nearly four times the size of Singapore. [:

(…cnvpstdf…)

cnvpstdf

no wonder why your shit at jqs

Transcription of the above image

Level1Crook: do you use spacebar to jump

tarandus: yes

Level1Crook: no wonder why your [sic] shit at jqs

[CAPTCHA] Please click each image containing a Yoko

I’m still not entirely sure what this CAPTCHA (due to hCaptcha) is supposed to be asking for. This is likely somewhere in between human error (particularly, I assume that the word ⟨Yoko⟩ was entered by a human), and deep learning just generally being wacky nonsense — we can clearly see that all hCaptcha challenges are generated by a deep-learnt model, likely of the text-to-image variety.

My best guesses are that ⟨Yoko⟩ was either supposed to be ⟨yo-yo⟩ or ⟨yōko⟩. I’m leaning towards ⟨yo-yo⟩, but it’s concerningly much more different from ⟨Yoko⟩ than ⟨yōko⟩ is. The point of confusion is that, for this purpose — particularly, very low-resolution images generated by crappy text-to-image models for a CAPTCHA — yo-yos and yōkos actually look kinda similar. Both are roughly the same size (viz. the size of something held by, and operated by, the hand or hands of an individual human), and both have shapes defined by two twin circular heads that are parallel & separated by a rod that connects them.

The yo-yo is well-known by this name in English, although it long pre-dates this name, and was known in English as a bandalore prior to the introduction of Yo-yo™ as a commercial brand name sometime around 1915〜1928. Yo-yo is likely of Philippinic origin, perhaps Ilokano yóyo (/ˈjoː.jo/; “yo-yo”), which itself has been suggested as being Spanish in origin, or might be of native Philippinic origin — compare Tagalog iyó “you; your; yours” and its aphetic form ’yo.

The yōko is more obscure to the English speaker; this is the Romanised form of the Japanese (よう)() /jo̞ː.ko̞/. The term is traditional, as the drum was used for a now-extinct genre of dance-drama known as ()(がく) (gigaku; /gi.gä.kɯ̟ᵝ/). 腰鼓 is literally “hip, waist” + “drum”, and the same character sequence is used in Chinese writing with a similar meaning: (ㄠㄠ)(ㄍㄨˇ) (⟨yāogǔ⟩; Standard Beijing Mandarin /jau̯˥ku˨˩˦/). Nevertheless, yōko drums continue to be used in their modern forms, usually collectively referred to as (つづみ; ⟨tsuzumi⟩; /t͡sɯ̟ᵝ.zɯ̟ᵝ.mi/).

So… which one is it? Probably neither…