⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gameweapons.h

📁 Blood 2全套源码
💻 H
📖 第 1 页 / 共 2 页
字号:
{
	public:
		CSoulPipe() : CWeapon(WEAP_SOUL_PIPE) { m_nDamageType = DAMAGE_TYPE_MELEE; }
        
		DDWORD	Fire();
};

//*****************************************************************************//

class CSoulHook : public CWeapon
{
	public:
		CSoulHook() : CWeapon(WEAP_SOUL_HOOK) { m_nDamageType = DAMAGE_TYPE_MELEE; }
        
		DDWORD	Fire();
};

//*****************************************************************************//

class CBehemothClaw : public CWeapon
{
	public:
		CBehemothClaw() : CWeapon(WEAP_BEHEMOTH_CLAW) { m_nDamageType = DAMAGE_TYPE_MELEE; }
        
		DDWORD	Fire();
};

//*****************************************************************************//

class CEnergyBlast : public CWeapon
{
	public:
		CEnergyBlast() : CWeapon(WEAP_ZEALOT_ENERGYBLAST) { m_nDamageType = DAMAGE_TYPE_NORMAL; };

		DDWORD	Fire();
		CProjectile*	FireProjectile(DVector *vFire, DFLOAT dist, DBOOL bAltFire);
};

//*****************************************************************************//

class CShockwave : public CWeapon
{
	public:
		CShockwave() : CWeapon(WEAP_ZEALOT_SHOCKWAVE) { m_nDamageType = DAMAGE_TYPE_NORMAL; };

		DDWORD	Fire();
		CProjectile*	FireProjectile(DVector *vFire, DFLOAT dist, DBOOL bAltFire);
};


//*****************************************************************************//

class CFireball : public CWeapon
{
	public:
		CFireball() : CWeapon(WEAP_DRUDGE_FIREBALL) { m_nDamageType = DAMAGE_TYPE_NORMAL; };

		DDWORD	Fire();
		CProjectile*	FireProjectile(DVector *vFire, DFLOAT dist, DBOOL bAltFire);
};

//*****************************************************************************//

class CNightmareBite : public CWeapon
{
	public:
		CNightmareBite() : CWeapon(WEAP_NIGHTMARE_BITE) { m_nDamageType = DAMAGE_TYPE_MELEE; }
        
		DDWORD	Fire();
};

//*****************************************************************************//

class CHandSqueeze : public CWeapon
{
	public:
		CHandSqueeze() : CWeapon(WEAP_HAND_SQUEEZE) { m_nDamageType = DAMAGE_TYPE_MELEE; }
        
		DDWORD	Fire();
};

//*****************************************************************************//

class CThiefSuck : public CWeapon
{
	public:
		CThiefSuck() : CWeapon(WEAP_THIEF_SUCK) { m_nDamageType = DAMAGE_TYPE_MELEE; }
        
		DDWORD	Fire();
};

//*****************************************************************************//

class CBoneleechSuck : public CWeapon
{
	public:
		CBoneleechSuck() : CWeapon(WEAP_BONELEECH_SUCK) { m_nDamageType = DAMAGE_TYPE_MELEE; }
        
		DDWORD	Fire();
};

//*****************************************************************************//

class CBehemothShockwave : public CWeapon
{
	public:
		CBehemothShockwave() : CWeapon(WEAP_BEHEMOTH_SHOCKWAVE) { m_nDamageType = DAMAGE_TYPE_NORMAL; };

		DDWORD	Fire();
		CProjectile*	FireProjectile(DVector *vFire, DFLOAT dist, DBOOL bAltFire);
};


//*****************************************************************************//

class CDrudgeLightning : public CWeapon
{
	public:
		CDrudgeLightning() : CWeapon(WEAP_DRUDGE_LIGHTNING)	{ m_nDamageType = DAMAGE_TYPE_NORMAL; }

		DBOOL	FireVector(DVector *vFire, DFLOAT dist, DBOOL bTracer);
};

//*****************************************************************************//

class CGroundStrike : public CWeapon
{
	public:
		CGroundStrike() : CWeapon(WEAP_ZEALOT_GROUNDFIRE) { m_nDamageType = DAMAGE_TYPE_NORMAL; };

		DDWORD	Fire();
		CProjectile*	FireProjectile(DVector *vFire, DFLOAT dist, DBOOL bAltFire);
};

//*****************************************************************************//

class CDeathShroudZap : public CWeapon
{
	public:
		CDeathShroudZap();

		DDWORD	Fire();
		DBOOL	FireVector(DVector *vFire, DFLOAT dist, DBOOL bTracer);
};

//*****************************************************************************//

class CZealotHeal : public CWeapon
{
	public:
		CZealotHeal();

		DDWORD	Fire();
		DBOOL	FireVector(DVector *vFire, DFLOAT dist, DBOOL bTracer);
};

//*****************************************************************************//

class CZealotShield : public CWeapon
{
	public:
		CZealotShield();

		DDWORD	Fire();
		DBOOL	FireVector(DVector *vFire, DFLOAT dist, DBOOL bTracer);
};

//*****************************************************************************//

class CNagaEyes : public CWeapon
{
	public:
		CNagaEyes() : CWeapon(WEAP_NAGA_EYEBEAM)
		{
			m_nFlags = 0;
			m_fChromeValue = 0.0f;
		}

		DBOOL	FireVector(DVector *vFire, DFLOAT dist, DBOOL bTracer);

	private:
};

//*****************************************************************************//

class CNagaSpike : public CWeapon
{
	public:
		CNagaSpike() : CWeapon(WEAP_NAGA_SPIKE) { m_nDamageType = DAMAGE_TYPE_NORMAL; };

		DDWORD	Fire();
		CProjectile*	FireProjectile(DVector *vFire, DFLOAT dist, DBOOL bAltFire);
};

//*****************************************************************************//

class CNagaDebris : public CWeapon
{
	public:
		CNagaDebris() : CWeapon(WEAP_NAGA_DEBRIS) { m_nDamageType = DAMAGE_TYPE_EXPLODE; };

		DDWORD	Fire();
		CProjectile*	FireProjectile(DVector *vFire, DFLOAT dist, DBOOL bAltFire);
};

//*****************************************************************************//

class CGideonShield : public CWeapon
{
	public:
		CGideonShield();

		DDWORD	Fire();
		DBOOL	FireVector(DVector *vFire, DFLOAT dist, DBOOL bTracer);
};

//*****************************************************************************//

class CGideonWind : public CWeapon
{
	public:
		CGideonWind();

		DDWORD	Fire();
		DBOOL	FireVector(DVector *vFire, DFLOAT dist, DBOOL bTracer);
};

//*****************************************************************************//

class CVomit : public CWeapon
{
	public:
		CVomit() : CWeapon(WEAP_GIDEON_VOMIT) { m_nDamageType = DAMAGE_TYPE_FIRE; };

		DDWORD	Fire();
		CProjectile*	FireProjectile(DVector *vFire, DFLOAT dist, DBOOL bAltFire);
};

//*****************************************************************************//

class CGooSpit : public CWeapon
{
	public:
		CGooSpit() : CWeapon(WEAP_GIDEON_VOMIT) { m_nDamageType = DAMAGE_TYPE_NORMAL; };

		DDWORD	Fire();
		CProjectile*	FireProjectile(DVector *vFire, DFLOAT dist, DBOOL bAltFire);
};

//*****************************************************************************//

class CGideonSpear : public CWeapon
{
	public:
		CGideonSpear() : CWeapon(WEAP_GIDEON_SPEAR) { m_nDamageType = DAMAGE_TYPE_NORMAL; };

		DBOOL	FireVector(DVector *vFire, DFLOAT dist, DBOOL bTracer);
};

//*****************************************************************************//

class CAncientOneBeam : public CWeapon
{
	public:
		CAncientOneBeam() : CWeapon(WEAP_ANCIENTONE_BEAM)
		{
			m_nFlags = 0;
			m_fChromeValue = 0.0f;
		}

		DBOOL	FireVector(DVector *vFire, DFLOAT dist, DBOOL bTracer);
};

//*****************************************************************************//

class CAncientOneTentacle : public CWeapon
{
	public:
		CAncientOneTentacle() : CWeapon(WEAP_ANCIENTONE_TENTACLE) { m_nDamageType = DAMAGE_TYPE_MELEE; }
        
		DDWORD	Fire();
};



#ifndef _DEMO	// Greg 10/28 - disable bombs for demo


//*****************************************************************************//
// INVENTORY WEAPONS
//*****************************************************************************//

#define		BOMBS_MAX_HOLD_TIME		1.25f
#define		BOMBS_MAX_DIST_TIME		0.75f
#define		BOMBS_MIN_VELOCITY		250.0f
#define		BOMBS_VEL_INCREASE		1500.0f


//*****************************************************************************//

class CWeapProximityBomb : public CWeapon
{
	public:
		CWeapProximityBomb() : CWeapon(WEAP_PROXIMITYBOMB) {}
		void	SetSpecialData(DDWORD dwSpecial, DFLOAT fSpecial)
			{ m_fProjVelocity = fSpecial; }

	protected:
		CProjectile* FireProjectile(DVector *vFire, DFLOAT dist, DBOOL bAltFire);
};

//*****************************************************************************//

class CWeapRemoteBomb : public CWeapon
{
	public:
		CWeapRemoteBomb() : CWeapon(WEAP_REMOTEBOMB) {}
		void	SetSpecialData(DDWORD dwSpecial, DFLOAT fSpecial)
			{ m_fProjVelocity = fSpecial; }

	protected:
		CProjectile* FireProjectile(DVector *vFire, DFLOAT dist, DBOOL bAltFire);
};

//*****************************************************************************//

class CWeapTimeBomb : public CWeapon
{
	public:
		CWeapTimeBomb() : CWeapon(WEAP_TIMEBOMB) {}
		void	SetSpecialData(DDWORD dwSpecial, DFLOAT fSpecial)
			{ m_fProjVelocity = fSpecial; }

	protected:
		CProjectile* FireProjectile(DVector *vFire, DFLOAT dist, DBOOL bAltFire);
};

//*****************************************************************************//

#endif		// Greg 10/28 - disable bombs for demo

//*****************************************************************************//

class CSkull : public CWeapon
{
	public:
		CSkull() : CWeapon(WEAP_SKULL)	{}

		void UpdateFiringState(DVector *firedPos, DRotation *rotP, DBOOL bFiring, DBOOL bAltFiring);

	private:
};

//*****************************************************************************//

#ifdef _ADD_ON

class CGremlinRock : public CWeapon
{
	public:
		CGremlinRock() : CWeapon(WEAP_GREMLIN_ROCK) {}

	protected:
		CProjectile* FireProjectile(DVector *vFire, DFLOAT dist, DBOOL bAltFire);

	private:
};

//*****************************************************************************//

class CNightmareFireballs : public CWeapon
{
	public:
		CNightmareFireballs() : CWeapon(WEAP_NIGHTMARE_FIREBALLS) {}

	protected:
//		CProjectile* FireProjectile(DVector *vFire, DFLOAT dist, DBOOL bAltFire);

	private:
};

#endif

#endif // __GAMEWEAPONS_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -