mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-12-19 17:01:33 +00:00
93cd78ebfb
class menu was present so instead of starting the game specific skill menu it always started Hexen's. - Fixed: When a non-player tried to play a player sound it tried to access the actor object as an APlayerPawn. - Changed PlayAttacking2 to always use the melee state instead of different implementations per player and hard coding it to MissileState+1. Also changed PlayAttacking for the HereticPlayer to use the same animation as PlayAttacking2. Now the special handling for Heretic in the FireWeapon functions can be removed. For R258: - Fixed: PlayerStartItem created a duplicate of the item's class name before converting it into an FName. - Removed game check for Doom from P_BloodSplatter. The BloodSplatter actor is compatible with all games now so the explicit handling is no longer needed. - Moved replacement handling back into AActor::StaticSpawn but controlled by a (mandatory) parameter. Also added replacement to most other instances in the game where non-inventory items are spawned. Replacement is safe nearly everywhere except for inventory related spawns. - Fixed: Due to the player class inclusion A_NoBlocking never called NoBlockingSet for monsters. - Changed: Sounds can be specified by full path now in SNDINFO and S_SKIN. SVN r259 (trunk)
134 lines
3 KiB
C++
134 lines
3 KiB
C++
#ifndef __A_HEXENGLOBAL_H__
|
|
#define __A_HEXENGLOBAL_H__
|
|
|
|
#include "d_player.h"
|
|
|
|
class ALightning : public AActor
|
|
{
|
|
DECLARE_STATELESS_ACTOR (ALightning, AActor)
|
|
public:
|
|
int SpecialMissileHit (AActor *victim);
|
|
};
|
|
|
|
class APoisonCloud : public AActor
|
|
{
|
|
DECLARE_ACTOR (APoisonCloud, AActor)
|
|
public:
|
|
void GetExplodeParms (int &damage, int &distance, bool &hurtSource);
|
|
int DoSpecialDamage (AActor *target, int damage);
|
|
void BeginPlay ();
|
|
};
|
|
|
|
class ABishop : public AActor
|
|
{
|
|
DECLARE_ACTOR (ABishop, AActor)
|
|
public:
|
|
void GetExplodeParms (int &damage, int &distance, bool &hurtSource);
|
|
};
|
|
|
|
class AHeresiarch : public AActor
|
|
{
|
|
DECLARE_ACTOR (AHeresiarch, AActor)
|
|
public:
|
|
const PClass *StopBall;
|
|
|
|
void Serialize (FArchive &arc);
|
|
void Die (AActor *source, AActor *inflictor);
|
|
};
|
|
|
|
class AHolySpirit : public AActor
|
|
{
|
|
DECLARE_ACTOR (AHolySpirit, AActor)
|
|
public:
|
|
bool Slam (AActor *thing);
|
|
bool SpecialBlastHandling (AActor *source, fixed_t strength);
|
|
bool IsOkayToAttack (AActor *link);
|
|
};
|
|
|
|
class AHammerPuff : public AActor
|
|
{
|
|
DECLARE_ACTOR (AHammerPuff, AActor)
|
|
public:
|
|
void BeginPlay ();
|
|
};
|
|
|
|
class ACentaur : public AActor
|
|
{
|
|
DECLARE_ACTOR (ACentaur, AActor)
|
|
public:
|
|
void Howl ();
|
|
};
|
|
|
|
class AFourthWeaponPiece : public AInventory
|
|
{
|
|
DECLARE_STATELESS_ACTOR (AFourthWeaponPiece, AInventory)
|
|
HAS_OBJECT_POINTERS
|
|
public:
|
|
void Serialize (FArchive &arc);
|
|
bool TryPickup (AActor *toucher);
|
|
const char *PickupMessage ();
|
|
bool ShouldStay ();
|
|
void PlayPickupSound (AActor *toucher);
|
|
protected:
|
|
virtual bool MatchPlayerClass (AActor *toucher);
|
|
const PClass *FourthWeaponClass;
|
|
int PieceValue;
|
|
AInventory *TempFourthWeapon;
|
|
bool PrivateShouldStay ();
|
|
};
|
|
|
|
class AFighterPlayer : public APlayerPawn
|
|
{
|
|
DECLARE_ACTOR (AFighterPlayer, APlayerPawn)
|
|
public:
|
|
void GiveDefaultInventory ();
|
|
bool DoHealingRadius (APlayerPawn *other);
|
|
};
|
|
|
|
class AFighterWeapon : public AWeapon
|
|
{
|
|
DECLARE_STATELESS_ACTOR (AFighterWeapon, AWeapon);
|
|
public:
|
|
bool TryPickup (AActor *toucher);
|
|
};
|
|
|
|
class AClericPlayer : public APlayerPawn
|
|
{
|
|
DECLARE_ACTOR (AClericPlayer, APlayerPawn)
|
|
public:
|
|
void GiveDefaultInventory ();
|
|
void SpecialInvulnerabilityHandling (EInvulState state, fixed_t * pAlpha);
|
|
};
|
|
|
|
class AClericWeapon : public AWeapon
|
|
{
|
|
DECLARE_STATELESS_ACTOR (AClericWeapon, AWeapon);
|
|
public:
|
|
bool TryPickup (AActor *toucher);
|
|
};
|
|
|
|
class AMagePlayer : public APlayerPawn
|
|
{
|
|
DECLARE_ACTOR (AMagePlayer, APlayerPawn)
|
|
public:
|
|
void GiveDefaultInventory ();
|
|
bool DoHealingRadius (APlayerPawn *other);
|
|
void SpecialInvulnerabilityHandling (EInvulState state, fixed_t * pAlpha);
|
|
};
|
|
|
|
class AMageWeapon : public AWeapon
|
|
{
|
|
DECLARE_STATELESS_ACTOR (AMageWeapon, AWeapon);
|
|
public:
|
|
bool TryPickup (AActor *toucher);
|
|
};
|
|
|
|
class ASwitchableDecoration : public AActor
|
|
{
|
|
DECLARE_STATELESS_ACTOR (ASwitchableDecoration, AActor)
|
|
public:
|
|
void Activate (AActor *activator);
|
|
void Deactivate (AActor *activator);
|
|
};
|
|
|
|
#endif //__A_HEXENGLOBAL_H__
|