Fix male assassins and opfor grunts dropping weapons again (#372)

This commit is contained in:
Roman Chistokhodov 2023-04-29 17:14:53 +03:00 committed by GitHub
parent fd613ebed7
commit 341e2767ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 20 deletions

View File

@ -1846,7 +1846,8 @@ void CHFGrunt :: HandleAnimEvent( MonsterEvent_t *pEvent )
{
case HGRUNT_ALLY_AE_DROP_GUN:
{
DropMyItems(FALSE);
if (GetBodygroup(FG_GUN_GROUP) != FG_GUN_NONE)
DropMyItems(FALSE);
SetUse( NULL );
}
break;
@ -3240,7 +3241,7 @@ void CTorch::HandleAnimEvent(MonsterEvent_t *pEvent)
KillGas ();
break;
case HGRUNT_ALLY_AE_DROP_GUN:
if ( FBitSet( pev->weapons, TORCH_EAGLE ) )
if ( FBitSet( pev->weapons, TORCH_EAGLE ) && pev->body != TORCH_GUN_NONE )
{
DropMyItems(FALSE);
}
@ -3771,7 +3772,7 @@ void CMedic::HandleAnimEvent(MonsterEvent_t *pEvent)
break;
case HGRUNT_ALLY_AE_DROP_GUN:
if ( FBitSet( pev->weapons, MEDIC_EAGLE | MEDIC_HANDGUN ) )
if ( FBitSet( pev->weapons, MEDIC_EAGLE | MEDIC_HANDGUN ) && GetBodygroup(MEDIC_GUN_GROUP) != MEDIC_GUN_NONE )
{
DropMyItems(FALSE);
}

View File

@ -155,26 +155,28 @@ void CMassn::HandleAnimEvent(MonsterEvent_t *pEvent)
Vector vecGunPos;
Vector vecGunAngles;
GetAttachment(0, vecGunPos, vecGunAngles);
// switch to body group with no gun.
SetBodygroup(GUN_GROUP, GUN_NONE);
// now spawn a gun.
if (FBitSet(pev->weapons, MASSN_SNIPERRIFLE))
if(GetBodygroup(GUN_GROUP) != GUN_NONE)
{
DropItem("weapon_sniperrifle", vecGunPos, vecGunAngles);
}
else
{
DropItem("weapon_9mmAR", vecGunPos, vecGunAngles);
}
GetAttachment(0, vecGunPos, vecGunAngles);
if (FBitSet(pev->weapons, MASSN_GRENADELAUNCHER))
{
DropItem("ammo_ARgrenades", BodyTarget(pev->origin), vecGunAngles);
}
// switch to body group with no gun.
SetBodygroup(GUN_GROUP, GUN_NONE);
// now spawn a gun.
if (FBitSet(pev->weapons, MASSN_SNIPERRIFLE))
{
DropItem("weapon_sniperrifle", vecGunPos, vecGunAngles);
}
else
{
DropItem("weapon_9mmAR", vecGunPos, vecGunAngles);
}
if (FBitSet(pev->weapons, MASSN_GRENADELAUNCHER))
{
DropItem("ammo_ARgrenades", BodyTarget(pev->origin), vecGunAngles);
}
}
}
break;