2016-03-01 15:47:10 +00:00
|
|
|
#ifndef A_KEYS_H
|
|
|
|
#define A_KEYS_H
|
|
|
|
|
|
|
|
#include "a_pickups.h"
|
|
|
|
|
|
|
|
class AKey : public AInventory
|
|
|
|
{
|
|
|
|
DECLARE_CLASS (AKey, AInventory)
|
|
|
|
public:
|
|
|
|
virtual bool HandlePickup (AInventory *item);
|
|
|
|
|
|
|
|
BYTE KeyNumber;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
virtual bool ShouldStay ();
|
|
|
|
};
|
|
|
|
|
|
|
|
bool P_CheckKeys (AActor *owner, int keynum, bool remote);
|
|
|
|
void P_InitKeyMessages ();
|
|
|
|
void P_DeinitKeyMessages ();
|
|
|
|
int P_GetMapColorForLock (int lock);
|
|
|
|
int P_GetMapColorForKey (AInventory *key);
|
|
|
|
|
2016-11-30 12:36:13 +00:00
|
|
|
|
|
|
|
// PuzzleItems work in conjunction with the UsePuzzleItem special
|
|
|
|
class PClassPuzzleItem : public PClassInventory
|
|
|
|
{
|
|
|
|
DECLARE_CLASS(PClassPuzzleItem, PClassInventory);
|
|
|
|
protected:
|
|
|
|
public:
|
|
|
|
virtual void DeriveData(PClass *newclass);
|
|
|
|
FString PuzzFailMessage;
|
|
|
|
};
|
|
|
|
|
|
|
|
class APuzzleItem : public AInventory
|
|
|
|
{
|
|
|
|
DECLARE_CLASS_WITH_META(APuzzleItem, AInventory, PClassPuzzleItem)
|
|
|
|
public:
|
|
|
|
|
|
|
|
bool ShouldStay ();
|
|
|
|
bool Use (bool pickup);
|
|
|
|
bool HandlePickup (AInventory *item);
|
|
|
|
|
|
|
|
int PuzzleItemNumber;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2016-03-01 15:47:10 +00:00
|
|
|
#endif
|