You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.1 KiB
48 lines
1.1 KiB
/** |
|
* @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
|
|
|