mech equipment fix (#12969)
This commit is contained in:
@@ -36,6 +36,9 @@ public sealed class MechEquipmentSystem : EntitySystem
|
|||||||
if (!TryComp<MechComponent>(mech, out var mechComp))
|
if (!TryComp<MechComponent>(mech, out var mechComp))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (mechComp.Broken)
|
||||||
|
return;
|
||||||
|
|
||||||
if (args.User == mechComp.PilotSlot.ContainedEntity)
|
if (args.User == mechComp.PilotSlot.ContainedEntity)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -62,7 +65,6 @@ public sealed class MechEquipmentSystem : EntitySystem
|
|||||||
{
|
{
|
||||||
component.TokenSource = null;
|
component.TokenSource = null;
|
||||||
_popup.PopupEntity(Loc.GetString("mech-equipment-finish-install", ("item", uid)), args.Mech, Filter.Pvs(args.Mech));
|
_popup.PopupEntity(Loc.GetString("mech-equipment-finish-install", ("item", uid)), args.Mech, Filter.Pvs(args.Mech));
|
||||||
|
|
||||||
_mech.InsertEquipment(args.Mech, uid);
|
_mech.InsertEquipment(args.Mech, uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -292,15 +292,14 @@ public abstract class SharedMechSystem : EntitySystem
|
|||||||
if (attemptev.Cancelled)
|
if (attemptev.Cancelled)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
equipmentComponent.EquipmentOwner = null;
|
|
||||||
component.EquipmentContainer.Remove(toRemove, EntityManager);
|
|
||||||
var ev = new MechEquipmentRemovedEvent(uid);
|
var ev = new MechEquipmentRemovedEvent(uid);
|
||||||
RaiseLocalEvent(toRemove, ref ev);
|
RaiseLocalEvent(toRemove, ref ev);
|
||||||
|
|
||||||
if (component.CurrentSelectedEquipment == toRemove)
|
if (component.CurrentSelectedEquipment == toRemove)
|
||||||
CycleEquipment(uid, component);
|
CycleEquipment(uid, component);
|
||||||
|
|
||||||
|
equipmentComponent.EquipmentOwner = null;
|
||||||
|
component.EquipmentContainer.Remove(toRemove, EntityManager);
|
||||||
UpdateUserInterface(uid, component);
|
UpdateUserInterface(uid, component);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user