public SocialGroupCreationResultEnum SetGuildEmblem(Character character, NetworkGuildEmblem emblem) { var potion = character.Inventory.TryGetItem(ItemManager.Instance.TryGetTemplate(ItemIdEnum.POTION_DE_CHANGEMENT_DE_BLASON_DE_GUILDE_13270)); if (potion == null) { return(SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_REQUIREMENT_UNMET); } if (GuildManager.Instance.DoesEmblemExist(emblem)) { return(SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_EMBLEM_ALREADY_EXISTS); } character.Inventory.RemoveItem(potion, 1); Emblem.ChangeEmblem(emblem); foreach (var taxCollector in TaxCollectors) { taxCollector.RefreshLook(); taxCollector.Map.Refresh(taxCollector); } foreach (var member in Members.Where(x => x.IsConnected)) { member.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_MESSAGE, 382); GuildHandler.SendGuildMembershipMessage(member.Character.Client, member.Character.GuildMember); member.Character.RefreshActor(); } return(SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_OK); }
public GuildCreationResultEnum CreateGuild(Character character, string name, Stump.DofusProtocol.Types.GuildEmblem emblem) { GuildCreationResultEnum result; if (this.DoesNameExist(name)) { result = GuildCreationResultEnum.GUILD_CREATE_ERROR_NAME_ALREADY_EXISTS; } else { if (this.DoesEmblemExist(emblem)) { result = GuildCreationResultEnum.GUILD_CREATE_ERROR_EMBLEM_ALREADY_EXISTS; } else { BasePlayerItem basePlayerItem = character.Inventory.TryGetItem(Singleton <ItemManager> .Instance.TryGetTemplate(GuildManager.GUILDALOGEMME_ID)); if (basePlayerItem == null) { result = GuildCreationResultEnum.GUILD_CREATE_ERROR_REQUIREMENT_UNMET; } else { character.Inventory.RemoveItem(basePlayerItem, 1u, true); character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_MESSAGE, 22, new object[] { 1, basePlayerItem.Template.Id }); Guild guild = this.CreateGuild(name); if (guild == null) { result = GuildCreationResultEnum.GUILD_CREATE_ERROR_CANCEL; } else { guild.Emblem.ChangeEmblem(emblem); GuildMember guildMember; if (!guild.TryAddMember(character, out guildMember)) { this.DeleteGuild(guild); result = GuildCreationResultEnum.GUILD_CREATE_ERROR_CANCEL; } else { character.GuildMember = guildMember; character.RefreshActor(); result = GuildCreationResultEnum.GUILD_CREATE_OK; } } } } } return(result); }
public bool DoesEmblemExist(NetworkGuildEmblem emblem) => m_guilds.Any(x => x.Value.Emblem.DoesEmblemMatch(emblem));
public SocialGroupCreationResultEnum CreateGuild(Character character, string name, NetworkGuildEmblem emblem) { var guildalogemme = character.Inventory.TryGetItem(ItemManager.Instance.TryGetTemplate(ItemIdEnum.GUILDALOGEMME_1575)); if (guildalogemme == null && !character.IsGameMaster()) { return(SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_REQUIREMENT_UNMET); } if (!Regex.IsMatch(name, "^\\b[A-Z][A-Za-z\\s-']{4,30}\\b$", RegexOptions.Compiled) || Regex.IsMatch(name, "^\\s\\s$")) { return(SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_NAME_INVALID); } if (emblem.symbolShape >= 324) { return(SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_EMBLEM_INVALID); } if (DoesNameExist(name)) { return(SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_NAME_ALREADY_EXISTS); } if (DoesEmblemExist(emblem)) { return(SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_EMBLEM_ALREADY_EXISTS); } if (!character.IsGameMaster()) { character.Inventory.RemoveItem(guildalogemme, 1); } var guild = CreateGuild(name); if (guild == null) { return(SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_CANCEL); } guild.Emblem.ChangeEmblem(emblem); GuildMember member; if (!guild.TryAddMember(character, out member)) { DeleteGuild(guild); return(SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_CANCEL); } character.GuildMember = member; character.RefreshActor(); return(SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_OK); }
public SocialGroupCreationResultEnum CreateAlliance(Character character, string allianceName, string allianceTag, Stump.DofusProtocol.Types.GuildEmblem emblem) { SocialGroupCreationResultEnum result; if (this.DoesNameExist(allianceName)) { result = SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_NAME_ALREADY_EXISTS; } else { if (this.DoesTagExist(allianceTag)) { result = SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_TAG_ALREADY_EXISTS; } else { if (this.DoesEmblemExist(emblem)) { result = SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_EMBLEM_ALREADY_EXISTS; } else { var basePlayerItem = character.Inventory.TryGetItem(Singleton <ItemManager> .Instance.TryGetTemplate(AllianceManager.ALLIOGEMME_ID)); if (basePlayerItem == null) { result = SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_REQUIREMENT_UNMET; } else { character.Inventory.RemoveItem(basePlayerItem, 1, true); character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_MESSAGE, 22, new object[] { 1, basePlayerItem.Template.Id }); var alliance = this.CreateAlliance(allianceName, allianceTag); if (alliance == null) { result = SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_CANCEL; } else { alliance.Emblem.ChangeEmblem(emblem); if (!alliance.TryAddGuild(character.Guild)) { this.DeleteAlliance(alliance); result = SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_CANCEL; } else { character.RefreshActor(); result = SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_OK; } } } } } } return(result); }
public bool DoesEmblemExist(Stump.DofusProtocol.Types.GuildEmblem emblem) { return(this.m_alliances.Any(entry => entry.Value.Emblem.DoesEmblemMatch(emblem))); }
public bool DoesEmblemExist(Stump.DofusProtocol.Types.GuildEmblem emblem) { return(this.m_guilds.Any((System.Collections.Generic.KeyValuePair <int, Guild> x) => x.Value.Emblem.DoesEmblemMatch(emblem))); }