- Added a simple check for abstract weapon classes so that I can properly define

the DoomWeapon base class.
- Fixed: When the Tome of Power runs out it must also set any pending weapon
  back to their regular state.


SVN r521 (trunk)
This commit is contained in:
Christoph Oelckers 2007-04-29 08:44:32 +00:00
commit 6e5b1f1182
5 changed files with 36 additions and 17 deletions

View file

@ -1108,13 +1108,21 @@ void APowerWeaponLevel2::EndEffect ()
{
player_t *player = Owner != NULL ? Owner->player : NULL;
if (player != NULL &&
player->ReadyWeapon != NULL &&
player->ReadyWeapon->WeaponFlags & WIF_POWERED_UP)
if (player != NULL)
{
player->ReadyWeapon->EndPowerup ();
if (player->ReadyWeapon != NULL &&
player->ReadyWeapon->WeaponFlags & WIF_POWERED_UP)
{
player->ReadyWeapon->EndPowerup ();
}
if (player->PendingWeapon != NULL &&
player->PendingWeapon->WeaponFlags & WIF_POWERED_UP &&
player->PendingWeapon->SisterWeapon != NULL)
{
player->PendingWeapon = player->PendingWeapon->SisterWeapon;
}
}
// BorderTopRefresh = screen->GetPageCount ();
}
// Player Speed Trail (used by the Speed Powerup) ----------------------------