Make monster_big_smoke

This commit is contained in:
RAINBOW2000 2017-01-26 00:04:19 +03:00
parent 43b7ea9531
commit 164c2bb142
2 changed files with 606 additions and 507 deletions

File diff suppressed because it is too large Load Diff

View File

@ -24,13 +24,14 @@
#include "cbase.h" #include "cbase.h"
#include "monsters.h" #include "monsters.h"
#include "schedule.h" #include "schedule.h"
#include "weapons.h"
//========================================================= //=========================================================
// Monster's Anim Events Go Here // Monster's Anim Events Go Here
//========================================================= //=========================================================
#define ZOMBIE_AE_ATTACK_BOTH 0x03
#define ZOMBIE_AE_ATTACK_RIGHT 0x01 #define ZOMBIE_AE_ATTACK_RIGHT 0x01
#define ZOMBIE_AE_ATTACK_LEFT 0x02 #define ZOMBIE_AE_ATTACK_LEFT 0x02
#define ZOMBIE_AE_ATTACK_BOTH 0x03
#define ZOMBIE_FLINCH_DELAY 2 // at most one flinch every n secs #define ZOMBIE_FLINCH_DELAY 2 // at most one flinch every n secs
@ -158,57 +159,32 @@ void Czombozo::IdleSound( void )
//========================================================= //=========================================================
void Czombozo::HandleAnimEvent( MonsterEvent_t *pEvent ) void Czombozo::HandleAnimEvent( MonsterEvent_t *pEvent )
{ {
switch( pEvent->event ) switch( pEvent->event )
{ {
case ZOMBIE_AE_ATTACK_RIGHT: case ZOMBIE_AE_ATTACK_RIGHT:
{ {
// do stuff for this event. UTIL_MakeVectors( pev->angles );
//ALERT( at_console, "Slash right!\n" ); CGrenade::ShootTimed( pev, pev->origin + gpGlobals->v_forward * 17 - gpGlobals->v_right * 27 + gpGlobals->v_up * 6, g_vecZero, 3 );
CBaseEntity *pHurt = CheckTraceHullAttack( 70, gSkillData.zombieDmgOneSlash, DMG_SLASH ); //n a group, only try to throw grenade if ordered.
if( pHurt )
{
if( pHurt->pev->flags & ( FL_MONSTER | FL_CLIENT ) )
{
pHurt->pev->punchangle.z = -18;
pHurt->pev->punchangle.x = 5;
pHurt->pev->velocity = pHurt->pev->velocity - gpGlobals->v_right * 100;
}
}
} }
break; break;
case ZOMBIE_AE_ATTACK_LEFT: case ZOMBIE_AE_ATTACK_LEFT:
{ {
// do stuff for this event. UTIL_MakeVectors( pev->angles );
//ALERT( at_console, "Slash left!\n" ); CGrenade::ShootTimed( pev, pev->origin + gpGlobals->v_forward * 17 - gpGlobals->v_right * 27 + gpGlobals->v_up * 6, g_vecZero, 3 );
CBaseEntity *pHurt = CheckTraceHullAttack( 70, gSkillData.zombieDmgOneSlash, DMG_SLASH );
if( pHurt )
{
if( pHurt->pev->flags & ( FL_MONSTER | FL_CLIENT ) )
{
pHurt->pev->punchangle.z = 18;
pHurt->pev->punchangle.x = 5;
pHurt->pev->velocity = pHurt->pev->velocity + gpGlobals->v_right * 100;
}
}
} }
break; break;
case ZOMBIE_AE_ATTACK_BOTH: case ZOMBIE_AE_ATTACK_BOTH:
{ {
// do stuff for this event. //ALERT( at_console, "Slash right!\n" );
CBaseEntity *pHurt = CheckTraceHullAttack( 70, gSkillData.zombieDmgBothSlash, DMG_SLASH ); UTIL_MakeVectors( pev->angles );
if( pHurt ) CGrenade::ShootTimed( pev, pev->origin + gpGlobals->v_forward * 17 - gpGlobals->v_right * 27 + gpGlobals->v_up * 6, g_vecZero, 3 );
{
if( pHurt->pev->flags & ( FL_MONSTER | FL_CLIENT ) )
{
pHurt->pev->punchangle.x = 5;
pHurt->pev->velocity = pHurt->pev->velocity + gpGlobals->v_forward * -100;
}
}
} }
break; break;
default: default:
CBaseMonster::HandleAnimEvent( pEvent ); CBaseMonster::HandleAnimEvent( pEvent );
break; break;
} }
} }