dungeons:crypt
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| dungeons:crypt [2025/05/26 16:41] – created xazeal | dungeons:crypt [2025/05/28 16:30] (current) – xazeal | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== A Noob's Guide to the Crypt ====== | + | ===== The Crypt Dungeon |
| - | __By Axiom — Originally posted in Discord__ | + | |
| - | This guide shares a few things I've picked up starting | + | The Crypt is one of the four major dungeons in Adventure Land. Known for its randomized monster spawns and high-value loot (especially **Crings** and **Ceaarings**), |
| - | ===== Learnings ===== | + | ==== Overview |
| + | * **Recommended Level**: 60+ | ||
| + | * **Team Size**: 1–3 (Multiboxing or coordinated parties recommended) | ||
| + | * **Bosses**: [[bosses: | ||
| + | * **Entry Requirement**: | ||
| + | * **Notable Drops**: [[items: | ||
| - | * As so often with this game: **good gear & bad code > good code & bad gear**. | + | ==== Getting Started ==== |
| - | | + | To enter the Crypt: |
| + | - You must possess a [[items: | ||
| + | | ||
| + | - The key will generate a unique instance ID shared across all your characters. | ||
| - | ===== Practical Tips ===== | + | ==== Basic Strategy |
| + | * The layout and monster spawns are **randomized**. | ||
| + | * There is **only one fixed location**: the **vbat** (Vampire Bat) spawn near the center. | ||
| + | * Most monsters **wander**, making tracking them difficult without proper scanning or patrol logic. | ||
| - | * You **MUST** have good tanking-ability (which means gear) | + | ==== Recommended Setup ==== |
| - | * Optional: You should be able to **AoE (for Spike)** | + | * **Tanky frontline characters** are essential due to heavy mob bursts. |
| - | * I opted for **Priest / Warrior / Warrior**, simply because all 3 can tank and 1 can heal. It's the most resilient combo I have available. | + | * **Healing** support (e.g., Priest) greatly increases sustain. |
| - | * A lonely monster is an easy monster! | + | * A **blacklist |
| - | | + | |
| - | | + | |
| - | | + | |
| - | * Found a hard mob with the healer attached? __Blacklist!__ | + | |
| - | * Found an easy mob with the healer attached? __Go for the healer first!__ | + | |
| - | * Yes, by blacklisting a ton of mobs you lose out on loot | + | |
| - | * But: You also stay alive, you don't enter a death loop, and you don't spend 2 hours in the same crypt! | + | |
| - | * Remember, this is the __noob' | + | |
| - | ===== Want to Crypt? Here's How! ===== | + | Example composition: |
| + | * Warrior + Warrior + Priest | ||
| + | * Mage + Warrior + Priest (for AoE burst) | ||
| - | * You must be able to open a crypt instance | + | ==== Efficient Farming ==== |
| - | * You make the instance | + | |
| - | * You should track the mobs you already defeated | + | |
| - | | + | - To go further: |
| + | - Scan mobs with `parent.entities` | ||
| + | - Avoid clustered or enhanced mobs | ||
| + | - Prioritize easy kills without nearby threats | ||
| - | All of the above (1-3) can be solved via `localStorage`. | + | ==== Roaming Tactic (Simple Pathfinding Replacement) ==== |
| + | Roaming through the Crypt manually: | ||
| + | - Create a list of static **waypoints** inside | ||
| + | | ||
| + | - At each node, scan for mobs in `parent.entities`, apply filters, and attack. | ||
| - | __Housekeeping__: | + | Example logic: |
| - | Delete | + | * If the target has a healer |
| + | * If Orlok is nearby → blacklist | ||
| + | * If mob is leveled → skip | ||
| + | * If no mob found → move to next waypoint | ||
| - | ===== Characters Must Be Able to Enter the Crypt ===== | + | ==== Cleanup and Reset ==== |
| + | * Track start time using `Date.now()` | ||
| + | * Auto-reset instance after **30–60 minutes** or when all mobs are cleared | ||
| + | * Use `localStorage` to store: | ||
| + | - Instance ID | ||
| + | - Cleared mobs | ||
| + | - Entry timestamp | ||
| - | | + | ==== Notes ==== |
| - | * If you're far from the crypt door, **move to the door** | + | |
| - | * If you're at the crypt door, **enter the crypt** using the ID from localStorage | + | |
| + | - Groups overlapping with Orlok | ||
| + | | ||
| + | * "If it's not safe → skip" | ||
| + | * "Find easy targets, don't overoptimize" | ||
| + | | ||
| - | ===== Okay, Now You Are Inside ===== | + | ==== Fun Fact ==== |
| + | > Orlok is a crypt-exclusive vampire boss. You’ll know when he finds you. | ||
| - | Make sure all characters go to the same spot. | + | ==== Related Pages ==== |
| - | + | * [[dungeons:start|All Dungeons]] | |
| - | __An easy spot is at the vbats__ – it's the only static spawn in the crypt and always at the same location. | + | * [[items:cring|ring |
| - | + | * [[items:cearring|Cearring]] | |
| - | ===== The Simplest Way of Farming the Crypt ===== | + | |
| - | + | ||
| - | * If nothing else, **kill all vbats** and delete the crypt instance from `localStorage` | + | |
| - | * Repeat! | + | |
| - | + | ||
| - | **Congratulations!** You can now farm `crings` & `ceaarings` — vbats drop A LOT of them. | + | |
| - | + | ||
| - | > If you only farm vbats, you’ve likely already got loot worth more than the crypt key (which usually goes for 3–5M). | + | |
| - | + | ||
| - | ===== Farming Other Mobs than Vbats ===== | + | |
| - | + | ||
| - | * Find out what you can kill safely | + | |
| - | * If it's in `parent.entities`, | + | |
| - | + | ||
| - | You’ll soon find there are a lot of edge cases: | + | |
| - | + | ||
| - | * There’s a healer that can make an easy monster like Bill undefeatable when attached | + | |
| - | + | ||
| - | __Write targeting logic AND safety logic:__ | + | |
| - | + | ||
| - | * Does the mob you want to farm have a healer (" | + | |
| - | * ...But maybe attack the healer? 🙂 | + | |
| - | * Is the monster leveled? → __Blacklist!__ | + | |
| - | * Is the monster named Orlok? → __Run!! 😄__ | + | |
| - | + | ||
| - | > Do this well, and you can farm most things. | + | |
| - | + | ||
| - | I *can* farm everything except Orlok — *if* the monster is alone. | + | |
| - | + | ||
| - | ===== You Don’t Need Pathfinding ===== | + | |
| - | + | ||
| - | Pathfinding is hard to do — and even harder to do well! | + | |
| - | + | ||
| - | One of the most dreaded parts of the crypt is that all monsters (except vbats) roam around. Their location changes every run. | + | |
| - | + | ||
| - | **But I figured: | + | |
| - | What is pathfinding? | + | |
| - | + | ||
| - | We kind of have that already with `smart_move()`. | + | |
| - | + | ||
| - | We know A (our current position), | + | |
| - | But we don’t know B (the next monster). | + | |
| - | + | ||
| - | So... let's roam! | + | |
| - | + | ||
| - | ===== Roaming Logic (The Easy Way) ===== | + | |
| - | + | ||
| - | I chose the most inefficient but simple solution: | + | |
| - | __Just visit all or most intersections of the crypt and record them!__ | + | |
| - | + | ||
| - | * Make an **array of waypoints** | + | |
| - | * The array must be **ordered** | + | |
| - | * Start from the middle of the crypt | + | |
| - | * Keep adding waypoints until you complete a full loop | + | |
| - | + | ||
| - | ===== How to Roam ===== | + | |
| - | + | ||
| - | Simple rules! | + | |
| - | + | ||
| - | __If the current character is the master/ | + | |
| - | + | ||
| - | * Find the **closest waypoint** | + | |
| - | * Are the other 2 characters close? | + | |
| - | * If not → Stay at current waypoint and wait | + | |
| - | * If yes → Move to the **next waypoint** | + | |
| - | * Can't find other characters with `get_player()` (they may be dead)? → Go to `waypoints[0]` and regroup | + | |
| - | + | ||
| - | __If the character is not the master/ | + | |
| - | + | ||
| - | * Can you get the master with `get_player()`? | + | |
| - | * If not → Go to `waypoints[0]` and regroup | + | |
| - | + | ||
| - | And that's how you roam the crypt the easy way! 😄 | + | |
| - | + | ||
| - | > It’s inefficient as hell, yes. But it gets the job done — you’ll cover the whole crypt. 😄 | + | |
| - | + | ||
| - | ===== And That’s It! ===== | + | |
| - | + | ||
| - | I hope you enjoyed! | + | |
| - | + | ||
| - | ===== Thank You ===== | + | |
| - | + | ||
| - | {{https:// | + | |
| - | + | ||
| - | ===== BONUS: Edge Cases ===== | + | |
| - | + | ||
| - | The crypt is full of edge-cases. It’s what it’s famous for! | + | |
| - | + | ||
| - | * Monster X is easy! Let's attack! | + | |
| - | * Oh, this time it has a healer... | + | |
| - | * Oh, now it's next to Orlok too... | + | |
| - | + | ||
| - | __So how do we noobs deal with it?__ | + | |
| - | + | ||
| - | ==== Ignore the Edge-Cases ==== | + | |
| - | + | ||
| - | Yes! __Simply ignore the edge-cases!__ 🤣 | + | |
| - | + | ||
| - | Here it comes: | + | |
| - | + | ||
| - | * Do **not** write code to handle edge-cases. | + | |
| - | * Write code to find **good cases**! | + | |
| - | + | ||
| - | > Your target selection should reflect what a **safe** monster is. | + | |
| - | + | ||
| - | * If it matches your " | + | |
| - | * If not → **Ignore it** | + | |
| - | + | ||
| - | This is the **easiest way** (that I found) to get decent target selection with minimal code — for a wide range of targets and situations. | + | |
| - | + | ||
| - | --- | + | |
| - | + | ||
| - | __Originally written by Axiom in Discord. Minor formatting applied for wiki readability.__ | + | |
dungeons/crypt.1748270511.txt.gz · Last modified: 2025/05/26 16:41 by xazeal
