text: /**
   * @file trigs.h
   *
   * Interface of functionality for triggering events when the player enters an area.
   */
  #pragma once
  
  #include "engine/point.hpp"
  #include "gendung.h"
  #include "interfac.h"
  
  namespace devilution {
  
  #define MAXTRIGGERS 7
  
  struct TriggerStruct {
  	Point position;
  	interface_mode _tmsg;
  	int _tlvl;
  };
  
  extern bool trigflag;
  extern int numtrigs;
  extern TriggerStruct trigs[MAXTRIGGERS];
  extern int TWarpFrom;
  
  void InitNoTriggers();
  bool IsWarpOpen(dungeon_type type);
  void InitTownTriggers();
  void InitL1Triggers();
  void InitL2Triggers();
  void InitL3Triggers();
  void InitL4Triggers();
  void InitSKingTriggers();
  void InitSChambTriggers();
  void InitPWaterTriggers();
  void InitVPTriggers();
  void Freeupstairs();
  void CheckTrigForce();
  void CheckTriggers();
  
  /**
   * @brief Check if the provided position is in the entrance boundary of the entrance.
   * @param position The position to check against the entrance boundary.
   */
  bool EntranceBoundaryContains(Point entrance, Point position);
  
  } // namespace devilution
  