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

Level Transition: Dungeon.java

Boss Level: SewerBossLevel.java

Level Factory: Dungeon.java

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

Game Mechanics

Level Objects

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;
}