Пример #1
0
 /// <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);
     }
 }
Пример #2
0
        /// <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);
                }
            }
        }
Пример #3
0
 private int GetGuardButtonState(KinCityData.GuardOptions guard, bool on)
 {
     if (m_State.GuardOption == guard)
     {
         return(1153);
     }
     else
     {
         return(1150);
     }
 }
Пример #4
0
 /// <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;
         }
     }
 }
Пример #5
0
 public GumpState(long npcData, KinCityData.GuardOptions guardOption)
 {
     NPCData     = OriginalNPCData = npcData;
     GuardOption = OriginalGuardOption = guardOption;
 }
Пример #6
0
 private void ChangeGuardUndoData(KinCityData.GuardOptions option)
 {
     m_State.GuardOption = option;
 }
Пример #7
0
 /// <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);
 }
Пример #8
0
				public GumpState(long npcData, KinCityData.GuardOptions guardOption)
				{
					NPCData = OriginalNPCData = npcData;
					GuardOption = OriginalGuardOption = guardOption;
				}