示例#1
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
            {
                foreach (Mobile m in reader.ReadMobileList())
                {
                    if (m is GolemController)
                    {
                        m_Guardians.Add(m as GolemController);
                    }
                }
                goto case 0;
            }

            case 0:
            {
                m_Sigil = (KinSigil)reader.ReadItem();
                break;
            }
            }
        }
示例#2
0
        public PowerVortex(KinSigil sigil)
            : base(AIType.AI_Melee, FightMode.Aggressor | FightMode.Weakest | FightMode.Int, 6, 1, 0.199, 0.350)
        {
            Name = "a power vortex";
            Body = 164;

            m_Sigil = sigil;

            SetStr(300);
            SetDex(200);
            SetInt(100);

            SetHits(11000);              //temp : not sure how much this will be yet
            SetStam(250);
            SetMana(0);

            SetDamage(25, 30);

            SetSkill(SkillName.MagicResist, 200.0);
            SetSkill(SkillName.Tactics, 30.0);
            SetSkill(SkillName.Wrestling, 100.0);

            CantWalk = true;

            Fame         = 0;
            Karma        = 0;
            Hue          = 443;
            VirtualArmor = 60;
        }
示例#3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="KinCityData"/> class.
        /// </summary>
        /// <param name="reader">The reader.</param>
        public KinCityData(BinaryFileReader reader)
        {
            int version = reader.ReadInt();

            switch (version)
            {
            case 2:
            {
                m_Treasury = reader.ReadInt();
                m_TaxRate  = reader.ReadDouble();
                goto case 1;
            }

            case 1:
            {
                m_UnassignedGuardSlots = reader.ReadInt();
                goto case 0;
            }

            case 0:
            {
                m_City                = (KinFactionCities)reader.ReadInt();
                m_ControlingKin       = (IOBAlignment)reader.ReadInt();
                m_CaptureTime         = reader.ReadDeltaTime();
                m_CityLeader          = (PlayerMobile)reader.ReadMobile();
                m_IsVotingStage       = reader.ReadBool();
                m_Sigil               = (KinSigil)reader.ReadItem();
                m_ControlPoints       = reader.ReadInt();
                m_ControlPointDelta   = reader.ReadInt();
                m_NPCFlags            = (NPCFlags)reader.ReadInt();
                m_GuardOption         = (GuardOptions)reader.ReadInt();
                m_LastGuardChangeTime = reader.ReadDeltaTime();

                int length = reader.ReadInt();

                if (length > 0)
                {
                    for (int i = 0; i < length; ++i)
                    {
                        m_BeneficiaryDataList.Add(new BeneficiaryData(reader));
                    }
                }

                break;
            }
            }
        }
示例#4
0
        /// <summary>
        /// Ronseal
        /// </summary>
        /// <param name="sigil"></param>
        /// <returns></returns>
        public static bool IsSigilRegistered(KinSigil sigil)
        {
            if (sigil == null)
            {
                return(false);
            }

            foreach (KeyValuePair <KinFactionCities, KinCityData> pair in _cityData)
            {
                if (pair.Value.Sigil == sigil)
                {
                    return(true);
                }
            }

            return(false);
        }
示例#5
0
        /// <summary>
        /// Retuns a list of active vortexes within "defense" range of the pm
        /// </summary>
        /// <param name="pm"></param>
        /// <returns></returns>
        public static List <PowerVortex> GetVortexesInRange(PlayerMobile pm)
        {
            List <PowerVortex> pvs = new List <PowerVortex>();

            foreach (KeyValuePair <KinFactionCities, KinCityData> pair in _cityData)
            {
                KinSigil sigil = pair.Value.Sigil;
                if (sigil == null)
                {
                    continue;
                }
                if (sigil.InCapturePhase())
                {
                    Console.WriteLine("mobile's distance from vortex " + sigil.FactionCity.ToString() + " " + (pm.GetDistanceToSqrt(sigil.Vortex)).ToString());
                    if (pm.GetDistanceToSqrt(sigil.Vortex) <= KinSystemSettings.CaptureDefenseRange)
                    {
                        pvs.Add(sigil.Vortex);
                    }
                }
            }
            return(pvs);
        }
示例#6
0
        /// <summary>
        /// Attempts to register a KinSigil into the city
        /// </summary>
        /// <param name="pv"></param>
        /// <returns></returns>
        public static bool RegisterSigil(KinSigil sigil)
        {
            if (sigil == null)
            {
                return(false);
            }

            foreach (KeyValuePair <KinFactionCities, KinCityData> pair in _cityData)
            {
                if (pair.Value.Sigil == sigil || (pair.Key == sigil.FactionCity && pair.Value.Sigil != null && !pair.Value.Sigil.Deleted))
                {
                    return(false);                     //This sigil is already registered, or the city already has an active sigil registered
                }
                else if (pair.Key == sigil.FactionCity)
                {
                    pair.Value.Sigil = sigil;
                    return(true);
                }
            }

            return(false);
        }
示例#7
0
		/// <summary>
		/// Ronseal
		/// </summary>
		/// <param name="sigil"></param>
		/// <returns></returns>
		public static bool IsSigilRegistered(KinSigil sigil)
		{
			if (sigil == null)
				return false;

			foreach (KeyValuePair<KinFactionCities, KinCityData> pair in _cityData)
				if (pair.Value.Sigil == sigil)
					return true;

			return false;
		}
示例#8
0
		/// <summary>
		/// Attempts to register a KinSigil into the city
		/// </summary>
		/// <param name="pv"></param>
		/// <returns></returns>
		public static bool RegisterSigil(KinSigil sigil)
		{
			if (sigil == null)
				return false;

			foreach (KeyValuePair<KinFactionCities, KinCityData> pair in _cityData)
			{
				if (pair.Value.Sigil == sigil || (pair.Key == sigil.FactionCity && pair.Value.Sigil != null && !pair.Value.Sigil.Deleted))
				{
					return false;  //This sigil is already registered, or the city already has an active sigil registered
				}
				else if (pair.Key == sigil.FactionCity)
				{
					pair.Value.Sigil = sigil;
					return true;
				}
			}

			return false;
		}
示例#9
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.ReadInt();
			switch (version)
			{
				case 1:
					{
						foreach (Mobile m in reader.ReadMobileList())
							if (m is GolemController)
								m_Guardians.Add(m as GolemController);
						goto case 0;
					}
				case 0:
					{
						m_Sigil = (KinSigil)reader.ReadItem();
						break;
					}
			}
		}
示例#10
0
		public PowerVortex(KinSigil sigil)
			: base(AIType.AI_Melee, FightMode.Aggressor | FightMode.Weakest | FightMode.Int, 6, 1, 0.199, 0.350)
		{
			Name = "a power vortex";
			Body = 164;

			m_Sigil = sigil;

			SetStr(300);
			SetDex(200);
			SetInt(100);

			SetHits(11000);  //temp : not sure how much this will be yet
			SetStam(250);
			SetMana(0);

			SetDamage(25, 30);

			SetSkill(SkillName.MagicResist, 200.0);
			SetSkill(SkillName.Tactics, 30.0);
			SetSkill(SkillName.Wrestling, 100.0);

			CantWalk = true;

			Fame = 0;
			Karma = 0;
			Hue = 443;
			VirtualArmor = 60;
		}