Files
firestorm/Gameleap/code/mw4/Code/MW4/DamageDispatch.hpp
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

48 lines
1.0 KiB
C++

#ifndef DAMAGEDISPATCH_HPP
#define DAMAGEDISPATCH_HPP
#pragma once
#define INTERFACE_DamageDispatch(post) \
public: \
virtual void InflictCriticalHit(MWInternalDamageObject& internal_damage_object) ##post \
virtual Scalar TakeDamage(MWInternalDamageObject& internal_damage_object, Scalar damage_taken, Entity__TakeDamageMessage *message) ##post \
virtual void KillAllContainedSubsystems(MWInternalDamageObject& internal_damage_object) ##post
#define PURE_DamageDispatch INTERFACE_DamageDispatch(=0;)
#define DERIVED_DamageDispatch INTERFACE_DamageDispatch(;)
namespace MechWarrior4
{
class MWInternalDamageObject;
class DamageDispatch
{
PURE_DamageDispatch;
public:
static DamageDispatch* GetInstance()
{
return (m_Instance);
}
static DamageDispatch* m_Instance;
static void
SetGlobalInvulnerability(bool fInvulnerable);
static bool
GetGlobalInvulnerability();
private:
static bool
m_GlobalInvulnerability;
};
};
#endif // DAMAGEDISPATCH_HPP