Added a flag to prevent the weapon from jumping to its Deselect state when the player dies

This commit is contained in:
Leonard2 2016-07-01 22:47:30 +02:00 committed by Christoph Oelckers
parent f38f7adf17
commit bcb18cf7d8
3 changed files with 3 additions and 1 deletions

View file

@ -378,6 +378,7 @@ enum
WIF_MELEEWEAPON = 0x00008000, // melee weapon. Used by bots and monster AI.
WIF_DEHAMMO = 0x00010000, // Uses Doom's original amount of ammo for the respective attack functions so that old DEHACKED patches work as intended.
// AmmoUse1 will be set to the first attack's ammo use so that checking for empty weapons still works
WIF_NODEATHJUMP = 0x00020000, // Don't jump to the Deselect state when the player dies
WIF_CHEATNOTWEAPON = 0x08000000, // Give cheat considers this not a weapon (used by Sigil)
// Flags used only by bot AI:

View file

@ -510,7 +510,7 @@ void P_DropWeapon (player_t *player)
}
// Since the weapon is dropping, stop blocking switching.
player->WeaponState &= ~WF_DISABLESWITCH;
if (player->ReadyWeapon != nullptr)
if ((player->ReadyWeapon != nullptr) && (player->health > 0 || !(player->ReadyWeapon->WeaponFlags & WIF_NODEATHJUMP)))
{
P_SetPsprite(player, PSP_WEAPON, player->ReadyWeapon->GetDownState());
}

View file

@ -362,6 +362,7 @@ static FFlagDef WeaponFlagDefs[] =
DEFINE_FLAG(WIF, NO_AUTO_SWITCH, AWeapon, WeaponFlags),
DEFINE_FLAG(WIF, AMMO_CHECKBOTH, AWeapon, WeaponFlags),
DEFINE_FLAG(WIF, NOAUTOAIM, AWeapon, WeaponFlags),
DEFINE_FLAG(WIF, NODEATHJUMP, AWeapon, WeaponFlags),
DEFINE_DUMMY_FLAG(NOLMS),
DEFINE_FLAG(WIF, ALT_USES_BOTH, AWeapon, WeaponFlags),