Added a bajillion new activities

This commit is contained in:
Blixibon 2021-10-27 17:10:31 -05:00
parent 0e8b870e7d
commit 833f0b0823
11 changed files with 444 additions and 6 deletions

View File

@ -2183,6 +2183,8 @@ void CAI_BaseNPC::InitDefaultActivitySR(void)
ADD_ACTIVITY_TO_SR( ACT_RELOAD_AR2_LOW );
ADD_ACTIVITY_TO_SR( ACT_GESTURE_RELOAD_AR2 );
ADD_ACTIVITY_TO_SR( ACT_COVER_AR2_LOW );
#endif
#ifdef SHARED_COMBINE_ACTIVITIES
@ -2245,14 +2247,42 @@ void CAI_BaseNPC::InitDefaultActivitySR(void)
ADD_ACTIVITY_TO_SR( ACT_WALK_AIM_PISTOL_STIMULATED );
ADD_ACTIVITY_TO_SR( ACT_RUN_AIM_PISTOL_STIMULATED );
ADD_ACTIVITY_TO_SR( ACT_WALK_CROUCH_PISTOL );
ADD_ACTIVITY_TO_SR( ACT_WALK_CROUCH_AIM_PISTOL );
ADD_ACTIVITY_TO_SR( ACT_RUN_CROUCH_PISTOL );
ADD_ACTIVITY_TO_SR( ACT_RUN_CROUCH_AIM_PISTOL );
ADD_ACTIVITY_TO_SR( ACT_IDLE_SHOTGUN );
ADD_ACTIVITY_TO_SR( ACT_WALK_SHOTGUN );
ADD_ACTIVITY_TO_SR( ACT_RUN_SHOTGUN );
ADD_ACTIVITY_TO_SR( ACT_COVER_SHOTGUN_LOW );
ADD_ACTIVITY_TO_SR( ACT_RANGE_AIM_SHOTGUN_LOW );
ADD_ACTIVITY_TO_SR( ACT_WALK_SHOTGUN_RELAXED );
ADD_ACTIVITY_TO_SR( ACT_WALK_SHOTGUN_STIMULATED );
ADD_ACTIVITY_TO_SR( ACT_RUN_SHOTGUN_RELAXED );
ADD_ACTIVITY_TO_SR( ACT_RUN_SHOTGUN_STIMULATED );
ADD_ACTIVITY_TO_SR( ACT_IDLE_AIM_SHOTGUN_STIMULATED );
ADD_ACTIVITY_TO_SR( ACT_WALK_AIM_SHOTGUN_STIMULATED );
ADD_ACTIVITY_TO_SR( ACT_RUN_AIM_SHOTGUN_STIMULATED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_AIM_RPG_LOW );
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK_RPG_LOW );
ADD_ACTIVITY_TO_SR( ACT_GESTURE_RANGE_ATTACK_RPG );
ADD_ACTIVITY_TO_SR( ACT_RUN_PACKAGE );
ADD_ACTIVITY_TO_SR( ACT_RUN_SUITCASE );
ADD_ACTIVITY_TO_SR( ACT_ARM_RIFLE );
ADD_ACTIVITY_TO_SR( ACT_ARM_SHOTGUN );
ADD_ACTIVITY_TO_SR( ACT_ARM_RPG );
ADD_ACTIVITY_TO_SR( ACT_ARM_MELEE );
ADD_ACTIVITY_TO_SR( ACT_DISARM_RIFLE );
ADD_ACTIVITY_TO_SR( ACT_DISARM_SHOTGUN );
ADD_ACTIVITY_TO_SR( ACT_DISARM_RPG );
ADD_ACTIVITY_TO_SR( ACT_DISARM_MELEE );
#endif
#ifdef EXPANDED_NAVIGATION_ACTIVITIES
@ -2263,4 +2293,158 @@ void CAI_BaseNPC::InitDefaultActivitySR(void)
ADD_ACTIVITY_TO_SR( ACT_CLIMB_MOUNT_BOTTOM );
ADD_ACTIVITY_TO_SR( ACT_CLIMB_DISMOUNT_BOTTOM );
#endif
#ifdef EXPANDED_HL2_COVER_ACTIVITIES
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK1_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK2_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_AIM_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK_AR2_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK_SMG1_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK_SHOTGUN_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK_PISTOL_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK_RPG_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK_REVOLVER_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_ATTACK_CROSSBOW_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_AIM_AR2_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_AIM_SMG1_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_AIM_SHOTGUN_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_AIM_PISTOL_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_AIM_RPG_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_AIM_REVOLVER_MED );
ADD_ACTIVITY_TO_SR( ACT_RANGE_AIM_CROSSBOW_MED );
ADD_ACTIVITY_TO_SR( ACT_COVER_WALL_R );
ADD_ACTIVITY_TO_SR( ACT_COVER_WALL_L );
ADD_ACTIVITY_TO_SR( ACT_COVER_WALL_LOW_R );
ADD_ACTIVITY_TO_SR( ACT_COVER_WALL_LOW_L );
ADD_ACTIVITY_TO_SR( ACT_COVER_WALL_R_RIFLE );
ADD_ACTIVITY_TO_SR( ACT_COVER_WALL_L_RIFLE );
ADD_ACTIVITY_TO_SR( ACT_COVER_WALL_LOW_R_RIFLE );
ADD_ACTIVITY_TO_SR( ACT_COVER_WALL_LOW_L_RIFLE );
ADD_ACTIVITY_TO_SR( ACT_COVER_WALL_R_PISTOL );
ADD_ACTIVITY_TO_SR( ACT_COVER_WALL_L_PISTOL );
ADD_ACTIVITY_TO_SR( ACT_COVER_WALL_LOW_R_PISTOL );
ADD_ACTIVITY_TO_SR( ACT_COVER_WALL_LOW_L_PISTOL );
#endif
}
#ifdef MAPBASE
//-----------------------------------------------------------------------------
// Purpose: This is a multi-purpose table which links NPC activities to their gesture variants.
//-----------------------------------------------------------------------------
CAI_BaseNPC::actlink_t CAI_BaseNPC::gm_ActivityGestureLinks[] =
{
{ ACT_RANGE_ATTACK1, ACT_GESTURE_RANGE_ATTACK1 },
{ ACT_RANGE_ATTACK2, ACT_GESTURE_RANGE_ATTACK2 },
{ ACT_MELEE_ATTACK1, ACT_GESTURE_MELEE_ATTACK1 },
{ ACT_MELEE_ATTACK2, ACT_GESTURE_MELEE_ATTACK2 },
{ ACT_RELOAD, ACT_GESTURE_RELOAD },
{ ACT_RANGE_ATTACK1_LOW, ACT_GESTURE_RANGE_ATTACK1 }, // NOTE: ACT_GESTURE_RANGE_ATTACK1_LOW exists, but isn't used
{ ACT_RANGE_ATTACK2_LOW, ACT_GESTURE_RANGE_ATTACK2 }, // NOTE: ACT_GESTURE_RANGE_ATTACK2_LOW exists, but isn't used
{ ACT_RELOAD_LOW, ACT_GESTURE_RELOAD },
{ ACT_MELEE_ATTACK_SWING, ACT_GESTURE_MELEE_ATTACK_SWING },
// -----------------------------------------------------------
{ ACT_RANGE_ATTACK_AR2, ACT_GESTURE_RANGE_ATTACK_AR2 },
{ ACT_RANGE_ATTACK_AR2_LOW, ACT_GESTURE_RANGE_ATTACK_AR2 },
{ ACT_RANGE_ATTACK_SMG1, ACT_GESTURE_RANGE_ATTACK_SMG1 },
{ ACT_RANGE_ATTACK_SMG1_LOW, ACT_GESTURE_RANGE_ATTACK_SMG1 },
{ ACT_RANGE_ATTACK_SHOTGUN, ACT_GESTURE_RANGE_ATTACK_SHOTGUN },
{ ACT_RANGE_ATTACK_SHOTGUN_LOW, ACT_GESTURE_RANGE_ATTACK_SHOTGUN },
{ ACT_RANGE_ATTACK_PISTOL, ACT_GESTURE_RANGE_ATTACK_PISTOL },
{ ACT_RANGE_ATTACK_PISTOL_LOW, ACT_GESTURE_RANGE_ATTACK_PISTOL },
// -----------------------------------------------------------
{ ACT_SMALL_FLINCH, ACT_GESTURE_SMALL_FLINCH },
{ ACT_BIG_FLINCH, ACT_GESTURE_BIG_FLINCH },
{ ACT_FLINCH_HEAD, ACT_GESTURE_FLINCH_HEAD },
{ ACT_FLINCH_CHEST, ACT_GESTURE_FLINCH_CHEST },
{ ACT_FLINCH_STOMACH, ACT_GESTURE_FLINCH_STOMACH },
{ ACT_FLINCH_LEFTARM, ACT_GESTURE_FLINCH_LEFTARM },
{ ACT_FLINCH_RIGHTARM, ACT_GESTURE_FLINCH_RIGHTARM },
{ ACT_FLINCH_LEFTLEG, ACT_GESTURE_FLINCH_LEFTLEG },
{ ACT_FLINCH_RIGHTLEG, ACT_GESTURE_FLINCH_RIGHTLEG },
// -----------------------------------------------------------
#if AR2_ACTIVITY_FIX == 1
{ ACT_RELOAD_AR2, ACT_GESTURE_RELOAD_AR2 },
{ ACT_RELOAD_AR2_LOW, ACT_GESTURE_RELOAD_AR2 },
#endif
{ ACT_RELOAD_SMG1, ACT_GESTURE_RELOAD_SMG1 },
{ ACT_RELOAD_SMG1_LOW, ACT_GESTURE_RELOAD_SMG1 },
{ ACT_RELOAD_SHOTGUN, ACT_GESTURE_RELOAD_SHOTGUN },
{ ACT_RELOAD_SHOTGUN_LOW, ACT_GESTURE_RELOAD_SHOTGUN },
{ ACT_RELOAD_PISTOL, ACT_GESTURE_RELOAD_PISTOL },
{ ACT_RELOAD_PISTOL_LOW, ACT_GESTURE_RELOAD_PISTOL },
#ifdef SHARED_COMBINE_ACTIVITIES
{ ACT_SPECIAL_ATTACK1, ACT_GESTURE_SPECIAL_ATTACK1 },
{ ACT_SPECIAL_ATTACK2, ACT_GESTURE_SPECIAL_ATTACK2 },
{ ACT_COMBINE_THROW_GRENADE, ACT_GESTURE_COMBINE_THROW_GRENADE },
{ ACT_COMBINE_AR2_ALTFIRE, ACT_GESTURE_COMBINE_AR2_ALTFIRE },
{ ACT_SIGNAL_ADVANCE, ACT_GESTURE_SIGNAL_ADVANCE },
{ ACT_SIGNAL_FORWARD, ACT_GESTURE_SIGNAL_FORWARD },
{ ACT_SIGNAL_GROUP, ACT_GESTURE_SIGNAL_GROUP },
{ ACT_SIGNAL_HALT, ACT_GESTURE_SIGNAL_HALT },
{ ACT_SIGNAL_LEFT, ACT_GESTURE_SIGNAL_LEFT },
{ ACT_SIGNAL_RIGHT, ACT_GESTURE_SIGNAL_RIGHT },
{ ACT_SIGNAL_TAKECOVER, ACT_GESTURE_SIGNAL_TAKECOVER },
#endif
#ifdef EXPANDED_HL2_WEAPON_ACTIVITIES
{ ACT_RANGE_ATTACK_REVOLVER, ACT_GESTURE_RANGE_ATTACK_REVOLVER },
{ ACT_RANGE_ATTACK_REVOLVER_LOW, ACT_GESTURE_RANGE_ATTACK_REVOLVER },
{ ACT_RANGE_ATTACK_CROSSBOW, ACT_GESTURE_RANGE_ATTACK_CROSSBOW },
{ ACT_RANGE_ATTACK_CROSSBOW_LOW, ACT_GESTURE_RANGE_ATTACK_CROSSBOW },
{ ACT_RANGE_ATTACK_RPG, ACT_GESTURE_RANGE_ATTACK_RPG },
{ ACT_RANGE_ATTACK_RPG_LOW, ACT_GESTURE_RANGE_ATTACK_RPG },
{ ACT_RELOAD_REVOLVER, ACT_GESTURE_RELOAD_REVOLVER },
{ ACT_RELOAD_REVOLVER_LOW, ACT_GESTURE_RELOAD_REVOLVER },
{ ACT_RELOAD_CROSSBOW, ACT_GESTURE_RELOAD_CROSSBOW },
{ ACT_RELOAD_CROSSBOW_LOW, ACT_GESTURE_RELOAD_CROSSBOW },
#endif
};
Activity CAI_BaseNPC::GetGestureVersionOfActivity( Activity inActivity )
{
actlink_t *pTable = gm_ActivityGestureLinks;
int actCount = ARRAYSIZE( gm_ActivityGestureLinks );
for ( int i = 0; i < actCount; i++, pTable++ )
{
if ( inActivity == pTable->sequence )
{
return pTable->gesture;
}
}
return ACT_INVALID;
}
Activity CAI_BaseNPC::GetSequenceVersionOfGesture( Activity inActivity )
{
actlink_t *pTable = gm_ActivityGestureLinks;
int actCount = ARRAYSIZE( gm_ActivityGestureLinks );
for (int i = 0; i < actCount; i++, pTable++)
{
if (inActivity == pTable->gesture)
{
return pTable->sequence;
}
}
return ACT_INVALID;
}
#endif

View File

@ -193,6 +193,11 @@ acttable_t CWeapon357::m_acttable[] =
{ ACT_READINESS_RELAXED_TO_STIMULATED_WALK, ACT_READINESS_PISTOL_RELAXED_TO_STIMULATED_WALK, false },
{ ACT_READINESS_AGITATED_TO_STIMULATED, ACT_READINESS_PISTOL_AGITATED_TO_STIMULATED, false },
{ ACT_READINESS_STIMULATED_TO_RELAXED, ACT_READINESS_PISTOL_STIMULATED_TO_RELAXED, false },
#ifdef EXPANDED_HL2_COVER_ACTIVITIES
{ ACT_RANGE_AIM_MED, ACT_RANGE_AIM_REVOLVER_MED, false },
{ ACT_RANGE_ATTACK1_MED, ACT_RANGE_ATTACK_REVOLVER_MED, true },
#endif
};

View File

@ -96,11 +96,11 @@ acttable_t CWeaponAR2::m_acttable[] =
{ ACT_WALK_CROUCH, ACT_WALK_CROUCH_RIFLE, true },
{ ACT_WALK_CROUCH_AIM, ACT_WALK_CROUCH_AIM_RIFLE, true },
{ ACT_RUN, ACT_RUN_AR2, true },
{ ACT_RUN_AIM, ACT_RUN_AIM_RIFLE, true },
{ ACT_RUN_AIM, ACT_RUN_AIM_AR2, true },
{ ACT_RUN_CROUCH, ACT_RUN_CROUCH_RIFLE, true },
{ ACT_RUN_CROUCH_AIM, ACT_RUN_CROUCH_AIM_RIFLE, true },
{ ACT_GESTURE_RANGE_ATTACK1, ACT_GESTURE_RANGE_ATTACK_AR2, false },
{ ACT_COVER_LOW, ACT_COVER_SMG1_LOW, false },
{ ACT_COVER_LOW, ACT_COVER_AR2_LOW, true },
{ ACT_RANGE_AIM_LOW, ACT_RANGE_AIM_AR2_LOW, false },
{ ACT_RANGE_ATTACK1_LOW, ACT_RANGE_ATTACK_AR2_LOW, false },
{ ACT_RELOAD_LOW, ACT_RELOAD_AR2_LOW, false },
@ -161,6 +161,16 @@ acttable_t CWeaponAR2::m_acttable[] =
{ ACT_ARM, ACT_ARM_RIFLE, false },
{ ACT_DISARM, ACT_DISARM_RIFLE, false },
#endif
#ifdef EXPANDED_HL2_COVER_ACTIVITIES
{ ACT_RANGE_AIM_MED, ACT_RANGE_AIM_AR2_MED, false },
{ ACT_RANGE_ATTACK1_MED, ACT_RANGE_ATTACK_AR2_MED, true },
{ ACT_COVER_WALL_R, ACT_COVER_WALL_R_RIFLE, true },
{ ACT_COVER_WALL_L, ACT_COVER_WALL_L_RIFLE, true },
{ ACT_COVER_WALL_LOW_R, ACT_COVER_WALL_LOW_R_RIFLE, true },
{ ACT_COVER_WALL_LOW_L, ACT_COVER_WALL_LOW_L_RIFLE, true },
#endif
};
IMPLEMENT_ACTTABLE(CWeaponAR2);

