122 lines
No EOL
3 KiB
C++
122 lines
No EOL
3 KiB
C++
#ifndef __W_EQUIPMENT_H_
|
|
#define __W_EQUIPMENT_H_
|
|
|
|
#include "w_weapons.h"
|
|
#include "../strings/items.h"
|
|
|
|
class itemInfo_c
|
|
{
|
|
private:
|
|
public:
|
|
itemInfo_c(void){}
|
|
~itemInfo_c(void){}
|
|
|
|
virtual void setupModelInfo(void){};
|
|
virtual void frameUpdate(sharedEdict_t &ent, itemSlot_c &slot){}
|
|
virtual bool use(edict_t &ent, itemSlot_c &slot){return true;}
|
|
virtual void deactivate(edict_t &ent, itemSlot_c &slot){}
|
|
virtual int handleDamage(sharedEdict_t &ent, int curDamage, itemSlot_c &slot){return curDamage;}
|
|
virtual char *getName(void){return "";}
|
|
virtual int getNameIndex(void){return 0;}
|
|
virtual int itemExistsAsUnique(void){return 0;}
|
|
};
|
|
|
|
extern itemInfo_c *itInfo[SFE_NUMITEMS];
|
|
|
|
//------------------------------------------------------------------------------------
|
|
//
|
|
// Item Stuff
|
|
//
|
|
//------------------------------------------------------------------------------------
|
|
|
|
class flashpackInfo : public itemInfo_c
|
|
{
|
|
private:
|
|
public:
|
|
flashpackInfo(void);
|
|
bool use(edict_t &ent, itemSlot_c &slot);
|
|
char *getName(void){return "Flash Packs";} // naughty! should have been string packaged!
|
|
int getNameIndex(void){return ITEMS_FLASHPACK;}
|
|
};
|
|
|
|
class neuralGrenadeInfo : public itemInfo_c
|
|
{
|
|
private:
|
|
public:
|
|
neuralGrenadeInfo(void);
|
|
bool use(edict_t &ent, itemSlot_c &slot);
|
|
char *getName(void){return "Neural Pulse Grenades";}
|
|
int getNameIndex(void){return ITEMS_NEURAL_GRENADE;}
|
|
};
|
|
|
|
class c4Info : public itemInfo_c
|
|
{
|
|
private:
|
|
public:
|
|
c4Info(void);
|
|
bool use(edict_t &ent, itemSlot_c &slot);
|
|
char *getName(void){return "C4";}
|
|
int getNameIndex(void){return ITEMS_C4;}
|
|
|
|
};
|
|
|
|
class lightGogglesInfo : public itemInfo_c
|
|
{
|
|
private:
|
|
public:
|
|
lightGogglesInfo(void);
|
|
void frameUpdate(sharedEdict_t &ent, itemSlot_c &slot);
|
|
bool use(edict_t &ent, itemSlot_c &slot);
|
|
void deactivate(edict_t &ent, itemSlot_c &slot);
|
|
char *getName(void){return "Light Amplification Goggles";}
|
|
int itemExistsAsUnique(void){return 1;}
|
|
int getNameIndex(void){return ITEMS_LIGHT_GOGGLES;}
|
|
|
|
};
|
|
|
|
class claymoreInfo : public itemInfo_c
|
|
{
|
|
private:
|
|
public:
|
|
claymoreInfo(void);
|
|
bool use(edict_t &ent, itemSlot_c &slot);
|
|
char *getName(void){return "Claymore";}
|
|
int getNameIndex(void){return ITEMS_CLAYMORE;}
|
|
|
|
};
|
|
|
|
class medkitInfo : public itemInfo_c
|
|
{
|
|
private:
|
|
public:
|
|
medkitInfo(void);
|
|
void frameUpdate(sharedEdict_t &ent, itemSlot_c &slot);
|
|
bool use(edict_t &ent, itemSlot_c &slot);
|
|
char *getName(void){return "Medkit";}
|
|
int getNameIndex(void){return ITEMS_MEDKIT;}
|
|
};
|
|
|
|
class grenadeInfo : public itemInfo_c
|
|
{
|
|
private:
|
|
public:
|
|
grenadeInfo(void);
|
|
bool use(edict_t &ent, itemSlot_c &slot);
|
|
char *getName(void){return "Grenade";}
|
|
int getNameIndex(void){return ITEMS_GRENADE;}
|
|
};
|
|
|
|
class flagInfo : public itemInfo_c
|
|
{
|
|
private:
|
|
public:
|
|
flagInfo(void);
|
|
bool use(edict_t &ent, itemSlot_c &slot){return true;}
|
|
char *getName(void){return "Flag";}
|
|
int itemExistsAsUnique(void){return 1;}
|
|
int getNameIndex(void){return ITEMS_CTF_FLAG;}
|
|
};
|
|
|
|
|
|
|
|
#endif // __W_EQUIPMENT_H_
|