public static string Execute(params string[] args) { if (args.Length == 0) { return(HelpCommand.Execute(name)); } else { GuildManager guildManager = GameManager.Instance.GuildManager; // Is the group a guild group? if (Enum.IsDefined(typeof(FactionFile.GuildGroups), args[0])) { FactionFile.GuildGroups guildGroup = (FactionFile.GuildGroups)Enum.Parse(typeof(FactionFile.GuildGroups), args[0]); if (guildManager.HasJoined(guildGroup)) { return("Already a member."); } else if (guildGroup == FactionFile.GuildGroups.HolyOrder || guildGroup == FactionFile.GuildGroups.KnightlyOrder) { if (args.Length > 1) { int factionId = int.Parse(args[1]); IGuild guild = guildManager.JoinGuild(guildGroup, factionId); guildManager.AddMembership(guildGroup, guild); return("Guild joined."); } else { return("Need a faction id for temples & knightly orders."); } } else { IGuild guild = guildManager.JoinGuild(guildGroup); guildManager.AddMembership(guildGroup, guild); return("Guild " + guildGroup.ToString() + " joined."); } } else { return("Not a recognised guild group, see FactionFile.GuildGroups enum."); } } }
public static string Execute(params string[] args) { if (args.Length != 2) { return(HelpCommand.Execute(name)); } else { GuildManager guildManager = GameManager.Instance.GuildManager; PlayerEntity playerEntity = GameManager.Instance.PlayerEntity; // Is the group a guild group? if (Enum.IsDefined(typeof(FactionFile.GuildGroups), args[0])) { FactionFile.GuildGroups guildGroup = (FactionFile.GuildGroups)Enum.Parse(typeof(FactionFile.GuildGroups), args[0]); if (guildManager.HasJoined(guildGroup)) { int newRank = int.Parse(args[1]); if (newRank > 0 && newRank < 10) { IGuild guild = guildManager.GetGuild(guildGroup); int rep = guild.GetReputation(playerEntity); int newRep = Guild.rankReqReputation[newRank]; playerEntity.FactionData.ChangeReputation(guild.GetFactionId(), newRep - rep, true); guild.Rank = newRank; return("Rank & reputation updated."); } else { return("Rank must be between 1 and 9."); } } else { return("Not a member of that guild."); } } else { return("Not a recognised guild group, see FactionFile.GuildGroups enum."); } } }