mr:sewers_level
Table of Contents
Sewers Level - Code References
Sewers is the first level of Remixed Dungeon (depths 1-5). It serves as the tutorial area and introduces basic game mechanics.
Entity Type
Level/Dungeon Branch
Java Classes
Level Generation: SewerLevel.java
- Package: `com.watabou.pixeldungeon.levels`
- Extends: `RegularLevel` (which extends `Level`)
- Features: Water pools, grass, rat/snail spawns, hidden doors
Level Transition: Dungeon.java
- Line 322: `switchLevel()` - Level transitions
- Depths 1-5: Sewers
- Depth 5: Boss level (Goo)
Boss Level: SewerBossLevel.java
- Depth 5
- Goo boss arena
- Special layout
Level Factory: Dungeon.java
- `newLevel()` method creates level by depth
- Depth 1-5: SewerLevel, depth 5: SewerBossLevel
JSON Configuration
Bestiary Spawns: Bestiary.json
"levels": {
"1": { "mobs": {"Snail": 1} },
"2": { "mobs": {"Snail": 1, "Rat": 1, "DeepSnail": 0.03} },
"3": { "mobs": {"Rat": 1, "Gnoll": 1, "Crab": 0.5, "Albino": 0.03, "Swarm": 0.02} },
"4": { "mobs": {"Rat": 1, "Gnoll": 2, "Crab": 1, "DeepSnail": 0.1, "Thief": 0.01} },
"5": { "mobs": {"Goo": 1} } // Boss level
}
Level Objects: `assets/levelObjects/` - Pedestals, statues, wells, barricades, traps
String Resources
English (values/strings_all.xml):
<string name="Sewer_TileWater">Murky water</string> <string name="Sewer_TileDescDeco">Wet yellowish moss covers the floor.</string> <string name="Sewer_TileDescBookshelf">The bookshelf is packed with cheap useless books. Might it burn?</string> <string name="WndStory_Sewers">The dungeon is located exactly under the city, the upper levels are effectively the city sewers. Being conditionally part of the city, these levels are not so dangerous. Of course they can't be called safe either, but at least here you don't have to worry about dark magic.</string>
Russian (values-ru/strings_all.xml):
<string name="Sewer_TileWater">Мутная вода</string> <string name="Sewer_TileDescDeco">Влажный желтоватый мох растянулся по полу.</string> <string name="Sewer_TileDescBookshelf">Полки заставлены дешёвыми бесполезными книгами. Интересно, загорится?</string> <string name="WndStory_Sewers">Подземелье расположено точно под городом, верхние уровни фактически являются канализацией города. Будучи условно частью города, эти уровни не столь опасны. Конечно безопасными их тоже не назовёшь, но, по крайней мере, здесь не приходится волноваться о зловещей магии.</string>
Lua Scripts
- Level Objects: `scripts/objects/pedestal.lua` - Pedestal puzzles
- Level Objects: `scripts/objects/well.lua` - Well interaction
- Level Objects: `scripts/objects/statue.lua` - Statue interaction
- NPC: `scripts/npc/Innkeeper.lua` - Innkeeper NPC (in town, accessible from sewers)
Related mr Entities
- Rat Mob - Primary enemy
- Snail Mob - Passive enemy
- Deep Snail Mob - Water variant
- Crab Mob - Armored enemy
- Goo Mob - Boss (depth 5)
- Rat King Mob - Optional boss
- Pet Mechanic - First pets available here
- Sewers Level - This level
Game Mechanics
- Depth Range: 1-5 (5 is boss level)
- Theme: Damp stone, water pools, grass patches
- Hazards: Water (slows movement), hidden traps, gas traps
- Special Features:
- Hidden rooms behind secret doors
- Pedestal puzzles for rewards
- Wells for health restoration
- Progression:
- Depth 1: Snails (easy)
- Depth 2: Snails, Rats, Deep Snails
- Depth 3-4: Crabs, Deep Snails, Gnolls, Albino rats, Swarms
- Depth 5: Goo Boss (required to proceed)
- Shortcuts:
- Sewer shortcut to Prison (unlocked after Goo)
- Backtracking for missed items
Level Objects
- Water Pools - Terrain feature, slows movement
- Grass Patches - Tall grass, concealment
- Pedestals - Item placement triggers
- Statues - Decoration, sometimes interactive
- Wells - Health restoration
- Barricades - Destructible cover
- Secret Doors - Hidden passages
Code Fragments
SewerLevel generation:
// SewerLevel.java public class SewerLevel extends RegularLevel { @Override protected void createMap() { // Water pool generation // Grass patch placement // Standard room/corridor layout } @Override public String tilesTex() { return "tiles/sewer.png"; } }
Boss level check:
// Level.java public boolean isBossLevel() { return false; } // Overridden in SewerBossLevel.java (which extends SewerLevel) public boolean isBossLevel() { return true; }
mr/sewers_level.txt · Last modified: by 127.0.0.1
