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; } } }
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; }
/// <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; } } }
/// <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); }
/// <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); }
/// <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); }
/// <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; }
/// <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; }
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; } } }