Force cancellation of RCD constructions if the construction type is changed
// Exit if the RCD prototype has changed
if (component.ProtoId != args.Event.StartingProtoId)
+ {
+ args.Cancel();
return;
+ }
// Ensure the RCD operation is still valid
var location = GetCoordinates(args.Event.Location);
if (!TryGetMapGridData(location, out var mapGridData))
+ {
+ args.Cancel();
return;
+ }
if (!IsRCDOperationStillValid(uid, component, mapGridData.Value, args.Event.Target, args.Event.User))
args.Cancel();