/** * @file town.h * * Interface of functionality for rendering the town, towners and calling other render routines. */ #pragma once #include "interfac.h" #include "levels/gendung.h" namespace devilution { /** * @brief Check if hive can be opened by dropping rune bomb on a tile * @param position The position of the tile * @return True if the bomb would open hive */ bool OpensHive(Point position); /** * @brief Check if grave can be opened by dropping cathedral map on a tile * @param position The position of the tile * @return True if the map would open the grave */ bool OpensGrave(Point position); /** * @brief Initiate opening of hive by sending network messages and updating quest state */ void OpenHive(); /** * @brief Initiate opening of grave by sending network messages and updating quest state */ void OpenGrave(); /** * @brief Update the map to show the open hive */ void TownOpenHive(); /** * @brief Update the map to show the open grave */ void TownOpenGrave(); /** * @brief Update town to show clean/not poisoned water fountain */ void CleanTownFountain(); /** * @brief Initialize town level * @param entry Method of entry */ void CreateTown(lvl_entry entry); } // namespace devilution