(541e3ffbe) Check that the mask is equipped in the head before trying to unequip.

This commit is contained in:
Joonas Rikkonen
2019-04-04 11:12:18 +03:00
parent 7126a60b7a
commit 709d9e44ab
3 changed files with 3 additions and 6 deletions
@@ -179,7 +179,7 @@ namespace Barotrauma
if (takeMaskOff) if (takeMaskOff)
{ {
var mask = Character.Inventory.FindItemByIdentifier("divingmask"); var mask = Character.Inventory.FindItemByIdentifier("divingmask");
if (mask != null) if (mask != null && Character.Inventory.IsInLimbSlot(mask, InvSlotType.Head))
{ {
// Try to put the mask in an Any slot, and drop it if that fails // Try to put the mask in an Any slot, and drop it if that fails
if (!mask.AllowedSlots.Contains(InvSlotType.Any) || !Character.Inventory.TryPutItem(mask, Character, new List<InvSlotType>() { InvSlotType.Any })) if (!mask.AllowedSlots.Contains(InvSlotType.Any) || !Character.Inventory.TryPutItem(mask, Character, new List<InvSlotType>() { InvSlotType.Any }))
@@ -132,7 +132,8 @@ namespace Barotrauma
{ {
if (!character.SelectedItems.Contains(Weapon)) if (!character.SelectedItems.Contains(Weapon))
{ {
if (character.Inventory.TryPutItem(Weapon, 3, true, false, character)) var slots = Weapon.AllowedSlots.FindAll(s => s == InvSlotType.LeftHand || s == InvSlotType.RightHand || s == (InvSlotType.LeftHand | InvSlotType.RightHand));
if (character.Inventory.TryPutItem(Weapon, character, slots))
{ {
Weapon.Equip(character); Weapon.Equip(character);
} }
@@ -26,10 +26,6 @@ namespace Barotrauma.Items.Components
private float blinkTimer; private float blinkTimer;
private bool itemLoaded;
private float blinkTimer;
public PhysicsBody ParentBody; public PhysicsBody ParentBody;
[Editable(MinValueFloat = 0.0f, MaxValueFloat = 2048.0f), Serialize(100.0f, true)] [Editable(MinValueFloat = 0.0f, MaxValueFloat = 2048.0f), Serialize(100.0f, true)]