2006-02-24 04:48:15 +00:00
|
|
|
|
|
|
|
class AWeaponPiece : public AInventory
|
|
|
|
{
|
|
|
|
DECLARE_CLASS (AWeaponPiece, AInventory)
|
2008-03-12 02:56:11 +00:00
|
|
|
HAS_OBJECT_POINTERS
|
2006-02-24 04:48:15 +00:00
|
|
|
protected:
|
|
|
|
bool PrivateShouldStay ();
|
|
|
|
public:
|
|
|
|
void Serialize (FArchive &arc);
|
2008-09-13 22:08:41 +00:00
|
|
|
bool TryPickup (AActor *&toucher);
|
2006-02-24 04:48:15 +00:00
|
|
|
bool ShouldStay ();
|
|
|
|
virtual const char *PickupMessage ();
|
|
|
|
virtual void PlayPickupSound (AActor *toucher);
|
|
|
|
|
|
|
|
int PieceValue;
|
2006-05-10 02:40:43 +00:00
|
|
|
const PClass * WeaponClass;
|
2008-03-12 02:56:11 +00:00
|
|
|
TObjPtr<AWeapon> FullWeapon;
|
2006-02-24 04:48:15 +00:00
|
|
|
};
|
2008-05-18 15:48:03 +00:00
|
|
|
|
|
|
|
// an internal class to hold the information for player class independent weapon piece handling
|
|
|
|
// [BL] Needs to be available for SBarInfo to check weaponpieces
|
|
|
|
class AWeaponHolder : public AInventory
|
|
|
|
{
|
2008-08-09 11:35:42 +00:00
|
|
|
DECLARE_CLASS(AWeaponHolder, AInventory)
|
2008-05-18 15:48:03 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
int PieceMask;
|
|
|
|
const PClass * PieceWeapon;
|
|
|
|
|
|
|
|
void Serialize (FArchive &arc)
|
|
|
|
{
|
|
|
|
Super::Serialize(arc);
|
|
|
|
arc << PieceMask << PieceWeapon;
|
|
|
|
}
|
|
|
|
};
|