Fix flamethrower animations

This commit is contained in:
DPT.Velaron 2018-12-10 16:21:54 +02:00
parent 184d878a4d
commit ff09d161d3
5 changed files with 77 additions and 47 deletions

View File

@ -826,16 +826,16 @@ void EV_PumpTFCShotgun(event_args_t *args)
gEngfuncs.pEventAPI->EV_PlaySound(idx, origin, CHAN_WEAPON, "weapons/scock1.wav", 1.0, 0.8, 0, gEngfuncs.pfnRandomLong(0, 31) + 95);
}
enum tfc_nailgun_e
enum tf_ng_e
{
NAILGUN_LONGIDLE = 0,
NAILGUN_IDLE1,
NAILGUN_GRENADE,
NAILGUN_RELOAD,
NAILGUN_DEPLOY,
NAILGUN_SHOOT1,
NAILGUN_SHOOT2,
NAILGUN_SHOOT3
NG_LONGIDLE = 0,
NG_IDLE1,
NG_GRENADE,
NG_RELOAD,
NG_DEPLOY,
NG_SHOOT1,
NG_SHOOT2,
NG_SHOOT3
};
void EV_FireTFCNailgun(event_args_t *args)
@ -861,7 +861,7 @@ void EV_FireTFCNailgun(event_args_t *args)
shell = gEngfuncs.pEventAPI->EV_FindModelIndex("models/nail.mdl");
if(EV_IsLocal(idx))
gEngfuncs.pEventAPI->EV_WeaponAnimation(NAILGUN_SHOOT1, 2);
gEngfuncs.pEventAPI->EV_WeaponAnimation(NG_SHOOT1, 2);
EV_GetGunPosition(args, ShellOrigin, origin);
VectorMA(ShellOrigin, -4.0, up, ShellOrigin);
VectorMA(ShellOrigin, 2.0, right, ShellOrigin);
@ -912,7 +912,7 @@ void EV_FireTFCSuperNailgun(event_args_t *args)
shell = gEngfuncs.pEventAPI->EV_FindModelIndex("models/nail.mdl");
if(EV_IsLocal(idx))
gEngfuncs.pEventAPI->EV_WeaponAnimation(NAILGUN_SHOOT1, 2);
gEngfuncs.pEventAPI->EV_WeaponAnimation(NG_SHOOT1, 2);
EV_GetGunPosition(args, ShellOrigin, origin);
VectorMA(ShellOrigin, -4.0, up, ShellOrigin);
VectorMA(ShellOrigin, 2.0, right, ShellOrigin);
@ -1844,6 +1844,21 @@ void EV_TFC_EMP(event_args_t *args)
gEngfuncs.pEfxAPI->R_BeamCirclePoints(21, vecSpot, vecEnd, sprite, 0.2, 70, 0, 1.0, 0, 0, 0, 1.0, 1.0, 0.0);
}
enum tf_ft_e
{
FT_IDLE = 0,
FT_FIDGET,
FT_ALTON,
FT_ALTCYCLE,
FT_ALTOFF,
FT_FIRE1,
FR_FIRE2,
FT_FIRE3,
FT_FIRE4,
FT_DRAW,
FT_HOLSTER
};
void EV_TFC_Flame_Fire(event_args_t *args)
{
int idx;
@ -1862,7 +1877,7 @@ void EV_TFC_Flame_Fire(event_args_t *args)
bubble = gEngfuncs.pEventAPI->EV_FindModelIndex("sprites/bubble.spr");
gEngfuncs.pfnAngleVectors(angles, forward, right, up);
if(EV_IsLocal(idx))
gEngfuncs.pEventAPI->EV_WeaponAnimation(5, 2);
gEngfuncs.pEventAPI->EV_WeaponAnimation(FT_FIRE1, 2);
EV_GetGunPosition(args, ShellOrigin, origin);
VectorMA(ShellOrigin, -8.0, up, ShellOrigin);
VectorMA(ShellOrigin, 8.0, right, ShellOrigin);

View File

@ -6,14 +6,14 @@
#include "nodes.h"
#include "player.h"
#include "gamerules.h"
#include "tf_defs.h"
LINK_ENTITY_TO_CLASS( tf_weapon_flamethrower, CTFFlamethrower )
void CTFFlamethrower::Spawn()
{
Precache();
m_iId = 13;
m_iId = WEAPON_FLAMETHROWER;
SET_MODEL(ENT(pev), "models/w_egon.mdl");
m_iDefaultAmmo = 50;
pev->solid = SOLID_TRIGGER;
@ -22,7 +22,7 @@ void CTFFlamethrower::Spawn()
int CTFFlamethrower::GetItemInfo( ItemInfo *p )
{
p->pszAmmo1 = "uranium";
p->pszName = STRING( pev->classname );
p->pszName = STRING(pev->classname);
p->iMaxAmmo1 = 200;
p->pszAmmo2 = 0;
p->iMaxAmmo2 = -1;
@ -30,7 +30,7 @@ int CTFFlamethrower::GetItemInfo( ItemInfo *p )
p->iPosition = 2;
p->iFlags = 0;
p->iMaxClip = -1;
p->iId = 13;
p->iId = WEAPON_FLAMETHROWER;
p->iWeight = 20;
return 1;
}
@ -64,19 +64,19 @@ void CTFFlamethrower::WeaponIdle( void )
if(UTIL_SharedRandomLong(m_pPlayer->random_seed, 0, 4))
{
m_flTimeWeaponIdle = 12.5;
SendWeaponAnim(0, 1);
SendWeaponAnim(FT_IDLE, 1);
}
else
{
m_flTimeWeaponIdle = 3;
SendWeaponAnim(1, 1);
SendWeaponAnim(FT_FIDGET, 1);
}
}
}
BOOL CTFFlamethrower::Deploy()
{
return DefaultDeploy( "models/v_flame.mdl", "models/p_egon.mdl", 5, "egon", 1 );
return DefaultDeploy( "models/v_flame.mdl", "models/p_egon.mdl", 9, "egon", 1 );
}
int CTFFlamethrower::AddToPlayer( CBasePlayer *pPlayer )

