/// <summary> /// Handles the guard change, will switch on/off the guards depending if the new guard option is Lord British /// </summary> /// <param name="city">The city.</param> /// <param name="guardOption">The guard option.</param> private void KinCityManager_OnChangeGuards(KinFactionCities city, KinCityData.GuardOptions guardOption) { if (IsControllerGood() && KinFactionCity == city) { ((KinCityRegionStone)m_Controller).KinCityManager_OnChangeGuards(guardOption); } }
/// <summary> /// Changes the guards. /// </summary> /// <param name="city">The city.</param> /// <param name="guardOption">The guard option.</param> public static void ChangeGuards(KinFactionCities city, KinCityData.GuardOptions guardOption, bool overrideTimeout) { KinCityData cityData = GetCityData(city); if (cityData == null) { return; } if (cityData.GuardOption == guardOption) { return; } if (!overrideTimeout) { if (DateTime.Now <= cityData.LastGuardChangeTime + TimeSpan.FromHours(KinSystemSettings.GuardChangeTimeHours)) { return; } } cityData.LastGuardChangeTime = DateTime.Now; if (guardOption == KinCityData.GuardOptions.LordBritish) { LBGuardTimer timer = new LBGuardTimer(city); timer.Start(); } else { cityData.GuardOption = guardOption; //Switch off patrol npc guard type cityData.SetNPCFlag(KinCityData.NPCFlags.Patrol, false); if (guardOption == KinCityData.GuardOptions.None) { cityData.ClearAllGuardPosts(); } //Update existing guards with the new rules foreach (KinCityData.BeneficiaryData bd in cityData.BeneficiaryDataList) { foreach (KinGuardPost kgp in bd.GuardPosts) { if (kgp != null && !kgp.Deleted) { kgp.UpdateExisitngGuards(); } } } //Raise event for the regions to sort themselves out with the new changes if (KinCityManager.OnChangeGuards != null) { KinCityManager.OnChangeGuards(city, guardOption); } } }
private int GetGuardButtonState(KinCityData.GuardOptions guard, bool on) { if (m_State.GuardOption == guard) { return(1153); } else { return(1150); } }
/// <summary> /// Handles the guard change, will switch on/off the guards depending if the new guard option is Lord British /// </summary> /// <param name="city">The city.</param> /// <param name="guardOption">The guard option.</param> public void KinCityManager_OnChangeGuards(KinCityData.GuardOptions guardOption) { if (guardOption == KinCityData.GuardOptions.LordBritish) { if (IsGuarded == false) { IsGuarded = true; } } else { if (IsGuarded == true) { IsGuarded = false; } } }
public GumpState(long npcData, KinCityData.GuardOptions guardOption) { NPCData = OriginalNPCData = npcData; GuardOption = OriginalGuardOption = guardOption; }
private void ChangeGuardUndoData(KinCityData.GuardOptions option) { m_State.GuardOption = option; }
/// <summary> /// Changes the guards. /// </summary> /// <param name="city">The city.</param> /// <param name="guardOption">The guard option.</param> public static void ChangeGuards(KinFactionCities city, KinCityData.GuardOptions guardOption) { ChangeGuards(city, guardOption, false); }
public GumpState(long npcData, KinCityData.GuardOptions guardOption) { NPCData = OriginalNPCData = npcData; GuardOption = OriginalGuardOption = guardOption; }