User Tools

Site Tools


dungeons:crypt

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dungeons:crypt [2025/05/26 16:41] – created xazealdungeons: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.+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**), it offers a scalable challenge for intermediate to advanced players.
  
-===== Learnings =====+==== Overview ==== 
 +  * **Recommended Level**: 60+ 
 +  * **Team Size**: 1–3 (Multiboxing or coordinated parties recommended) 
 +  * **Bosses**: [[bosses:orlok | Orlok]], [[bosses:vampires|Vampires]] 
 +  * **Entry Requirement**: [[items:key-crypt | Crypt Key]] 
 +  * **Notable Drops**: [[items:cring | ring of the crypt]], [[items:cearring | cearring]], crypt-exclusive loot 
  
-  * As so often with this game**good gear & bad code > good code & bad gear**. You can get away with bad code if your gear is good+==== Getting Started ==== 
-  * The crypt isn't hard to do – but **some monsters are hard to kill** 🙂+To enter the Crypt: 
 +  - You must possess a [[items:key-crypt|Crypt Key]]
 +  - Use the key at the [[items:door-crypt|Crypt Door]], typically located in town or at designated map entrances. 
 +  - 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 system** is key: avoid mobs near Orlokgrouped healersor leveled-up mobs.
-  Avoid monsters that are close together. +
-  Have a good blacklist+
-    Found an easy mob but Orlok (or some other tough mob) is close? __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 aliveyou don't enter a death loopand you don't spend 2 hours in the same crypt! +
-  * Remember, this is the __noob's guide__ to the crypt! 😄 We ignore hard challenges and go for low-hanging fruit!+
  
-===== 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 ID available to all characters so they can join it +  - The simplest farm route is killing all **[[monsters:vbats| vbats]]** and resetting the instance. 
-  * You should track the mobs you already defeated +  - **[[monsters:vbats|Vbats]]** drop **lots of [[items:Crings|ring of the crypt]] & [[items:Cearings|Cearings]]**, often surpassing the market value of the Crypt Key. 
-  Record the time you enter the crypt and delete the instance after X time (30 minutes? 1 hour?)+  - To go further: 
 +    - Scan mobs with `parent.entities` 
 +    - Avoid clustered or enhanced mobs 
 +    - Prioritize easy kills without nearby threats
  
-All of the above (1-3can be solved via `localStorage`.+==== Roaming Tactic (Simple Pathfinding Replacement) ==== 
 +Roaming through the Crypt manually: 
 +  - Create a list of static **waypoints** inside the dungeon. 
 +  Move from point to point using `smart_move()`
 +  - At each node, scan for mobs in `parent.entities`, apply filters, and attack.
  
-__Housekeeping__  +Example logic
-Delete the instance if you killed all monsters (tracked in step 2) or if you've spent too much time in the instance (tracked in step 3).+  * If the target has a healer (`a5`nearby → skip or kill healer first 
 +  * If Orlok is nearby → blacklist the area 
 +  * 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
  
-  Is there a Crypt-ID in localStorage and you're not already in the crypt? +==== Notes ==== 
-    * If you're far from the crypt door**move to the door** +  Avoid engaging edge-case combinations like: 
-    * If you're at the crypt door, **enter the crypt** using the ID from localStorage+    - Easy mobs buffed by nearby healers 
 +    - Groups overlapping with Orlok 
 +  Insteadcode defensively: 
 +    * "If it's not safe → skip" 
 +    * "Find easy targetsdon't overoptimize" 
 +  This allows **safe and consistent** farming without frequent deaths or traps.
  
-===== 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 of the crypt]] 
- +  * [[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`, go there and hammer away! 😄 +
- +
-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 ("a5") within X pixels? → Ignore it +
-  * ...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? It finds a path from A to B. +
- +
-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/tank:__ +
- +
-  * 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/tank:__ +
- +
-  * Can you get the master with `get_player()`? → Move to him! +
-  * 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://images-ext-1.discordapp.net/external/BOnYgqTg8uim-IAbd0h4JbFx4txOLoxPPOD7O29ysgQ/https/media.tenor.com/UladBrWhuJ8AAAPo/bowing-thank-you.mp4|Thank you from Axiom}} +
- +
-===== 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 "safe" definition → **Attack it** +
-  * 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