View File

@ -8,22 +8,6 @@
#include "gamerules.h"
#include "tf_defs.h"
enum tf_gl_e
{
GL_IDLE = 0,
PL_IDLE,
GL_FIRE,
PL_FIRE,
GL_RELOAD1,
GL_RELOAD2,
PL_RELOAD1,
PL_RELOAD2,
GL_DRAW,
PL_DRAW,
GL_HOLSTER,
PL_HOLSTER
};
LINK_ENTITY_TO_CLASS( tf_weapon_gl, CTFGrenadeLauncher )
void CTFGrenadeLauncher::Spawn()

View File

@ -53,7 +53,7 @@ int CTFNailgun::GetItemInfo( ItemInfo *p )
BOOL CTFNailgun::Deploy()
{
return DefaultDeploy( "models/v_tfc_nailgun.mdl", "models/p_nailgun.mdl", NAILGUN_DEPLOY, "mp5", 1 );
return DefaultDeploy( "models/v_tfc_nailgun.mdl", "models/p_nailgun.mdl", NG_DEPLOY, "mp5", 1 );
}
void CTFNailgun::WeaponIdle( void )
@ -61,7 +61,7 @@ void CTFNailgun::WeaponIdle( void )
if(m_flTimeWeaponIdle < 0.0)
{
m_flTimeWeaponIdle = 15;
SendWeaponAnim(NAILGUN_IDLE1, 1);
SendWeaponAnim(NG_IDLE1, 1);
}
}
@ -120,7 +120,7 @@ int CTFSuperNailgun::GetItemInfo( ItemInfo *p )
BOOL CTFSuperNailgun::Deploy()
{
return DefaultDeploy( "models/v_tfc_supernailgun.mdl", "models/p_snailgun.mdl", NAILGUN_DEPLOY, "mp5", 1 );
return DefaultDeploy( "models/v_tfc_supernailgun.mdl", "models/p_snailgun.mdl", NG_DEPLOY, "mp5", 1 );
}
void CTFSuperNailgun::PrimaryAttack()

View File

@ -587,16 +587,16 @@ private:
unsigned short m_usFireSuperShotgun;
};
enum tfc_nailgun_e
enum tf_ng_e
{
NAILGUN_LONGIDLE = 0,
NAILGUN_IDLE1,
NAILGUN_GRENADE,
NAILGUN_RELOAD,
NAILGUN_DEPLOY,
NAILGUN_SHOOT1,
NAILGUN_SHOOT2,
NAILGUN_SHOOT3
NG_LONGIDLE = 0,
NG_IDLE1,
NG_GRENADE,
NG_RELOAD,
NG_DEPLOY,
NG_SHOOT1,
NG_SHOOT2,
NG_SHOOT3
};
class CTFNailgun : public CBasePlayerWeapon
@ -630,6 +630,22 @@ private:
unsigned short m_usFireSuperNailGun;
};
enum tf_gl_e
{
GL_IDLE = 0,
PL_IDLE,
GL_FIRE,
PL_FIRE,
GL_RELOAD1,
GL_RELOAD2,
PL_RELOAD1,
PL_RELOAD2,
GL_DRAW,
PL_DRAW,
GL_HOLSTER,
PL_HOLSTER
};
class CTFGrenadeLauncher : public CBasePlayerWeapon
{
public:
@ -667,6 +683,21 @@ private:
float m_flNextReload;
};
enum tf_ft_e
{
FT_IDLE = 0,
FT_FIDGET,
FT_ALTON,
FT_ALTCYCLE,
FT_ALTOFF,
FT_FIRE1,
FR_FIRE2,
FT_FIRE3,
FT_FIRE4,
FT_DRAW,
FT_HOLSTER
};
class CTFFlamethrower : public CBasePlayerWeapon
{
public: