Portable Half-Life SDK. GoldSource and Xash3D. Crossplatform.
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.

86 lines
1.7 KiB

/***
*
* Copyright (c) 1996-2002, Valve LLC. All rights reserved.
*
* This product contains software technology licensed from Id
* Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc.
* All Rights Reserved.
*
* Use, distribution, and modification of this source code and/or resulting
* object code is restricted to non-commercial enhancements to products from
* Valve LLC. All other use, distribution, or modification is prohibited
* without written permission from Valve LLC.
*
****/
#pragma once
#ifndef RUNES_H
#define RUNES_H
static const char *g_RuneEntityName[] =
{
"",
"item_rune1",
"item_rune2",
"item_rune3",
"item_rune4"
};
static const char *g_RuneName[] =
{
"Unknown",
"ResistRune",
"StrengthRune",
"HasteRune",
"RegenRune"
};
class CItemRune : public CBaseEntity
{
private:
void EXPORT RuneRespawn();
public:
void EXPORT RuneTouch( CBaseEntity *pOther );
void Spawn();
int Classify() { return CLASS_RUNE; };
void EXPORT MakeTouchable();
virtual void PrintTouchMessage( CBasePlayer *pPlayer ){}
virtual void PrintRespawnMessage(){}
int m_iRuneFlag;
bool m_bTouchable;
bool dropped;
};
class CResistRune : public CItemRune
{
public:
void Spawn();
void PrintTouchMessage( CBasePlayer *pPlayer );
void PrintRespawnMessage();
};
class CStrengthRune : public CItemRune
{
public:
void Spawn();
void PrintTouchMessage( CBasePlayer *pPlayer );
void PrintRespawnMessage();
};
class CHasteRune : public CItemRune
{
public:
void Spawn();
void PrintTouchMessage( CBasePlayer *pPlayer );
void PrintRespawnMessage();
};
class CRegenRune : public CItemRune
{
public:
void Spawn();
void PrintTouchMessage( CBasePlayer *pPlayer );
void PrintRespawnMessage();
};
#endif // RUNES_H