private static void BodyTypeChanged( EntityUid uid, RadiationCollectorComponent component, PhysicsBodyTypeChangedEvent args) { component.OnAnchoredChanged(); }
private void OnInteractHand(EntityUid uid, RadiationCollectorComponent component, InteractHandEvent args) { var curTime = _gameTiming.CurTime; if (curTime < component.CoolDownEnd) { return; } ToggleCollector(uid, args.User, component); component.CoolDownEnd = curTime + component.Cooldown; }
private void OnRadiation(EntityUid uid, RadiationCollectorComponent component, OnIrradiatedEvent args) { if (!component.Enabled) { return; } // No idea if this is even vaguely accurate to the previous logic. // The maths is copied from that logic even though it works differently. // But the previous logic would also make the radiation collectors never ever stop providing energy. // And since frameTime was used there, I'm assuming that this is what the intent was. // This still won't stop things being potentially hilariously unbalanced though. if (TryComp <BatteryComponent>(uid, out var batteryComponent)) { var charge = args.TotalRads * component.ChargeModifier; batteryComponent.CurrentCharge += charge; } }