Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
114 lines
1.8 KiB
C++
114 lines
1.8 KiB
C++
// Z3DWeapon.h: interface for the CZ3DWeapon class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_Z3DWEAPON_H__23D7C421_26A5_11D5_A644_0000E8EB4C69__INCLUDED_)
|
|
#define AFX_Z3DWEAPON_H__23D7C421_26A5_11D5_A644_0000E8EB4C69__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include "Z3DAttachment.h"
|
|
#include "Z3DBladeTrail.h"
|
|
//#include "Z3DFireBlade.h"
|
|
|
|
|
|
class CZ3DWeapon : public CZ3DAttachment
|
|
{
|
|
public:
|
|
CZ3DWeapon( CZ3DObject* pManipulator ) : CZ3DAttachment()
|
|
{
|
|
m_pBladeTrail = new CZ3DBladeTrail( this, "blade_trail_1.dds", 7, 4 );
|
|
m_pBowString = new CZ3DBowString( this, "blade_trail_1.dds", pManipulator );
|
|
}
|
|
|
|
virtual ~CZ3DWeapon()
|
|
{
|
|
SAFE_DELETE( m_pBladeTrail );
|
|
SAFE_DELETE( m_pBowString );
|
|
}
|
|
|
|
CZ3DBladeTrail* GetBladeTrailInterface()
|
|
{
|
|
return m_pBladeTrail;
|
|
}
|
|
|
|
void SetBowMode( bool bBowMode )
|
|
{
|
|
m_bBowMode = bBowMode;
|
|
|
|
if( m_bBowMode )
|
|
{
|
|
// bow mode
|
|
m_pBowString->Enable();
|
|
m_pBladeTrail->Disable();
|
|
}
|
|
else
|
|
{
|
|
// sword mode
|
|
m_pBladeTrail->Enable();
|
|
m_pBowString->Disable();
|
|
}
|
|
}
|
|
|
|
void TurnOnTrail()
|
|
{
|
|
if( m_bBowMode )
|
|
{
|
|
m_pBowString->GripString();
|
|
}
|
|
else
|
|
{
|
|
m_pBladeTrail->Activate();
|
|
}
|
|
}
|
|
|
|
void TurnOffTrail()
|
|
{
|
|
if( m_bBowMode )
|
|
{
|
|
m_pBowString->ReleaseString();
|
|
}
|
|
else
|
|
{
|
|
m_pBladeTrail->Stop();
|
|
}
|
|
}
|
|
|
|
void TurnOnFire()
|
|
{
|
|
/*if( m_pFire )
|
|
{
|
|
return;
|
|
}*/
|
|
|
|
//m_pFire = new CZ3DFireBlade( this );
|
|
}
|
|
|
|
void TurnOffFire()
|
|
{
|
|
//SAFE_DELETE( m_pFire );
|
|
}
|
|
|
|
void SetCullByLODLevel( long l )
|
|
{
|
|
if( l < 2 )
|
|
{
|
|
m_bCull = false;
|
|
}
|
|
else
|
|
{
|
|
m_bCull = true;
|
|
}
|
|
}
|
|
|
|
protected:
|
|
bool m_bBowMode;
|
|
CZ3DBladeTrail* m_pBladeTrail;
|
|
CZ3DBowString* m_pBowString;
|
|
//CZ3DFireBlade* m_pFire;
|
|
};
|
|
|
|
#endif // !defined(AFX_Z3DWEAPON_H__23D7C421_26A5_11D5_A644_0000E8EB4C69__INCLUDED_)
|