View File

@ -715,6 +715,11 @@ acttable_t CWeaponCrossbow::m_acttable[] =
{ ACT_RELOAD_LOW, ACT_RELOAD_SMG1_LOW, false },
{ ACT_GESTURE_RELOAD, ACT_GESTURE_RELOAD_SMG1, true },
#endif
#ifdef EXPANDED_HL2_COVER_ACTIVITIES
{ ACT_RANGE_AIM_MED, ACT_RANGE_AIM_CROSSBOW_MED, false },
{ ACT_RANGE_ATTACK1_MED, ACT_RANGE_ATTACK_CROSSBOW_MED, true },
#endif
};
IMPLEMENT_ACTTABLE(CWeaponCrossbow);

View File

@ -46,6 +46,9 @@ acttable_t CWeaponCrowbar::m_acttable[] =
// Just so we don't have to implement more activities, re-use the MP acts
{ ACT_RUN, ACT_MP_RUN_MELEE, false },
{ ACT_WALK, ACT_MP_WALK_MELEE, false },
{ ACT_ARM, ACT_ARM_MELEE, false },
{ ACT_DISARM, ACT_DISARM_MELEE, false },
#endif
};

View File

@ -240,6 +240,23 @@ acttable_t CWeaponPistol::m_acttable[] =
{ ACT_READINESS_AGITATED_TO_STIMULATED, ACT_READINESS_PISTOL_AGITATED_TO_STIMULATED, false },
{ ACT_READINESS_STIMULATED_TO_RELAXED, ACT_READINESS_PISTOL_STIMULATED_TO_RELAXED, false },
#endif
#ifdef EXPANDED_HL2_WEAPON_ACTIVITIES
{ ACT_WALK_CROUCH, ACT_WALK_CROUCH_PISTOL, true },
{ ACT_WALK_CROUCH_AIM, ACT_WALK_CROUCH_AIM_PISTOL, true },
{ ACT_RUN_CROUCH, ACT_RUN_CROUCH_PISTOL, true },
{ ACT_RUN_CROUCH_AIM, ACT_RUN_CROUCH_AIM_PISTOL, true },
#endif
#ifdef EXPANDED_HL2_COVER_ACTIVITIES
{ ACT_RANGE_AIM_MED, ACT_RANGE_AIM_PISTOL_MED, false },
{ ACT_RANGE_ATTACK1_MED, ACT_RANGE_ATTACK_PISTOL_MED, true },
{ ACT_COVER_WALL_R, ACT_COVER_WALL_R_PISTOL, true },
{ ACT_COVER_WALL_L, ACT_COVER_WALL_L_PISTOL, true },
{ ACT_COVER_WALL_LOW_R, ACT_COVER_WALL_LOW_R_PISTOL, true },
{ ACT_COVER_WALL_LOW_L, ACT_COVER_WALL_LOW_L_PISTOL, true },
#endif
};

