From 4e915d7eb76be48aea74846a7658f424ce2c14f1 Mon Sep 17 00:00:00 2001 From: r00telement <47005506+r00telement@users.noreply.github.com> Date: Sun, 19 Dec 2021 23:43:37 +0000 Subject: [PATCH] PlayerTags 1.1.4.0 - Added option to apply color to name in chat. - Added options to apply color to name, and free company in nameplates. - Fixed an issue where context menu tagging wouldn't save correctly. - Tweaked config defaults for better job visibility in chat. - Expanded word lists for randomly generated names because they amuse my simple brain. --- .../Configuration/PluginConfigurationUI.cs | 22 +- PlayerTags/Data/DefaultPluginData.cs | 2 + PlayerTags/Data/Identity.cs | 74 ++ PlayerTags/Data/Tag.cs | 65 +- PlayerTags/Features/ChatTagTargetFeature.cs | 56 +- .../Features/CustomTagsContextMenuFeature.cs | 24 +- .../Features/NameplatesTagTargetFeature.cs | 94 +- PlayerTags/Features/TagTargetFeature.cs | 37 +- PlayerTags/PlayerTags.csproj | 2 +- PlayerTags/RandomNameGenerator.cs | 1 - PlayerTags/Resources/Promo/PatchNote_1.png | Bin 0 -> 30853 bytes PlayerTags/Resources/Promo/PatchNote_2.png | Bin 0 -> 89013 bytes PlayerTags/Resources/Strings.Designer.cs | 72 ++ PlayerTags/Resources/Strings.resx | 28 + PlayerTags/Resources/Words/Adjectives.txt | 243 +++- PlayerTags/Resources/Words/Nouns.txt | 1052 ++++++++++++++++- 16 files changed, 1577 insertions(+), 195 deletions(-) create mode 100644 PlayerTags/Data/Identity.cs create mode 100644 PlayerTags/Resources/Promo/PatchNote_1.png create mode 100644 PlayerTags/Resources/Promo/PatchNote_2.png diff --git a/PlayerTags/Configuration/PluginConfigurationUI.cs b/PlayerTags/Configuration/PluginConfigurationUI.cs index 37377e1..5bbf498 100644 --- a/PlayerTags/Configuration/PluginConfigurationUI.cs +++ b/PlayerTags/Configuration/PluginConfigurationUI.cs @@ -171,7 +171,7 @@ namespace PlayerTags.Configuration int rowIndex = 0; foreach (var player in orderedPlayerNameContexts) { - DrawPlayerAssignmentRow(player.Key, rowIndex); + DrawQuickAddRow(new Identity(player.Key), rowIndex); ++rowIndex; } } @@ -200,15 +200,15 @@ namespace PlayerTags.Configuration ImGui.TableHeadersRow(); int rowIndex = 0; - foreach (var gameObjectName in m_PluginData.CustomTags.SelectMany(customTag => customTag.SplitGameObjectNamesToApplyTo).Distinct().OrderBy(name => name).ToArray()) + foreach (var identity in m_PluginData.CustomTags.SelectMany(customTag => customTag.IdentitiesToAddTo).Distinct().OrderBy(name => name).ToArray()) { - DrawPlayerAssignmentRow(gameObjectName, rowIndex); + DrawQuickAddRow(identity, rowIndex); ++rowIndex; } if (PluginServices.ObjectTable.Length == 0 && PluginServices.ClientState.LocalPlayer != null) { - DrawPlayerAssignmentRow(PluginServices.ClientState.LocalPlayer.Name.TextValue, 0); + DrawQuickAddRow(new Identity(PluginServices.ClientState.LocalPlayer.Name.TextValue), 0); } ImGui.EndTable(); @@ -229,9 +229,9 @@ namespace PlayerTags.Configuration } } - void DrawPlayerAssignmentRow(string playerName, int rowIndex) + void DrawQuickAddRow(Identity identity, int rowIndex) { - ImGui.PushID(playerName); + ImGui.PushID(identity.ToString()); ImGui.TableNextRow(); @@ -244,7 +244,7 @@ namespace PlayerTags.Configuration ImGui.TableNextColumn(); ImGui.AlignTextToFramePadding(); - ImGui.Text(playerName); + ImGui.Text(identity.Name); foreach (Tag customTag in m_PluginData.CustomTags) { @@ -252,17 +252,17 @@ namespace PlayerTags.Configuration ImGui.TableNextColumn(); - bool isTagAssigned = customTag.IncludesGameObjectNameToApplyTo(playerName); + bool isTagAssigned = customTag.CanAddToIdentity(identity); - DrawSimpleCheckbox(string.Format(Strings.Loc_Static_Format_AddTagToPlayer, customTag.Text.InheritedValue, playerName), ref isTagAssigned, () => + DrawSimpleCheckbox(string.Format(Strings.Loc_Static_Format_AddTagToPlayer, customTag.Text.InheritedValue, identity.Name), ref isTagAssigned, () => { if (isTagAssigned) { - customTag.AddGameObjectNameToApplyTo(playerName); + customTag.AddIdentityToAddTo(identity); } else { - customTag.RemoveGameObjectNameToApplyTo(playerName); + customTag.RemoveIdentityToAddTo(identity); } m_PluginConfiguration.Save(m_PluginData); diff --git a/PlayerTags/Data/DefaultPluginData.cs b/PlayerTags/Data/DefaultPluginData.cs index 07bdee7..511a7e2 100644 --- a/PlayerTags/Data/DefaultPluginData.cs +++ b/PlayerTags/Data/DefaultPluginData.cs @@ -60,7 +60,9 @@ namespace PlayerTags.Data IsSelected = false, IsExpanded = true, IsIconVisibleInChat = true, + IsTextVisibleInChat = true, IsTextVisibleInNameplates = true, + IsTextColorAppliedToChatName = true }.GetChanges(); RoleTagsChanges = new Dictionary>(); diff --git a/PlayerTags/Data/Identity.cs b/PlayerTags/Data/Identity.cs new file mode 100644 index 0000000..4c66c10 --- /dev/null +++ b/PlayerTags/Data/Identity.cs @@ -0,0 +1,74 @@ +using System; + +namespace PlayerTags.Data +{ + // FirstName LastName + // FirstName LastName:Id + public struct Identity : IEquatable + { + public string Name; + public string? Id; + + public Identity(string name) + { + Name = name; + Id = null; + } + + public Identity(string name, string id) + { + Name = name; + Id = id; + } + + public override string ToString() + { + string str = Name; + + if (Id != null) + { + Name += $":{Id}"; + } + + return str; + + } + + public override bool Equals(object? obj) + { + return obj is Identity identity && Equals(identity); + } + + public bool Equals(Identity obj) + { + return this == obj; + } + + public static bool operator ==(Identity first, Identity second) + { + if (first.Id != null || second.Id != null) + { + return first.Id == second.Id; + } + + return first.Name.ToLower().Trim() == second.Name.ToLower().Trim(); + } + + public static bool operator !=(Identity first, Identity second) + { + return !(first == second); + } + + public override int GetHashCode() + { + var hashCode = Name.GetHashCode(); + + if (Id != null) + { + hashCode *= 17 ^ Id.GetHashCode(); + } + + return hashCode; + } + } +} diff --git a/PlayerTags/Data/Tag.cs b/PlayerTags/Data/Tag.cs index 28e16d1..1b99c65 100644 --- a/PlayerTags/Data/Tag.cs +++ b/PlayerTags/Data/Tag.cs @@ -81,8 +81,15 @@ namespace PlayerTags.Data } } - public InheritableValue IsSelected = new InheritableValue(false); - public InheritableValue IsExpanded = new InheritableValue(false); + public InheritableValue IsSelected = new InheritableValue(false) + { + Behavior = InheritableBehavior.Enabled + }; + + public InheritableValue IsExpanded = new InheritableValue(false) + { + Behavior = InheritableBehavior.Enabled + }; [InheritableCategory("GeneralCategory")] public InheritableReference GameObjectNamesToApplyTo = new InheritableReference(""); @@ -106,6 +113,14 @@ namespace PlayerTags.Data public InheritableValue IsTextVisibleInChat = new InheritableValue(false); [InheritableCategory("TextCategory")] public InheritableValue IsTextVisibleInNameplates = new InheritableValue(false); + [InheritableCategory("TextCategory")] + public InheritableValue IsTextColorAppliedToChatName = new InheritableValue(false); + [InheritableCategory("TextCategory")] + public InheritableValue IsTextColorAppliedToNameplateName = new InheritableValue(false); + [InheritableCategory("TextCategory")] + public InheritableValue IsTextColorAppliedToNameplateTitle = new InheritableValue(false); + [InheritableCategory("TextCategory")] + public InheritableValue IsTextColorAppliedToNameplateFreeCompany = new InheritableValue(false); [InheritableCategory("PositionCategory")] public InheritableValue TagPositionInChat = new InheritableValue(TagPosition.Before); @@ -134,7 +149,7 @@ namespace PlayerTags.Data [InheritableCategory("PlayerCategory")] public InheritableValue IsVisibleForOtherPlayers = new InheritableValue(false); - public string[] SplitGameObjectNamesToApplyTo + private string[] IdentityDatasToAddTo { get { @@ -147,11 +162,26 @@ namespace PlayerTags.Data } } - private string[] CleanGameObjectNamesToApplyTo + private Identity GetIdentity(string identityData) + { + var identity = new Identity(); + + var IdParts = identityData.Split(':'); + if (IdParts.Length > 1) + { + identity.Id = IdParts[1]; + } + + identity.Name = IdParts[0]; + + return identity; + } + + public Identity[] IdentitiesToAddTo { get { - return SplitGameObjectNamesToApplyTo.Select(gameObjectName => gameObjectName.ToLower().Trim()).ToArray(); + return IdentityDatasToAddTo.Select(identityData => GetIdentity(identityData)).ToArray(); } } @@ -160,38 +190,29 @@ namespace PlayerTags.Data Name = name; } - public bool IncludesGameObjectNameToApplyTo(string gameObjectName) + public bool CanAddToIdentity(Identity identity) { - return CleanGameObjectNamesToApplyTo.Contains(gameObjectName.ToLower()); + return IdentitiesToAddTo.Contains(identity); } - public void AddGameObjectNameToApplyTo(string gameObjectName) + public void AddIdentityToAddTo(Identity identity) { - if (IncludesGameObjectNameToApplyTo(gameObjectName)) + if (CanAddToIdentity(identity)) { return; } - List newSplitGameObjectNamesToApplyTo = SplitGameObjectNamesToApplyTo.ToList(); - - newSplitGameObjectNamesToApplyTo.Add(gameObjectName); - - GameObjectNamesToApplyTo.Value = string.Join(",", newSplitGameObjectNamesToApplyTo); + GameObjectNamesToApplyTo.Value = string.Join(", ", IdentitiesToAddTo.Append(identity)); } - public void RemoveGameObjectNameToApplyTo(string gameObjectName) + public void RemoveIdentityToAddTo(Identity identity) { - if (!IncludesGameObjectNameToApplyTo(gameObjectName)) + if (!CanAddToIdentity(identity)) { return; } - List newSplitGameObjectNamesToApplyTo = SplitGameObjectNamesToApplyTo.ToList(); - - var index = Array.IndexOf(CleanGameObjectNamesToApplyTo, gameObjectName.ToLower()); - newSplitGameObjectNamesToApplyTo.RemoveAt(index); - - GameObjectNamesToApplyTo = string.Join(",", newSplitGameObjectNamesToApplyTo); + GameObjectNamesToApplyTo.Value = string.Join(", ", IdentitiesToAddTo.Where(identityToAddTo => identityToAddTo != identity)); } public Dictionary GetChanges(Dictionary? defaultChanges = null) diff --git a/PlayerTags/Features/ChatTagTargetFeature.cs b/PlayerTags/Features/ChatTagTargetFeature.cs index 72155cc..a357c19 100644 --- a/PlayerTags/Features/ChatTagTargetFeature.cs +++ b/PlayerTags/Features/ChatTagTargetFeature.cs @@ -63,7 +63,6 @@ namespace PlayerTags.Features private PluginData m_PluginData; public ChatTagTargetFeature(PluginConfiguration pluginConfiguration, PluginData pluginData) - : base(pluginConfiguration) { m_PluginConfiguration = pluginConfiguration; m_PluginData = pluginData; @@ -160,7 +159,7 @@ namespace PlayerTags.Features { if (jobTag.TagPositionInChat.InheritedValue != null) { - var payloads = GetPayloads(stringMatch.GameObject, jobTag); + var payloads = GetPayloads(jobTag, stringMatch.GameObject); if (payloads.Any()) { AddPayloadChanges(jobTag.TagPositionInChat.InheritedValue.Value, payloads, stringChanges); @@ -181,15 +180,18 @@ namespace PlayerTags.Features } } } + } - // Add the custom tag payloads + if (stringMatch.PlayerPayload != null) + { + // Add all other tags foreach (var customTag in m_PluginData.CustomTags) { - if (customTag.TagPositionInChat.InheritedValue != null) + if (customTag.CanAddToIdentity(new Identity(stringMatch.PlayerPayload.PlayerName))) { - if (customTag.IncludesGameObjectNameToApplyTo(stringMatch.GetMatchText())) + if (customTag.TagPositionInChat.InheritedValue != null) { - var customTagPayloads = GetPayloads(stringMatch.GameObject, customTag); + var customTagPayloads = GetPayloads(customTag, stringMatch.GameObject); if (customTagPayloads.Any()) { AddPayloadChanges(customTag.TagPositionInChat.InheritedValue.Value, customTagPayloads, stringChanges); @@ -199,6 +201,48 @@ namespace PlayerTags.Features } } + // An additional step to apply text color to additional locations + if (stringMatch.GameObject is PlayerCharacter playerCharacter1) + { + if (m_PluginData.JobTags.TryGetValue(playerCharacter1.ClassJob.GameData.Abbreviation, out var jobTag)) + { + if (IsTagVisible(jobTag, stringMatch.GameObject)) + { + if (jobTag.TextColor.InheritedValue != null) + { + if (jobTag.IsTextColorAppliedToChatName.InheritedValue != null && jobTag.IsTextColorAppliedToChatName.InheritedValue.Value) + { + int payloadIndex = message.Payloads.IndexOf(stringMatch.TextPayload); + message.Payloads.Insert(payloadIndex + 1, new UIForegroundPayload(0)); + message.Payloads.Insert(payloadIndex, (new UIForegroundPayload(jobTag.TextColor.InheritedValue.Value))); + } + } + } + } + } + + if (stringMatch.PlayerPayload != null) + { + foreach (var customTag in m_PluginData.CustomTags) + { + if (customTag.CanAddToIdentity(new Identity(stringMatch.PlayerPayload.PlayerName))) + { + if (IsTagVisible(customTag, stringMatch.GameObject)) + { + if (customTag.TextColor.InheritedValue != null) + { + if (customTag.IsTextColorAppliedToChatName.InheritedValue != null && customTag.IsTextColorAppliedToChatName.InheritedValue.Value) + { + int payloadIndex = message.Payloads.IndexOf(stringMatch.TextPayload); + message.Payloads.Insert(payloadIndex + 1, new UIForegroundPayload(0)); + message.Payloads.Insert(payloadIndex, (new UIForegroundPayload(customTag.TextColor.InheritedValue.Value))); + } + } + } + } + } + } + ApplyStringChanges(message, stringChanges, stringMatch.TextPayload); } } diff --git a/PlayerTags/Features/CustomTagsContextMenuFeature.cs b/PlayerTags/Features/CustomTagsContextMenuFeature.cs index 515f3a6..c52edf1 100644 --- a/PlayerTags/Features/CustomTagsContextMenuFeature.cs +++ b/PlayerTags/Features/CustomTagsContextMenuFeature.cs @@ -53,7 +53,10 @@ namespace PlayerTags.Features string gameObjectName = args.Text!.TextValue; - var notAddedTags = m_PluginData.CustomTags.Where(tag => !tag.IncludesGameObjectNameToApplyTo(gameObjectName)); + var notAddedTags = m_PluginData.CustomTags.Where(tag => !tag.CanAddToIdentity(new Identity() + { + Name = gameObjectName + })); if (notAddedTags.Any()) { args.Items.Add(new NormalContextSubMenuItem(Strings.Loc_Static_ContextMenu_AddTag, (itemArgs => @@ -62,13 +65,21 @@ namespace PlayerTags.Features { itemArgs.Items.Add(new NormalContextMenuItem(notAddedTag.Text.Value, (args => { - notAddedTag.AddGameObjectNameToApplyTo(gameObjectName); + notAddedTag.AddIdentityToAddTo(new Identity() + { + Name = gameObjectName + }); + + m_PluginConfiguration.Save(m_PluginData); }))); } }))); } - var addedTags = m_PluginData.CustomTags.Where(tag => tag.IncludesGameObjectNameToApplyTo(gameObjectName)); + var addedTags = m_PluginData.CustomTags.Where(tag => tag.CanAddToIdentity(new Identity() + { + Name = gameObjectName + })); if (addedTags.Any()) { args.Items.Add(new NormalContextSubMenuItem(Strings.Loc_Static_ContextMenu_RemoveTag, (itemArgs => @@ -77,7 +88,12 @@ namespace PlayerTags.Features { itemArgs.Items.Add(new NormalContextMenuItem(addedTag.Text.Value, (args => { - addedTag.RemoveGameObjectNameToApplyTo(gameObjectName); + addedTag.RemoveIdentityToAddTo(new Identity() + { + Name = gameObjectName + }); + + m_PluginConfiguration.Save(m_PluginData); }))); } }))); diff --git a/PlayerTags/Features/NameplatesTagTargetFeature.cs b/PlayerTags/Features/NameplatesTagTargetFeature.cs index dab401e..05d2931 100644 --- a/PlayerTags/Features/NameplatesTagTargetFeature.cs +++ b/PlayerTags/Features/NameplatesTagTargetFeature.cs @@ -19,7 +19,6 @@ namespace PlayerTags.Features private NameplateHooks? m_NameplateHooks; public NameplatesTagTargetFeature(PluginConfiguration pluginConfiguration, PluginData pluginData) - : base(pluginConfiguration) { m_PluginConfiguration = pluginConfiguration; m_PluginData = pluginData; @@ -176,14 +175,14 @@ namespace PlayerTags.Features Dictionary>> nameplateChanges = new Dictionary>>(); - if (gameObject is Character character) + if (gameObject is PlayerCharacter playerCharacter) { // Add the job tags - if (m_PluginData.JobTags.TryGetValue(character.ClassJob.GameData.Abbreviation, out var jobTag)) + if (m_PluginData.JobTags.TryGetValue(playerCharacter.ClassJob.GameData.Abbreviation, out var jobTag)) { if (jobTag.TagTargetInNameplates.InheritedValue != null && jobTag.TagPositionInNameplates.InheritedValue != null) { - var payloads = GetPayloads(gameObject, jobTag); + var payloads = GetPayloads(jobTag, gameObject); if (payloads.Any()) { AddPayloadChanges(jobTag.TagTargetInNameplates.InheritedValue.Value, jobTag.TagPositionInNameplates.InheritedValue.Value, payloads, nameplateChanges); @@ -194,7 +193,7 @@ namespace PlayerTags.Features // Add the randomly generated name tag payload if (m_PluginConfiguration.IsPlayerNameRandomlyGenerated) { - var characterName = character.Name.TextValue; + var characterName = playerCharacter.Name.TextValue; if (characterName != null) { var generatedName = RandomNameGenerator.Generate(characterName); @@ -204,19 +203,19 @@ namespace PlayerTags.Features } } } - } - // Add all other tags - foreach (var customTag in m_PluginData.AllTags.Descendents) - { - if (customTag.TagTargetInNameplates.InheritedValue != null && customTag.TagPositionInNameplates.InheritedValue != null) + // Add all other tags + foreach (var customTag in m_PluginData.CustomTags) { - if (customTag.IncludesGameObjectNameToApplyTo(gameObject.Name.TextValue)) + if (customTag.CanAddToIdentity(new Identity(gameObject.Name.TextValue))) { - var payloads = GetPayloads(gameObject, customTag); - if (payloads.Any()) + if (customTag.TagTargetInNameplates.InheritedValue != null && customTag.TagPositionInNameplates.InheritedValue != null) { - AddPayloadChanges(customTag.TagTargetInNameplates.InheritedValue.Value, customTag.TagPositionInNameplates.InheritedValue.Value, payloads, nameplateChanges); + var payloads = GetPayloads(customTag, gameObject); + if (payloads.Any()) + { + AddPayloadChanges(customTag.TagTargetInNameplates.InheritedValue.Value, customTag.TagPositionInNameplates.InheritedValue.Value, payloads, nameplateChanges); + } } } } @@ -247,6 +246,73 @@ namespace PlayerTags.Features ApplyStringChanges(seString, stringChanges); } } + + // An additional step to apply text color to additional locations + if (gameObject is PlayerCharacter playerCharacter1) + { + if (m_PluginData.JobTags.TryGetValue(playerCharacter1.ClassJob.GameData.Abbreviation, out var jobTag)) + { + if (IsTagVisible(jobTag, gameObject)) + { + if (jobTag.TextColor.InheritedValue != null) + { + if (jobTag.IsTextColorAppliedToNameplateName.InheritedValue != null && jobTag.IsTextColorAppliedToNameplateName.InheritedValue.Value) + { + name.Payloads.Insert(0, (new UIForegroundPayload(jobTag.TextColor.InheritedValue.Value))); + name.Payloads.Add(new UIForegroundPayload(0)); + isNameChanged = true; + } + + if (jobTag.IsTextColorAppliedToNameplateTitle.InheritedValue != null && jobTag.IsTextColorAppliedToNameplateTitle.InheritedValue.Value) + { + title.Payloads.Insert(0, (new UIForegroundPayload(jobTag.TextColor.InheritedValue.Value))); + title.Payloads.Add(new UIForegroundPayload(0)); + isTitleChanged = true; + } + + if (jobTag.IsTextColorAppliedToNameplateFreeCompany.InheritedValue != null && jobTag.IsTextColorAppliedToNameplateFreeCompany.InheritedValue.Value) + { + freeCompany.Payloads.Insert(0, (new UIForegroundPayload(jobTag.TextColor.InheritedValue.Value))); + freeCompany.Payloads.Add(new UIForegroundPayload(0)); + isFreeCompanyChanged = true; + } + } + } + } + } + + foreach (var customTag in m_PluginData.CustomTags) + { + if (customTag.CanAddToIdentity(new Identity(gameObject.Name.TextValue))) + { + if (IsTagVisible(customTag, gameObject)) + { + if (customTag.TextColor.InheritedValue != null) + { + if (customTag.IsTextColorAppliedToNameplateName.InheritedValue != null && customTag.IsTextColorAppliedToNameplateName.InheritedValue.Value) + { + name.Payloads.Insert(0, (new UIForegroundPayload(customTag.TextColor.InheritedValue.Value))); + name.Payloads.Add(new UIForegroundPayload(0)); + isNameChanged = true; + } + + if (customTag.IsTextColorAppliedToNameplateTitle.InheritedValue != null && customTag.IsTextColorAppliedToNameplateTitle.InheritedValue.Value) + { + title.Payloads.Insert(0, (new UIForegroundPayload(customTag.TextColor.InheritedValue.Value))); + title.Payloads.Add(new UIForegroundPayload(0)); + isTitleChanged = true; + } + + if (customTag.IsTextColorAppliedToNameplateFreeCompany.InheritedValue != null && customTag.IsTextColorAppliedToNameplateFreeCompany.InheritedValue.Value) + { + freeCompany.Payloads.Insert(0, (new UIForegroundPayload(customTag.TextColor.InheritedValue.Value))); + freeCompany.Payloads.Add(new UIForegroundPayload(0)); + isFreeCompanyChanged = true; + } + } + } + } + } } } } diff --git a/PlayerTags/Features/TagTargetFeature.cs b/PlayerTags/Features/TagTargetFeature.cs index f15608e..f6833c2 100644 --- a/PlayerTags/Features/TagTargetFeature.cs +++ b/PlayerTags/Features/TagTargetFeature.cs @@ -17,13 +17,10 @@ namespace PlayerTags.Features { public abstract class TagTargetFeature : IDisposable { - private PluginConfiguration m_PluginConfiguration; - private ActivityContext m_CurrentActivityContext; - public TagTargetFeature(PluginConfiguration pluginConfiguration) + public TagTargetFeature() { - m_PluginConfiguration = pluginConfiguration; m_CurrentActivityContext = ActivityContext.None; @@ -61,13 +58,7 @@ namespace PlayerTags.Features } } - /// - /// Gets the payloads for the given game object tag. If the payloads don't yet exist then they will be created. - /// - /// The game object to get payloads for. - /// The tag config to get payloads for. - /// A list of payloads for the given tag. - protected IEnumerable GetPayloads(GameObject gameObject, Tag tag) + protected bool IsTagVisible(Tag tag, GameObject? gameObject) { bool isVisibleForActivity = ActivityContextHelper.GetIsVisible(m_CurrentActivityContext, tag.IsVisibleInPveDuties.InheritedValue ?? false, @@ -76,7 +67,7 @@ namespace PlayerTags.Features if (!isVisibleForActivity) { - return Enumerable.Empty(); + return false; } if (gameObject is PlayerCharacter playerCharacter) @@ -91,14 +82,30 @@ namespace PlayerTags.Features if (!isVisibleForPlayer) { - return Enumerable.Empty(); + return false; } } - return CreatePayloads(gameObject, tag); + return true; } - private Payload[] CreatePayloads(GameObject gameObject, Tag tag) + /// + /// Gets the payloads for the given game object tag. If the payloads don't yet exist then they will be created. + /// + /// The game object to get payloads for. + /// The tag config to get payloads for. + /// A list of payloads for the given tag. + protected IEnumerable GetPayloads(Tag tag, GameObject? gameObject) + { + if (!IsTagVisible(tag, gameObject)) + { + return Enumerable.Empty(); + } + + return CreatePayloads(tag); + } + + private Payload[] CreatePayloads(Tag tag) { List newPayloads = new List(); diff --git a/PlayerTags/PlayerTags.csproj b/PlayerTags/PlayerTags.csproj index bb02413..b0c9d74 100644 --- a/PlayerTags/PlayerTags.csproj +++ b/PlayerTags/PlayerTags.csproj @@ -1,7 +1,7 @@  r00telement - 1.1.3.0 + 1.1.4.0 diff --git a/PlayerTags/RandomNameGenerator.cs b/PlayerTags/RandomNameGenerator.cs index 1dd7423..1d32a3f 100644 --- a/PlayerTags/RandomNameGenerator.cs +++ b/PlayerTags/RandomNameGenerator.cs @@ -1,6 +1,5 @@ using Dalamud.Logging; using System; -using System.Collections.Generic; using System.Globalization; using System.IO; using System.Reflection; diff --git a/PlayerTags/Resources/Promo/PatchNote_1.png b/PlayerTags/Resources/Promo/PatchNote_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7afa70b3d15e32ac20b30316744dec4fd82a8ab0 GIT binary patch literal 30853 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 z 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 literal 0 HcmV?d00001 diff --git a/PlayerTags/Resources/Promo/PatchNote_2.png b/PlayerTags/Resources/Promo/PatchNote_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0046bfa919adff9cf49a4fa2e3bb4d12bf85977b GIT binary patch literal 89013 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 + /// Looks up a localized string similar to Apply color to chat name. + /// + public static string Loc_IsTextColorAppliedToChatName { + get { + return ResourceManager.GetString("Loc_IsTextColorAppliedToChatName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether the color will be applied to the name in chat.. + /// + public static string Loc_IsTextColorAppliedToChatName_Description { + get { + return ResourceManager.GetString("Loc_IsTextColorAppliedToChatName_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Apply color to nameplate free company. + /// + public static string Loc_IsTextColorAppliedToNameplateFreeCompany { + get { + return ResourceManager.GetString("Loc_IsTextColorAppliedToNameplateFreeCompany", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether the color will be applied to the free company in nameplates.. + /// + public static string Loc_IsTextColorAppliedToNameplateFreeCompany_Description { + get { + return ResourceManager.GetString("Loc_IsTextColorAppliedToNameplateFreeCompany_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Apply color to nameplate name. + /// + public static string Loc_IsTextColorAppliedToNameplateName { + get { + return ResourceManager.GetString("Loc_IsTextColorAppliedToNameplateName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether the color will be applied to the name in nameplates.. + /// + public static string Loc_IsTextColorAppliedToNameplateName_Description { + get { + return ResourceManager.GetString("Loc_IsTextColorAppliedToNameplateName_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Apply color to nameplate title. + /// + public static string Loc_IsTextColorAppliedToNameplateTitle { + get { + return ResourceManager.GetString("Loc_IsTextColorAppliedToNameplateTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether the color will be applied to title in nameplates.. + /// + public static string Loc_IsTextColorAppliedToNameplateTitle_Description { + get { + return ResourceManager.GetString("Loc_IsTextColorAppliedToNameplateTitle_Description", resourceCulture); + } + } + /// /// Looks up a localized string similar to Italic. /// diff --git a/PlayerTags/Resources/Strings.resx b/PlayerTags/Resources/Strings.resx index 7a0aacf..02510cc 100644 --- a/PlayerTags/Resources/Strings.resx +++ b/PlayerTags/Resources/Strings.resx @@ -531,4 +531,32 @@ Show others in the players list. + + + Apply color to chat name + + + Whether the color will be applied to the name in chat. + + + + Apply color to nameplate name + + + Whether the color will be applied to the name in nameplates. + + + + Apply color to nameplate title + + + Whether the color will be applied to title in nameplates. + + + + Apply color to nameplate free company + + + Whether the color will be applied to the free company in nameplates. + \ No newline at end of file diff --git a/PlayerTags/Resources/Words/Adjectives.txt b/PlayerTags/Resources/Words/Adjectives.txt index 2956bb3..1c59c00 100644 --- a/PlayerTags/Resources/Words/Adjectives.txt +++ b/PlayerTags/Resources/Words/Adjectives.txt @@ -13,8 +13,10 @@ abysmal academic acceptable accessible +accomplished accurate accused +ace acidic acoustic acrobatic @@ -35,6 +37,7 @@ aerobic aerodynamic affectionate afflicted +affluent affordable afraid after @@ -51,8 +54,8 @@ aimless airborne airtight airy -alert algorithmic +alien alive alleged allied @@ -71,6 +74,7 @@ ambitious amusing anaemic anal +analogue ancestral ancient androgenous @@ -97,8 +101,10 @@ applicable appreciative apprehensive appropriate +apt arcane archaic +ardent argumentative arid aristocratic @@ -106,6 +112,8 @@ armed armless aromatic arrogant +artful +artisan artistic arty ascendant @@ -126,6 +134,7 @@ athletic atmospheric atomic atrocious +attached attentive attractive augmented @@ -151,15 +160,16 @@ banal barbaric bare barren +basement bashful basic batty +beastly beaten beautiful becoming bedridden beefy -beginning behavioral belated beloved @@ -182,6 +192,7 @@ bigoted binary biological bionic +bipartisan birdbrained bisexual bitter @@ -215,13 +226,13 @@ bony bored boring born -both bothersome bottom bouncy boundless boyish braided +braindead brainy brash bratty @@ -260,7 +271,6 @@ buttery caffeinated calm calorific -camouflage cancerous candid candied @@ -276,6 +286,7 @@ carefree careful careless caring +casual catastrophic catchy categorical @@ -294,14 +305,13 @@ certain certified chalky challenging -chance changeable chaotic -character characteristic characterless chargeable charismatic +charmed charming charred chatty @@ -324,7 +334,6 @@ chilled chilly chiselled chocolatey -choice choosey choppy chorded @@ -340,7 +349,6 @@ citric civil civilized claimable -classic classical classified classless @@ -356,6 +364,7 @@ clinical close cloudy clueless +clumsy cluttered coarse coastal @@ -368,9 +377,12 @@ cold collaborative collapsible collectable +colloquial colonial colorful +colorless colossal +comatose combative combustible comely @@ -394,6 +406,7 @@ complete complex compliant complicated +composite comprehensive compulsive compulsory @@ -415,6 +428,7 @@ confirmatory confounded confused connect +connected conscious consecutive consensual @@ -430,6 +444,7 @@ consumable contagious containable contaminated +contemptible content contentious contestable @@ -454,13 +469,14 @@ convincing cookable cool cooperative -corelative corner +corny coronary correct correctable correctional corrective +correlative corrosive corrupt corruptible @@ -484,6 +500,7 @@ creepy criminal cringeworthy critical +crowded crude crumbly crushing @@ -493,6 +510,7 @@ cuddly culinary cultish cultural +cultured cumbersome cumulative cunning @@ -509,6 +527,7 @@ cyberpunk cynical cystic daft +daily dainty damaged damaging @@ -519,7 +538,6 @@ daring dark dashing dastardly -daughter daughterly daydreamy dazzling @@ -541,6 +559,7 @@ decrepit dedicated deductible deep +defamatory defeated defective defenceless @@ -552,6 +571,7 @@ definite definitive deflated deformed +deft defunct degenerative degraded @@ -577,19 +597,20 @@ dependent depictive deportable depraved +depressed depressing -depressive deprived derelict derivable +derived derogatory descendible descriptive deserted deserving -designer desirable desired +desolate desperate despicable despisable @@ -627,6 +648,7 @@ direct dirty disabled disadvantaged +disadvantageous disagreeable disappointed disappointing @@ -634,6 +656,8 @@ disastrous discernible disciplinary discolored +disconnected +discouraged discreet discriminatory discussable @@ -649,6 +673,7 @@ dishonorable disillusioned disingenuous disinterested +disjointed dislikeable disloyal dismal @@ -656,9 +681,9 @@ dismissible dismissive disobedient disorganized +disparate displeased displeasing -displeasing disposable disproportional disprovable @@ -687,6 +712,7 @@ disturbed disturbing divergent diverse +diversified divine dizzy docile @@ -710,7 +736,6 @@ dramatic drastic dreadful dreamy -dress drinkable dripping droopy @@ -719,6 +744,7 @@ drunken dry dubious due +dull dumb durable dusty @@ -731,6 +757,7 @@ dysfunctional dystopian each eager +early earnest earthy eastern @@ -766,8 +793,10 @@ elevated eligible eliminable elite +elongated eloquent elusive +elven embarrassed embedded embracive @@ -775,10 +804,11 @@ emergency emotional emotionless emotive -emotive empathetic empty +enamored enchanted +encouraging endagered endangered endless @@ -793,6 +823,7 @@ enough enraged enslaved enthusiastic +enticing entire entitled environmental @@ -805,14 +836,17 @@ erectable erectile ergonomic erosive +erotic escapable esoteric essential established +esteemed eternal ethereal ethical ethnic +euphoric evadable evasive even @@ -870,7 +904,6 @@ express expressible exquisite extended -extended extendible extensible exterior @@ -880,6 +913,7 @@ extinct extinguishable extra extraordinary +extravagant extreme extroverted exuberant @@ -889,6 +923,7 @@ fabulous facial faded failed +failing faint fair faithful @@ -896,6 +931,7 @@ faithless fake false falsifiable +famed familiar famished famous @@ -911,13 +947,14 @@ fatal fatherly fathomable faulty +favorable +favored favorite fearless fearsome feasible federal feeble -feeling feisty fellow female @@ -925,6 +962,8 @@ feminine feral ferocious fertile +fervent +fervid festive fibrous fickle @@ -936,6 +975,7 @@ fiery fightable figurable fillable +filled filmable filthy final @@ -946,6 +986,7 @@ firebreathing fireproof firm first +fiscal fishy fit fizzy @@ -964,6 +1005,7 @@ flavorless flavorsome flawless fleeting +fleshly fleshy flexible flighty @@ -985,6 +1027,7 @@ fluid fluorescent flying foggy +fond foolish forbidden foreign @@ -1003,6 +1046,7 @@ forthcoming fortified fortunate forward +foul foulmouthed foxy fragile @@ -1059,6 +1103,7 @@ gainable gallant gangrenous gargantuan +garlicy garnishable gaseous gassy @@ -1125,6 +1170,8 @@ grandiose graphic grassy grateful +gratified +gratifying grave gray greased @@ -1155,6 +1202,7 @@ gullible gummy gushy gutsy +habitable habitual hairsplitting hairy @@ -1173,6 +1221,7 @@ happy hard harmful harmless +harmonic harsh hasty hated @@ -1181,13 +1230,13 @@ haughty haunted hazardous hazy -head headless headstrong healthy heartbreaking heartbroken heartless +hearty heated heavenly heavy @@ -1196,6 +1245,7 @@ heinous helpful helpless herbal +herby heroic hesitant hidden @@ -1212,6 +1262,7 @@ hollow holographic holy homeless +homely homemade homesick homicidal @@ -1220,9 +1271,12 @@ homosexual honest honorable honorary +honored hopeful +hopeless horizontal hormonal +horny horrendous horrible horrid @@ -1233,7 +1287,6 @@ horror hostile hot hotheaded -hour huge human humane @@ -1246,7 +1299,6 @@ hurried hurtful hydrated hygienic -hygienic hyperactive hyperbolic hypnotic @@ -1273,6 +1325,7 @@ illiterate illogical illtempered illustrious +imaginary imaginative immaculate immature @@ -1284,9 +1337,11 @@ immoral immortal immovable immune +impassioned impatient impeccable impending +imperfect imperialistic impertinent impolite @@ -1294,6 +1349,7 @@ important impossible impotent impoverished +impractical imprecise impressed impressive @@ -1303,6 +1359,7 @@ improved improvised impudent impulsive +impure inaccurate inadequate inadvertent @@ -1311,10 +1368,11 @@ inappropriate inartistic inattentive inbred +incapable incendiary incensed incestuous -incident +incidental incoherent incompatible incompetent @@ -1323,6 +1381,7 @@ incomprehensible inconclusive inconsequential inconsiderate +inconsistent inconspicuous inconvenient incorporated @@ -1348,6 +1407,7 @@ inedible ineffective inefficient inept +inert inevitable inexpensive inexperienced @@ -1362,9 +1422,11 @@ inflammable inflatable influential informal +infrequent ingenious ingenuous inglorious +inhabited inherent inherited inhuman @@ -1428,6 +1490,7 @@ invisible involuntary involved invulnerable +irksome ironic irrational irregular @@ -1437,6 +1500,7 @@ irresponsible irreversible irritable irritated +isolated itchy jagged jealous @@ -1444,9 +1508,12 @@ jellied jobless joint jolly +jovial +joyful joyous judgmental juicy +jumbled junior juvenile kamikaze @@ -1455,6 +1522,7 @@ keen kind kinetic kingly +kinky kitchen knitted knotted @@ -1464,17 +1532,20 @@ known knuckleheaded laborious lace +lacking lacklustre ladylike lagging lame large last +lasting late latter laughable lawful lawless +lax lazy leading leafy @@ -1482,12 +1553,14 @@ learned least leather leathery +lecherous leery left legal legendary legible legislative +legitimate leisurable leisureless lengthy @@ -1495,6 +1568,7 @@ lesbian less lethal lethargic +lewd lexical liable liberal @@ -1502,6 +1576,7 @@ liberated liberating lifeless light +lighthearted lightweight likable likely @@ -1551,6 +1626,7 @@ lunar luscious lush lustered +lustful lustrous luxurious mad @@ -1576,20 +1652,22 @@ manly marginal marital marked +marketable married marvellous +marvelous masculine masochistic massive master masterful -material maternal mathematical matriarchal matricidal matrimonial mature +maximal maximum meager meagre @@ -1603,6 +1681,7 @@ mechanical medical medicinal medicore +mediocre medium mega megalomaniacal @@ -1611,6 +1690,7 @@ mellow melodic melodramatic melting +memorable menial menstrual mental @@ -1633,10 +1713,10 @@ mindless mini miniature minimal -minimum minor miraculous misandrous +misborn miscellaneous mischievous miserable @@ -1644,15 +1724,16 @@ misleading misogynistic misogynous missing -mission mistrustful misty misunderstood +mixed mobile moderate modern modest moist +molecular monetary monogamous monotonous @@ -1663,10 +1744,11 @@ moral morbid moreish moronic +mosaic mossy motherly motionless -motor +motorized mountable mountain mountainous @@ -1682,6 +1764,7 @@ murderous murky mushy musical +musky mutated mutual muzzled @@ -1707,6 +1790,8 @@ necessary needless needy negative +neglected +neglectful negligent neither nerdy @@ -1717,10 +1802,13 @@ neutralizing new next nice +nifty nightmarish nihilistic nimble +noble nocturnal +noisy nominal nonchalant nonessential @@ -1731,6 +1819,7 @@ normal northern nosy notable +noted noteworthy notorious novel @@ -1745,7 +1834,6 @@ nutritious nylon obedient obese -objective oblivious obnoxious obscene @@ -1755,7 +1843,6 @@ obsessive obsidian obsolete obtuse -obtuse obvious occasional occupational @@ -1764,6 +1851,7 @@ odd odourless offbeat offended +offending offensive official oiled @@ -1781,10 +1869,11 @@ ongoing only oozy open -opening operable operational opinionated +opportune +opposed opposite oppressed oppressive @@ -1813,24 +1902,28 @@ outraged outrageous outside outstanding -over overall +overcharged overconfident overcooked +overdue overjoyed overpriced overrated overseas +overused overwhelming overzealous own oxymoronic pacified pacifist +paid painful painstaking painted pale +paltry panicky papery parallel @@ -1840,10 +1933,10 @@ paralyzing paranoid paranormal parasitic -parking partial particular -party +partisan +passable passionate passive past @@ -1864,7 +1957,6 @@ penal peppery perfect perilous -period permanent perpendicular perpetual @@ -1893,7 +1985,6 @@ picturesque piercing pitiful plain -plane planetary plastic platonic @@ -1904,7 +1995,7 @@ pleasant pleased pleasing pleasurable -plenty +plebeian plump plus poetic @@ -1917,6 +2008,8 @@ polluted pompous poor popular +populated +populous portable portrayable posh @@ -1951,6 +2044,7 @@ presumptuous pretend pretentious pretty +prevalent previous priceless pricey @@ -1966,7 +2060,6 @@ pristine private privatized privileged -prize probable problematic productive @@ -1975,12 +2068,10 @@ proficient profitable profound progressive -progressive prolific promethean prominent promising -proof proper proportional proposed @@ -1999,6 +2090,7 @@ pubic public publicized punctual +pungent puny pure purple @@ -2017,11 +2109,14 @@ radical radioactive ragged rainy +rambling +rancid random rapid rare rash rational +raunchy raw readied ready @@ -2054,6 +2149,7 @@ redeemable reduced redundant refillable +refined reflective reflexive reformable @@ -2094,6 +2190,7 @@ reliable reliant relievable relieved +relinquished relishable reluctant remaining @@ -2113,11 +2210,11 @@ repairable repayable repealable repeatable -reponsible +repetitious reportable +reported reprehensible representational -representative repressed repressible repressive @@ -2157,6 +2254,7 @@ retail retaliatory retired retiring +retold retouchable retrievable returnable @@ -2192,11 +2290,13 @@ roguish rollable romantic roomy +rosy rotatable rotten rotund rough round +roundabout rounded routine rowable @@ -2217,7 +2317,6 @@ sacrilegious sad saddened saddening -sadist sadistic safe saintly @@ -2234,14 +2333,15 @@ satiated satirical satisfactory satisfied +saturated savage -savings savoury savvy scabby scaled scaly scandalous +scarce scared scarred scary @@ -2249,7 +2349,6 @@ scathing scatterbrained scattered scholarly -scientifc scientific scratchy scrawny @@ -2257,7 +2356,6 @@ screaming scrummy scrumptious scummy -sea seaborne seafaring seagoing @@ -2271,7 +2369,9 @@ secret secretive secular secure +seductive seedy +segmented segregated seismic select @@ -2291,6 +2391,7 @@ sentient sentimental separate septic +sequential serene serious several @@ -2322,17 +2423,14 @@ shocked shoddy short shortsighted -shot shrewd shrinkable shy -sibling sick sickening sickly sightless sightly -signal significant silent silly @@ -2351,8 +2449,8 @@ skeletal skeptical sketched sketchy -skilful skilled +skillful skimpy skinny skipping @@ -2414,6 +2512,7 @@ soluble sonic sophisticated soppy +sorrowful sorrowless sorry soulful @@ -2421,6 +2520,7 @@ soulless sour southern spacious +spaghettified spare sparkling sparse @@ -2456,9 +2556,9 @@ sporty spotless spotted spotty +spurious square squeamish -squirrelish squirrelly squishy stable @@ -2466,13 +2566,12 @@ stagnant stale stampable standard -standardisable starry starved starving +stately static statistical -status statutory steadfast stealthy @@ -2480,6 +2579,7 @@ steamy steep stellar stereotyped +stereotypical sterile sterilized sticky @@ -2488,6 +2588,7 @@ stimulated stimulating stingy stinky +stodgy stoic stolen stoned @@ -2500,7 +2601,6 @@ strained strange strategic streaky -street streetsmart strengthened strenuous @@ -2516,12 +2616,14 @@ stripy strong stubborn stuffed +stuffy stumpy stupendous stupid stylish suave subatomic +subconscious subcultural subdued subjective @@ -2540,8 +2642,10 @@ succulent sudden sufficient sugary +suggestive suicidal suitable +sunless sunlit super superb @@ -2569,7 +2673,6 @@ sweaty sweet sweltering swift -swimming swirly symbiotic symbolic @@ -2633,13 +2736,14 @@ thorny thorough thoughtful thoughtless +threadbare threatening thriving tidal tight timeless timely -timely +timeworn timid tinned tinted @@ -2648,6 +2752,7 @@ tippable tired tireless tiresome +tiring tolerant top total @@ -2658,7 +2763,6 @@ towering toxic traditional tragic -training traitorous tranquil transcendent @@ -2677,6 +2781,8 @@ trick tricksy tricky trifling +trippy +trite triumphant trivial trophied @@ -2718,6 +2824,7 @@ unbeaten unbecoming unbelievable unbiased +unbroken uncanny uncertain unchanged @@ -2729,8 +2836,10 @@ uncommon unconscious unconstitutional uncontrollable +unconventional uncooked uncooperative +uncouth uncovered uncreative uncultured @@ -2755,7 +2864,9 @@ understood underweight undesirable undesired +undignified undiplomatic +undistinguished undramatic undrinkable uneasy @@ -2763,17 +2874,23 @@ uneconomic uneconomical uneducated unemployed +unending +unenjoyable unequal unethical +unexcited +unexciting unexpected unexplained unfair unfaithful +unfamiliar unfavorable unfit unforgivable unfortunate unfriended +unfriendly unhappy unhealthy unhelpful @@ -2781,15 +2898,21 @@ unholy unhygienic unidentifiable unidentified +uniform unimaginable unimaginative unimportant +unimpressive uninformed +uninhabitable +uninhabited uninspirable uninspired uninspiring uninsured +unintelligent uninterested +uninteresting unique unisex united @@ -2812,6 +2935,8 @@ unnecessary unneeded unnoticeable unnoticed +unoriginal +unorthodox unpaid unparalleled unplayable @@ -2819,6 +2944,7 @@ unpleasant unpleasurable unpopular unpredictable +unprofitable unpurified unqualified unread @@ -2842,6 +2968,7 @@ unshakable unshaken unsightly unsinkable +unskilled unsophisticated unspecific unspecified @@ -2864,6 +2991,7 @@ untiring untouchable untrusting unusual +unvaried unverifiable unverified unwanted @@ -2906,7 +3034,6 @@ varied various vast vegan -vegetable vegetarian vegetative veiny @@ -2982,6 +3109,7 @@ wheezy whimsical white whole +wholesale wholesome wicked wide @@ -2993,11 +3121,9 @@ wilful willing wily windy -wine winged wingless winning -winter wintry wired wise @@ -3020,7 +3146,6 @@ worrisome worrying worse worst -worth worthless worthwhile worthy @@ -3039,4 +3164,4 @@ younger youthful yummy zealous -zombified \ No newline at end of file +zombified diff --git a/PlayerTags/Resources/Words/Nouns.txt b/PlayerTags/Resources/Words/Nouns.txt index 94b8420..e9ddc26 100644 --- a/PlayerTags/Resources/Words/Nouns.txt +++ b/PlayerTags/Resources/Words/Nouns.txt @@ -2,15 +2,29 @@ abdomen ability abolition abortion +absence +absentee absolution +absorption +abundance abuse +accent access +accessory accident +acclaim +accolade accommodation +accomplice +accomplishment +accord account accountant +accusation +achievement acid acknowledgment +acquaintance acquisition act action @@ -25,16 +39,28 @@ address adhesive adjustment administration +administrator +admission +adoption +adoration adrenaline adult adulthood +advance advancement advantage adventure +adversary advertisement advertising advice +advocate affair +affection +affiliate +affiliation +affinity +affirmation aftermath afternoon aftershave @@ -45,8 +71,10 @@ agency agenda agent aggression +aggressor agreement aid +aide air airbag airforce @@ -58,11 +86,20 @@ alcohol alcove alert alien +alimony alley +alliance +allocation +allotment +allowance alloy +ally alternative altitude +amateur ambassador +ambiance +ambience ambition ambulance amendment @@ -73,23 +110,31 @@ amusement analysis analyst anatomy +ancestry anecdote anger angle anguish animal +animation anime ankle anklet -annual +annex +announcement annulment answer +antagonism +antagonist +anthem +anticlimax antidote antihero antler anus anxiety apartment +apathy ape apex aphrodisiac @@ -98,6 +143,7 @@ apparatus apparel appeal appearance +appeasement appendage appendix applause @@ -105,8 +151,16 @@ apple appliance application appointment +appraisal +appraiser +appreciation +apprehension +apprentice +appropriation approval +arachnid arbiter +arbitration archer architect architecture @@ -116,49 +170,78 @@ arithmetic arm armor army +arrangement +array arrival arrow art article +articulation artisan +artist +ascendancy ashtray +asker aspect +aspirant ass +assassin +assaulter +assent +assertion assessment +asset assignment assistance assistant associate association assumption +asteroid +astronaut astronomy athlete atmosphere +atrocity +atrophy attachment attack +attacker attempt attendant attention +attentiveness attic attitude attorney attraction +attribution audience audio +audit +auditor +aunt +aura author authoritarian authority authorization +autobiography automaton avalanche award awareness +awe +babble baboon baby backdrop +backer background +backlash backpack backside +bacon badge badger bafflement @@ -173,10 +256,13 @@ balance balcony ball ballet +ballgame balloon +ballot banana band bandana +bandit bangle banjo bank @@ -184,7 +270,9 @@ banker banter bar barbeque +bargain barn +barricade base baseball basement @@ -198,6 +286,7 @@ bathroom bathtub battery battle +battler battleship beach beam @@ -211,11 +300,13 @@ beat beauty beaver bed +bedrock bedroom bee beef beer beetle +beggar beginner beginning behavior @@ -232,11 +323,13 @@ benefit berry bestseller bet +betrayer beverage beyond bibliography bicycle bid +bidding bidet bike bikini @@ -246,27 +339,33 @@ bin binary binge bingo +biography biology +biopsy bird birth birthday bit +bitch bite bladder blade blame blanket blaster +blessing blight -blind +bliss blister blizzard block +blockade +blockage blood blossom blouse blow -blue +blurb board boat body @@ -274,6 +373,7 @@ bog boiler bomb bomber +bond bone bong bongo @@ -281,15 +381,17 @@ bonus book bookcase booklet +boon booster boot +booth booze border boss bother bottle -bottom boulder +bounty bowel bowl box @@ -301,11 +403,14 @@ brace bracelet bracket brain +brainchild +brainwork brake branch brand brandy brawl +brawler breach bread breadcrumb @@ -315,12 +420,15 @@ breakpoint breast breastplate breath +breed breeze +bribe bribery brick +bride bridge -brief brigade +brilliance brink broccoli brochure @@ -333,12 +441,18 @@ buddy budget buffet bug +builder building +bulge bulldozer bullet +bully +bum +bump bumper bunch bungalow +bureau burger burglar burn @@ -346,7 +460,9 @@ bus bush business butcher +butt butter +buttocks button buy buyer @@ -354,14 +470,19 @@ cabbage cabin cabinet cable +cactus +cadence cadet cafe +cage cake calculation calculator calendar +caliber call camera +camouflage camp campaign cancel @@ -369,11 +490,14 @@ cancer candidate candle candy +canine cannibal +cannibalism cannon canteen canvas cap +capacity cape capital captain @@ -383,8 +507,11 @@ caravan card care career +carelessness +caress cargo carnage +carnival carpenter carpet carriage @@ -392,12 +519,14 @@ carrier carrot carry cart +cartel cartoon cartridge case cash cashier casserole +castaway castle cat catacomb @@ -409,12 +538,17 @@ cattle cause caution cave +cavern +cavity ceiling celebration cell cellar cemetery +censorship center +ceremony +certainty certification cesspool chain @@ -422,6 +556,8 @@ chair chairman chalice challenge +challenger +chamber champion championship chance @@ -434,8 +570,14 @@ character charge charity chart +charter +chat +chatter check +checker +checkup cheek +cheer cheese chef chemical @@ -444,140 +586,212 @@ chest chicken child childhood +chimera chimp chin -chin chip chocolate chode choice +chore christening +chronicle +chum +chunk church cigarette cinema +circle circuit circulation circumference +circumstance +circus +citation citizenship city civility civilization claim +clan clap class classic +classification classroom +clause cleaner +clearance cleavage cleric clerk +cleverness click client cliff +cliffhanger climate climax +clique clock +cloister closet +closure cloth clothes clothing cloud +clout +clown club +clubber clue +cluster coach coast coat +coating cock code coffee coffin +cognition +cohort coil -cold +collaborator collar colleague collection college colony +color column +columnist comb combat +combatant combination combine +comeback +comedian comedy comet comfort -comfortable comic command +commemoration +commencement +commendation comment +commentary commerce -commercial commission +commitment committee commotion communication communist community +companion +companionship company comparison compartment compassion +compatibility +compensation competition competitor +complainer complaint -complex +completion +compliance compliment component composer composition compost +compound comprehension +compromise compulsion computer comrade +concealment +conceit +concentration concept +conception concern concert +concession conclusion concoction +condemnation condition +conduct conductor confectionery conference +confession +confidante confidence confirmation conflict +conformity confusion connection +connotation +conqueror +consciousness +consent consequence consideration consist +consistency console -constant constellation +constitution construction +constructor contact +contemplation +contender content +contentment contest +contestant +contester context continent +contingency +continuation contraceptive contract contraction +contractor +contradiction contraption contribution control controversy +convention conversation convert +conviction cook cookie cooking +cooler +cooperation +cooperator copy copyright corner corporation corpse +correlation +correspondence correspondent corridor corruption @@ -589,6 +803,9 @@ cougar council councilor counter +counteraction +counterbalance +counterclaim counterpart country county @@ -597,48 +814,68 @@ courage course court cousin +covenant cover cow crack cracker cradle craft +craftsman +craftsmanship cramp crap crash crate crayon -crazy cream creation -creative +creativity creator +credentials credit +creek crescendo +crevice crew crib crime criminal +crisis criteria criticism +crony cross +crossbreed +crossroad crotch crowd crown crumb +crusade +crush +crypt cube +cubicle cucumber cuddle +cull +culmination +culprit +cultivation culture cup cupboard cupcake +curiosity currency curse cursor curtain curve cushion +cusp +custom customer cut cycle @@ -651,12 +888,12 @@ dancer dandruff danger dare -dark dashboard data database date daughter +dawdler day deadline deal @@ -664,53 +901,92 @@ dealer death debate debt +debtor +decency decision +declaration declination decongestant +decoration +decorum +decrease decryption dedication +deed +defamation +defamer +defeat +defender defense deficit +defilement +defiler definition deformation degree delay +delegation +delicacy +delinquent +deliverable deliverance delivery demand +demeanor democracy demon +demonstration +den +denial +denomination dentist +denunciation deodorant department departure -dependent +dependency deployment deposit +depot +depreciation depression depth +depths +descendent deputy +derivative +descent description desert design +designation designer desire desk dessert +destination destiny destroyer destruction +detachment detail detainment detective detention determination +deterrent +detour +detractor developer development deviance device devil +dexterity +diagnosis +dialect diamond +diary dictionary diet difference @@ -718,6 +994,8 @@ difficulty digestion digger dignity +dilemma +diligence dimension diner dinner @@ -728,37 +1006,67 @@ dirt disability disadvantage disagreement +disappearance disapproval +disapprover disarmament +disassociation disaster +disbelief +discernment discipline +disclosure disco disconnection +discontent +discord discount +discouragement +discourse discovery +discredit discrepancy +discretion discrimination discussion +disdain disease disengagement disguise disgust dish +disharmony +dishonor disk +dislike +dismay +disobedience disorder +disparagement +disparager dispenser display -dispenser +displeasure disposer dispute +disputer +disregard +disrespect disruption +dissatisfaction +dissent distance +distinction +distraction distribution distributor district distrust disturbance +divergence +diversion divide +dividend divider divinity division @@ -768,6 +1076,8 @@ doctor document dog dolphin +domain +donation donkey door dot @@ -782,9 +1092,11 @@ drama draw drawer drawing +dread dream dress dresser +drifter drill drink drive @@ -799,29 +1111,38 @@ drum drummer drunk duckling +duelist dumbass +dummy dump dungeon dungeoneer +duplicate dust duty dwarf +dweller ear +earnings earplug earring earth earthquake +ease eat eavesdropper +echo eclipse economics economy +ecstacy edge editor editorial education effect efficiency +effigy effort egg ejection @@ -830,9 +1151,12 @@ elder election element elephant +elevation elevator +elf elixir elongation +eloquence embezzlement emergence emergency @@ -843,10 +1167,17 @@ employee employer employment empowerment +emulator emulsion encirclement encounter +encouragement +encourager end +endeavor +ending +endorser +endowment enema enemy energy @@ -858,10 +1189,15 @@ enigma enjoyment enquiry entanglement +enterprise +entertainer entertainment enthusiasm entity +entourage +entrails entrance +entrant entry environment envy @@ -869,27 +1205,40 @@ epitome equipment equivalent erection +erector error eruption escape +escort essay +essence establishment estate +esteem estimate +estimation estrogen +estuary ethics +etiquette +eulogy euphoria +evader +evaluation evaluator evening event +eventuality eviction evidence evocation evolution +exaggeration exam examination examiner example +excavation exchange excitement exclamation @@ -899,24 +1248,46 @@ executor exercise exertion exhaust +exhibit +exhibition exile existence exit +expanse expansion +expectation experience +experiment +experimentation expert +expertise explanation +exploit +exploitation +exploration explosion +expo +exponent exposition expression +expressivity extension extent +exterior extermination -external -extreme +extortion +extract +extraction +extravagance +extravaganza +extremity eye eyeball eyebrow +fabric +fabrication +fabricator +facade face facelift facility @@ -928,11 +1299,16 @@ failure fairy faith faker +falsifier fame +familiarity +familiarization family fan fang fanny +fantasy +farce farm farmer fart @@ -940,6 +1316,7 @@ father fatigue fault favor +favorite fear feast feather @@ -948,17 +1325,23 @@ feces fee feedback feeling +fellow +fellowship +felon felony female feminist +fence ferry fertilizer +festival fetish fetus feud fiction fidget field +fiend fight fighter figure @@ -967,22 +1350,22 @@ file fill film filth -final finance finger finish fire fireman firewall +fireworks fish fishing fisting -fix flake flame flange flap flash +flattery flatulence flavor fledgling @@ -990,31 +1373,43 @@ flesh flick flight fling +floater flock flood floor +flop flour flow flower flu +fluency fluid flurry flute fly foam focus +foe fold folder +folk +fondness font food foot football +footing force forecast forehead +foreigner forest +forgery +fork form format +formation +formulation fort fortnight fortune @@ -1027,9 +1422,12 @@ fracture fragment fragrance frame +framework +franchise frankenstein fraudster freedom +freeze freezer freighter frenzy @@ -1046,13 +1444,17 @@ fryer fuel fulfillment fumble +fumes fun function +funding funeral +funk fur furnace furniture future +gain gallery gambit game @@ -1069,24 +1471,38 @@ gauge gear gender gene -general +genealogy +generation +generator +genesis genius +genre +gentleman geology geometry +gerbal geyser ghost +ghoul giant +giblet gift gigantism girl girlfriend girth +gladiator gland glass glider +gloom +glorification glove goal +goat +goatee god +godsend gold golf gorilla @@ -1099,24 +1515,35 @@ grain grammar grandfather grandmother +grandparent graph graphic grass grassland +gratefulness gratitude +grave +graveyard +gravy grease -green +greed greenhouse grenade +grifter grill grocery +groom +grope +grotto ground group +grouping growth guarantee guard guardian guerilla +guerrilla guess guest guestbook @@ -1125,6 +1552,7 @@ guide guilt guitar gun +guru gutter guy guzzler @@ -1132,14 +1560,18 @@ gym gymnast gymnastics habit +habitat hair haircut half hall +hallucination +halt hammer hamster hand handicap +handiwork handle hang happiness @@ -1148,11 +1580,14 @@ hardware harlot harm harmony +harness hassle hat hate hatred +hazard head +heading healer health hearing @@ -1167,14 +1602,16 @@ helicopter hell helmet help +helper herb hero +heroine heyday hierarchy -high highlight highway hill +hindrance hire historian history @@ -1182,6 +1619,7 @@ hit hive hobbit hobby +hobo hold hole holiday @@ -1189,8 +1627,11 @@ home homework honesty honey +honor hood hook +hooker +hookup hope horror horse @@ -1201,23 +1642,31 @@ hospitality host hostel hostess +hostility hotel +hound hour house housework housing hovercraft +hub +huddle human humidity humor +hunch hunger hunt hunter +hurdle hurricane hurry husband +hybrid hydrant hyperbole +hypnosis hypothermia ice icebreaker @@ -1225,101 +1674,161 @@ icecream icicle icon idea -ideal idealist +identification +idiom igloo +ignorance +ilk +illusion +illustration image +imagery imagination +imaginativeness +immobility +immorality impact +impairment impeachment +impediment importance +impotence impression imprisonment improvement impudence impulse +inability +inaction +inactivity inbox +incapacity +inception incest incident income +incompatibility +incompetence +inconsistency increase +increment +indecency +indecision independence -independent index indication indifference individual +induction +indulgence industry +ineptitude +inertia +infamy infancy infatuation inflammation inflation influence information +informer +infrastructure infusion ingrate +inheritance +initiation initiative +initiator injection injury injustice ink +inkling +inlet inn +innards innocence input +inquirer inquiry +inquisition +inquisitor inscription insect insemination +insight insolence inspection inspector +inspiration +installation instance +institution instruction instrument instrumentalist instrumentation insulation +insult insurance insurgence intelligence +intensity intention interaction +interest interior interjection -internal -international internet +interpretation interpreter +interrogation +interrogator intervenor intervention interview interviewer intestine +intimacy intrigue +introducer introduction +intuition +invader invention inventor inventory +investigation +investigator investment invite invoice iron island +isolation issue item jacket jail jam jar +jargon jealousy +jester jet jewel job jockey join -joint joke +joker +journal +journalism +journalist journey +journeyman +jouster judge judgment juggernaut @@ -1327,16 +1836,23 @@ juice juicer jump jumper +jungle junk jury justice +justification kamikaze +keenness keep kerfuffle key +keynote kick +kickback kid +kidney killer +kin kind kindness king @@ -1363,6 +1879,7 @@ landscape language lantern lard +lash latency latex laugh @@ -1370,30 +1887,40 @@ laughter laundry lava law +lawbreaker lawn lawsuit lawyer layer +layoff +laziness leader leadership -leading leaf league +lease leash leather lecture leg +legacy legend +legwork leisure +lemming lemon length +lense +leper leprosy lesson +lethargy letter lettuce level lever liar +libel library license lie @@ -1402,9 +1929,12 @@ lift light lighting lightning +likeness limit line +lineage lingerie +lingo linguistics link lion @@ -1418,20 +1948,24 @@ litigation litter liver livestock -living +lizard load loan lobotomy local +locale location lock +locust log logic loneliness lord +loser loss lotion lounge +lounger love loyalty lubricant @@ -1440,11 +1974,16 @@ luggage lunch lung luttuce +luxury machine machinery +machinist magazine magic +magician magnet +magnifier +magnitude maid maiden mail @@ -1453,11 +1992,19 @@ mailman maintenance maker makeup +malevolence mall mallet man management manager +maneuver +manhandling +manhood +manifestation +manipulation +manliness +manner manufacturer map march @@ -1467,33 +2014,45 @@ marketing marksman marriage marsh +marvel mascara mask mass massage master +mastery match mate material mathematics matter mattress +mausoleum +maximum mayor meal meaning +measure measurement meat +mechanic +mechanism medallion media +mediation medicine -medium +meditation meet meeting +melancholy +melodrama melody melon member membership membrane +memoir +memorial memory mention menu @@ -1502,6 +2061,7 @@ mess message metal meteor +meter method microwave midget @@ -1509,12 +2069,13 @@ midnight midwife might military +militia milk +mimic mind minimum minion minister -minor minute miracle mirage @@ -1522,34 +2083,47 @@ mirror misandry miscarriage miscommunication +misconduct +misdeed +misery misfit +misfortune +mishandling misogyny misplacement misreading +misrepresentation miss missile mission mistake misunderstanding +misuse mix mixer mixture moan moat -mobile mode model modem moderator +modulation +module +mold mole +molecule moment monastery money mongrel monitor monkey +monologue +monstrosity month mood +moon morality morning mortgage @@ -1564,52 +2138,73 @@ mouse mousse mouth move +movement mover movie mower mud +mugger mule multimedia murderer muscle museum music +musk mustache mutant myth nail name napkin +narcotic +narrative nation native +nativity nature +navy nazi nebula neck necklace -negative +necropolis +need +neglect +negligence negotiation +neighborhood +nephew nerve net network news newspaper +niece night nightclub +nobility +nod noise +nomination nonbeliever nonconformist nondisclosure nonsense noodle +normality nose +nostalgia note nothing notice notification +notion notoriety nova novel +novice +nucleus nugget number nurse @@ -1626,44 +2221,65 @@ obligation obscurity observation observatory +obstacle +obstruction occasion occupation +occurrence ocean +odor +offender offense offer +offering office officer +offshoot ogre oil +omission onion onslaught opening opera operation +opiate opinion opponent opportunist opportunity +opposer opposite +opposition optimist option +opulence oral orange +oration orchestra order organ organization +organizer orgasm +origin original +originality +origination ornament +oscillation outburst +outcast outcome outfit +outgrowth +outlaw +outpost output -outside +outrage ovary oven -overcharge overclocking overexertion owner @@ -1672,6 +2288,7 @@ pacemaker pack package packet +pact pad paddle page @@ -1682,6 +2299,8 @@ painting paintwork pair pajama +palace +paladin pamphlet pan pancake @@ -1689,43 +2308,58 @@ panda panic pansy panther +panties pantry +pants paper parachute parade +paragraph paramedic parasite parcel parent +pariah park -parking part participant +participation +partisan partner +partnership party passage +passageway passenger passion passport past pasta paste +pastime pastry path patience patient patriot patrol +patron pattern pause pavement pay payment +payoff +payroll peace +peacemaker peak pearl peasant pedal +pedestal +pedigree +peer pen penalty pendant @@ -1736,26 +2370,33 @@ people percentage perception performance +performer perfume period +perk permission permit perpetrator +perseverance person personality perspective +persuasiveness +perversion pervert pessimist pest petal pharmacist phase +phenomenon philosopher philosophy phone photo photographer phrase +phrasing physics pianist piano @@ -1775,6 +2416,7 @@ pioneer pipe piracy pitch +pity pizza place plan @@ -1785,31 +2427,42 @@ plant plantation planter plaster -plastic plate platform player playground +playmate playroom +plea +pleasantry pleasure pleb -plenty +plug +plum plunger poem poet poetry point +pointer +poise poking police policy politics +poll pollution +pooch pool +poorness pop +popper population porn +port portal portfolio +portion position possession possibility @@ -1825,45 +2478,53 @@ potion potty pouch poultry -pound pounder pounding +poverty powder power practice practitioner +praise precedent +precinct +predicament preference +prefix prejudice prelude premeditation +premium preoccupation preparation presence present presentation +preservation president press pressure pressurisation +prestige pretense price pride priest -primary +primate principle print printer -prior priority prison -private privilege prize probation +probe +prober problem procedure process +procreation producer product production @@ -1875,44 +2536,70 @@ profit program programmer progress +progression project proliferation promise +promoter promotion prompt +prong pronunciation proof property +proponent proposal +proposition prosecution +prosecutor prospect +prosperity +prostitution protagonist protection +protector protest protocol +province +provision +provocation +psychiatrist psychology pube puberty -public +publicist publicity publisher +publishing pudding puddle +pulse punch punishment +punk +pup pupil +puppy purchase purpose +pursuit push pusher pyramid +quake quality quantity quarrel quarter queen +query quest question +questioner +questioning +quip +quiz +quota quote rabbit race @@ -1922,6 +2609,7 @@ radio raffle rage raider +rail railway rain rainbow @@ -1929,64 +2617,97 @@ raise randomization range rank +ransom +rant rate +rating ratio +ration +rattle +rave reach reaction reading reality +realization +rear reason +rebel +rebound +rebuttal receipt +receiver reception recipe +reciprocation +recital recognition +recoil +recollection recommendation +recompense +reconciliation record recorder recording recover +recovery recreation -recruit +redemption redesign rediscovery reduction reference +referendum +refinement reflection +reflex refrigerator refund +refusal +regard region register regression regret -regular regulation +reimbursement reject +rejection relation relationship -relative relaxation release +relevance reliability relief religion +remark +remembrance reminder removal rendition +renegade rent repair reparation repellent +repercussion replacement replication reply report +reporter +representation representative +reproduction republic reputation request requirement resale research +researcher reserve resident resistance @@ -1994,30 +2715,49 @@ resolution resolve resort resource +resourcefulness respect response responsibility restaurant +restraint +restriction result +resurgence retailer +retaliation +retort +retreat +retrieval +retriever return reveal revenant revenue review +reviewer +revival revolution +revolutionary reward rhetoric rhyme rhythm rice +riches riddle ride +rift ring rip +ripple risk +ritual +rival +rivalry river road +roadblock roast robe rock @@ -2034,13 +2774,17 @@ rope round route routine +royalty rub ruckus ruin rule rush +saboteur sack saddle +sadist +sadness safe safety sail @@ -2052,8 +2796,11 @@ salesman salt sample samurai +sanction sand sandwich +sardine +sass satellite satire satisfaction @@ -2062,6 +2809,7 @@ sausage save savings savior +scab scale scanner scarf @@ -2073,8 +2821,13 @@ schedule schematic scheme schizophrenic +scholar +scholarship school science +scientist +scolder +scoop score scramble scratch @@ -2085,40 +2838,59 @@ screw screwdriver script scrub +scrutinizer +scrutiny sculpture sea search season +seasoning seat +seating +seclusion second secret secretary +sect section sector security +seditionist seed selection selfie sensation sense +sensibility +sensitivity +sensor sentence +sentiment +separation series servant -serve server service +serviceman +servitude session +set setting +settlement sewer sex shack +shadow +shake shame shape share +sharpness shelter shield shift ship +shipwreck shirt shit shiver @@ -2131,12 +2903,14 @@ shopping shortage shot shoulder -shoulder show shower +shrinkage sibling side +sidekick sigh +sight sign signal signature @@ -2149,8 +2923,8 @@ simulator sin sing singer -single sink +sinner sister site sitting @@ -2163,6 +2937,12 @@ skirt skull sky skyscraper +slam +slander +slanderer +slang +slap +slash slave slayer sleep @@ -2172,13 +2952,17 @@ slime slip slope slum +slur slut smack +smash smasher smell smile smoke +snag snob +snooper snow snowflake snuggle @@ -2189,42 +2973,53 @@ software soil soldier solicitor -solid +solitude solution solvent somersault son song +sorrow +soul soulmate sound soup source space +spaceman +spaghetti spank spark spartan spasm speaker spear -special specialist species +specification spectacle +spectator +speculation speech speed spell spend sperm sphere +spice +spider +spire spirit spite spitroast splash spliff split +sponsor sport spot spotlight +spouse spray spread spring @@ -2237,12 +3032,17 @@ stack stadium staff stage +stagnation stair +stake +stall stamina stamp stance stand standard +standpoint +standstill star starlet start @@ -2250,13 +3050,22 @@ state statement station statistic +statue status stay steak steam steamer step +stepbrother +stepparent +stepsister stick +stillness +stimulant +stint +stipend +stipulation stock stomach stone @@ -2266,16 +3075,20 @@ storage store storm story +strain stranger strategy +stray stream street strength stress stretch +stride strife strike string +stripe stripper stroke structure @@ -2285,15 +3098,24 @@ student studio study stuff +stunt stupidity style +subdivision subject subordinate subroutine +subscription +subsection +subsidiary +subsidy substance +substitute +substructure subway success sucker +suffix suffocation sugar suggestion @@ -2301,6 +3123,7 @@ suit suitcase sultan summer +summit sun superhero supermarket @@ -2309,19 +3132,28 @@ support supporter suppression surface +surge surgeon surgery surprise +surrender +surroundings survey suspect +suspension +suspicion sustainment +swag +swagger +sweat +swell swim -swimming swimsuit swing switch sword symmetry +sympathizer sympathy syndicate synergy @@ -2330,11 +3162,15 @@ table tackle tail tale +talent talk +tally +tangibility tank tap target task +taste tattoo tavern tax @@ -2345,43 +3181,69 @@ teach teacher teaching team +tear +technician technology teenager telephone +telephony television +temperament temperature +temple tendency +tenderness tennis tension term +termination +terrain territory +terror +terrorist test +tester +testimonial +testimony text textbook texture theater +theatrics theme theory therapist thermometer +thesis thief thigh thing thirst thong thought +thoughtfulness +thoughtlessness thread +thrill throat +throb throne +thrust thumb +thump thunder tiara +tick ticket +tide +tier time timeout tip +tirade titan title +titleholder today toe toilet @@ -2391,12 +3253,11 @@ tone tongue tool tooth -top topic tornado +torrent total touch -tough tour tourist towel @@ -2411,7 +3272,11 @@ tragedy train trainer training +traitor +tramp +trance transaction +transference transition translation transmission @@ -2421,16 +3286,22 @@ trap trapdoor trash travel +treadmill +treasure treat treatment +treaty tree +tremble tremor trench trial +tribe tribunal tribute trick trip +tripod troll trooper trophy @@ -2445,59 +3316,99 @@ tsunami tube tumor tune +turf turn turnover twist type +ultimate uncle +underbelly +underside understanding +undertaking underwear unemployment +unfamiliarity +unhappiness +uniform +unimportance union -unique +unison unit universe university -upper -uproar -upstairs +urge urine usage +usefulness +uselessness user +utilization +utterance vacation vacuum +vagabond +vagrant +validation validity valley valuable value vanity +vanquisher +vapor variation variety -vast +vault vegetable vegetation vehicle vendetta vengeance +ventriloquist +venture verdict +verification version +vertex +veto +vexation +vibe vibration vibrator +vicinity victim +victor +victory video +view +vigor +vilifier village +villain +vindication +vindicator +violation violin virus vision +visit visitor visor visual +visualization vitality +vocabulary vodka voice volcano volume +volunteer +vote +voter voyage +wage wait waiter waitress @@ -2506,8 +3417,10 @@ wall wannabe war warlock +warlord warmth warning +warrior wash washer waste @@ -2516,6 +3429,7 @@ watcher watchman water wave +way weakness wealth weapon @@ -2531,6 +3445,7 @@ weight welcome welfare wench +whack whale wheel whimp @@ -2539,12 +3454,14 @@ whirlwind whisky wholesale wholesaler +whore wiener wife wilderness wildlife win wind +windfall window wine wing @@ -2553,31 +3470,42 @@ winner winter wisdom wish +wit witch witness +wizard +woe woman +womanhood +womanliness wonder wood word +wording work workbench worker +workmanship workshop world +worrier worry worth wound wrap +wrecker wrestle writer writing +wrongdoer +wrongdoing +wyvern yank yard yawn year yeast -yellow youth zombie zone -zoo \ No newline at end of file +zoo