public PlayerState(GenericReader reader, Faction faction, List<PlayerState> owner) { this.m_Faction = faction; this.m_Owner = owner; int version = reader.ReadEncodedInt(); switch ( version ) { case 1: { this.m_IsActive = reader.ReadBool(); this.m_LastHonorTime = reader.ReadDateTime(); goto case 0; } case 0: { this.m_Mobile = reader.ReadMobile(); this.m_KillPoints = reader.ReadEncodedInt(); this.m_MerchantTitle = (MerchantTitle)reader.ReadEncodedInt(); this.m_Leaving = reader.ReadDateTime(); break; } } this.Attach(); }
public PlayerState(GenericReader reader, Faction faction, List <PlayerState> owner) { m_Faction = faction; m_Owner = owner; int version = reader.ReadEncodedInt(); switch (version) { case 1: { m_IsActive = reader.ReadBool(); m_LastHonorTime = reader.ReadDateTime(); goto case 0; } case 0: { m_Mobile = reader.ReadMobile(); m_KillPoints = reader.ReadEncodedInt(); m_MerchantTitle = (MerchantTitle)reader.ReadEncodedInt(); m_Leaving = reader.ReadDateTime(); break; } } Attach(); }
public static MerchantTitleInfo GetInfo( MerchantTitle title ) { int idx = (int)title - 1; if ( idx >= 0 && idx < m_Info.Length ) return m_Info[idx]; return null; }
public PlayerState(GenericReader reader, Faction faction, List <PlayerState> owner) { m_Faction = faction; m_Owner = owner; int version = reader.ReadEncodedInt(); switch (version) { case 4: { m_StolenSigilsCount = reader.ReadEncodedInt(); //4 m_JoinDate = reader.ReadDateTime(); m_LastKill = reader.ReadDateTime(); m_IsActive = reader.ReadBool(); m_LastHonorTime = reader.ReadDateTime(); goto case 0; //Fixed order of deserialization for RunUO compat. } case 2: { reader.ReadDateTime(); //LastDecay goto case 1; } case 1: { m_JoinDate = reader.ReadDateTime(); m_LastKill = reader.ReadDateTime(); m_StolenSigilsCount = reader.ReadEncodedInt(); goto case 0; } // end case 0: { m_Mobile = reader.ReadMobile(); m_KillPoints = reader.ReadEncodedInt(); m_MerchantTitle = (MerchantTitle)reader.ReadEncodedInt(); m_Leaving = reader.ReadDateTime(); if (version < 2) { m_JoinDate = DateTime.Now; } break; } } Attach(); }
public static MerchantTitleInfo GetInfo(MerchantTitle title) { int idx = (int)title - 1; if (idx >= 0 && idx < Info.Length) { return(Info[idx]); } return(null); }
public PlayerState( GenericReader reader, Faction faction, List<PlayerState> owner ) { m_Faction = faction; m_Owner = owner; int version = reader.ReadEncodedInt(); switch ( version ) { case 3: { m_JoinDate = reader.ReadDateTime(); goto case 2; } case 2: { m_LastKill = reader.ReadDateTime(); goto case 1; } case 1: { m_IsActive = reader.ReadBool(); m_LastHonorTime = reader.ReadDateTime(); goto case 0; } case 0: { m_Mobile = reader.ReadMobile(); m_KillPoints = reader.ReadEncodedInt(); m_MerchantTitle = (MerchantTitle)reader.ReadEncodedInt(); m_Leaving = reader.ReadDateTime(); if ( version < 3 ) m_JoinDate = DateTime.Now; break; } } Attach(); }
public PlayerState(GenericReader reader, Faction faction, PlayerStateCollection owner) { m_Faction = faction; m_Owner = owner; int version = reader.ReadEncodedInt(); switch (version) { case 0: { m_Mobile = reader.ReadMobile(); m_KillPoints = reader.ReadEncodedInt(); m_MerchantTitle = (MerchantTitle)reader.ReadEncodedInt(); m_Leaving = reader.ReadDateTime(); break; } } Attach(); }
public PlayerState( GenericReader reader, Faction faction, PlayerStateCollection owner ) { m_Faction = faction; m_Owner = owner; int version = reader.ReadEncodedInt(); switch ( version ) { case 0: { m_Mobile = reader.ReadMobile(); m_KillPoints = reader.ReadEncodedInt(); m_MerchantTitle = (MerchantTitle) reader.ReadEncodedInt(); m_Leaving = reader.ReadDateTime(); break; } } Attach(); }
public override void OnResponse(NetState sender, RelayInfo info) { int type, index; if (!FromButtonID(info.ButtonID, out type, out index)) { return; } switch (type) { case 0: // general { switch (index) { case 0: // vote { m_From.SendGump(new ElectionGump(m_From, m_Faction.Election)); break; } case 1: // leave { m_From.SendGump(new LeaveFactionGump(m_From, m_Faction)); break; } } break; } case 1: // merchant title { if (index >= 0 && index <= MerchantTitles.Info.Length) { PlayerState pl = PlayerState.Find(m_From); MerchantTitle newTitle = (MerchantTitle)index; MerchantTitleInfo mti = MerchantTitles.GetInfo(newTitle); if (mti == null) { m_From.SendAsciiMessage("Your merchant title has been removed."); if (pl != null) { pl.MerchantTitle = newTitle; } } else if (MerchantTitles.IsQualified(m_From, mti)) { m_From.SendLocalizedMessage(mti.Assigned); if (pl != null) { pl.MerchantTitle = newTitle; } } } break; } case 2: // transfer silver { if (!m_Faction.IsCommander(m_From)) { return; } TownCollection towns = Town.Towns; if (index >= 0 && index < towns.Count) { Town town = towns[index]; if (town.Owner == m_Faction) { if (m_Faction.Silver >= 10000) { m_Faction.Silver -= 10000; town.Silver += 10000; m_From.SendAsciiMessage("10k in silver has been received by: " + town.Definition.FriendlyName); } } } break; } case 3: // change tithe { if (!m_Faction.IsCommander(m_From)) { return; } if (index >= 0 && index <= 10) { m_Faction.Tithe = index * 10; } break; } } }
public static bool IsQualified( Mobile mob, MerchantTitle title ) { return IsQualified( mob, GetInfo( title ) ); }
public static bool IsQualified(Mobile mob, MerchantTitle title) => IsQualified(mob, GetInfo(title));