22 #ifndef ULTIMA4_MAP_DUNGEON_H 23 #define ULTIMA4_MAP_DUNGEON_H 25 #include "ultima/ultima4/controllers/combat_controller.h" 26 #include "ultima/ultima4/core/types.h" 27 #include "ultima/ultima4/map/map.h" 32 #define DNGROOM_NTRIGGERS 4 43 byte _changeX1, _changeY1, changeX2, changeY2;
56 _array[DIR_NONE] =
nullptr;
57 _array[DIR_NORTH] = &_northStart;
58 _array[DIR_EAST] = &_eastStart;
59 _array[DIR_SOUTH] = &_southStart;
60 _array[DIR_WEST] = &_westStart;
69 Trigger _triggers[DNGROOM_NTRIGGERS];
70 byte _creatureTiles[16];
102 DUNGEON_CORRIDOR = 0x00,
103 DUNGEON_LADDER_UP = 0x10,
104 DUNGEON_LADDER_DOWN = 0x20,
105 DUNGEON_LADDER_UPDOWN = 0x30,
106 DUNGEON_CHEST = 0x40,
107 DUNGEON_CEILING_HOLE = 0x50,
108 DUNGEON_FLOOR_HOLE = 0x60,
109 DUNGEON_MAGIC_ORB = 0x70,
111 DUNGEON_FOUNTAIN = 0x90,
112 DUNGEON_FIELD = 0xA0,
113 DUNGEON_ALTAR = 0xB0,
116 DUNGEON_SECRET_DOOR = 0xE0,
134 DungeonToken tokenForTile(
MapTile tile);
139 DungeonToken currentToken();
144 byte currentSubToken();
170 bool validTeleportLocation(
MapCoords coords);
179 byte _partyStartX[8];
180 byte _partyStartY[8];
188 TRAP_FALLING_ROCK = 0x1,
193 FOUNTAIN_NORMAL = 0x0,
194 FOUNTAIN_HEALING = 0x1,
197 FOUNTAIN_POISON = 0x4
210 void dungeonSearch();
215 void dungeonDrinkFountain();
220 void dungeonTouchOrb();
225 bool dungeonHandleTrap(TrapType trap);
230 bool isDungeon(
Map *punknown);
Definition: dungeon.h:120
Definition: combat_controller.h:212
Definition: detection.h:27
Definition: map_tile.h:34