User Tools

Site Tools


mr:sewers_level

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
mr:sewers_level [2026/09/03 18:50] – Fix wiki compliance issues on 5 random pages Wiki Maintenancemr:sewers_level [2026/09/03 18:54] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== 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**: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/levels/SewerLevel.java|SewerLevel.java]]
 +  * Package: `com.watabou.pixeldungeon.levels`
 +  * Extends: `RegularLevel` (which extends `Level`)
 +  * Features: Water pools, grass, rat/snail spawns, hidden doors
 +
 +**Level Transition**: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/Dungeon.java|Dungeon.java]]
 +  * Line 322: `switchLevel()` - Level transitions
 +  * Depths 1-5: Sewers
 +  * Depth 5: Boss level (Goo)
 +
 +**Boss Level**: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/levels/SewerBossLevel.java|SewerBossLevel.java]]
 +  * Depth 5
 +  * Goo boss arena
 +  * Special layout
 +
 +**Level Factory**: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/Dungeon.java|Dungeon.java]]
 +  * `newLevel()` method creates level by depth
 +  * Depth 1-5: SewerLevel, depth 5: SewerBossLevel
 +
 +===== JSON Configuration =====
 +**Bestiary Spawns**: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/levelsDesc/Bestiary.json|Bestiary.json]]
 +<code 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
 +}
 +</code>
 +
 +**Level Objects**: `assets/levelObjects/` - Pedestals, statues, wells, barricades, traps
 +
 +===== String Resources =====
 +English (values/strings_all.xml):
 +<code 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>
 +</code>
 +
 +Russian (values-ru/strings_all.xml):
 +<code xml>
 +<string name="Sewer_TileWater">Мутная вода</string>
 +<string name="Sewer_TileDescDeco">Влажный желтоватый мох растянулся по полу.</string>
 +<string name="Sewer_TileDescBookshelf">Полки заставлены дешёвыми бесполезными книгами. Интересно, загорится?</string>
 +<string name="WndStory_Sewers">Подземелье расположено точно под городом, верхние уровни фактически являются канализацией города. Будучи условно частью города, эти уровни не столь опасны. Конечно безопасными их тоже не назовёшь, но, по крайней мере, здесь не приходится волноваться о зловещей магии.</string>
 +</code>
 +
 +===== 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 =====
 +  * [[mr:rat_mob|Rat Mob]] - Primary enemy
 +  * [[mr:snail_mob|Snail Mob]] - Passive enemy
 +  * [[mr:deep_snail_mob|Deep Snail Mob]] - Water variant
 +  * [[mr:crab_mob|Crab Mob]] - Armored enemy
 +  * [[mr:goo_mob|Goo Mob]] - Boss (depth 5)
 +  * [[mr:rat_king_mob|Rat King Mob]] - Optional boss
 +  * [[mr:pet_mechanic|Pet Mechanic]] - First pets available here
 +  * [[mr:sewers_level|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:
 +<code java>
 +// 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";
 +    }
 +}
 +</code>
 +
 +Boss level check:
 +<code java>
 +// Level.java
 +public boolean isBossLevel() {
 +    return false;
 +}
 +
 +// Overridden in SewerBossLevel.java (which extends SewerLevel)
 +public boolean isBossLevel() {
 +    return true;
 +}
 +</code>
 +
 +{{tag> rpd levels sewers tutorial depth1-5}}
mr/sewers_level.txt · Last modified: by 127.0.0.1