View File

@ -1402,6 +1402,7 @@ acttable_t CWeaponRPG::m_acttable[] =
#ifdef EXPANDED_HL2_WEAPON_ACTIVITIES
{ ACT_RANGE_AIM_LOW, ACT_RANGE_AIM_RPG_LOW, false },
{ ACT_RANGE_ATTACK1_LOW, ACT_RANGE_ATTACK_RPG_LOW, false },
{ ACT_GESTURE_RANGE_ATTACK1, ACT_GESTURE_RANGE_ATTACK_RPG, false },
#endif
{ ACT_IDLE_RELAXED, ACT_IDLE_RPG_RELAXED, true },
@ -1417,8 +1418,13 @@ acttable_t CWeaponRPG::m_acttable[] =
{ ACT_COVER_LOW, ACT_COVER_LOW_RPG, true },
#ifdef EXPANDED_HL2_WEAPON_ACTIVITIES
{ ACT_ARM, ACT_ARM_RIFLE, false },
{ ACT_DISARM, ACT_DISARM_RIFLE, false },
{ ACT_ARM, ACT_ARM_RPG, false },
{ ACT_DISARM, ACT_DISARM_RPG, false },
#endif
#ifdef EXPANDED_HL2_COVER_ACTIVITIES
{ ACT_RANGE_AIM_MED, ACT_RANGE_AIM_RPG_MED, false },
{ ACT_RANGE_ATTACK1_MED, ACT_RANGE_ATTACK_RPG_MED, true },
#endif
};

View File

@ -108,6 +108,57 @@ END_DATADESC()
acttable_t CWeaponShotgun::m_acttable[] =
{
#ifdef EXPANDED_HL2_WEAPON_ACTIVITIES
// Note that ACT_IDLE_SHOTGUN_AGITATED seems to be a stand-in for ACT_IDLE_SHOTGUN on citizens,
// but that isn't acceptable for NPCs which don't use readiness activities.
{ ACT_IDLE, ACT_IDLE_SHOTGUN, true },
{ ACT_RANGE_ATTACK1, ACT_RANGE_ATTACK_SHOTGUN, true },
{ ACT_RELOAD, ACT_RELOAD_SHOTGUN, false },
{ ACT_WALK, ACT_WALK_SHOTGUN, true },
{ ACT_IDLE_ANGRY, ACT_IDLE_ANGRY_SHOTGUN, true },
// Readiness activities (not aiming)
{ ACT_IDLE_RELAXED, ACT_IDLE_SHOTGUN_RELAXED, false },//never aims
{ ACT_IDLE_STIMULATED, ACT_IDLE_SHOTGUN_STIMULATED, false },
{ ACT_IDLE_AGITATED, ACT_IDLE_ANGRY_SHOTGUN, false },//always aims
{ ACT_WALK_RELAXED, ACT_WALK_SHOTGUN_RELAXED, false },//never aims
{ ACT_WALK_STIMULATED, ACT_WALK_SHOTGUN_STIMULATED, false },
{ ACT_WALK_AGITATED, ACT_WALK_AIM_SHOTGUN, false },//always aims
{ ACT_RUN_RELAXED, ACT_RUN_SHOTGUN_RELAXED, false },//never aims
{ ACT_RUN_STIMULATED, ACT_RUN_SHOTGUN_STIMULATED, false },
{ ACT_RUN_AGITATED, ACT_RUN_AIM_SHOTGUN, false },//always aims
// Readiness activities (aiming)
{ ACT_IDLE_AIM_RELAXED, ACT_IDLE_SHOTGUN_RELAXED, false },//never aims
{ ACT_IDLE_AIM_STIMULATED, ACT_IDLE_AIM_SHOTGUN_STIMULATED, false },
{ ACT_IDLE_AIM_AGITATED, ACT_IDLE_ANGRY_SHOTGUN, false },//always aims
{ ACT_WALK_AIM_RELAXED, ACT_WALK_SHOTGUN_RELAXED, false },//never aims
{ ACT_WALK_AIM_STIMULATED, ACT_WALK_AIM_SHOTGUN_STIMULATED, false },
{ ACT_WALK_AIM_AGITATED, ACT_WALK_AIM_SHOTGUN, false },//always aims
{ ACT_RUN_AIM_RELAXED, ACT_RUN_SHOTGUN_RELAXED, false },//never aims
{ ACT_RUN_AIM_STIMULATED, ACT_RUN_AIM_SHOTGUN_STIMULATED, false },
{ ACT_RUN_AIM_AGITATED, ACT_RUN_AIM_SHOTGUN, false },//always aims
//End readiness activities
{ ACT_WALK_AIM, ACT_WALK_AIM_SHOTGUN, true },
{ ACT_WALK_CROUCH, ACT_WALK_CROUCH_RIFLE, true },
{ ACT_WALK_CROUCH_AIM, ACT_WALK_CROUCH_AIM_RIFLE, true },
{ ACT_RUN, ACT_RUN_SHOTGUN, true },
{ ACT_RUN_AIM, ACT_RUN_AIM_SHOTGUN, true },
{ ACT_RUN_CROUCH, ACT_RUN_CROUCH_RIFLE, true },
{ ACT_RUN_CROUCH_AIM, ACT_RUN_CROUCH_AIM_RIFLE, true },
{ ACT_GESTURE_RANGE_ATTACK1, ACT_GESTURE_RANGE_ATTACK_SHOTGUN, true },
{ ACT_RANGE_ATTACK1_LOW, ACT_RANGE_ATTACK_SHOTGUN_LOW, true },
{ ACT_RELOAD_LOW, ACT_RELOAD_SHOTGUN_LOW, false },
{ ACT_GESTURE_RELOAD, ACT_GESTURE_RELOAD_SHOTGUN, false },
{ ACT_COVER_LOW, ACT_COVER_SHOTGUN_LOW, false },
{ ACT_RANGE_AIM_LOW, ACT_RANGE_AIM_SHOTGUN_LOW, false },
#else
{ ACT_IDLE, ACT_IDLE_SMG1, true }, // FIXME: hook to shotgun unique
{ ACT_RANGE_ATTACK1, ACT_RANGE_ATTACK_SHOTGUN, true },
@ -153,10 +204,16 @@ acttable_t CWeaponShotgun::m_acttable[] =
{ ACT_RANGE_ATTACK1_LOW, ACT_RANGE_ATTACK_SHOTGUN_LOW, true },
{ ACT_RELOAD_LOW, ACT_RELOAD_SHOTGUN_LOW, false },
{ ACT_GESTURE_RELOAD, ACT_GESTURE_RELOAD_SHOTGUN, false },
#endif
#ifdef EXPANDED_HL2_WEAPON_ACTIVITIES
{ ACT_ARM, ACT_ARM_RIFLE, false },
{ ACT_DISARM, ACT_DISARM_RIFLE, false },
{ ACT_ARM, ACT_ARM_SHOTGUN, true },
{ ACT_DISARM, ACT_DISARM_SHOTGUN, true },
#endif
#ifdef EXPANDED_HL2_COVER_ACTIVITIES
{ ACT_RANGE_AIM_MED, ACT_RANGE_AIM_SHOTGUN_MED, false },
{ ACT_RANGE_ATTACK1_MED, ACT_RANGE_ATTACK_SHOTGUN_MED, true },
#endif
};

