rangifer’s diary: pt. lxix (nice)
Taxonomising odd jobs, pt. iv: Microtaxonomy & encodings. §5
In the previous section (§4) of this part (pt. iv), I said:
With that in mind, and with some of the kinks having already been ironed out in the previous section, I want to start explicitly constructing the set that we’re after, element by element. Unfortunately, it seems that we need even more prelude here — we need to decide how to describe each odd job.
And so, the previous section was dedicated to one way(!) of formalising the answer to the question: “How do we give a description of an odd job?”. Putting aside the fact that we may (read: will) have to bend/modify that formalisation as we go forward, we can take that formalisation and indeed try to “explicitly construc[t] the set that we’re after, element by element”. But first, some modifications are in order (booooo!! I know, I know…):
Errata
“Primary stats, secondary stats”
Corrected version:
[…]
- A stat 𝑠 is “primary” for a job 𝑗 when one or more of the following are true:
- 𝑗 requires, by definition, […]
- 𝑗 has a location of “outland”, and 𝑚 is a mode of attacking that is a primary method of dealing damage for 𝑗 (many odd jobs have multiple such modes), and 𝑠 is the stat (out of all six stats) that contributes the most positively to 𝑚’s expected damage output. (In the case of a tie, all stats that are tied for first are considered primary stats.)
- 𝑗 does not have a location of “outland”, and 𝑚 is a mode of attacking that is a primary method of dealing damage for 𝑗 (many odd jobs have multiple such modes), and 𝑠 is the stat (out of all six stats) that contributes the most positively to 𝑚’s minimum per-attack damage output. (In the case of a tie, all stats that are tied for first are considered primary stats.)
- A stat 𝑠 is “secondary” for […]
[…]
There are two main differences between this version of the list found within “Primary stats, secondary stats”, and the original. One difference is the addition of “𝑗 has a location of ‘outland’, and” to the beginning of the second item of the first sublist. And the other difference is the addition of a third item to the first sublist. The reason for these additions is that, when considering outlanders, expected damage output is an appropriate single magnitude to look at when considering the magnitude of damage outputs in general. But, for non-outlanders (campers and islanders), this is no longer appropriate. These additions ensure that, instead, minimum per-attack damage is taken into consideration for non-outlanders.
In addition, within the second item of the first sublist, the wording related to ties is cleaned up, so as not to be unnecessarily complicated.
“Skills & attacks”
Corrected version:
[…]
𝑨𝒎𝒎𝒐(𝑗)
This predicate is satisfied iff 𝑗 is allowed to use ammunition. In this context, “ammunition” includes both physical items used as ammunition (arrows, stars, etc.) and virtual ammunition provided by skills like Soul Arrow, Shadow Stars, etc. Like with weapon constraints, the word “allowed” here is spiritual […]
[…]
This change clarifies the role that skills like Soul Arrow have in the 𝑨𝒎𝒎𝒐(𝑗) predicate.
The odd job universe (version 1.0.0)
NOTE: See the next diary entry for errata of the “odd job universe, version 1.0.0”.
I’ve taken what’s been discussed and worked on so far, and used it to write a single RON (Rusty Object Notation) file that defines/enumerates the universe of odd jobs that we want to consider. You can find said RON file here.
RON
For those not familiar with RON — which is probably most readers, as it doesn’t enjoy extreme popularity — it’s kind of like JSON, but modelled after the semantics (and syntax) of the Rust programming language, rather than those of the JavaScript programming language. RON is somewhat more complex than JSON, but not by much, and (in my highly biased opinion) fixes most, or all, of the issues of JSON as a format. For our purposes, RON allows us to:
- Cleanly express algebraic data types (viz. combinations
of products and
sums). This also includes using
proper option types instead of
arbitrary use of
null
. - Express proper lists, which are actually homogeneous. In JSON, for example, lists are heterogeneous, meaning that a single list can contain zero or more of any values whatsoever, even if those values are of mixed types. This makes JSON lists more like tuples… except that they don’t have a particular number nor ordering of their types… so they’re not really like tuples, either. This lack of structure is solved by RON’s homogeneous lists, combined with its algebraic data types.
- Get some syntactical niceties, like optional trailing commas, comments, etc.
If you wanna know more about RON, you can check out the associated GitHub™ repository.
Reading RON (visually)
Besides knowing the actual syntax of RON itself, you might want syntax highlighting to help read RON data with your eyeballs. Unfortunately, RON is not super widely-supported. However, you still have some options:
-
Get tooling for your editor of choice:
-
Use something that can already syntax highlight Rust code, as a shitty hack.
Option types
If you’re reading the raw RON, be sure not to get confused by the use of option
types. In Rust, Option
is defined like so:
enum Option<T> {
None,
Some(T),
}
If you’re more comfortable with the syntax of functional languages, this would instead look like (using Haskell-style notation):
data Option a = None | Some a
Which means that, when expressing the allowed non-zeroth-grade skills for a given job, we either want:
- a list of natural numbers representing a set of allowed skill IDs;
- or nothing at all, to represent “all skills”, i.e. no restrictions.
So, in the former case we have a value that looks like Some([ … ])
, and in
the latter case we have a value that looks like None
. So if you see something
like:
skills: None,
This does not mean that the job is not allowed to use skills at all. Quite the opposite; it can use any skills. If we wanted to express the inability to use non-zeroth-grade skills whatsoever (which is true for begunner), we would instead want:
skills: Some([]),
Product-of-sums
As per the previous section of this part, we are using a product of sums form to represent stat constraints. In the RON data, we represent this as a list of lists. We take the logical disjunction of each inner list, and then the logical conjunction of the outer list. Take gishlet for example, within whose definition we have:
constraints: [
[Ful(STR), Ful(DEX)],
[Ful(LUK)],
[Less(INT)],
],
Formally, this represents:
𝑯𝒂𝒔𝑮𝒊𝒔𝒉𝒍𝒆𝒕𝑺𝒕𝒂𝒕𝒔(𝑐) ≝ (𝑭𝒖𝒍(STR)(𝑐) ∨ 𝑭𝒖𝒍(DEX)(𝑐)) ∧ 𝑭𝒖𝒍(LUK)(𝑐) ∧ 𝑳𝒆𝒔𝒔(INT)(𝑐).
…Which defines a predicate 𝑯𝒂𝒔𝑮𝒊𝒔𝒉𝒍𝒆𝒕𝑺𝒕𝒂𝒕𝒔 that takes as its sole argument a PC named 𝑐, and is satisfied iff 𝑐 meets the stat requirements to be a gishlet.
Using the RON data
I made a smol library to handle this weirdly specific RON schema. You can find it here, but it’s probably not all that useful to look at or use. Instead, I intend to use the library to handle the odd-job-definition data within this diary. For starters, I spent absolutely way too long[1] writing a program that just spits out a Markdown table so that I could throw it in here. So here it is:
The odd job universe version 1.0.0, as an unreadably large table
name | classes | location | primary stats | secondary stats | stat constraints | allowed weapons | canonical weapons | ammo? | allowed skills |
---|---|---|---|---|---|---|---|---|---|
camper | beginner, noblesse, aran (beginner) | Camp | DEX | STR | [all] | one-handed swords, one-handed axes, one-handed BWs | yes | [all] | |
LUKlander | beginner | Maple Island | LUK, DEX, STR | 𝑷𝒖𝒓𝒆⁡(LUK) | claws | claws | yes | [all] | |
DEXlander | beginner | Maple Island | DEX | STR | 𝑷𝒖𝒓𝒆⁡(DEX) | [all] | one-handed swords, one-handed axes, one-handed BWs, daggers, polearms | yes | [all] |
STRlander | beginner | Maple Island | STR, DEX | 𝑷𝒖𝒓𝒆⁡(STR) | [all] | one-handed swords, one-handed axes, one-handed BWs, daggers, polearms | yes | [all] | |
hybridlander | beginner | Maple Island | DEX, STR, LUK | (𝑭𝒖𝒍⁡(STR) ∨ 𝑭𝒖𝒍⁡(DEX)) ∧ (𝑭𝒖𝒍⁡(DEX) ∨ 𝑭𝒖𝒍⁡(LUK)) ∧ (𝑭𝒖𝒍⁡(LUK) ∨ 𝑭𝒖𝒍⁡(STR)) | [all] | one-handed swords, one-handed axes, one-handed BWs, daggers, polearms, claws | yes | [all] | |
magelander | beginner | Maple Island | DEX | INT, LUK, STR | wands, staves | wands | yes | [all] | |
LUKginner | beginner, noblesse, aran (beginner) | outland | LUK | DEX, STR | 𝑭𝒖𝒍⁡(LUK) | claws | claws | yes | [all] |
DEXginner | beginner, noblesse, aran (beginner) | outland | DEX, STR | 𝑷𝒖𝒓𝒆⁡(DEX) | [all] | one-handed swords, one-handed BWs, daggers, two-handed swords, polearms | yes | [all] | |
STRginner | beginner, noblesse, aran (beginner) | outland | STR | DEX | 𝑭𝒖𝒍⁡(STR) | [all] | one-handed swords, one-handed BWs, daggers, two-handed swords, two-handed BWs, polearms | yes | [all] |
wandginner | beginner, noblesse, aran (beginner) | outland | STR | DEX, INT, LUK | wands, staves | wands | yes | [all] | |
HP warrior | sword(wo)man, fighter, page, spear(wo)man | outland | MAXHP | 𝑷𝒖𝒓𝒆⁡(MAXHP) | [all] | [all] | yes | [all] | |
DEX warrior | sword(wo)man, fighter, page, spear(wo)man, dawn warrior (1st grade), dawn warrior, aran (1st grade), aran | outland | DEX, STR | 𝑷𝒖𝒓𝒆⁡(DEX) | [all] | one-handed swords, one-handed axes, one-handed BWs, two-handed swords, two-handed axes, two-handed BWs, spears, polearms | yes | [all] | |
LUK warrior | sword(wo)man, fighter, page, spear(wo)man, dawn warrior (1st grade), dawn warrior, aran (1st grade), aran | outland | LUK, STR | DEX | 𝑷𝒖𝒓𝒆⁡(LUK) | [all] | one-handed swords, one-handed axes, one-handed BWs, two-handed swords, two-handed axes, two-handed BWs, spears, polearms, claws | yes | [all] |
dagger warrior | sword(wo)man, fighter, page, spear(wo)man, dawn warrior (1st grade), dawn warrior, aran (1st grade), aran | outland | STR | DEX | daggers | daggers | yes | [all] | |
wand warrior | sword(wo)man, fighter, page, spear(wo)man, dawn warrior (1st grade), dawn warrior, aran (1st grade), aran | outland | STR | DEX, INT, LUK | wands, staves | wands | yes | [all] | |
permawarrior | sword(wo)man, dawn warrior (1st grade) | outland | STR | DEX | [all] | one-handed swords, one-handed axes, one-handed BWs, daggers, two-handed swords, two-handed axes, two-handed BWs, polearms | yes | [all] | |
DEX mage | magician, F/P, I/L, cleric, blaze wizard (1st grade), blaze wizard, evan (1st grade), evan | outland | DEX, STR | 𝑷𝒖𝒓𝒆⁡(DEX) | [all] | one-handed swords, one-handed BWs, daggers, two-handed swords, polearms | yes | [all] | |
STR mage | magician, F/P, I/L, cleric, blaze wizard (1st grade), blaze wizard, evan (1st grade), evan | outland | STR | DEX | 𝑭𝒖𝒍⁡(STR) ∧ 𝑳𝒆𝒔𝒔⁡(INT) ∧ 𝑳𝒆𝒔𝒔⁡(LUK) | [all] | one-handed swords, one-handed BWs, daggers, two-handed swords, polearms | yes | [all] |
gish | magician, F/P, I/L, cleric, blaze wizard (1st grade), blaze wizard, evan (1st grade), evan | outland | STR, INT | DEX, LUK | (𝑭𝒖𝒍⁡(STR) ∨ 𝑭𝒖𝒍⁡(DEX)) ∧ 𝑭𝒖𝒍⁡(INT) | [all] | one-handed swords, one-handed BWs, daggers, wands, staves, two-handed swords, polearms | yes | [all] |
gishlet | magician, F/P, I/L, cleric, blaze wizard (1st grade), blaze wizard, evan (1st grade), evan | outland | STR, LUK, INT | DEX | (𝑭𝒖𝒍⁡(STR) ∨ 𝑭𝒖𝒍⁡(DEX)) ∧ 𝑭𝒖𝒍⁡(LUK) ∧ 𝑳𝒆𝒔𝒔⁡(INT) | [all] | one-handed swords, one-handed BWs, daggers, wands, staves, two-handed swords, polearms | yes | [all] |
magelet | magician, F/P, I/L, cleric, blaze wizard (1st grade), blaze wizard, evan (1st grade), evan | outland | LUK, INT | 𝑷𝒖𝒓𝒆⁡(LUK) | [all] | wands, staves, claws | yes | [all] | |
permamagician | magician, blaze wizard (1st grade), evan (1st grade) | outland | INT | LUK | [all] | wands, staves | yes | [all] | |
woods(wo)man | archer, hunter, crossbow(o)man, wind archer (1st grade), wind archer | outland | STR, DEX | 𝑷𝒖𝒓𝒆⁡(STR) | [all] | one-handed swords, one-handed BWs, daggers, two-handed swords, two-handed axes, two-handed BWs, polearms, bows, crossbows | yes | [all] | |
bow-whacker | archer, hunter, crossbow(o)man, wind archer (1st grade), wind archer | outland | DEX | STR | bows, crossbows | bows, crossbows | no | [all] | |
bowginner | archer, hunter, crossbow(o)man, wind archer (1st grade), wind archer | outland | DEX | STR | [all] | bows, crossbows | yes | The Eye of Amazon | |
permarcher | archer, wind archer (1st grade) | outland | DEX | STR | [all] | bows, crossbows | yes | [all] | |
claw-puncher | rogue, assassin, bandit, dual blade, night walker (1st grade), night walker | outland | DEX, STR | LUK | claws | claws | no | [all] | |
carpenter | rogue, assassin, bandit, dual blade, night walker (1st grade), night walker | outland | STR | DEX | Saw | Saw | yes | [all] | |
grim reaper | rogue, assassin, bandit, dual blade, night walker (1st grade), night walker | outland | STR | DEX, LUK | Scythe | Scythe | yes | [all] | |
clawginner | rogue, assassin, bandit, dual blade, night walker (1st grade), night walker | outland | LUK | DEX, STR | [all] | claws | yes | Keen Eyes | |
permarogue | rogue, night walker (1st grade) | outland | LUK | DEX, STR | [all] | daggers, claws | yes | [all] | |
LUKless sin | assassin, night walker (1st grade), night walker | outland | STR, LUK | DEX | 𝑳𝒆𝒔𝒔⁡(LUK) | [all] | one-handed swords, one-handed BWs, two-handed swords, two-handed axes, two-handed BWs, polearms, claws | yes | [all] |
dagger sin | assassin, night walker (1st grade), night walker | outland | LUK | DEX, STR | daggers | daggers | yes | [all] | |
brigand | bandit | outland | STR | DEX | 𝑳𝒆𝒔𝒔⁡(LUK) | one-handed swords, one-handed axes, one-handed BWs, wands, staves, two-handed swords, two-handed axes, two-handed BWs, spears, polearms, bows, crossbows, claws, knucklers, guns | one-handed swords, one-handed BWs, two-handed swords, two-handed axes, two-handed BWs, polearms | yes | [all] |
LUKless dit | bandit | outland | LUK | DEX, STR | 𝑳𝒆𝒔𝒔⁡(LUK) | [all] | daggers | yes | [all] |
blood dit | bandit | outland | MAXHP, LUK | DEX, STR | 𝑷𝒖𝒓𝒆⁡(MAXHP) | [all] | daggers | yes | [all] |
pistol-whipper | pirate, brawler, gunslinger, thunder breaker (1st grade), thunder breaker | outland | DEX | STR | guns | guns | no | [all] | |
pugilist | pirate, brawler, gunslinger, thunder breaker (1st grade), thunder breaker | outland | STR | DEX | \[unarmed\] | \[unarmed\] | yes | [all] | |
begunner | pirate, brawler, gunslinger, thunder breaker (1st grade), thunder breaker | outland | DEX | STR | [all] | guns | yes | ||
permapirate | pirate, thunder breaker (1st grade) | outland | STR, DEX | [all] | knucklers, guns | yes | [all] | ||
DEX brawler | brawler, thunder breaker (1st grade), thunder breaker | outland | DEX, STR | 𝑷𝒖𝒓𝒆⁡(DEX) | [all] | knucklers, guns | yes | [all] | |
LUK bucc | brawler, thunder breaker (1st grade), thunder breaker | outland | LUK, STR | DEX | 𝑷𝒖𝒓𝒆⁡(LUK) | [all] | claws, knucklers | yes | [all] |
armed brawler | brawler, thunder breaker (1st grade), thunder breaker | outland | STR | DEX | one-handed swords, one-handed axes, one-handed BWs, daggers, wands, staves, two-handed swords, two-handed axes, two-handed BWs, spears, polearms | one-handed swords, daggers, two-handed swords, spears | yes | [all] | |
bullet bucc | brawler, thunder breaker (1st grade), thunder breaker | outland | DEX | STR | guns | guns | yes | [all] | |
swashbuckler | gunslinger | outland | STR, DEX | 𝑷𝒖𝒓𝒆⁡(STR) | [all] | one-handed swords, daggers, two-handed swords, spears, knucklers, guns | yes | [all] | |
punch slinger | gunslinger | outland | STR | DEX | knucklers | knucklers | yes | [all] | |
bombadier | gunslinger | outland | DEX | STR | [all] | guns | yes | Bullet Time, Dash, Gun Mastery, Grenade, Gun Booster, Wings, Octopus, Gaviota, Maple Warrior, Wrath of the Octopi, Aerial Strike, Hypnotize, Hero’s Will | |
summoner | gunslinger | outland | DEX | STR | [all] | guns | yes | Bullet Time, Dash, Gun Mastery, Gun Booster, Wings, Octopus, Gaviota, Maple Warrior, Wrath of the Octopi, Hypnotize, Hero’s Will |
I was going to comment on the various entries within this table, but mayhaps I shall save that for next time…
Footnotes for “Using the RON data”
- [↑] Why can I not stop myself from prematurely optimising the hell out of a single script that I really only intend to run once, and that will definitely finish executing in under a second even without compiler optimisations enabled? Not even I know the answer to this question.
Some more MPQ, with your host, pan oiler
I responded to a smega from an MPQ party who needed an additional member, and brought my permarogue panolia. I prefer to do the first three stages with my dagger and some Double Stab, so my party members realised that I was still a rogue pretty quickly:
Transcription of the above image
Robidouux: why still rogue XD
Bidul: xD
Robidouux: op
But, once we got to the fourth stage and I switched to my claw, Cortical’s MTKs came out, and their opinions quickly changed…:
Transcription of the above image
ennn: you are richhhh
Robidouux: daaaaamn
rogue op
rogue > hermit
never saw those stars
Later, we were joined by crusader zaxuwu, with whom I had trained before at TfoG on my Vicloc dagger spearwoman d34r:
And I was able to achieve levels of poor luck scarcely seen before, during a
particular stage 6 in which I got a combo of 444 444 434 4d
:
Transcription of the chatlog in the above image
panolia: LMNFAOOOOOOOOOOOOOOOO [sic]
WAT
zaxuwu: no way lol
(The above screenshot includes in-game chat, as well as a screenshot of the Google Sheets™ spreadsheet that we were using to make stage 6 easier.)
Even later, we we joined by Actual Hermit™ TruffleFri3s, which left me on Romeo-protecting duty:
And, after all that, I had enough marbles to get a second Horus’ Eye 𓂀:
Transcription of the above image
Horus’ Eye
Untradeable
- Req lev: 70
- Category: pendant
- STR: +3
- DEX: +3
- INT: +4
- LUK: +4
- HP: +94
- Weapon def.: 64
- Magic def.: 57
- Avoidability: +12
- Number of upgrades available: 3
Not so good… looks like I’ll be NPCing this one.
Just a lil bit o’ viclockin’
As per usual, I’ve been APQing on my Vicloc dagger spearwoman d34r, alongside fellow Viclocker xXCrookXx. We were fortunate enough to be joined by xBowtjuhNL, so I exploited my party-leader powers to take this pristine screenshot of us at the beginning of stage 3:
Would you look at that! No pesky Crystal Boars nor Devil Slimes mucking everything up. I do like me some APQ, albeit with the exception of the sixth and final stage, which I confess is probably my least favourite boss fight in the game. Yes, even counting Papu… In any case — speaking of Crystal Boars — d34r levelled up as a result of killing one of them during key farming!:
Nice! d34r continues to passively & slowly level up as a result of hunting keys & APQing regularly…
Oh, and I’ve been saving up GFD60s to try to scroll myself a new pair of WACC gloves. For quite a long time (since level 35), d34r has been using a pair of Dark Briggons obtained from the second Sleepywood JQ, which I was fortunate enough to pass four GFD60s on — enough to put them at 2 STR, 4 DEX, and 8 WACC. This is a bit tough to beat; but I figured that, as long as I start with something better than an average Dark Briggon, and manage to pass four or five out of the five slots, it’ll be an upgrade. Well, much to my (and xXCrookXx’s) extreme surprise, I managed to do exactly that… passing all five slots!!:
Transcription of the above image
Mithril Brist (+5)
- Req lev: 50
- Req STR: 180
- Req class: warrior
- Category: glove
- STR: +3
- DEX: +7
- Weapon def.: 18
- Accuracy: +10
- Number of upgrades available: 0
Holy smokes. Now those are some mighty fine WACC gloves.
Oversized villains
I had the privilege of fighting two bosses whom I’d never seen before in my Maple career. First up was the Black Crow, which exclusively spawns at Encounter with the Buddha, a place that I had otherwise only known for hunting Dreamy Ghosts. Black Crow is no joke; with 35M HP and some very hard-hitting attacks, I brought along my darksterity knight rusa to help out the party with buffs:
This is a bit of a chaotic fight, as Black Crow can move fairly swiftly, has quite the chaotic appearance itself, and there are constantly Dreamy Ghosts running around willy-nilly amidst all of the attack animations and damage numbers flying all over the place. But it’s worth it. For the Sabots.
Second up was Pianus (R), a rare — but apparently extant — oversized fishy who loves to cancel weapon attacks, cancel magic attacks, 1⧸1 all the time, dispel, and summon not-so-friendly spiky guys. One catch is that these spiky guys can deal around 10k(!) damage when they go boom-boom. Getting hit by one of these boom-booms immediately after being dispelled is an excellent method for finding your way to the grave.
I may have guzzled many more Honsters than I care to admit during the course of fighting this oversized piscine jerkass (or rather, during the course of fighting several such jerkasses), thanks to my persistent fear of spiky guys showing up and killing me. Even so, I still died at least two or three times…
It seems that fighting Pianus can be rather annoying, especially with all the weapon-attack cancellation going on… But, after fighting two of three of them alongside Harlez, rusa got enough EXP to hit level 126~!
Transcription of the above image
[system message]: ⟨Party⟩ rusa has reached Lv.126.
⟨Guild⟩ rusa has reached Lv.126.
rusa: hehehe
Harlez: GRATS
rusa: ty!!!
Harlez: omg card too
rusa: grats!!
Which meant that it was time to pass a Berserk 30 book in preparation for next levelup!
Very nice. I still haven’t actually failed one of these “mastery book” things yet…
Later, we were joined by xBowtjuhNL, Gruzz, and Bipp, and we found a Pianus (L) to fight. This one is less annoying, as it doesn’t dispel, and has a bit less HP:
Annoying as Pianus may be, it was overall a very positive experience to see Pianus in the flesh, and to fight a few for myself. As a wee fawn, I had only heard tale of the colossal fish hiding in the deepest reaches of Aqua Road, and was never even close to strong enough to face the beast myself…
Voodoos w/ LoneW0lf1600
I also had the distinct privilege of grinding with STRginner legend LoneW0lf1600 at Voodoos on my pure STR bishop cervid:
LoneWolf had started streaming himself playing, in the MapleLegends Discord (thanks to MapleStory private server stuff being largely eradicated from twitch.tv due to bogus takedowns), and I offered to come along and do some duo Heartstopper farming.
We chatted throughout, and I was quite pleased to see LoneWolf playing his ’ginner again — I had always known him as the mythical #1 on the ’ginner rankings (ignoring leechers, at least), although I had never really seen him in action.
Plus, this marked the first time in a while that I’d come here… last time I was at Voodoos, if I recall correctly, it was to duo there with another high-ranking ’ginner, Taima (Boymoder, Tacgnol, Hanyou, Numidium, Gambolpuddy)!
HTPQ (not affiliated with Herb Town)
I was invited to HTPQ (Horntail Party Quest; not to be confused with PPQ, which was originally known as “Herb Town Party Quest”) by Gruzz, Harlez, and xBowtjuhNL. They needed more bodies, in order to enter the PQ (as it requires a full party of six), so that they could complete one or two associated quests. We managed to also round up Bipp (Celim, Copo, Sommer, Fino, Cassandro) of Flow, as well as Qubert of GangGang, to fill the party up.
But I didn’t have a Dragon Elixir ready, so we had to work on that first.
I managed to get a Manon “poke” without to much trouble, thanks to a friendly hero who was hunting Manon at the time. So we went to fight some Dark Cornians for the classic Busted Dagger, as well as some Cornian’s Marrow:
Our luck was extremely good; by the time that we had the required marrow, some three or four daggers had already dropped! So we headed to Dark Wyverns then, for the Tough Dragon Skins:
And, after not too long, we had fully assembled our HTPQ krew:
We got all cornian’d up, looking very handsome and lacertian:
Transcription of the NPC dialogue in the above image
Keroben: Oh, my Brother! Don’t worry about human ’s invasion. I’ll protect you all. Come in.
Phewf. Glad I don’t have to worry about human ’s invasion…
Just kidding — ’twas merely a ruse! We’re here to kill you!!
As it turns out, HTPQ is pretty straightforward. Little more is involved than killing some cornians, and then killing some Skelegons… But before we got to the Skelegon bit, we had to make a certain bulb go all shiny-like:
Oooh… pretty…
Once we were all collectively done being mesmerised by the bulb, we had some dragon skeletons to crumble:
It was here that we finished up farming the special ETCs necessary to complete the quest that grants the Certificate of the Dragon Squad. I now have these special ETCs on rusa, along with the Pianus Certificate, but have yet to obtain the Papulatus Certificate or Zakum Certificate.
Once we were done with HTPQ, we found ourselves in the proper entrance to Horntail’s cave… so we decided to go into the cave, just for funsies:
Take that, first Horntail prehead!! That’s 3% of your HP that you’ll never get back…! Admittedly, I wasn’t doing very much damage here; with the huge level gap (it’s level 160) and huge WDEF of this first prehead, each one of my Crushers was barely doing over 1.5k damage total. Yes, total — not per-line. But I did get to poke the head — many times, in fact. And that’s what matters…
The final instalment of “card-hunting with capre”
’Tis time for a very special edition of Card-Hunting With deer’s Woodswoman, capreolina™…
I started off where I left off last: Commander Skeles.
Not a particularly easy set, but finishing this set was enough to finish the Excavation Site region of Perion. So, with that, I went back to Florina Beach to pick up the remaining bits of the Lorang set…:
…And of the Clang set:
And then back to Perion for my dear copper-coloured dino friends, who have a far higher card droprate than anyone seems to give them credit for…:
…And for their ruddy friends:
As usual, however juicy the Red Drake’s droptable may be, they refuse to give up the goods, so I took my five cards and left.
I tried my luck at finishing the Wild Kargo set, and was pleasantly surprised to actually finish it!:
At that point, Vic Island was really finished for capre. The only Vic Island sets that I didn’t have at that point were those of King Slime (lol) and of Ergoth. So I boarded the ship to Orbis, and flew… and then flew back to Ellinia… and then back to Orbis… and then Ellinia… and then Orbis…
Okay, you get the idea. Some 75 minutes or so of flying, and I had no Crog cards to show for it, besides two such cards that I had obtained long before. It wasn’t until later, when I flew again to get back to Vic Island, that I did eventually get that third card…:
…And proceeded to never finish the set. Because no. Just, no.
Instead, I headed to Masteria in search of the relatively newly-added NLC cards! The first one that popped out for me was a Street Slime card:
I found the Urban Fungus set to be pretty easy:
And I got a Boomer card early on, but this one proved to actually be quite difficult to finish:
I hunted in the Boomers map for quite a long time, in search of these mythical teary-eyed-bomb cards, and ended up with probably a dozen each of Urban Fungus and Mighty Maple Eater cards:
It was at this point that I remembered to actually do the Urban Warrior questline. In capreolina’s case, this just meant doing “Featherweights” and “Cleaning Up the Streets”, as I had previously completed all of the other quests in the questline. So, ultimately, this meant that I was going to have to fight some Gryphons:
These winged bastards are certainly the least pleasant NLC monsters to fight, as they are wont to fly about willy-nilly, and both maps that they can be found on can only be described as “ass”. After killing the requisite number for the Urban Warrior questline, I was at 1⧸5 Gryphon cards.
“Cleaning Up the Streets” required some Electrophant (somewhat ironically, icier than they are electrical) kills, so I headed into the Ice Chamber for those:
And with that, I could claim my throne:
While I was in NLC, I was using VIP TP rox to check up on my old friend Master Dummy. I have been 3⧸5 Master Dummy for a very long time now, so I figured that now was the time to finally polish it off. Well, with just three or so visits, I was able to get the last two cards that I needed:
And, back in NLC, I headed to the Fire Chamber to do the Fire Tusk set:
And also to the Soul Corridor to get the Killa Bee set (again, a bit annoying… flying monsters…):
At this point, I had all of the NLC card sets that I thought might be more or less “easy”. But I figured I would try my hand at the I.AM.ROBOT set…
It took me a while to get the first I.AM.ROBOT card, but after that, it wasn’t terrible. So I did finish the set. I also considered getting four more Gryphon cards to finish that set, but after some amount of unpleasant Gryphon-murdering, I was still 1⧸5, so I decided to leave Gryphons where they belong (viz. high in the sky, where I cannot hear nor see them).
I also tried the one NLC card set that I have yet to mention: that of Wolf Spiders. The story here is that I was farming for a little while, and before I could actually get my first card, a couple of pet auto-HP failures caused my untimely demise. I prefer that my marsupial friend not repeatedly attempt to murder me, but that’s okay — I still have a Safety Charm, right? Oh wait…
So, yeah. I may or may not have lost all of the EXP that I had earned that day and the day before, in that one moment. I was a bit discouraged by this, and I wasn’t exactly expecting Wolf Spiders to be an easy card set anyways, so I decided to depart from NLC in favour of icier pastures…
That’s right; back at El Nath again. This time, I would be venturing further up the mountain, in search of Yeti…:
…And Yeti and Pepe cards:
I started out hunting these within the Valley of Snowman, and later transitioned to Ice Valley II so that I might actually get Yeti & Pepe cards reasonably efficiently.
Then, I was off to Sharp Cliff II in search of Dark Pepe cards:
And, along the way, I got the Dark Jr. Yeti card set, which proved to be about as easy as the Jr. Yeti set (viz. very easy):
I went to Dangerous Cliff in an attempt to farm Dark Yeti and Pepe cards…:
…Alongside Dark Yeti cards, at the same time:
But I soon realised that I was getting Dark Yeti cards very slowly (I am still 1⧸5 to this day). I then realised that there actually does not exist any map that is good for farming Dark Yetis. Really, the highest spawn count is a measly five, at Sharp Cliff I, and even there, it’s swamped with other garbage that vastly out-populates it.
So, instead, I headed to Wolf Territory II (which ironically has no wolves whatsoever) to finish the Dark Yeti & Pepe set. And, with that done, I decided not to mess with the Lycanthropes and Werewolves, as the guides that I was looking at cautioned against them. So, rather than stay in Alnath any longer, I headed to Leafre in anticipation of my 300th set…
Just a single map west of Leafre proper, I found Rashes…:
…And Dark Rashes:
And these puffballs just so happened to push my EXP bar into the next level! Level 126~!! So, like rusa with Zerk, it was time for capre to eat an SE30 book:
Oh… ouf. Well, at least now I know what it looks like when you fail one of these things. I used another and failed that one as well… but the third time was indeed the charm, so capre now has a master level of 30 on SE! x)
Anyways, back to card-hunting. I headed to the Cranky Forest in search of Hobi…:
…And Hankie cards:
And, after finishing up the Hobi set (and getting to 2⧸5 Hankie), I was at 299 sets. I took a break, and when I came back, Bipp (Celim, Copo, Sommer, Fino, Cassandro) was excited to come to Leafre to hunt that final set with me:
As you can see, we were at Steep Hill to finish up those Hankie cards. But I also nabbed a Green Hobi card as well, just in case that one managed to finish first:
In the end — as expected — I finished the Hankie card set first. And that Hankie card set was capreolina’s 300th completed card set. So, it was time to receive the highest honour in the world of card-hunting: the tier 10 ring!!!!:
Transcription of the chatlog in the above image
capreolina [item smega]: [Monster Book Ring ⟨Tier 10⟩] finally, the ring!!! :D <3 Suboptimal
Harlez [buddy chat]: grats deer!
capreolina [buddy chat]: thank you!!!!
:D
xEggNog [whisper]: gzz
capreolina [whisper to xEggNog]: thanks :DD
xEggNog: im still working towards mine
Bipp [smega]: GRATZ ON T10 DEER! NOW YOU’RE A TRULY [sic] HUNTER <33
xEggNog: h[o]w long u took
capreolina [all chat]: thanks!!!!!
You can see capreolina here, crying tears of joy… I frankly never would have expected to make it all the way to T10. It seems that my decision to focus almost entirely on just one character (capreolina) has paid off. And so, I can proudly say that I got the highest tier of ring, all by myself, all for myself — however long it may have taken.
You can see in the screenshot above that xEggNog is asking me how long it took for me to get the T10 ring. I don’t have a good answer to that question. Partly, this is because I did a lot of other stuff along the way — on capreolina, and on other characters, of course — so I didn’t just grind cards all day, every day, until I got to T10. That being said, the entirety (or at least, almost the entirety) of capreolina’s card-hunting journey is in fact documented in this diary. So the process certainly didn’t go undocumented.
So, in the future, any card-hunting that I do will, obviously, be on other characters. In particular, I want to try my hand at card-hunting with my darksterity knight rusa, my daggermit alces, my I/L magelet cervine, and many other characters, as well! These monster book rings can be just as important for my other characters, and as any reader of this diary knows, I have no shortage of characters… But, for now, I am just proud to say that I Beat The Game™ (well, unless we consider monster book completionism…), at least once, when it comes to the monster book. :D
<3