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.
 
 
 
 
 
 

50 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 InitHiveTriggers();
void InitCryptTriggers();
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