View File

@ -139,6 +139,16 @@ acttable_t CWeaponSMG1::m_acttable[] =
{ ACT_ARM, ACT_ARM_RIFLE, false },
{ ACT_DISARM, ACT_DISARM_RIFLE, false },
#endif
#ifdef EXPANDED_HL2_COVER_ACTIVITIES
{ ACT_RANGE_AIM_MED, ACT_RANGE_AIM_SMG1_MED, false },
{ ACT_RANGE_ATTACK1_MED, ACT_RANGE_ATTACK_SMG1_MED, true },
{ ACT_COVER_WALL_R, ACT_COVER_WALL_R_RIFLE, true },
{ ACT_COVER_WALL_L, ACT_COVER_WALL_L_RIFLE, true },
{ ACT_COVER_WALL_LOW_R, ACT_COVER_WALL_LOW_R_RIFLE, true },
{ ACT_COVER_WALL_LOW_L, ACT_COVER_WALL_LOW_L_RIFLE, true },
#endif
};
IMPLEMENT_ACTTABLE(CWeaponSMG1);

View File

@ -2299,6 +2299,8 @@ void ActivityList_RegisterSharedActivities( void )
REGISTER_SHARED_ACTIVITY( ACT_RELOAD_AR2_LOW );
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RELOAD_AR2 );
REGISTER_SHARED_ACTIVITY( ACT_COVER_AR2_LOW );
#endif
#ifdef SHARED_COMBINE_ACTIVITIES
@ -2361,14 +2363,42 @@ void ActivityList_RegisterSharedActivities( void )
REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_PISTOL_STIMULATED );
REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_PISTOL_STIMULATED );
REGISTER_SHARED_ACTIVITY( ACT_WALK_CROUCH_PISTOL );
REGISTER_SHARED_ACTIVITY( ACT_WALK_CROUCH_AIM_PISTOL );
REGISTER_SHARED_ACTIVITY( ACT_RUN_CROUCH_PISTOL );
REGISTER_SHARED_ACTIVITY( ACT_RUN_CROUCH_AIM_PISTOL );
REGISTER_SHARED_ACTIVITY( ACT_IDLE_SHOTGUN );
REGISTER_SHARED_ACTIVITY( ACT_WALK_SHOTGUN );
REGISTER_SHARED_ACTIVITY( ACT_RUN_SHOTGUN );
REGISTER_SHARED_ACTIVITY( ACT_COVER_SHOTGUN_LOW );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_SHOTGUN_LOW );
REGISTER_SHARED_ACTIVITY( ACT_WALK_SHOTGUN_RELAXED );
REGISTER_SHARED_ACTIVITY( ACT_WALK_SHOTGUN_STIMULATED );
REGISTER_SHARED_ACTIVITY( ACT_RUN_SHOTGUN_RELAXED );
REGISTER_SHARED_ACTIVITY( ACT_RUN_SHOTGUN_STIMULATED );
REGISTER_SHARED_ACTIVITY( ACT_IDLE_AIM_SHOTGUN_STIMULATED );
REGISTER_SHARED_ACTIVITY( ACT_WALK_AIM_SHOTGUN_STIMULATED );
REGISTER_SHARED_ACTIVITY( ACT_RUN_AIM_SHOTGUN_STIMULATED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_RPG_LOW );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_RPG_LOW );
REGISTER_SHARED_ACTIVITY( ACT_GESTURE_RANGE_ATTACK_RPG );
REGISTER_SHARED_ACTIVITY( ACT_RUN_PACKAGE );
REGISTER_SHARED_ACTIVITY( ACT_RUN_SUITCASE );
REGISTER_SHARED_ACTIVITY( ACT_ARM_RIFLE );
REGISTER_SHARED_ACTIVITY( ACT_ARM_SHOTGUN );
REGISTER_SHARED_ACTIVITY( ACT_ARM_RPG );
REGISTER_SHARED_ACTIVITY( ACT_ARM_MELEE );
REGISTER_SHARED_ACTIVITY( ACT_DISARM_RIFLE );
REGISTER_SHARED_ACTIVITY( ACT_DISARM_SHOTGUN );
REGISTER_SHARED_ACTIVITY( ACT_DISARM_RPG );
REGISTER_SHARED_ACTIVITY( ACT_DISARM_MELEE );
#endif
#ifdef EXPANDED_NAVIGATION_ACTIVITIES
@ -2380,6 +2410,43 @@ void ActivityList_RegisterSharedActivities( void )
REGISTER_SHARED_ACTIVITY( ACT_CLIMB_DISMOUNT_BOTTOM );
#endif
#ifdef EXPANDED_HL2_COVER_ACTIVITIES
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK1_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK2_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_AR2_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_SMG1_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_SHOTGUN_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_PISTOL_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_RPG_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_REVOLVER_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_ATTACK_CROSSBOW_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_AR2_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_SMG1_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_SHOTGUN_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_PISTOL_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_RPG_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_REVOLVER_MED );
REGISTER_SHARED_ACTIVITY( ACT_RANGE_AIM_CROSSBOW_MED );
REGISTER_SHARED_ACTIVITY( ACT_COVER_WALL_R );
REGISTER_SHARED_ACTIVITY( ACT_COVER_WALL_L );
REGISTER_SHARED_ACTIVITY( ACT_COVER_WALL_LOW_R );
REGISTER_SHARED_ACTIVITY( ACT_COVER_WALL_LOW_L );
REGISTER_SHARED_ACTIVITY( ACT_COVER_WALL_R_RIFLE );
REGISTER_SHARED_ACTIVITY( ACT_COVER_WALL_L_RIFLE );
REGISTER_SHARED_ACTIVITY( ACT_COVER_WALL_LOW_R_RIFLE );
REGISTER_SHARED_ACTIVITY( ACT_COVER_WALL_LOW_L_RIFLE );
REGISTER_SHARED_ACTIVITY( ACT_COVER_WALL_R_PISTOL );
REGISTER_SHARED_ACTIVITY( ACT_COVER_WALL_L_PISTOL );
REGISTER_SHARED_ACTIVITY( ACT_COVER_WALL_LOW_R_PISTOL );
REGISTER_SHARED_ACTIVITY( ACT_COVER_WALL_LOW_L_PISTOL );
#endif
AssertMsg( g_HighestActivity == LAST_SHARED_ACTIVITY - 1, "Not all activities from ai_activity.h registered in activitylist.cpp" );
}

