- Fixed: The correct player class was not remembered when the menu had both
a player class selection menu and an episode menu. - Fixed: AddToConsole could write outside its working buffer. - Fixed: 0 was no longer recognized as placeholder for 'no state' in A_Chase. - Fixed: When picking up weapons the code did not check if it should switch away from weak weapons. SVN r1332 (trunk)
This commit is contained in:
parent
a66eb7f8c3
commit
37d056c041
8 changed files with 73 additions and 16 deletions
|
|
@ -96,18 +96,9 @@ bool AAmmo::HandlePickup (AInventory *item)
|
|||
|
||||
assert (Owner != NULL);
|
||||
|
||||
if (oldamount == 0 && Owner != NULL && Owner->player != NULL &&
|
||||
!Owner->player->userinfo.neverswitch &&
|
||||
Owner->player->PendingWeapon == WP_NOCHANGE &&
|
||||
(Owner->player->ReadyWeapon == NULL ||
|
||||
(Owner->player->ReadyWeapon->WeaponFlags & WIF_WIMPY_WEAPON)))
|
||||
if (oldamount == 0 && Owner != NULL && Owner->player != NULL)
|
||||
{
|
||||
AWeapon *best = barrier_cast<APlayerPawn *>(Owner)->BestWeapon (GetClass());
|
||||
if (best != NULL && (Owner->player->ReadyWeapon == NULL ||
|
||||
best->SelectionOrder < Owner->player->ReadyWeapon->SelectionOrder))
|
||||
{
|
||||
Owner->player->PendingWeapon = best;
|
||||
}
|
||||
barrier_cast<APlayerPawn *>(Owner)->CheckWeaponSwitch(GetClass());
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -158,8 +158,17 @@ bool AWeapon::PickupForAmmo (AWeapon *ownedWeapon)
|
|||
// Don't take ammo if the weapon sticks around.
|
||||
if (!ShouldStay ())
|
||||
{
|
||||
int oldamount = 0;
|
||||
if (ownedWeapon->Ammo1 != NULL) oldamount = ownedWeapon->Ammo1->Amount;
|
||||
|
||||
if (AmmoGive1 > 0) gotstuff = AddExistingAmmo (ownedWeapon->Ammo1, AmmoGive1);
|
||||
if (AmmoGive2 > 0) gotstuff |= AddExistingAmmo (ownedWeapon->Ammo2, AmmoGive2);
|
||||
|
||||
AActor *Owner = ownedWeapon->Owner;
|
||||
if (gotstuff && oldamount == 0 && Owner != NULL && Owner->player != NULL)
|
||||
{
|
||||
static_cast<APlayerPawn *>(Owner)->CheckWeaponSwitch(ownedWeapon->Ammo1->GetClass());
|
||||
}
|
||||
}
|
||||
return gotstuff;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue