public void JoinGuilded(PlayerMobile mob, Guild guild) { if (mob.Young) { guild.RemoveMember(mob); mob.SendLocalizedMessage(1042283); // You have been kicked out of your guild! Young players may not remain in a guild which is allied with a faction. } else if (this.AlreadyHasCharInFaction(mob)) { guild.RemoveMember(mob); mob.SendLocalizedMessage(1005281); // You have been kicked out of your guild due to factional overlap } else if (IsFactionBanned(mob)) { guild.RemoveMember(mob); mob.SendLocalizedMessage(1005052); // You are currently banned from the faction system } else { this.AddMember(mob); mob.SendLocalizedMessage(1042756, true, " " + this.m_Definition.FriendlyName); // You are now joining a faction: } }
public void JoinGuilded( PlayerMobile mob, Guild guild ) { if ( mob.Young ) { guild.RemoveMember( mob ); mob.SendAsciiMessage( "You have been kicked out of your guild! Young players may not remain in a guild which is allied with a faction." ); } else if ( AlreadyHasCharInFaction( mob ) ) { guild.RemoveMember( mob ); mob.SendAsciiMessage( "You have been kicked out of your guild due to factional overlap." ); } else if ( IsFactionBanned( mob ) ) { guild.RemoveMember( mob ); mob.SendAsciiMessage( "You are currently banned from the faction system." ); } else { AddMember( mob ); mob.SendAsciiMessage( "You are now joining a faction: " + m_Definition.FriendlyName ); } }
public void JoinGuilded(PlayerMobile mob, Guild guild) { Faction faction = this; if (mob.Young) { guild.RemoveMember(mob); mob.SendLocalizedMessage(1042283); // You have been kicked out of your guild! Young players may not remain in a guild which is allied with a faction. } else if (AlreadyHasCharInFaction(mob, faction)) { guild.RemoveMember(mob); mob.SendLocalizedMessage(1005281); // You have been kicked out of your guild due to factional overlap } else if (IsFactionBanned(mob)) { guild.RemoveMember(mob); mob.SendLocalizedMessage(1005052); // You are currently banned from the faction system } else if (mob.SkillsTotal < 7000) { guild.RemoveMember(mob); mob.SendMessage("You are not skilled enough to join a faction."); } else { AddMember(mob); Player pl = Player.Find(mob); if (Ethic.Enabled && pl == null) { switch (m_Definition.FriendlyName) { case "Shadowlords": case "Minax": pl = new Player(Ethic.Evil, mob); break; case "Council of Mages": case "True Britannians": pl = new Player(Ethic.Hero, mob); break; } if (pl != null) { pl.Attach(); } } mob.SendLocalizedMessage(1042756, true, " " + m_Definition.FriendlyName); // You are now joining a faction: } }
public override void OnResponse(NetState sender, RelayInfo info) { base.OnResponse(sender, info); PlayerMobile pm = sender.Mobile as PlayerMobile; if (!IsMember(pm, Guild)) { return; } pm.DisplayGuildTitle = info.IsSwitched(0); switch (info.ButtonID) { //1-3 handled by base.OnResponse case 4: { if (IsLeader(pm, Guild)) { pm.SendLocalizedMessage(1013071); // Enter the new guild charter (50 characters max): pm.BeginPrompt(new PromptCallback(SetCharter_Callback), true); //Have the same callback handle both canceling and deletion cause the 2nd callback would just get a text of "" } break; } case 5: { if (IsLeader(pm, Guild)) { pm.SendLocalizedMessage(1013072); // Enter the new website for the guild (50 characters max): pm.BeginPrompt(new PromptCallback(SetWebsite_Callback), true); //Have the same callback handle both canceling and deletion cause the 2nd callback would just get a text of "" } break; } case 6: { //Alliance Roster if (Guild.Alliance != null && Guild.Alliance.IsMember(Guild)) { pm.SendGump(new AllianceInfo.AllianceRosterGump(pm, Guild, Guild.Alliance)); } break; } case 7: { //Resign if (!m_IsResigning) { pm.SendLocalizedMessage(1063332); // Are you sure you wish to resign from your guild? pm.SendGump(new GuildInfoGump(pm, Guild, true)); } else { Guild.RemoveMember(pm, 1063411); // You resign from your guild. } break; } case 100: // Custom code to support Order/Chaos in the new guild system { // Guild Faction if (Guild.OrderChaos && IsLeader(pm, Guild)) { pm.CloseGump(typeof(GuildChangeTypeGump)); pm.SendGump(new GuildChangeTypeGump(pm, Guild)); } break; } } }
public override void OnResponse(NetState sender, RelayInfo info) { if (sender.Mobile is not PlayerMobile pm || !IsMember(pm, Guild) || !IsMember(m_Member, Guild)) { return; } RankDefinition playerRank = pm.GuildRank; RankDefinition targetRank = m_Member.GuildRank; switch (info.ButtonID) { case 1: //Promote { if (playerRank.GetFlag(RankFlags.CanPromoteDemote) && ((playerRank.Rank - 1) > targetRank.Rank || (playerRank == RankDefinition.Leader && playerRank.Rank > targetRank.Rank))) { targetRank = RankDefinition.Ranks[targetRank.Rank + 1]; if (targetRank == RankDefinition.Leader) { if (m_ToLeader) { m_Member.GuildRank = targetRank; pm.SendLocalizedMessage(1063156, m_Member.Name); // The guild information for ~1_val~ has been updated. pm.SendLocalizedMessage(1063156, pm.Name); // The guild information for ~1_val~ has been updated. Guild.Leader = m_Member; } else { pm.SendLocalizedMessage(1063144); // Are you sure you wish to make this member the new guild leader? pm.SendGump(new GuildMemberInfoGump(Player, Guild, m_Member, false, true)); } } else { m_Member.GuildRank = targetRank; pm.SendLocalizedMessage(1063156, m_Member.Name); // The guild information for ~1_val~ has been updated. } } else { pm.SendLocalizedMessage(1063143); // You don't have permission to promote this member. } break; } case 2: //Demote { if (playerRank.GetFlag(RankFlags.CanPromoteDemote) && playerRank.Rank > targetRank.Rank) { if (targetRank == RankDefinition.Lowest) { if (RankDefinition.Lowest.Name.Number == 1062963) { pm.SendLocalizedMessage(1063333); // You can't demote a ronin. } else { pm.SendMessage("You can't demote a {0}.", RankDefinition.Lowest.Name); } } else { m_Member.GuildRank = RankDefinition.Ranks[targetRank.Rank - 1]; pm.SendLocalizedMessage(1063156, m_Member.Name); // The guild information for ~1_val~ has been updated. } } else { pm.SendLocalizedMessage(1063146); // You don't have permission to demote this member. } break; } case 3: //Set Guild title { if (playerRank.GetFlag(RankFlags.CanSetGuildTitle) && (playerRank.Rank > targetRank.Rank || m_Member == Player)) { pm.SendLocalizedMessage(1011128); // Enter the new title for this guild member or 'none' to remove a title: pm.BeginPrompt(new PromptCallback(SetTitle_Callback)); } else if (m_Member.GuildTitle == null || m_Member.GuildTitle.Length <= 0) { pm.SendLocalizedMessage(1070746); // You don't have the permission to set that member's guild title. } else { pm.SendLocalizedMessage(1063148); // You don't have permission to change this member's guild title. } break; } case 4: //Vote { if (m_Member == pm.GuildFealty && Guild.Leader != m_Member) { pm.SendLocalizedMessage(1063158); // You have cleared your vote for guild leader. } else if (Guild.CanVote(m_Member)) //( playerRank.GetFlag( RankFlags.CanVote ) ) { if (m_Member == Guild.Leader) { pm.SendLocalizedMessage(1063424); // You can't vote for the current guild leader. } else if (!Guild.CanBeVotedFor(m_Member)) { pm.SendLocalizedMessage(1063425); // You can't vote for an inactive guild member. } else { pm.GuildFealty = m_Member; pm.SendLocalizedMessage(1063159, m_Member.Name); // You cast your vote for ~1_val~ for guild leader. } } else { pm.SendLocalizedMessage(1063149); // You don't have permission to vote. } break; } case 5: //Kick { if ((playerRank.GetFlag(RankFlags.RemovePlayers) && playerRank.Rank > targetRank.Rank) || (playerRank.GetFlag(RankFlags.RemoveLowestRank) && targetRank == RankDefinition.Lowest)) { if (m_toKick) { Guild.RemoveMember(m_Member); pm.SendLocalizedMessage(1063157); // The member has been removed from your guild. } else { pm.SendLocalizedMessage(1063152); // Are you sure you wish to kick this member from the guild? pm.SendGump(new GuildMemberInfoGump(Player, Guild, m_Member, true, false)); } } else { pm.SendLocalizedMessage(1063151); // You don't have permission to remove this member. } break; } } }