View File

@ -45,6 +45,10 @@
// This enables some new navigation-related activities.
#define EXPANDED_NAVIGATION_ACTIVITIES 1
// EXPANDED HL2 COVER ACTIVITIES
// This enables some new cover-related activities.
#define EXPANDED_HL2_COVER_ACTIVITIES 1
#endif
#define ACTIVITY_NOT_AVAILABLE -1
@ -2168,6 +2172,8 @@ typedef enum
ACT_RELOAD_AR2_LOW,
ACT_GESTURE_RELOAD_AR2,
ACT_COVER_AR2_LOW,
#endif
#ifdef SHARED_COMBINE_ACTIVITIES
@ -2234,9 +2240,32 @@ typedef enum
ACT_WALK_AIM_PISTOL_STIMULATED,
ACT_RUN_AIM_PISTOL_STIMULATED,
ACT_WALK_CROUCH_PISTOL,
ACT_WALK_CROUCH_AIM_PISTOL,
ACT_RUN_CROUCH_PISTOL,
ACT_RUN_CROUCH_AIM_PISTOL,
// Shotgun
ACT_IDLE_SHOTGUN,
ACT_WALK_SHOTGUN,
ACT_RUN_SHOTGUN,
ACT_COVER_SHOTGUN_LOW,
ACT_RANGE_AIM_SHOTGUN_LOW,
ACT_WALK_SHOTGUN_RELAXED,
ACT_WALK_SHOTGUN_STIMULATED,
ACT_RUN_SHOTGUN_RELAXED,
ACT_RUN_SHOTGUN_STIMULATED,
ACT_IDLE_AIM_SHOTGUN_STIMULATED,
ACT_WALK_AIM_SHOTGUN_STIMULATED,
ACT_RUN_AIM_SHOTGUN_STIMULATED,
// RPG
ACT_RANGE_AIM_RPG_LOW,
ACT_RANGE_ATTACK_RPG_LOW,
ACT_GESTURE_RANGE_ATTACK_RPG,
// Citizen accessories
ACT_RUN_PACKAGE,
@ -2244,7 +2273,13 @@ typedef enum
// Holster/Unholster
ACT_ARM_RIFLE,
ACT_ARM_SHOTGUN,
ACT_ARM_RPG,
ACT_ARM_MELEE,
ACT_DISARM_RIFLE,
ACT_DISARM_SHOTGUN,
ACT_DISARM_RPG,
ACT_DISARM_MELEE,
#endif
#ifdef EXPANDED_NAVIGATION_ACTIVITIES
@ -2255,6 +2290,45 @@ typedef enum
ACT_CLIMB_MOUNT_BOTTOM,
ACT_CLIMB_DISMOUNT_BOTTOM,
#endif
#ifdef EXPANDED_HL2_COVER_ACTIVITIES
// Crouch Cover Medium
ACT_RANGE_ATTACK1_MED,
ACT_RANGE_ATTACK2_MED,
ACT_RANGE_AIM_MED,
ACT_RANGE_ATTACK_AR2_MED,
ACT_RANGE_ATTACK_SMG1_MED,
ACT_RANGE_ATTACK_SHOTGUN_MED,
ACT_RANGE_ATTACK_PISTOL_MED,
ACT_RANGE_ATTACK_RPG_MED,
ACT_RANGE_ATTACK_REVOLVER_MED,
ACT_RANGE_ATTACK_CROSSBOW_MED,
ACT_RANGE_AIM_AR2_MED,
ACT_RANGE_AIM_SMG1_MED,
ACT_RANGE_AIM_SHOTGUN_MED,
ACT_RANGE_AIM_PISTOL_MED,
ACT_RANGE_AIM_RPG_MED,
ACT_RANGE_AIM_REVOLVER_MED,
ACT_RANGE_AIM_CROSSBOW_MED,
// Wall Cover (for use in custom cover hints)
ACT_COVER_WALL_R,
ACT_COVER_WALL_L,
ACT_COVER_WALL_LOW_R,
ACT_COVER_WALL_LOW_L,
ACT_COVER_WALL_R_RIFLE,
ACT_COVER_WALL_L_RIFLE,
ACT_COVER_WALL_LOW_R_RIFLE,
ACT_COVER_WALL_LOW_L_RIFLE,
ACT_COVER_WALL_R_PISTOL,
ACT_COVER_WALL_L_PISTOL,
ACT_COVER_WALL_LOW_R_PISTOL,
ACT_COVER_WALL_LOW_L_PISTOL,
#endif
// this is the end of the global activities, private per-monster activities start here.
LAST_SHARED_ACTIVITY,