/// <summary> /// This function handles the stability and owner changes of an intrusion site /// </summary> private void ReactStabilityChanges(IntrusionSiteInfo siteInfo, int oldStability, int newStability, long?newOwner, long?oldOwner) { if (oldStability == newStability) { return; } if (oldStability > newStability) { //stability loss //DOCKING RIGHTS var dockingRightsStabilityLimit = GetDockingRightsStabilityLimit(); if (newStability < dockingRightsStabilityLimit) { if (siteInfo.DockingStandingLimit != null) { //clear docking rights SetDockingControlDetails(null, true); InsertDockingRightsLog(null, null, siteInfo.Owner, IntrusionEvents.dockingRightsClearedByServer); } } //AURA EFFECT if (siteInfo.ActiveEffect != EffectType.undefined) { var effectStabilityThreshold = GetEffectBonusStabilityThreshold(siteInfo.ActiveEffect); if (effectStabilityThreshold >= 0) { if (effectStabilityThreshold > newStability) { //logoljuk InsertIntrusionEffectLog(null, null, siteInfo.Owner, IntrusionEvents.effectClearedByServer); Db.Query().CommandText("update intrusionsites set activeeffectid = NULL where siteeid = @siteEid") .SetParameter("@siteEid", Eid) .ExecuteNonQuery(); } } } ProductionStabilityLoss(newStability, oldStability, newOwner, oldOwner); } else { //stability gain ProductionStabilityGain(newStability, oldStability, newOwner); } }
public IntrusionSiteInfo GetIntrusionSiteInfo() { return(IntrusionSiteInfo.Get(this)); }