public override void OnDoubleClick(Mobile from) { if (m_Guild == null || m_Guild.Disbanded) { Delete(); } else if (!from.InRange(GetWorldLocation(), 2)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (m_Guild.Accepted.Contains(from)) { m_Guild.Accepted.Remove(from); m_Guild.AddMember(from); GuildGump.EnsureClosed(from); from.SendGump(new GuildGump(from, m_Guild)); } else if (from.AccessLevel < AccessLevel.GameMaster && !m_Guild.IsMember(from)) { from.NetState.SendMessageLocalized( Serial, ItemID, MessageType.Regular, 0x3B2, 3, 501158 ); } else { GuildGump.EnsureClosed(from); from.SendGump(new GuildGump(from, m_Guild)); } }
public override void OnDoubleClick(Mobile from) { if (Guild.NewGuildSystem) { return; } if (m_Guild == null || m_Guild.Disbanded) { Delete(); } else if (!from.InRange(GetWorldLocation(), 2)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (m_Guild.Accepted.Contains(from)) { #region Factions PlayerState guildState = PlayerState.Find(m_Guild.Leader); PlayerState targetState = PlayerState.Find(from); Faction guildFaction = (guildState == null ? null : guildState.Faction); Faction targetFaction = (targetState == null ? null : targetState.Faction); if (guildFaction != targetFaction || (targetState != null && targetState.IsLeaving)) { return; } if (guildState != null && targetState != null) { targetState.Leaving = guildState.Leaving; } #endregion GuildGump.EnsureClosed(from); m_Guild.Accepted.Remove(from); if (m_Guild.Type != GuildType.Regular && !Guild.JoinVirtue(from, m_Guild.Type)) { from.SendAsciiMessage(0x25, "You may not join this virtue guild."); return; } m_Guild.AddMember(from); from.SendGump(new GuildGump(from, m_Guild)); } else if (from.AccessLevel < AccessLevel.GameMaster && !m_Guild.IsMember(from)) { from.Send(new MessageLocalized(Serial, ItemID, MessageType.Regular, 0x3B2, 3, 501158, "", "")); // You are not a member ... } else { GuildGump.EnsureClosed(from); from.SendGump(new GuildGump(from, m_Guild)); } }
public override void OnDoubleClick(Mobile from) { if (Guild.NewGuildSystem) { return; } BaseHouse house = BaseHouse.FindHouseAt(this); BaseBoat boat = BaseBoat.FindBoatAt(this.Location, this.Map); if (house == null && boat == null) { Delete(); } if (m_Guild == null || m_Guild.Disbanded) { Delete(); } else if (!from.InRange(GetWorldLocation(), 2)) { from.SendAsciiMessage("That is too far away."); // That is too far away. } else if (m_Guild.Accepted.Contains(from)) { #region Factions PlayerState guildState = PlayerState.Find(m_Guild.Leader); PlayerState targetState = PlayerState.Find(from); Faction guildFaction = (guildState == null ? null : guildState.Faction); Faction targetFaction = (targetState == null ? null : targetState.Faction); if (guildFaction != targetFaction || (targetState != null && targetState.IsLeaving)) { return; } if (guildState != null && targetState != null) { targetState.Leaving = guildState.Leaving; } #endregion m_Guild.Accepted.Remove(from); m_Guild.AddMember(from); from.SendMenu(new GuildMenu(from, m_Guild)); } else if (from.AccessLevel < AccessLevel.GameMaster && !m_Guild.IsMember(from)) { from.Send(new AsciiMessage(Serial, ItemID, MessageType.Regular, 0, 3, "", "You are not a member of this guild! To join, ask a current member to invite you into the guild.")); // You are not a member ... } else { from.SendMenu(new GuildMenu(from, m_Guild)); } }
public override void OnDoubleClick(Mobile from) { if (m_Guild == null || m_Guild.Disbanded) { Delete(); } else if (!from.InRange(GetWorldLocation(), 2)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (m_Guild.Accepted.Contains(from)) { #region Factions PlayerState guildState = PlayerState.Find(m_Guild.Leader); PlayerState targetState = PlayerState.Find(from); Faction guildFaction = (guildState == null ? null : guildState.Faction); Faction targetFaction = (targetState == null ? null : targetState.Faction); if (guildFaction != targetFaction || (targetState != null && targetState.IsLeaving)) { return; } if (guildState != null && targetState != null) { targetState.Leaving = guildState.Leaving; } #endregion m_Guild.Accepted.Remove(from); m_Guild.AddMember(from); GuildGump.EnsureClosed(from); from.SendGump(new GuildGump(from, m_Guild)); } else if (from.AccessLevel < AccessLevel.GameMaster && !m_Guild.IsMember(from)) { BaseHouse house = BaseHouse.FindHouseAt(this); if (house != null && from.Alive && house.IsOwner(from)) { GuildGump.EnsureClosed(from); from.SendGump(new MoveGuildstoneGump(from, this)); } else { from.Send(new MessageLocalized(Serial, ItemID, MessageType.Regular, 0x3B2, 3, 501158, "", "")); // You are not a member ... } } else { GuildGump.EnsureClosed(from); from.SendGump(new GuildGump(from, m_Guild)); } }
public override void OnDoubleClick(Mobile from) { if (Guild.NewGuildSystem) { return; } if (m_Guild == null || m_Guild.Disbanded) { Delete(); } else if (from.AccessLevel < AccessLevel.GameMaster && (!from.InRange(GetWorldLocation(), 2) || !from.InLOS(this))) { from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that. } else if (m_Guild.Accepted.Contains(from)) { #region Factions PlayerState guildState = PlayerState.Find(m_Guild.Leader); PlayerState targetState = PlayerState.Find(from); Faction guildFaction = (guildState == null ? null : guildState.Faction); Faction targetFaction = (targetState == null ? null : targetState.Faction); if (guildFaction != targetFaction || (targetState != null && targetState.IsLeaving)) { return; } if (guildState != null && targetState != null) { targetState.Leaving = guildState.Leaving; } #endregion m_Guild.Accepted.Remove(from); m_Guild.AddMember(from); GuildGump.EnsureClosed(from); from.SendGump(new GuildGump(from, m_Guild)); } else if (from.AccessLevel < AccessLevel.GameMaster && !m_Guild.IsMember(from)) { PrivateOverheadMessage(MessageType.Regular, 906, 501158, "", from.NetState); // You are not a member ... } else { GuildGump.EnsureClosed(from); from.SendGump(new GuildGump(from, m_Guild)); } }
public override void OnDoubleClick(Mobile from) { if (m_Guild == null || m_Guild.Disbanded) { Delete(); } else if (!from.InRange(GetWorldLocation(), 2)) { from.SendAsciiMessage("That is too far away."); } else if (m_Guild.Accepted.Contains(from)) { #region Factions PlayerState guildState = PlayerState.Find(m_Guild.Leader); PlayerState targetState = PlayerState.Find(from); Faction guildFaction = (guildState == null ? null : guildState.Faction); Faction targetFaction = (targetState == null ? null : targetState.Faction); if (guildFaction != targetFaction || (targetState != null && targetState.IsLeaving)) { return; } if (guildState != null && targetState != null) { targetState.Leaving = guildState.Leaving; } #endregion m_Guild.Accepted.Remove(from); m_Guild.AddMember(from); GuildGump.EnsureClosed(from); from.SendGump(new GuildGump(from, m_Guild)); } else if (from.AccessLevel < AccessLevel.GameMaster && !m_Guild.IsMember(from)) { this.SendAsciiMessageTo(from, "You are not a member of this guild! To join, ask a current member to invite you into the guild."); } else { GuildGump.EnsureClosed(from); from.SendGump(new GuildGump(from, m_Guild)); } }
public override void OnDoubleClick(Mobile from) { if (m_Guild == null || m_Guild.Disbanded) { Delete(); } else if (!from.InRange(GetWorldLocation(), 2)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (m_Guild.Accepted.Contains(from)) { m_Guild.Accepted.Remove(from); m_Guild.AddMember(from); GuildGump.EnsureClosed(from); from.SendGump(new GuildGump(from, m_Guild)); } else if (from.AccessLevel < AccessLevel.GameMaster && !m_Guild.IsMember(from)) { BaseHouse house = BaseHouse.FindHouseAt(this); if (house != null && from.Alive && house.IsOwner(from)) { GuildGump.EnsureClosed(from); from.SendGump(new MoveGuildstoneGump(from, this)); } else { from.Send(new MessageLocalized(Serial, ItemID, MessageType.Regular, 0x3B2, 3, 501158, "", "")); // You are not a member ... } } else { GuildGump.EnsureClosed(from); from.SendGump(new GuildGump(from, m_Guild)); } }
protected override void OnTarget(Mobile from, object target) { if (m_Player == null) { return; } if (m_Player.Deleted) { return; } if (m_Guild == null) { m_Player.SendMessage("That guild no longer exists."); return; } if (!m_Guild.IsMember(m_Player)) { m_Player.SendMessage("You are not a member of this guild."); return; } GuildMemberEntry playerEntry = m_Guild.GetGuildMemberEntry(m_Player); if (playerEntry == null) { return; } bool canImmediatelyAdd = m_Guild.CanAddCandidates(playerEntry.m_Rank); PlayerMobile playerTarget = target as PlayerMobile; if (playerTarget == null) { m_Player.SendMessage("That is not a player."); return; } if (Utility.GetDistance(m_Player.Location, playerTarget.Location) > 20) { m_Player.SendMessage("That player is too far away."); return; } if (playerTarget.Guild != null) { m_Player.SendMessage("That player is already in a guild."); return; } if (canImmediatelyAdd) { if (m_Guild.AddMember(playerTarget)) { string guildText = m_Guild.Name + " [" + m_Guild.m_Abbreviation + "]"; m_Guild.GuildAnnouncement(playerTarget.RawName + " has been made a member of the guild.", new List <PlayerMobile>() { playerTarget }, GuildMemberRank.Recruit); playerTarget.SendMessage(Guilds.GuildTextHue, "You have been made a guild member of " + guildText + "."); return; } else { m_Player.SendMessage("That player is already a member of this guild or unable to join a guild at this time."); return; } } else { if (m_Guild.m_Candidates.Contains(playerTarget)) { m_Player.SendMessage("That player is already a candidate for membership in this guild."); return; } else { m_Guild.m_Candidates.Add(playerTarget); m_Player.SendMessage(Guilds.GuildTextHue, playerTarget.RawName + " has been made a candidate for guild membership."); playerTarget.SendMessage(Guilds.GuildTextHue, "You have been made a candidate for guild membership."); string message = playerTarget.RawName + " has been made a candidate for membership in the guild."; m_Guild.GuildAnnouncement(message, new List <PlayerMobile>() { m_Player, playerTarget }, GuildMemberRank.Officer); return; } } }