From 8dd6c6e50af02037d9f9d1962c4708d410b08948 Mon Sep 17 00:00:00 2001 From: Guy Elsmore-Paddock Date: Sun, 30 Jun 2024 22:57:46 -0400 Subject: [PATCH] [#60] Migrate Tags from `*.ini` Files to Native C++ Tags --- Config/Tags/PF2CoinsAndCurrency.ini | 23 - Config/Tags/PF2CoreStats.ini | 133 -- Config/Tags/PF2DamageTypes.ini | 40 - Config/Tags/PF2Encounters.ini | 16 - Config/Tags/PF2GameplayAbilities.ini | 23 - Config/Tags/PF2GameplayCues.ini | 8 - Config/Tags/PF2GameplayEffects.ini | 22 - Config/Tags/PF2Languages.ini | 44 - Config/Tags/PF2Skills.ini | 122 -- Config/Tags/PF2SpecialSenses.ini | 20 - Config/Tags/PF2Traits.ini | 196 --- Config/Tags/PF2WeaponGroups.ini | 30 - Config/Tags/PF2WeaponProficiencies.ini | 390 ----- .../Private/GameplayTags/Currencies.cpp | 23 + .../Private/GameplayTags/CurrencyUnits.cpp | 41 + .../Private/GameplayTags/DamageTypes.cpp | 149 ++ .../Encounters/AbilityTriggers.cpp | 33 + .../Encounters/CharacterStates.cpp | 27 + .../GameplayAbilities/AbilityTypes.cpp | 45 + .../GameplayAbilities/ActivationMetadata.cpp | 21 + .../GameplayAbilities/WaitForEvents.cpp | 33 + .../Private/GameplayTags/GameplayCues.cpp | 15 + .../GameplayEffects/CalculationSources.cpp | 17 + .../GameplayEffects/SetByCallerParameters.cpp | 27 + .../GameplayEffects/WeightGroups.cpp | 51 + .../GameplayTags/Stats/CreatureAlignments.cpp | 89 + .../GameplayTags/Stats/CreatureSizes.cpp | 24 + .../Private/GameplayTags/Stats/Equipment.cpp | 40 + .../GameplayTags/Stats/KeyAbilities.cpp | 104 ++ .../Private/GameplayTags/Stats/Languages.cpp | 169 ++ .../Stats/Proficiencies/Armor.cpp | 146 ++ .../Stats/Proficiencies/ClassDc.cpp | 52 + .../Stats/Proficiencies/Perception.cpp | 52 + .../Stats/Proficiencies/SavingThrows.cpp | 114 ++ .../Stats/Proficiencies/Skills.cpp | 580 +++++++ .../Stats/Proficiencies/SpellAttacks.cpp | 47 + .../Stats/Proficiencies/SpellDc.cpp | 47 + .../Stats/Proficiencies/Weapons.cpp | 1431 +++++++++++++++++ .../GameplayTags/Stats/SpecialSenses.cpp | 50 + .../Private/GameplayTags/Traits/Abilities.cpp | 113 ++ .../Private/GameplayTags/Traits/Actions.cpp | 71 + .../GameplayTags/Traits/Conditions.cpp | 365 +++++ .../Private/GameplayTags/Traits/Creatures.cpp | 53 + .../Private/GameplayTags/Traits/Effects.cpp | 53 + .../Private/GameplayTags/Traits/Weapons.cpp | 257 +++ .../Private/GameplayTags/WeaponGroups.cpp | 33 + .../Public/GameplayTags/Currencies.h | 21 + .../Public/GameplayTags/CurrencyUnits.h | 24 + .../Public/GameplayTags/DamageTypes.h | 42 + .../GameplayTags/Encounters/AbilityTriggers.h | 16 + .../GameplayTags/Encounters/CharacterStates.h | 15 + .../GameplayAbilities/AbilityTypes.h | 18 + .../GameplayAbilities/ActivationMetadata.h | 14 + .../GameplayAbilities/WaitForEvents.h | 16 + .../Public/GameplayTags/GameplayCues.h | 13 + .../GameplayEffects/CalculationSources.h | 15 + .../GameplayEffects/SetByCallerParameters.h | 15 + .../GameplayEffects/WeightGroups.h | 21 + .../GameplayTags/Stats/CreatureAlignments.h | 34 + .../Public/GameplayTags/Stats/CreatureSizes.h | 26 + .../Public/GameplayTags/Stats/Equipment.h | 23 + .../Public/GameplayTags/Stats/KeyAbilities.h | 46 + .../Public/GameplayTags/Stats/Languages.h | 57 + .../GameplayTags/Stats/Proficiencies/Armor.h | 52 + .../Stats/Proficiencies/ClassDc.h | 30 + .../Stats/Proficiencies/Perception.h | 30 + .../Stats/Proficiencies/SavingThrows.h | 44 + .../GameplayTags/Stats/Proficiencies/Skills.h | 150 ++ .../Stats/Proficiencies/SpellAttacks.h | 25 + .../Stats/Proficiencies/SpellDc.h | 25 + .../Stats/Proficiencies/Weapons.h | 473 ++++++ .../Public/GameplayTags/Stats/SpecialSenses.h | 28 + .../Public/GameplayTags/Traits/Abilities.h | 36 + .../Public/GameplayTags/Traits/Actions.h | 29 + .../Public/GameplayTags/Traits/Conditions.h | 191 +++ .../Public/GameplayTags/Traits/Creatures.h | 26 + .../Public/GameplayTags/Traits/Effects.h | 26 + .../Public/GameplayTags/Traits/Weapons.h | 60 + .../Public/GameplayTags/WeaponGroups.h | 35 + 79 files changed, 6048 insertions(+), 1067 deletions(-) delete mode 100644 Config/Tags/PF2CoinsAndCurrency.ini delete mode 100644 Config/Tags/PF2CoreStats.ini delete mode 100644 Config/Tags/PF2DamageTypes.ini delete mode 100644 Config/Tags/PF2Encounters.ini delete mode 100644 Config/Tags/PF2GameplayAbilities.ini delete mode 100644 Config/Tags/PF2GameplayCues.ini delete mode 100644 Config/Tags/PF2GameplayEffects.ini delete mode 100644 Config/Tags/PF2Languages.ini delete mode 100644 Config/Tags/PF2Skills.ini delete mode 100644 Config/Tags/PF2SpecialSenses.ini delete mode 100644 Config/Tags/PF2Traits.ini delete mode 100644 Config/Tags/PF2WeaponGroups.ini delete mode 100644 Config/Tags/PF2WeaponProficiencies.ini create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Currencies.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/CurrencyUnits.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/DamageTypes.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Encounters/AbilityTriggers.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Encounters/CharacterStates.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/GameplayAbilities/AbilityTypes.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/GameplayAbilities/ActivationMetadata.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/GameplayAbilities/WaitForEvents.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/GameplayCues.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/GameplayEffects/CalculationSources.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/GameplayEffects/SetByCallerParameters.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/GameplayEffects/WeightGroups.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Stats/CreatureAlignments.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Stats/CreatureSizes.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Equipment.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Stats/KeyAbilities.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Languages.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Armor.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/ClassDc.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Perception.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/SavingThrows.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Skills.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/SpellAttacks.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/SpellDc.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Weapons.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Stats/SpecialSenses.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Abilities.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Actions.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Conditions.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Creatures.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Effects.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Weapons.cpp create mode 100644 Source/OpenPF2GameFramework/Private/GameplayTags/WeaponGroups.cpp create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Currencies.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/CurrencyUnits.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/DamageTypes.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Encounters/AbilityTriggers.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Encounters/CharacterStates.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/GameplayAbilities/AbilityTypes.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/GameplayAbilities/ActivationMetadata.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/GameplayAbilities/WaitForEvents.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/GameplayCues.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/GameplayEffects/CalculationSources.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/GameplayEffects/SetByCallerParameters.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/GameplayEffects/WeightGroups.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Stats/CreatureAlignments.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Stats/CreatureSizes.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Equipment.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Stats/KeyAbilities.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Languages.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Armor.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/ClassDc.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Perception.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/SavingThrows.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Skills.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/SpellAttacks.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/SpellDc.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Weapons.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Stats/SpecialSenses.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Abilities.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Actions.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Conditions.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Creatures.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Effects.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Weapons.h create mode 100644 Source/OpenPF2GameFramework/Public/GameplayTags/WeaponGroups.h diff --git a/Config/Tags/PF2CoinsAndCurrency.ini b/Config/Tags/PF2CoinsAndCurrency.ini deleted file mode 100644 index b88c2696f..000000000 --- a/Config/Tags/PF2CoinsAndCurrency.ini +++ /dev/null @@ -1,23 +0,0 @@ -; OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. -; -; Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: -; - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. -; - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. -; - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. -; -; Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, -; as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this -; file other than the material designated as Open Game Content may be reproduced in any form without written -; permission. - -[/Script/GameplayTags.GameplayTagsList] -; Default Currency - "Coins" -; Source: Pathfinder 2E Core Rulebook, Chapter 6, page 271. -GameplayTagList=(Tag="Currency.Coins",DevComment="The most common currency in OpenPF2.") - -; Default Currency Units -; Source: Pathfinder 2E Core Rulebook, Chapter 6, page 271. -GameplayTagList=(Tag="CurrencyUnit.Coins.CopperPiece",DevComment="A unit of currency worth 1/10 of a silver piece.") -GameplayTagList=(Tag="CurrencyUnit.Coins.SilverPiece",DevComment="The standard unit of currency for commoners and beginning adventurers. Each is a standard weight of silver and is typically accepted by any merchant or kingdom no matter where it was minted.") -GameplayTagList=(Tag="CurrencyUnit.Coins.GoldPiece",DevComment="A unit of currency often used for purchasing magic items and other expensive items. 1 gold piece is worth 10 silver pieces and 100 copper pieces.") -GameplayTagList=(Tag="CurrencyUnit.Coins.PlatinumPiece",DevComment="A unit of current used by nobles to demonstrate their wealth, for the purchase of very expensive items, or simply as a way to easily transport large sums of currency. A platinum piece is worth 10 gold pieces, 100 silver pieces, and 1,000 copper pieces.") diff --git a/Config/Tags/PF2CoreStats.ini b/Config/Tags/PF2CoreStats.ini deleted file mode 100644 index 8ac089ec1..000000000 --- a/Config/Tags/PF2CoreStats.ini +++ /dev/null @@ -1,133 +0,0 @@ -; OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. -; -; Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: -; - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. -; - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. -; - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. -; -; Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, -; as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this -; file other than the material designated as Open Game Content may be reproduced in any form without written -; permission. - -[/Script/GameplayTags.GameplayTagsList] -; Creature Size - The approximate physical amount of space a creature occupies. -; Source: Pathfinder 2E Core Rulebook, page 474, Table 9-1: Size and Reach. -GameplayTagList=(Tag="CreatureSize.Tiny",DevComment="") -GameplayTagList=(Tag="CreatureSize.Small",DevComment="") -GameplayTagList=(Tag="CreatureSize.Medium",DevComment="") -GameplayTagList=(Tag="CreatureSize.Large",DevComment="") -GameplayTagList=(Tag="CreatureSize.Huge",DevComment="") -GameplayTagList=(Tag="CreatureSize.Gargantuan",DevComment="") - -; Creature Alignment - The indicator of the character's morality and personality. -; Source: Pathfinder 2E Core Rulebook, page 29, Table 1-2: The Nine Alignments. -GameplayTagList=(Tag="CreatureAlignment.Lawful.Good",DevComment="Character values consistency, stability, and predictability over flexibility; considers others above themselves and works selflflessly to assist others.") -GameplayTagList=(Tag="CreatureAlignment.Lawful.Neutral",DevComment="Character values consistency, stability, and predictability over flexibility; doesn't consider others more or less importantly than themselves.") -GameplayTagList=(Tag="CreatureAlignment.Lawful.Evil",DevComment="Character values consistency, stability, and predictability over flexibility; is willing to victimize or harm others for selfish gain.") -GameplayTagList=(Tag="CreatureAlignment.Neutral.Good",DevComment="Character obeys law or code of conduct in many situations, but is flexible; considers others above themselves and works selflflessly to assist others.") -GameplayTagList=(Tag="CreatureAlignment.Neutral.Neutral",DevComment="Character obeys law or code of conduct in many situations, but is flexible; doesn't consider others more or less importantly than themselves.") -GameplayTagList=(Tag="CreatureAlignment.Neutral.Evil",DevComment="Character obeys law or code of conduct in many situations, but is flexible; is willing to victimize or harm others for selfish gain.") -GameplayTagList=(Tag="CreatureAlignment.Chaotic.Good",DevComment="Character values flexibility, creativity, and spontaneity over consistency; considers others above themselves and works selflflessly to assist others.") -GameplayTagList=(Tag="CreatureAlignment.Chaotic.Neutral",DevComment="Character values flexibility, creativity, and spontaneity over consistency; doesn't consider others more or less importantly than themselves.") -GameplayTagList=(Tag="CreatureAlignment.Chaotic.Evil",DevComment="Character values flexibility, creativity, and spontaneity over consistency; is willing to victimize or harm others for selfish gain.") - -; Key Ability - The most important ability of a particular character/creature. -GameplayTagList=(Tag="KeyAbility.Strength",DevComment="Character's key ability is Strength") -GameplayTagList=(Tag="KeyAbility.Dexterity",DevComment="Character's key ability is Dexterity") -GameplayTagList=(Tag="KeyAbility.Constitution",DevComment="Character's key ability is Constitution") -GameplayTagList=(Tag="KeyAbility.Intelligence",DevComment="Character's key ability is Intelligence") -GameplayTagList=(Tag="KeyAbility.Wisdom",DevComment="Character's key ability is Wisdom") -GameplayTagList=(Tag="KeyAbility.Charisma",DevComment="Character's key ability is Charisma") - -; Spellcasting Ability - The key ability of a character/creature that can cast spells. -; -; The classes in the core rulebook don't have any spellcasting abilities other than Wisdom and Charisma, but there's no -; reason to limit game makers to just those options. Plus, add-on material for OpenPF2 could always invent a new class -; that uses something like Intelligence for a character that does complex spellcasting or Dexterity for a character who -; performs physically-dexterous spells. -GameplayTagList=(Tag="SpellcastingAbility.Strength",DevComment="Character's spellcasting ability is Strength") -GameplayTagList=(Tag="SpellcastingAbility.Dexterity",DevComment="Character's spellcasting ability is Dexterity") -GameplayTagList=(Tag="SpellcastingAbility.Constitution",DevComment="Character's spellcasting ability is Constitution") -GameplayTagList=(Tag="SpellcastingAbility.Intelligence",DevComment="Character's spellcasting ability is Intelligence") -GameplayTagList=(Tag="SpellcastingAbility.Wisdom",DevComment="Character's spellcasting ability is Wisdom") -GameplayTagList=(Tag="SpellcastingAbility.Charisma",DevComment="Character's spellcasting ability is Charisma") - -; Class DC Proficiency Rank - The character's aptitude in their Difficulty Class. -GameplayTagList=(Tag="ClassDc.Untrained",DevComment="Untrained in Class Difficulty Class (Class DC)") -GameplayTagList=(Tag="ClassDc.Trained",DevComment="Trained in Class Difficulty Class (Class DC)") -GameplayTagList=(Tag="ClassDc.Expert",DevComment="Expert in Class Difficulty Class (Class DC)") -GameplayTagList=(Tag="ClassDc.Master",DevComment="Master in Class Difficulty Class (Class DC)") -GameplayTagList=(Tag="ClassDc.Legendary",DevComment="Legendary in Class Difficulty Class (Class DC)") - -; Types of Armor that is *Currently* Equipped by the Character -GameplayTagList=(Tag="Armor.Equipped.Unarmored",DevComment="Character has no armor equipped") -GameplayTagList=(Tag="Armor.Equipped.Light",DevComment="Character has Light armor equipped") -GameplayTagList=(Tag="Armor.Equipped.Medium",DevComment="Character has Medium armor equipped") -GameplayTagList=(Tag="Armor.Equipped.Heavy",DevComment="Character has Heavy armor equipped") - -; Proficiency Ranks for Different Classes of Armor (Unarmored, Light, Medium, or Heavy) -GameplayTagList=(Tag="Armor.Category.Unarmored.Untrained",DevComment="Untrained in Unarmored Defense") -GameplayTagList=(Tag="Armor.Category.Unarmored.Trained",DevComment="Trained in Unarmored Defense") -GameplayTagList=(Tag="Armor.Category.Unarmored.Expert",DevComment="Expert in Unarmored Defense") -GameplayTagList=(Tag="Armor.Category.Unarmored.Master",DevComment="Master in Unarmored Defense") -GameplayTagList=(Tag="Armor.Category.Unarmored.Legendary",DevComment="Legendary in Unarmored Defense") - -GameplayTagList=(Tag="Armor.Category.Light.Untrained",DevComment="Untrained in Light Armor Defense") -GameplayTagList=(Tag="Armor.Category.Light.Trained",DevComment="Trained in Light Armor Defense") -GameplayTagList=(Tag="Armor.Category.Light.Expert",DevComment="Expert in Light Armor Defense") -GameplayTagList=(Tag="Armor.Category.Light.Master",DevComment="Master in Light Armor Defense") -GameplayTagList=(Tag="Armor.Category.Light.Legendary",DevComment="Legendary in Light Armor Defense") - -GameplayTagList=(Tag="Armor.Category.Medium.Untrained",DevComment="Untrained in Medium Armor Defense") -GameplayTagList=(Tag="Armor.Category.Medium.Trained",DevComment="Trained in Medium Armor Defense") -GameplayTagList=(Tag="Armor.Category.Medium.Expert",DevComment="Expert in Medium Armor Defense") -GameplayTagList=(Tag="Armor.Category.Medium.Master",DevComment="Master in Medium Armor Defense") -GameplayTagList=(Tag="Armor.Category.Medium.Legendary",DevComment="Legendary in Medium Armor Defense") - -GameplayTagList=(Tag="Armor.Category.Heavy.Untrained",DevComment="Untrained in Heavy Armor Defense") -GameplayTagList=(Tag="Armor.Category.Heavy.Trained",DevComment="Trained in Heavy Armor Defense") -GameplayTagList=(Tag="Armor.Category.Heavy.Expert",DevComment="Expert in Heavy Armor Defense") -GameplayTagList=(Tag="Armor.Category.Heavy.Master",DevComment="Master in Heavy Armor Defense") -GameplayTagList=(Tag="Armor.Category.Heavy.Legendary",DevComment="Legendary in Heavy Armor Defense") - -; Spell Attack Proficiency Rank - The character's aptitude in spell attacks (Spell Attack Roll). -GameplayTagList=(Tag="SpellAttack.Untrained",DevComment="Untrained in spell attacks") -GameplayTagList=(Tag="SpellAttack.Trained",DevComment="Trained in spell attacks") -GameplayTagList=(Tag="SpellAttack.Expert",DevComment="Expert in spell attacks") -GameplayTagList=(Tag="SpellAttack.Master",DevComment="Master in spell attacks") -GameplayTagList=(Tag="SpellAttack.Legendary",DevComment="Legendary in spell attacks") - -; Spell DC Proficiency Rank - The character's aptitude in spellcasting (Spell DC). -GameplayTagList=(Tag="SpellDc.Untrained",DevComment="Untrained in spellcasting") -GameplayTagList=(Tag="SpellDc.Trained",DevComment="Trained in spellcasting") -GameplayTagList=(Tag="SpellDc.Expert",DevComment="Expert in spellcasting") -GameplayTagList=(Tag="SpellDc.Master",DevComment="Master in spellcasting") -GameplayTagList=(Tag="SpellDc.Legendary",DevComment="Legendary in spellcasting") - -; Saving Throws - Representations of a character’s ability to avoid danger or otherwise withstand an assault to their -; mind or body. -; Source: Pathfinder 2E Core Rulebook, Chapter 1, page 11. -GameplayTagList=(Tag="SavingThrow.Fortitude.Untrained",DevComment="Untrained in Fortitude") -GameplayTagList=(Tag="SavingThrow.Fortitude.Trained",DevComment="Trained in Fortitude") -GameplayTagList=(Tag="SavingThrow.Fortitude.Expert",DevComment="Expert in Fortitude") -GameplayTagList=(Tag="SavingThrow.Fortitude.Master",DevComment="Master in Fortitude") -GameplayTagList=(Tag="SavingThrow.Fortitude.Legendary",DevComment="Legendary in Fortitude") - -GameplayTagList=(Tag="SavingThrow.Reflex.Untrained",DevComment="Untrained in Reflex") -GameplayTagList=(Tag="SavingThrow.Reflex.Trained",DevComment="Trained in Reflex") -GameplayTagList=(Tag="SavingThrow.Reflex.Expert",DevComment="Expert in Reflex") -GameplayTagList=(Tag="SavingThrow.Reflex.Master",DevComment="Master in Reflex") -GameplayTagList=(Tag="SavingThrow.Reflex.Legendary",DevComment="Legendary in Reflex") - -GameplayTagList=(Tag="SavingThrow.Will.Untrained",DevComment="Untrained in Will") -GameplayTagList=(Tag="SavingThrow.Will.Trained",DevComment="Trained in Will") -GameplayTagList=(Tag="SavingThrow.Will.Expert",DevComment="Expert in Will") -GameplayTagList=(Tag="SavingThrow.Will.Master",DevComment="Master in Will") -GameplayTagList=(Tag="SavingThrow.Will.Legendary",DevComment="Legendary in Will") - -GameplayTagList=(Tag="Perception.Untrained",DevComment="Untrained in Perception") -GameplayTagList=(Tag="Perception.Trained",DevComment="Trained in Perception") -GameplayTagList=(Tag="Perception.Expert",DevComment="Expert in Perception") -GameplayTagList=(Tag="Perception.Master",DevComment="Master in Perception") -GameplayTagList=(Tag="Perception.Legendary",DevComment="Legendary in Perception") diff --git a/Config/Tags/PF2DamageTypes.ini b/Config/Tags/PF2DamageTypes.ini deleted file mode 100644 index 483c0004f..000000000 --- a/Config/Tags/PF2DamageTypes.ini +++ /dev/null @@ -1,40 +0,0 @@ -; OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. -; -; Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: -; - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. -; - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. -; - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. -; -; Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, -; as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this -; file other than the material designated as Open Game Content may be reproduced in any form without written -; permission. - -[/Script/GameplayTags.GameplayTagsList] -; Damage types -; Source: Pathfinder 2E Core Rulebook, Chapter 9, page 452, "Damage Types". -GameplayTagList=(Tag="DamageType.Physical",DevComment="Damage dealt by weapons, many physical hazards, and a handful of spells is collectively called physical damage. The main types of physical damage are bludgeoning, piercing, and slashing.") -GameplayTagList=(Tag="DamageType.Physical.Bludgeoning",DevComment="Bludgeoning (B) damage comes from weapons and hazards that deal blunt-force trauma, like a hit from a club or being dashed against rocks.") -GameplayTagList=(Tag="DamageType.Physical.Piercing",DevComment="Piercing (P) damage is dealt from stabs and punctures, whether from a dragon's fangs or the thrust of a spear.") -GameplayTagList=(Tag="DamageType.Physical.Slashing",DevComment="Slashing (S) damage is delivered by a cut, be it the swing of the sword or the blow from a scythe blades trap.") - -GameplayTagList=(Tag="DamageType.Energy",DevComment="Many spells and other magical effects deal energy damage. Energy damage is also dealt from effects in the world, such as the biting cold of a blizzard to a raging forest fire. The main types of energy damage are acid, cold, electricity, fire, and sonic.") -GameplayTagList=(Tag="DamageType.Energy.Acid",DevComment="Acid damage can be delivered by gases, liquids, and certain solids that dissolve flesh, and sometimes harder materials.") -GameplayTagList=(Tag="DamageType.Energy.Cold",DevComment="Cold damage freezes material by way of contact with chilling gases and ice. Electricity damage comes from the discharge of powerful lightning and sparks.") -GameplayTagList=(Tag="DamageType.Energy.Electricity",DevComment="Electricity comes from the discharge of powerful lightning and sparks.") -GameplayTagList=(Tag="DamageType.Energy.Fire",DevComment="Fire damage burns through heat and combustion.") -GameplayTagList=(Tag="DamageType.Energy.Sonic",DevComment="Sonic damage assaults matter with high-frequency vibration and sound waves.") -GameplayTagList=(Tag="DamageType.Energy.Positive",DevComment="Positive damage harms only undead creatures, withering undead bodies and disrupting incorporeal undead.") -GameplayTagList=(Tag="DamageType.Energy.Negative",DevComment="Negative damage saps life, damaging only living creatures.") -GameplayTagList=(Tag="DamageType.Energy.Force",DevComment="Powerful and pure magical energy can manifest itself as force damage. Few things can resist this type of damage—not even incorporeal creatures such as ghosts and wraiths.") - -GameplayTagList=(Tag="DamageType.Alignment",DevComment="Weapons and effects keyed to a particular alignment can deal chaotic, evil, good, or lawful damage. These damage types apply only to creatures that have the opposing alignment trait.") -GameplayTagList=(Tag="DamageType.Alignment.Chaotic",DevComment="Chaotic damage harms only lawful creatures.") -GameplayTagList=(Tag="DamageType.Alignment.Evil",DevComment="Evil damage harms only good creatures.") -GameplayTagList=(Tag="DamageType.Alignment.Good",DevComment="Good damage harms only evil creatures.") -GameplayTagList=(Tag="DamageType.Alignment.Lawful",DevComment="Lawful damage harms only chaotic creatures.") - -GameplayTagList=(Tag="DamageType.Mental",DevComment="Sometimes an effect can target the mind with enough psychic force to actually deal damage to the creature. When it does, it deals mental damage. Mindless creatures and those with only programmed or rudimentary intelligence are often immune to mental damage and effects.") -GameplayTagList=(Tag="DamageType.Poison",DevComment="Venoms, toxins and the like can deal poison damage, which affects creatures by way of contact, ingestion, inhalation, or injury. In addition to coming from monster attacks, alchemical items, and spells, poison damage is often caused by ongoing afflictions, which follow special rules.") -GameplayTagList=(Tag="DamageType.Bleed",DevComment="This is persistent damage that represents loss of blood. As such, it has no effect on nonliving creatures or living creatures that don't need blood to live.") -GameplayTagList=(Tag="DamageType.Precision",DevComment="When a character hits with an ability that grants precision damage, the character increase the attack's listed damage, using the same damage type, rather than tracking a separate pool of damage.") diff --git a/Config/Tags/PF2Encounters.ini b/Config/Tags/PF2Encounters.ini deleted file mode 100644 index e5bf78299..000000000 --- a/Config/Tags/PF2Encounters.ini +++ /dev/null @@ -1,16 +0,0 @@ -; OpenPF2 Game Framework for Unreal Engine, Copyright 2022-2024, Guy Elsmore-Paddock. All Rights Reserved. -; -; This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not -; distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. - -[/Script/GameplayTags.GameplayTagsList] -; Tags that apply to characters during encounters. -GameplayTagList=(Tag="Encounter.Character.TurnActive",DevComment="Tag applied to a character whose turn is active.") -GameplayTagList=(Tag="Encounter.Character.PointsRefreshFrozen",DevComment="Tag applied to a character who cannot presently accrue action points.") -GameplayTagList=(Tag="Encounter.Character.Cooldown.NextTurn",DevComment="Tag applied to a character who is currently on a cooldown waiting for their next turn to start.") - -; Tags that trigger Encounter-related Gameplay Abilities. -GameplayTagList=(Tag="TriggerTagCategory.Encounters.EnterEncounter",DevComment="Tag to trigger Gameplay Abilities appropriate for when a character enters an encounter.") -GameplayTagList=(Tag="TriggerTagCategory.Encounters.StartTurn",DevComment="Tag to trigger Gameplay Abilities appropriate for the start of a character's turn during an encounter.") -GameplayTagList=(Tag="TriggerTagCategory.Encounters.EndTurn",DevComment="Tag to trigger Gameplay Abilities appropriate for the end of a character's turn during an encounter.") -GameplayTagList=(Tag="TriggerTagCategory.Encounters.LeaveEncounter",DevComment="Tag to trigger Gameplay Abilities appropriate for when a character leaves an encounter.") diff --git a/Config/Tags/PF2GameplayAbilities.ini b/Config/Tags/PF2GameplayAbilities.ini deleted file mode 100644 index 3e08bcffe..000000000 --- a/Config/Tags/PF2GameplayAbilities.ini +++ /dev/null @@ -1,23 +0,0 @@ -; OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. -; -; This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not -; distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. - -[/Script/GameplayTags.GameplayTagsList] -; Tags that Identify Gameplay Ability Types -GameplayTagList=(Tag="GameplayAbility.Type.AbilityBoost",DevComment="Tag applied to Gameplay Abilities that offer a character the opportunity to boost an ability score.") -GameplayTagList=(Tag="GameplayAbility.Type.DefaultMovement",DevComment="Tag applied to Gameplay Abilities that perform the default type of movement for a character.") -GameplayTagList=(Tag="GameplayAbility.Type.DefaultFaceTarget",DevComment="Tag applied to Gameplay Abilities that have a character rotate to face another actor.") -GameplayTagList=(Tag="GameplayAbility.Type.QueueableAction", DevComment="Tag applied to Gameplay Abilities that can be queued during encounters. This should also be used as a blocking tag to prevent it from being run concurrently with other actions at the time it is de-queued.") -GameplayTagList=(Tag="GameplayAbility.Type.DirectlyInvokable",DevComment="Tag applied to Gameplay Abilities that can be directly invoked by the player (e.g., from an ability dialog or input binding).") -GameplayTagList=(Tag="GameplayAbility.Type.BlocksEndOfTurn",DevComment="Tag applied to Gameplay Abilities that prevent a character's turn from ending while they are active (e.g., an attack that is in progress).") - -; Tags that identify additional metadata that has been passed along for an ability activation. -GameplayTagList=(Tag="GameplayAbility.Activation.Metadata.HasTarget.Character", DevComment="Tag that a Gameplay Ability activation includes a target character (for healing or attack) chosen by the player.") -GameplayTagList=(Tag="GameplayAbility.Activation.Metadata.HasTarget.Location", DevComment="Tag that a Gameplay Ability activation includes a target map location chosen by the player.") - -; Tags that identify events abilities can wait for during their activation. -GameplayTagList=(Tag="GameplayAbility.GameplayEvent.DamageReceived",DevComment="Tag on a GameplayEvent sent to a character to notify passive condition check GAs that the character has received damage.") -GameplayTagList=(Tag="GameplayAbility.GameplayEvent.FacingComplete",DevComment="Tag on a GameplayEvent sent to a character to notify the active ability that the character is now oriented properly for an attack to proceed against a target.") -GameplayTagList=(Tag="GameplayAbility.GameplayEvent.HitPointsChanged",DevComment="Tag on a GameplayEvent sent to a character to notify passive condition check GAs that the character's hit points have changed.") -GameplayTagList=(Tag="GameplayAbility.GameplayEvent.Montage.WeaponHit",DevComment="Tag on a GameplayEvent emitted during an attack montage at the point that the weapon should make contact with an enemy.") diff --git a/Config/Tags/PF2GameplayCues.ini b/Config/Tags/PF2GameplayCues.ini deleted file mode 100644 index 89aefc045..000000000 --- a/Config/Tags/PF2GameplayCues.ini +++ /dev/null @@ -1,8 +0,0 @@ -; OpenPF2 Game Framework for Unreal Engine, Copyright 2023-2024, Guy Elsmore-Paddock. All Rights Reserved. -; -; This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not -; distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. - -; Gameplay Cues that provide special FX and sound FX in response to effect activations. -[/Script/GameplayTags.GameplayTagsList] -GameplayTagList=(Tag="GameplayCue.Character.InflictDamage", DevComment="Gameplay cue fired whenever one character inflicts damage on another.") diff --git a/Config/Tags/PF2GameplayEffects.ini b/Config/Tags/PF2GameplayEffects.ini deleted file mode 100644 index 2a09c456c..000000000 --- a/Config/Tags/PF2GameplayEffects.ini +++ /dev/null @@ -1,22 +0,0 @@ -; OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. -; -; This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not -; distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. - -[/Script/GameplayTags.GameplayTagsList] -; Weights used to control the order that GEs are applied to an OpenPF2 character. -GameplayTagList=(Tag="GameplayEffect.WeightGroup.00_InitializeBaseStats", DevComment="The weight group used for GEs that initialize base stats.") -GameplayTagList=(Tag="GameplayEffect.WeightGroup.05_PostInitializeBaseStats", DevComment="The weight group used for GEs provided by the game designer that have to run right after base stats.") -GameplayTagList=(Tag="GameplayEffect.WeightGroup.10_ManagedEffects", DevComment="The weight group used for GEs generated from other values on this character (managed by ASC logic).") -GameplayTagList=(Tag="GameplayEffect.WeightGroup.15_PreAbilityBoosts", DevComment="The default weight group for custom, passive GEs from a game designer; applied before ability boosts.") -GameplayTagList=(Tag="GameplayEffect.WeightGroup.20_AbilityBoosts", DevComment="The weight group used for ability boosts selected by the player or a game designer.") -GameplayTagList=(Tag="GameplayEffect.WeightGroup.25_PreFinalizeStats", DevComment="The weight group used for custom GEs provided by the game designer that must run before the last group of stats GEs.") -GameplayTagList=(Tag="GameplayEffect.WeightGroup.30_FinalizeStats", DevComment="The weight group used for GEs that need to run last because they heavily depend on the results of earlier GEs.") - -; Parameters passed in to "Set by caller" GEs -GameplayTagList=(Tag="GameplayEffect.Parameter.Damage", DevComment="The parameter passed in to a dynamic damage GE, to control the amount of damage inflicted.") -GameplayTagList=(Tag="GameplayEffect.Parameter.Resistance", DevComment="The parameter passed in to a dynamic resistance GE, to control the amount of damage resistance.") -GameplayTagList=(Tag="GameplayEffect.Parameter.Healing", DevComment="The parameter passed in to a dynamic healing GE, to control the amount of hit points granted to the character.") - -; "Source" Tags passed in from Blueprints to calculate stats. These should not be used on weapons, characters, or other objects that appear in the world. -GameplayTagList=(Tag="GameplayEffect.CalculationSource.Initiative", DevComment="Source tag passed in when a character's initiative in an encounter is being determined.") diff --git a/Config/Tags/PF2Languages.ini b/Config/Tags/PF2Languages.ini deleted file mode 100644 index a313e1e00..000000000 --- a/Config/Tags/PF2Languages.ini +++ /dev/null @@ -1,44 +0,0 @@ -; OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. -; -; Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: -; - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. -; - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. -; - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. -; -; Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, -; as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this -; file other than the material designated as Open Game Content may be reproduced in any form without written -; permission. - -[/Script/GameplayTags.GameplayTagsList] -; Common Languages - "Languages that are common are regularly encountered in most places, even among those who aren’t native speakers." -; Source: Pathfinder 2E Core Rulebook, page 65, Table 2-1: Common Languages. -GameplayTagList=(Tag="Language.Common.Common",DevComment="Language spoken by humans, dwarves, elves, halflings, and other common ancestries.") -GameplayTagList=(Tag="Language.Common.Draconic",DevComment="Language spoken by dragons, reptilian humanoids.") -GameplayTagList=(Tag="Language.Common.Dwarven",DevComment="Language spoken by dwarves.") -GameplayTagList=(Tag="Language.Common.Elven",DevComment="Language spoken by elves, half-elves.") -GameplayTagList=(Tag="Language.Common.Gnomish",DevComment="Language spoken by gnomes.") -GameplayTagList=(Tag="Language.Common.Goblin",DevComment="Language spoken by goblins, hobgoblins, bugbears.") -GameplayTagList=(Tag="Language.Common.Halfling",DevComment="Language spoken by halflings.") -GameplayTagList=(Tag="Language.Common.Jotun",DevComment="Language spoken by giants, ogres, trolls, ettins, cyclopes.") -GameplayTagList=(Tag="Language.Common.Orcish",DevComment="Language spoken by orcs, half-orcs.") -GameplayTagList=(Tag="Language.Common.Sylvan",DevComment="Language spoken by fey, centaurs, plant creatures.") -GameplayTagList=(Tag="Language.Common.Undercommon",DevComment="Language spoken by drow, duergars, xulgaths.") - -; Uncommon Languages - "Languages that are uncommon are most frequently spoken by native speakers, but they are also spoken by certain scholars and others interested in the associated cultures." -; Source: Pathfinder 2E Core Rulebook, page 65, Table 2-2: Uncommon Languages. -GameplayTagList=(Tag="Language.Uncommon.Abyssal",DevComment="Language spoken by demons.") -GameplayTagList=(Tag="Language.Uncommon.Aklo",DevComment="Language spoken by deros, evil fey, otherworldly monsters.") -GameplayTagList=(Tag="Language.Uncommon.Aquan",DevComment="Language spoken by aquatic creatures, water elemental creatures.") -GameplayTagList=(Tag="Language.Uncommon.Auran",DevComment="Language spoken by air elemental creatures, flying creatures.") -GameplayTagList=(Tag="Language.Uncommon.Celestial",DevComment="Language spoken by angels.") -GameplayTagList=(Tag="Language.Uncommon.Gnoll",DevComment="Language spoken by gnolls.") -GameplayTagList=(Tag="Language.Uncommon.Ignan",DevComment="Language spoken by fire elemental creatures.") -GameplayTagList=(Tag="Language.Uncommon.Infernal",DevComment="Language spoken by devils.") -GameplayTagList=(Tag="Language.Uncommon.Necril",DevComment="Language spoken by ghouls, intelligent undead.") -GameplayTagList=(Tag="Language.Uncommon.Shadowtongue",DevComment="Language spoken by nidalese, Shadow Plane creatures.") -GameplayTagList=(Tag="Language.Uncommon.Terran",DevComment="Language spoken by earth elemental creatures.") - -; Secret Languages - "Druidic is a secret language, and is available only to characters who are druids. In fact, druids are prohibited from teaching the language to non-druids." -; Source: Pathfinder 2E Core Rulebook, page 65, Table 2-3: Secret Languages. -GameplayTagList=(Tag="Language.Secret.Druidic",DevComment="Language spoken by druids.") diff --git a/Config/Tags/PF2Skills.ini b/Config/Tags/PF2Skills.ini deleted file mode 100644 index fb52aab38..000000000 --- a/Config/Tags/PF2Skills.ini +++ /dev/null @@ -1,122 +0,0 @@ -; OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. -; -; Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: -; - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. -; - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. -; - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. -; -; Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, -; as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this -; file other than the material designated as Open Game Content may be reproduced in any form without written -; permission. - -[/Script/GameplayTags.GameplayTagsList] -; Skills - Representations of a character's training and experience at performing certain tasks. -; Source: Pathfinder 2E Core Rulebook, Chapter 4, pages 233-253. -GameplayTagList=(Tag="Skill.Acrobatics.Untrained",DevComment="Untrained in Acrobatics") -GameplayTagList=(Tag="Skill.Acrobatics.Trained",DevComment="Trained in Acrobatics") -GameplayTagList=(Tag="Skill.Acrobatics.Expert",DevComment="Expert in Acrobatics") -GameplayTagList=(Tag="Skill.Acrobatics.Master",DevComment="Master in Acrobatics") -GameplayTagList=(Tag="Skill.Acrobatics.Legendary",DevComment="Legendary in Acrobatics") - -GameplayTagList=(Tag="Skill.Arcana.Untrained",DevComment="Untrained in Arcana") -GameplayTagList=(Tag="Skill.Arcana.Trained",DevComment="Trained in Arcana") -GameplayTagList=(Tag="Skill.Arcana.Expert",DevComment="Expert in Arcana") -GameplayTagList=(Tag="Skill.Arcana.Master",DevComment="Master in Arcana") -GameplayTagList=(Tag="Skill.Arcana.Legendary",DevComment="Legendary in Arcana") - -GameplayTagList=(Tag="Skill.Athletics.Untrained",DevComment="Untrained in Athletics") -GameplayTagList=(Tag="Skill.Athletics.Trained",DevComment="Trained in Athletics") -GameplayTagList=(Tag="Skill.Athletics.Expert",DevComment="Expert in Athletics") -GameplayTagList=(Tag="Skill.Athletics.Master",DevComment="Master in Athletics") -GameplayTagList=(Tag="Skill.Athletics.Legendary",DevComment="Legendary in Athletics") - -GameplayTagList=(Tag="Skill.Crafting.Untrained",DevComment="Untrained in Crafting") -GameplayTagList=(Tag="Skill.Crafting.Trained",DevComment="Trained in Crafting") -GameplayTagList=(Tag="Skill.Crafting.Expert",DevComment="Expert in Crafting") -GameplayTagList=(Tag="Skill.Crafting.Master",DevComment="Master in Crafting") -GameplayTagList=(Tag="Skill.Crafting.Legendary",DevComment="Legendary in Crafting") - -GameplayTagList=(Tag="Skill.Deception.Untrained",DevComment="Untrained in Deception") -GameplayTagList=(Tag="Skill.Deception.Trained",DevComment="Trained in Deception") -GameplayTagList=(Tag="Skill.Deception.Expert",DevComment="Expert in Deception") -GameplayTagList=(Tag="Skill.Deception.Master",DevComment="Master in Deception") -GameplayTagList=(Tag="Skill.Deception.Legendary",DevComment="Legendary in Deception") - -GameplayTagList=(Tag="Skill.Diplomacy.Untrained",DevComment="Untrained in Diplomacy") -GameplayTagList=(Tag="Skill.Diplomacy.Trained",DevComment="Trained in Diplomacy") -GameplayTagList=(Tag="Skill.Diplomacy.Expert",DevComment="Expert in Diplomacy") -GameplayTagList=(Tag="Skill.Diplomacy.Master",DevComment="Master in Diplomacy") -GameplayTagList=(Tag="Skill.Diplomacy.Legendary",DevComment="Legendary in Diplomacy") - -GameplayTagList=(Tag="Skill.Intimidation.Untrained",DevComment="Untrained in Intimidation") -GameplayTagList=(Tag="Skill.Intimidation.Trained",DevComment="Trained in Intimidation") -GameplayTagList=(Tag="Skill.Intimidation.Expert",DevComment="Expert in Intimidation") -GameplayTagList=(Tag="Skill.Intimidation.Master",DevComment="Master in Intimidation") -GameplayTagList=(Tag="Skill.Intimidation.Legendary",DevComment="Legendary in Intimidation") - -GameplayTagList=(Tag="Skill.Lore1.Untrained",DevComment="Untrained in Lore1") -GameplayTagList=(Tag="Skill.Lore1.Trained",DevComment="Trained in Lore1") -GameplayTagList=(Tag="Skill.Lore1.Expert",DevComment="Expert in Lore1") -GameplayTagList=(Tag="Skill.Lore1.Master",DevComment="Master in Lore1") -GameplayTagList=(Tag="Skill.Lore1.Legendary",DevComment="Legendary in Lore1") - -GameplayTagList=(Tag="Skill.Lore2.Untrained",DevComment="Untrained in Lore2") -GameplayTagList=(Tag="Skill.Lore2.Trained",DevComment="Trained in Lore2") -GameplayTagList=(Tag="Skill.Lore2.Expert",DevComment="Expert in Lore2") -GameplayTagList=(Tag="Skill.Lore2.Master",DevComment="Master in Lore2") -GameplayTagList=(Tag="Skill.Lore2.Legendary",DevComment="Legendary in Lore2") - -GameplayTagList=(Tag="Skill.Medicine.Untrained",DevComment="Untrained in Medicine") -GameplayTagList=(Tag="Skill.Medicine.Trained",DevComment="Trained in Medicine") -GameplayTagList=(Tag="Skill.Medicine.Expert",DevComment="Expert in Medicine") -GameplayTagList=(Tag="Skill.Medicine.Master",DevComment="Master in Medicine") -GameplayTagList=(Tag="Skill.Medicine.Legendary",DevComment="Legendary in Medicine") - -GameplayTagList=(Tag="Skill.Nature.Untrained",DevComment="Untrained in Nature") -GameplayTagList=(Tag="Skill.Nature.Trained",DevComment="Trained in Nature") -GameplayTagList=(Tag="Skill.Nature.Expert",DevComment="Expert in Nature") -GameplayTagList=(Tag="Skill.Nature.Master",DevComment="Master in Nature") -GameplayTagList=(Tag="Skill.Nature.Legendary",DevComment="Legendary in Nature") - -GameplayTagList=(Tag="Skill.Occultism.Untrained",DevComment="Untrained in Occultism") -GameplayTagList=(Tag="Skill.Occultism.Trained",DevComment="Trained in Occultism") -GameplayTagList=(Tag="Skill.Occultism.Expert",DevComment="Expert in Occultism") -GameplayTagList=(Tag="Skill.Occultism.Master",DevComment="Master in Occultism") -GameplayTagList=(Tag="Skill.Occultism.Legendary",DevComment="Legendary in Occultism") - -GameplayTagList=(Tag="Skill.Performance.Untrained",DevComment="Untrained in Performance") -GameplayTagList=(Tag="Skill.Performance.Trained",DevComment="Trained in Performance") -GameplayTagList=(Tag="Skill.Performance.Expert",DevComment="Expert in Performance") -GameplayTagList=(Tag="Skill.Performance.Master",DevComment="Master in Performance") -GameplayTagList=(Tag="Skill.Performance.Legendary",DevComment="Legendary in Performance") - -GameplayTagList=(Tag="Skill.Religion.Untrained",DevComment="Untrained in Religion") -GameplayTagList=(Tag="Skill.Religion.Trained",DevComment="Trained in Religion") -GameplayTagList=(Tag="Skill.Religion.Expert",DevComment="Expert in Religion") -GameplayTagList=(Tag="Skill.Religion.Master",DevComment="Master in Religion") -GameplayTagList=(Tag="Skill.Religion.Legendary",DevComment="Legendary in Religion") - -GameplayTagList=(Tag="Skill.Society.Untrained",DevComment="Untrained in Society") -GameplayTagList=(Tag="Skill.Society.Trained",DevComment="Trained in Society") -GameplayTagList=(Tag="Skill.Society.Expert",DevComment="Expert in Society") -GameplayTagList=(Tag="Skill.Society.Master",DevComment="Master in Society") -GameplayTagList=(Tag="Skill.Society.Legendary",DevComment="Legendary in Society") - -GameplayTagList=(Tag="Skill.Stealth.Untrained",DevComment="Untrained in Stealth") -GameplayTagList=(Tag="Skill.Stealth.Trained",DevComment="Trained in Stealth") -GameplayTagList=(Tag="Skill.Stealth.Expert",DevComment="Expert in Stealth") -GameplayTagList=(Tag="Skill.Stealth.Master",DevComment="Master in Stealth") -GameplayTagList=(Tag="Skill.Stealth.Legendary",DevComment="Legendary in Stealth") - -GameplayTagList=(Tag="Skill.Survival.Untrained",DevComment="Untrained in Survival") -GameplayTagList=(Tag="Skill.Survival.Trained",DevComment="Trained in Survival") -GameplayTagList=(Tag="Skill.Survival.Expert",DevComment="Expert in Survival") -GameplayTagList=(Tag="Skill.Survival.Master",DevComment="Master in Survival") -GameplayTagList=(Tag="Skill.Survival.Legendary",DevComment="Legendary in Survival") - -GameplayTagList=(Tag="Skill.Thievery.Untrained",DevComment="Untrained in Thievery") -GameplayTagList=(Tag="Skill.Thievery.Trained",DevComment="Trained in Thievery") -GameplayTagList=(Tag="Skill.Thievery.Expert",DevComment="Expert in Thievery") -GameplayTagList=(Tag="Skill.Thievery.Master",DevComment="Master in Thievery") -GameplayTagList=(Tag="Skill.Thievery.Legendary",DevComment="Legendary in Thievery") diff --git a/Config/Tags/PF2SpecialSenses.ini b/Config/Tags/PF2SpecialSenses.ini deleted file mode 100644 index c74b2a19f..000000000 --- a/Config/Tags/PF2SpecialSenses.ini +++ /dev/null @@ -1,20 +0,0 @@ -; OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. -; -; Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: -; - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. -; - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. -; - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. -; -; Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, -; as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this -; file other than the material designated as Open Game Content may be reproduced in any form without written -; permission. - -[/Script/GameplayTags.GameplayTagsList] -; Special Senses - Special senses grant greater awareness that allows a creature with these senses to either ignore or reduce the effects of the undetected, hidden, or concealed conditions ... when it comes to situations that foil average vision. -; Source: Pathfinder 2E Core Rulebook, page 465, "Special Senses". -GameplayTagList=(Tag="SpecialSense.Darkvision",DevComment="A creature with darkvision can see perfectly well in areas of darkness and dim light, though such vision is in black and white only. Some forms of magical darkness, such as a 4th-level darkness spell, block normal darkvision.") -GameplayTagList=(Tag="SpecialSense.GreaterDarkvision",DevComment="A creature with greater darkvision can see perfectly well in areas of darkness and dim light, though such vision is in black and white only. Some forms of magical darkness, such as a 4th-level darkness spell, block normal darkvision. A creature with greater darkvision, however, can see through even these forms of magical darkness.") -GameplayTagList=(Tag="SpecialSense.LowLightVision",DevComment="A creature with low-light vision can see in dim light as though it were bright light, so it ignores the concealed condition due to dim light.") -GameplayTagList=(Tag="SpecialSense.Scent",DevComment="Scent involves sensing creatures or objects by smell, and is usually a vague sense. The range is listed in the ability, and it functions only if the creature or object being detected emits an aroma (for instance, incorporeal creatures usually do not exude an aroma).") -GameplayTagList=(Tag="SpecialSense.Tremorsense",DevComment="Tremorsense allows a creature to feel the vibrations through a solid surface caused by movement. It is usually an imprecise sense with a limited range (listed in the ability). Tremorsense functions only if the detecting creature is on the same surface as the subject, and only if the subject is moving along (or burrowing through) the surface.") diff --git a/Config/Tags/PF2Traits.ini b/Config/Tags/PF2Traits.ini deleted file mode 100644 index 9d2939f04..000000000 --- a/Config/Tags/PF2Traits.ini +++ /dev/null @@ -1,196 +0,0 @@ -; OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. -; -; Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: -; - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. -; - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. -; - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. -; -; Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, -; as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this -; file other than the material designated as Open Game Content may be reproduced in any form without written -; permission. - -[/Script/GameplayTags.GameplayTagsList] -; Traits - Keywords that convey information about a rules element. - -; Ability Traits -; Source: Pathfinder 2E Core Rulebook, Glossary, pages 628-638. -GameplayTagList=(Tag="Trait.Ability.Alchemist",DevComment="This indicates abilities from the alchemist class.") -GameplayTagList=(Tag="Trait.Ability.Attack",DevComment="An ability with this trait involves an attack. For each attack you make beyond the first on your turn, you take a multiple attack penalty.") -GameplayTagList=(Tag="Trait.Ability.Barbarian",DevComment="This indicates abilities from the barbarian class.") -GameplayTagList=(Tag="Trait.Ability.Bard",DevComment="This indicates abilities from the bard class.") -GameplayTagList=(Tag="Trait.Ability.Champion",DevComment="This indicates abilities from the champion class.") -GameplayTagList=(Tag="Trait.Ability.Cleric",DevComment="This indicates abilities from the cleric class.") -GameplayTagList=(Tag="Trait.Ability.Common",DevComment="Anything that doesn't list another rarity trait (uncommon, rare, or unique) automatically has the common trait. This rarity indicates that an ability is available to all players who meet the prerequisites for it.") -GameplayTagList=(Tag="Trait.Ability.Druid",DevComment="This indicates abilities from the druid class.") -GameplayTagList=(Tag="Trait.Ability.Fighter",DevComment="This indicates abilities from the fighter class.") -GameplayTagList=(Tag="Trait.Ability.Incapacitation",DevComment="An ability with this trait can take a character completely out of the fight or even kill them, and it's harder to use on a more powerful character.") -GameplayTagList=(Tag="Trait.Ability.Monk",DevComment="Abilities with this trait are from the monk class.") -GameplayTagList=(Tag="Trait.Ability.Ranger",DevComment="This indicates abilities from the ranger class.") -GameplayTagList=(Tag="Trait.Ability.Rogue",DevComment="This indicates abilities from the rogue class.") -GameplayTagList=(Tag="Trait.Ability.Secret",DevComment="The GM rolls the check for this ability in secret.") -GameplayTagList=(Tag="Trait.Ability.Sorcerer",DevComment="This indicates abilities from the sorcerer class.") -GameplayTagList=(Tag="Trait.Ability.Wizard",DevComment="This indicates abilities from the wizard class.") - -; Action Traits -; Source: Pathfinder 2E Core Rulebook, Glossary, pages 628-638. -GameplayTagList=(Tag="Trait.Action.Auditory",DevComment="Auditory actions rely on sound. An action with the auditory trait can be successful only if the creature using the action can speak or otherwise produce the required sounds.") -GameplayTagList=(Tag="Trait.Action.Concentrate",DevComment="An action with this trait requires a degree of mental concentration and discipline.") -GameplayTagList=(Tag="Trait.Action.Flourish",DevComment="Flourish actions are actions that require too much exertion to perform a large number in a row. You can use only 1 action with the flourish trait per turn.") -GameplayTagList=(Tag="Trait.Action.Manipulate",DevComment="You must physically manipulate an item or make gestures to use an action with this trait. Creatures without a suitable appendage can't perform actions with this trait. Manipulate actions often trigger reactions.") -GameplayTagList=(Tag="Trait.Action.Metamagic",DevComment="Actions with the metamagic trait, usually from metamagic feats, tweak the properties of your spells. You must use a metamagic action directly before Casting the Spell you want to alter. If you use any action (including free actions and reactions) other than Cast a Spell directly after, you waste the benefits of the metamagic action. Any additional effects added by a metamagic action are part of the spell's effect, not of the metamagic action itself.") -GameplayTagList=(Tag="Trait.Action.Move",DevComment="An action with this trait involves moving from one space to another.") -GameplayTagList=(Tag="Trait.Action.Open",DevComment="These maneuvers work only as the first salvo on your turn. You can use an open only if you haven't used an action with the attack or open trait yet this turn.") -GameplayTagList=(Tag="Trait.Action.Press",DevComment="Actions with this trait allow you to follow up earlier attacks. An action with the press trait can be used only if you are currently affected by a multiple attack penalty. Some actions with the press trait also grant an effect on a failure. The effects that are added on a failure don't apply on a critical failure. If your press action succeeds, you can choose to apply the failure effect instead. (For example, you may wish to do this when an attack deals no damage due to resistance.) Because a press action requires a multiple attack penalty, you can't use one when it's not your turn, even if you use the Ready activity.") -GameplayTagList=(Tag="Trait.Action.Stance",DevComment="A stance is a general combat strategy that you enter by using an action with the stance trait, and that you remain in for some time. A stance lasts until you get knocked out, until its requirements (if any) are violated, until the encounter ends, or until you enter a new stance, whichever comes first. After you use an action with the stance trait, you can't use another one for 1 round. You can enter or be in a stance only in encounter mode.") - -; Condition Traits -; Source: Pathfinder 2E Core Rulebook, Conditions Appendix, pages 618-623. -GameplayTagList=(Tag="Trait.Condition.Blinded",DevComment="You can't see. All normal terrain is difficult terrain to you. You can't detect anything using vision. You are immune to visual effects. Blinded overrides dazzled.") -GameplayTagList=(Tag="Trait.Condition.Broken",DevComment="Broken is a condition that affects objects. A broken object can't be used for its normal function, nor does it grant bonuses—with the exception of armor. A broken item still imposes penalties and limitations normally incurred by carrying, holding, or wearing it.") -GameplayTagList=(Tag="Trait.Condition.Clumsy",DevComment="Your movements become clumsy and inexact. Clumsy always includes a value.") -GameplayTagList=(Tag="Trait.Condition.Clumsy.1") -GameplayTagList=(Tag="Trait.Condition.Clumsy.2") -GameplayTagList=(Tag="Trait.Condition.Clumsy.3") -GameplayTagList=(Tag="Trait.Condition.Clumsy.4") -GameplayTagList=(Tag="Trait.Condition.Concealed",DevComment="While you are concealed from a creature, such as in a thick fog, you are difficult for that creature to see. You can still be observed, but you're tougher to target.") -GameplayTagList=(Tag="Trait.Condition.Confused",DevComment="You don't have your wits about you, and you attack wildly. You are flat-footed, you don't treat anyone as your ally (though they might still treat you as theirs), and you can't Delay, Ready, or use reactions.") -GameplayTagList=(Tag="Trait.Condition.Controlled",DevComment="Someone else is making your decisions for you, usually because you're being commanded or magically dominated.") -GameplayTagList=(Tag="Trait.Condition.Dazzled",DevComment="Your eyes are overstimulated. If vision is your only precise sense, all creatures and objects are concealed from you.") -GameplayTagList=(Tag="Trait.Condition.Deafened",DevComment="You can't hear. You automatically critically fail Perception checks that require you to be able to hear. You are immune to auditory effects.") -GameplayTagList=(Tag="Trait.Condition.Doomed",DevComment="A powerful force has gripped your soul, calling you closer to death. Doomed always includes a value. When you die, you're no longer doomed.") -GameplayTagList=(Tag="Trait.Condition.Doomed.1") -GameplayTagList=(Tag="Trait.Condition.Doomed.2") -GameplayTagList=(Tag="Trait.Condition.Doomed.3") -GameplayTagList=(Tag="Trait.Condition.Doomed.4") -GameplayTagList=(Tag="Trait.Condition.Drained",DevComment="When a creature successfully drains you of blood or life force, you become less healthy. Drained always includes a value.") -GameplayTagList=(Tag="Trait.Condition.Drained.1") -GameplayTagList=(Tag="Trait.Condition.Drained.2") -GameplayTagList=(Tag="Trait.Condition.Drained.3") -GameplayTagList=(Tag="Trait.Condition.Drained.4") -GameplayTagList=(Tag="Trait.Condition.Dying",DevComment="You are bleeding out or otherwise at death's door. While you have this condition, you are unconscious. Dying always includes a value, and if it ever reaches dying 4, you die.") -GameplayTagList=(Tag="Trait.Condition.Dying.1") -GameplayTagList=(Tag="Trait.Condition.Dying.2") -GameplayTagList=(Tag="Trait.Condition.Dying.3") -GameplayTagList=(Tag="Trait.Condition.Dying.4") -GameplayTagList=(Tag="Trait.Condition.Encumbered",DevComment="You are carrying more weight than you can manage.") -GameplayTagList=(Tag="Trait.Condition.Enfeebled",DevComment="You're physically weakened. Enfeebled always includes a value.") -GameplayTagList=(Tag="Trait.Condition.Enfeebled.1") -GameplayTagList=(Tag="Trait.Condition.Enfeebled.2") -GameplayTagList=(Tag="Trait.Condition.Enfeebled.3") -GameplayTagList=(Tag="Trait.Condition.Enfeebled.4") -GameplayTagList=(Tag="Trait.Condition.Fascinated",DevComment="You are compelled to focus your attention on something, distracting you from whatever else is going on around you.") -GameplayTagList=(Tag="Trait.Condition.Fatigued",DevComment="You're tired and can't summon much energy.") -GameplayTagList=(Tag="Trait.Condition.FlatFooted",DevComment="You're distracted or otherwise unable to focus your full attention on defense.") -GameplayTagList=(Tag="Trait.Condition.Fleeing",DevComment="You're forced to run away due to fear or some other compulsion.") -GameplayTagList=(Tag="Trait.Condition.Friendly",DevComment="This condition reflects a creature's disposition toward a particular character. A creature that is friendly to a character likes that character.") -GameplayTagList=(Tag="Trait.Condition.Frightened",DevComment="You're gripped by fear and struggle to control your nerves. The frightened condition always includes a value.") -GameplayTagList=(Tag="Trait.Condition.Frightened.1") -GameplayTagList=(Tag="Trait.Condition.Frightened.2") -GameplayTagList=(Tag="Trait.Condition.Frightened.3") -GameplayTagList=(Tag="Trait.Condition.Frightened.4") -GameplayTagList=(Tag="Trait.Condition.Grabbed",DevComment="You're held in place by another creature, giving you the flat-footed and immobilized conditions.") -GameplayTagList=(Tag="Trait.Condition.Helpful",DevComment="This condition reflects a creature's disposition toward a particular character. A creature that is helpful to a character wishes to actively aid that character.") -GameplayTagList=(Tag="Trait.Condition.Hidden",DevComment="While you're hidden from a creature, that creature knows the space you're in but can't tell precisely where you are.") -GameplayTagList=(Tag="Trait.Condition.Hostile",DevComment="This condition reflects a creature's disposition toward a particular character. A creature that is hostile to a character actively seeks to harm that character.") -GameplayTagList=(Tag="Trait.Condition.Immobilized",DevComment="You can't use any action with the move trait.") -GameplayTagList=(Tag="Trait.Condition.Indifferent",DevComment="This condition reflects a creature's disposition toward a particular character. A creature that is indifferent to a character doesn't really care one way or the other about that character.") -GameplayTagList=(Tag="Trait.Condition.Invisible",DevComment="While invisible, you can't be seen. You're undetected to everyone.") -GameplayTagList=(Tag="Trait.Condition.Observed",DevComment="Anything in plain view is observed by you.") -GameplayTagList=(Tag="Trait.Condition.Paralyzed",DevComment="You are frozen in place. You have the flat-footed condition and can't act except to Recall Knowledge and use actions that require only your mind. Your senses still function, but only in the areas you can perceive without moving.") -GameplayTagList=(Tag="Trait.Condition.Petrified",DevComment="You have been turned to stone. You can't act, nor can you sense anything. While petrified, your mind and body are in stasis, so you don't age or notice the passing of time.") -GameplayTagList=(Tag="Trait.Condition.Prone",DevComment="You're lying on the ground. You are flat-footed.") -GameplayTagList=(Tag="Trait.Condition.Quickened",DevComment="You gain 1 additional action at the start of your turn each round. Many effects that make you quickened specify the types of actions you can use with this additional action.") -GameplayTagList=(Tag="Trait.Condition.Restrained",DevComment="You're tied up and can barely move, or a creature has you pinned. You have the flat-footed and immobilized conditions, and you can't use any actions with the attack or manipulate traits except to attempt to Escape or Force. Open your bonds. Restrained overrides grabbed.") -GameplayTagList=(Tag="Trait.Condition.Sickened",DevComment="You feel ill. Sickened always includes a value. You can't willingly ingest anything—including elixirs and potions—while sickened.") -GameplayTagList=(Tag="Trait.Condition.Sickened.1"); -GameplayTagList=(Tag="Trait.Condition.Sickened.2"); -GameplayTagList=(Tag="Trait.Condition.Sickened.3"); -GameplayTagList=(Tag="Trait.Condition.Sickened.4"); -GameplayTagList=(Tag="Trait.Condition.Slowed",DevComment="You have fewer actions. Slowed always includes a value.") -GameplayTagList=(Tag="Trait.Condition.Slowed.1") -GameplayTagList=(Tag="Trait.Condition.Slowed.2") -GameplayTagList=(Tag="Trait.Condition.Slowed.3") -GameplayTagList=(Tag="Trait.Condition.Slowed.4") -GameplayTagList=(Tag="Trait.Condition.Stunned",DevComment="You've become senseless. You can't act while stunned. Stunned usually includes a value. Stunned overrides slowed.") -GameplayTagList=(Tag="Trait.Condition.Stunned.1") -GameplayTagList=(Tag="Trait.Condition.Stunned.2") -GameplayTagList=(Tag="Trait.Condition.Stunned.3") -GameplayTagList=(Tag="Trait.Condition.Stunned.4") -GameplayTagList=(Tag="Trait.Condition.Stupefied",DevComment="Your thoughts and instincts are clouded. Stupefied always includes a value.") -GameplayTagList=(Tag="Trait.Condition.Stupefied.1") -GameplayTagList=(Tag="Trait.Condition.Stupefied.2") -GameplayTagList=(Tag="Trait.Condition.Stupefied.3") -GameplayTagList=(Tag="Trait.Condition.Stupefied.4") -GameplayTagList=(Tag="Trait.Condition.Unconscious",DevComment="You're sleeping, or you've been knocked out. You can't act.") -GameplayTagList=(Tag="Trait.Condition.Undetected",DevComment="When you are undetected by a creature, that creature cannot see you at all, has no idea what space you occupy, and can't target you, though you still can be affected by abilities that target an area.") -GameplayTagList=(Tag="Trait.Condition.Unfriendly",DevComment="This condition reflects a creature's disposition toward a particular character. A creature that is unfriendly to a character dislikes and specifically distrusts that character.") -GameplayTagList=(Tag="Trait.Condition.Unnoticed",DevComment="If you are unnoticed by a creature, that creature has no idea you are present at all. When you’re unnoticed, you’re also undetected by the creature.") -GameplayTagList=(Tag="Trait.Condition.Wounded",DevComment="You have been seriously injured.") -GameplayTagList=(Tag="Trait.Condition.Wounded.1",DevComment="") -GameplayTagList=(Tag="Trait.Condition.Wounded.2",DevComment="") -GameplayTagList=(Tag="Trait.Condition.Wounded.3",DevComment="") -GameplayTagList=(Tag="Trait.Condition.Wounded.4",DevComment="") -; The following conditions do not appear in the Core Rulebook but were added by OpenPF2. -GameplayTagList=(Tag="Trait.Condition.Dead") - -; Effect Traits -; Source: Pathfinder 2E Core Rulebook, Conditions Appendix, pages 628-638. -GameplayTagList=(Tag="Trait.Effect.Death",DevComment="An effect with the death trait kills you immediately if it reduces you to 0 HP. Some death effects can bring you closer to death or slay you outright without reducing you to 0 HP.") -GameplayTagList=(Tag="Trait.Effect.Disease",DevComment="An effect with this trait applies one or more diseases. A disease is typically an affliction.") -GameplayTagList=(Tag="Trait.Effect.Linguistic",DevComment="An effect with this trait depends on language comprehension. A linguistic effect that targets a creature works only if the target understands the language you are using.") -GameplayTagList=(Tag="Trait.Effect.Nonlethal",DevComment="An effect with this trait is not inherently deadly. Damage from a nonlethal effect knocks a creature out rather than killing it.") -GameplayTagList=(Tag="Trait.Effect.Poison",DevComment="An effect with this trait delivers a poison or deals poison damage. An item with this trait is poisonous and might cause an affliction.") -GameplayTagList=(Tag="Trait.Effect.Sonic",DevComment="An effect with the sonic trait functions only if it makes sound, meaning it has no effect in an area of silence or in a vacuum. This is different from an auditory effect, which functions only if the target can hear it. A sonic effect might deal sonic damage.") - -; Creature Traits -; Source: Pathfinder 2E Core Rulebook, Glossary, pages 628-638. -GameplayTagList=(Tag="Trait.Creature.Elf",DevComment="A creature with this trait is a member of the elf ancestry. Elves are mysterious people with rich traditions of magic and scholarship who typically have low-light vision. An ability with this trait can be used or selected only by elves. A weapon with this trait is created and used by elves.") -GameplayTagList=(Tag="Trait.Creature.HalfElf",DevComment="A creature with this trait is part human and part elf. An ability with this trait can be used or selected only by half-elves.") -GameplayTagList=(Tag="Trait.Creature.HalfOrc",DevComment="A creature with this trait is part human and part orc. An ability with this trait can be used or selected only by half-orcs.") -GameplayTagList=(Tag="Trait.Creature.Human",DevComment="A creature with this trait is a member of the human ancestry. Humans are a diverse array of people known for their adaptability. An ability with this trait can be used or selected only by humans.") -GameplayTagList=(Tag="Trait.Creature.Humanoid",DevComment="Humanoid creatures reason and act much like humans. They typically stand upright and have two arms and two legs.") -GameplayTagList=(Tag="Trait.Creature.Orc",DevComment="A creature with this trait is a member of the orc ancestry. These green-skinned people tend to have darkvision. An ability with this trait can be used or selected only by orcs. An item with this trait is created and used by orcs.") - -; Weapon Traits -; Source: Pathfinder 2E Core Rulebook, "Weapon Traits", pages 282-283. -GameplayTagList=(Tag="Trait.Weapon.Agile",DevComment="A weapon with this trait has a different multiple attack penalty. The second attack on a character's turn is –4 instead of –5, and –8 instead of –10 on the third and subsequent attacks in the turn.") -GameplayTagList=(Tag="Trait.Weapon.Attached.ToShield",DevComment="A weapon with this trait must be combined with a shield to be used.") -GameplayTagList=(Tag="Trait.Weapon.Backstabber",DevComment="A weapon with this trait behaves differently when hitting a flat-footed creature. This weapon deals 1 precision damage in addition to its normal damage. The precision damage increases to 2 if the weapon is a +3 weapon.") -GameplayTagList=(Tag="Trait.Weapon.Backswing",DevComment="A weapon with this trait allows a character to use the momentum from a missed attack to lead into their next attack. After missing with this weapon on their turn, a character gains a +1 circumstance bonus to their next attack with this weapon before the end of their turn.") -GameplayTagList=(Tag="Trait.Weapon.Deadly.D6",DevComment="A weapon with this trait gets a D6 damage die added to critical hits. The die is rolled after doubling the weapon's damage. This increases to two dice if the weapon has a greater striking rune and three dice if the weapon has a major striking rune.") -GameplayTagList=(Tag="Trait.Weapon.Deadly.D8",DevComment="A weapon with this trait gets a D8 damage die added to critical hits. The die is rolled after doubling the weapon's damage. This increases to two dice if the weapon has a greater striking rune and three dice if the weapon has a major striking rune.") -GameplayTagList=(Tag="Trait.Weapon.Deadly.D10",DevComment="A weapon with this trait gets a D10 damage die added to critical hits. The die is rolled after doubling the weapon's damage. This increases to two dice if the weapon has a greater striking rune and three dice if the weapon has a major striking rune.") -GameplayTagList=(Tag="Trait.Weapon.Disarm",DevComment="A weapon with this trait allows a character to Disarm with the Athletics skill even if the character doesn't have a free hand. This uses the weapon's reach (if different from the character's own) and adds the weapon's item bonus to attack rolls (if any) as an item bonus to the Athletics check. If a character critically fails a check to Disarm using the weapon, they can drop the weapon to take the effects of a failure instead of a critical failure. On a critical success, they still need a free hand if they want to take the item.") -GameplayTagList=(Tag="Trait.Weapon.Dwarf",DevComment="A weapon with this trait is crafted and used by Dwarves.") -GameplayTagList=(Tag="Trait.Weapon.Elf",DevComment="A weapon with this trait is crafted and used by Elves.") -GameplayTagList=(Tag="Trait.Weapon.Fatal.D8",DevComment="A weapon with this trait has a D8 damage die on a critical hit instead of the normal die size, along with one additional D8 damage die.") -GameplayTagList=(Tag="Trait.Weapon.Fatal.D10",DevComment="A weapon with this trait has a D10 damage die on a critical hit instead of the normal die size, along with one additional D10 damage die.") -GameplayTagList=(Tag="Trait.Weapon.Fatal.D12",DevComment="A weapon with this trait has a D12 damage die on a critical hit instead of the normal die size, along with one additional D12 damage die.") -GameplayTagList=(Tag="Trait.Weapon.Finesse",DevComment="A melee weapon with this trait allows a character to use their Dexterity modifier instead of their Strength modifier on attack rolls. The character still uses their Strength modifier when calculating damage.") -GameplayTagList=(Tag="Trait.Weapon.Forceful",DevComment="A weapon with this trait becomes more dangerous as a character builds momentum. When they attack with it more than once on their turn, the second attack gains a circumstance bonus to damage equal to the number of weapon damage dice, and each subsequent attack gains a circumstance bonus to damage equal to double the number of weapon damage dice.") -GameplayTagList=(Tag="Trait.Weapon.FreeHand",DevComment="A weapon with this trait doesn't take up a character's hand, usually because it is built into the character's armor. A free-hand weapon can't be Disarmed. The character can use the hand covered by the free-hand weapon to wield other items, perform manipulate actions, and so on. They can't attack with a free-hand weapon if they're wielding anything in that hand or otherwise using that hand. When they're not wielding anything and not otherwise using the hand, they can use abilities that require them to have a hand free as well as those that require them to be wielding a weapon in that hand. Each of their hands can have only one free-hand weapon on it.") -GameplayTagList=(Tag="Trait.Weapon.Gnome",DevComment="A weapon with this trait is crafted and used by Gnomes.") -GameplayTagList=(Tag="Trait.Weapon.Goblin",DevComment="A weapon with this trait is crafted and used by Goblins.") -GameplayTagList=(Tag="Trait.Weapon.Halfling",DevComment="A weapon with this trait is crafted and used by Halflings.") -GameplayTagList=(Tag="Trait.Weapon.Jousting.D6",DevComment="A weapon with this trait is suited for mounted combat with a harness or similar means. When mounted, if the character moved at least 3 meters on the action before their attack, add a circumstance bonus to damage for that attack equal to the number of damage dice for the weapon. In addition, while mounted, they can wield the weapon in one hand, changing the damage die to a D6.") -GameplayTagList=(Tag="Trait.Weapon.Monk",DevComment="A weapon with this trait monks often learn to use.") -GameplayTagList=(Tag="Trait.Weapon.Nonlethal",DevComment="A weapon with this trait often has a nonlethal attack, and is used to knock creatures unconscious instead of kill them. A character can use a nonlethal weapon to make a lethal attack with a –2 circumstance penalty.") -GameplayTagList=(Tag="Trait.Weapon.Orc",DevComment="A weapon with this trait is crafted and used by Orcs.") -GameplayTagList=(Tag="Trait.Weapon.Parry",DevComment="A weapon with this trait can be used defensively to block attacks. While wielding this weapon, if a character's proficiency with it is trained or better, they can spend a single action to position their weapon defensively, gaining a +1 circumstance bonus to AC until the start of their next turn.") -GameplayTagList=(Tag="Trait.Weapon.Propulsive",DevComment="A ranged weapon with this trait enables a character to add half their Strength modifier (if positive) to damage rolls. If the character has a negative Strength modifier, they add their full Strength modifier instead.") -GameplayTagList=(Tag="Trait.Weapon.Reach",DevComment="A weapon with this trait is long and can be used to attack creatures up to 3 meters away instead of only adjacent creatures. For creatures that already have reach with the limb or limbs that wield the weapon, the weapon increases their reach by 1.5 meters.") -GameplayTagList=(Tag="Trait.Weapon.Shove",DevComment="A weapon with this trait can be used by a character to Shove with the Athletics skill even if they don't have a free hand. This uses the weapon's reach (if different from their own) and adds the weapon's item bonus to attack rolls as an item bonus to the Athletics check. If they critically fail a check to Shove using the weapon, they can drop the weapon to take the effects of a failure instead of a critical failure.") -GameplayTagList=(Tag="Trait.Weapon.Sweep",DevComment="A weapon with this trait makes wide sweeping or spinning attacks, making it easier to attack multiple enemies. When a character attacks with this weapon, they gain a +1 circumstance bonus to their attack roll if they already attempted to attack a different target this turn using this weapon.") -GameplayTagList=(Tag="Trait.Weapon.Thrown.3m",DevComment="A weapon with this trait can be thrown as a ranged attack; it is a ranged weapon when thrown. The character adds their Strength modifier to damage as they would for a melee weapon. When this trait appears on a melee weapon, it uses a range increment of 3 meters. Ranged weapons with this trait use the range increment in the weapon's Range entry.") -GameplayTagList=(Tag="Trait.Weapon.Thrown.6m",DevComment="A weapon with this trait can be thrown as a ranged attack; it is a ranged weapon when thrown. The character adds their Strength modifier to damage as they would for a melee weapon. When this trait appears on a melee weapon, it uses a range increment of 6 meters. Ranged weapons with this trait use the range increment in the weapon's Range entry.") -GameplayTagList=(Tag="Trait.Weapon.Trip",DevComment="A wrapon with this trait can be used to Trip with the Athletics skill even if the character doesn't have a free hand. This uses the weapon's reach (if different from their own) and adds the weapon's item bonus to attack rolls as an item bonus to the Athletics check. If they critically fail a check to Trip using the weapon, they can drop the weapon to take the effects of a failure instead of a critical failure.") -GameplayTagList=(Tag="Trait.Weapon.Twin",DevComment="Two weapons with this trait are used as a pair, complementing each other. When a character attacks with a twin weapon, they add a circumstance bonus to the damage roll equal to the weapon's number of damage dice if they have previously attacked with a different weapon of the same type this turn. The weapons must be of the same type to benefit from this trait, but they don't need to have the same runes.") -GameplayTagList=(Tag="Trait.Weapon.Two-hand.D8",DevComment="A weapon with this trait can be wielded with two hands. Doing so changes its weapon damage die to a D8. This change applies to all the weapon's damage dice, such as those from striking runes.") -GameplayTagList=(Tag="Trait.Weapon.Two-hand.D10",DevComment="A weapon with this trait can be wielded with two hands. Doing so changes its weapon damage die to a D10. This change applies to all the weapon's damage dice, such as those from striking runes.") -GameplayTagList=(Tag="Trait.Weapon.Two-hand.D12",DevComment="A weapon with this trait can be wielded with two hands. Doing so changes its weapon damage die to a D12. This change applies to all the weapon's damage dice, such as those from striking runes.") -GameplayTagList=(Tag="Trait.Weapon.Unarmed",DevComment="An unarmed attack uses a character's body rather than a manufactured weapon. An unarmed attack isn't a weapon, though it's categorized with weapons for weapon groups, and it might have weapon traits. Since it's part of a character's body, an unarmed attack can't be Disarmed. It also doesn't take up a hand, though a fist or other grasping appendage generally works like a free-hand weapon.") -GameplayTagList=(Tag="Trait.Weapon.Versatile.Bludgeoning",DevComment="A weapon with this trait can be used to deal Bludgeoning (B) damage instead of the type of damage listed in the Damage entry. The character chooses the damage type each time they make an attack.") -GameplayTagList=(Tag="Trait.Weapon.Versatile.Piercing",DevComment="A weapon with this trait can be used to deal Piercing (P) damage instead of the type of damage listed in the Damage entry. The character chooses the damage type each time they make an attack.") -GameplayTagList=(Tag="Trait.Weapon.Versatile.Slashing",DevComment="A weapon with this trait can be used to deal Slashing (S) damage instead of the type of damage listed in the Damage entry. The character chooses the damage type each time they make an attack.") -GameplayTagList=(Tag="Trait.Weapon.Volley.9m",DevComment="A ranged weapon with this trait is less effective at close distances. A character's attacks against targets that are at a distance of 9 meters take a –2 penalty.") diff --git a/Config/Tags/PF2WeaponGroups.ini b/Config/Tags/PF2WeaponGroups.ini deleted file mode 100644 index a131c5a73..000000000 --- a/Config/Tags/PF2WeaponGroups.ini +++ /dev/null @@ -1,30 +0,0 @@ -; OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. -; -; Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: -; - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. -; - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. -; - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. -; -; Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, -; as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this -; file other than the material designated as Open Game Content may be reproduced in any form without written -; permission. - -[/Script/GameplayTags.GameplayTagsList] -; Weapon Groups -; From the Pathfinder 2E Core Rulebook, pages 280-282; Tables 6-6, 6-7, and 6-8. -GameplayTagList=(Tag="WeaponGroup.Axe") -GameplayTagList=(Tag="WeaponGroup.Bomb") -GameplayTagList=(Tag="WeaponGroup.Bow") -GameplayTagList=(Tag="WeaponGroup.Brawling") -GameplayTagList=(Tag="WeaponGroup.Club") -GameplayTagList=(Tag="WeaponGroup.Dart") -GameplayTagList=(Tag="WeaponGroup.Flail") -GameplayTagList=(Tag="WeaponGroup.Hammer") -GameplayTagList=(Tag="WeaponGroup.Knife") -GameplayTagList=(Tag="WeaponGroup.Pick") -GameplayTagList=(Tag="WeaponGroup.Polearm") -GameplayTagList=(Tag="WeaponGroup.Shield") -GameplayTagList=(Tag="WeaponGroup.Sling") -GameplayTagList=(Tag="WeaponGroup.Spear") -GameplayTagList=(Tag="WeaponGroup.Sword") diff --git a/Config/Tags/PF2WeaponProficiencies.ini b/Config/Tags/PF2WeaponProficiencies.ini deleted file mode 100644 index c05918876..000000000 --- a/Config/Tags/PF2WeaponProficiencies.ini +++ /dev/null @@ -1,390 +0,0 @@ -; OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. -; -; Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: -; - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. -; - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. -; - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. -; -; Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, -; as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this -; file other than the material designated as Open Game Content may be reproduced in any form without written -; permission. - -[/Script/GameplayTags.GameplayTagsList] -; Proficiency Ranks for Unarmed Attacks -; Weapon type mentioned in Pathfinder 2E Core Rulebook under: -; - Chapter 3, page 71, "Attacks" for "Alchemist" -; - Chapter 3, page 83, "Attacks" for "Barbarian" -; - Chapter 3, page 95, "Attacks" for "Bard" -; - Chapter 3, page 105, "Attacks" for "Champion" -; - Chapter 3, page 117, "Attacks" for "Cleric" -; - Chapter 3, page 129, "Attacks" for "Druid" -; - Chapter 3, page 141, "Attacks" for "Fighter" -; - Chapter 3, page 155, "Attacks" for "Monk" -; - Chapter 3, page 167, "Attacks" for "Ranger" -; - Chapter 3, page 179, "Attacks" for "Rogue" -; - Chapter 3, page 191, "Attacks" for "Sorcerer" -; - Chapter 3, page 203, "Attacks" for "Wizard" -GameplayTagList=(Tag="WeaponProficiency.Category.Unarmed.Untrained",DevComment="Untrained with Unarmed attacks") -GameplayTagList=(Tag="WeaponProficiency.Category.Unarmed.Trained",DevComment="Trained with Unarmed attacks") -GameplayTagList=(Tag="WeaponProficiency.Category.Unarmed.Expert",DevComment="Expert with Unarmed attacks") -GameplayTagList=(Tag="WeaponProficiency.Category.Unarmed.Master",DevComment="Master with Unarmed attacks") -GameplayTagList=(Tag="WeaponProficiency.Category.Unarmed.Legendary",DevComment="Legendary with Unarmed attacks") - -; Proficiency Ranks for Simple Weapons -; Weapon type mentioned in Pathfinder 2E Core Rulebook under: -; - Chapter 3, page 71, "Attacks" for "Alchemist" -; - Chapter 3, page 83, "Attacks" for "Barbarian" -; - Chapter 3, page 95, "Attacks" for "Bard" -; - Chapter 3, page 105, "Attacks" for "Champion" -; - Chapter 3, page 117, "Attacks" for "Cleric" -; - Chapter 3, page 129, "Attacks" for "Druid" -; - Chapter 3, page 141, "Attacks" for "Fighter" -; - Chapter 3, page 155, "Attacks" for "Monk" -; - Chapter 3, page 167, "Attacks" for "Ranger" -; - Chapter 3, page 179, "Attacks" for "Rogue" -; - Chapter 3, page 191, "Attacks" for "Sorcerer" -GameplayTagList=(Tag="WeaponProficiency.Category.Simple.Untrained",DevComment="Untrained with Simple weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.Simple.Trained",DevComment="Trained with Simple weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.Simple.Expert",DevComment="Expert with Simple weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.Simple.Master",DevComment="Master with Simple weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.Simple.Legendary",DevComment="Legendary with Simple weapons") - -; Proficiency Ranks for Advanced Weapons -; Weapon type mentioned in Pathfinder 2E Core Rulebook under: -; - Chapter 3, page 141, "Attacks" for "Fighter" -GameplayTagList=(Tag="WeaponProficiency.Category.Advanced.Untrained",DevComment="Untrained with Advanced weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.Advanced.Trained",DevComment="Trained with Advanced weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.Advanced.Expert",DevComment="Expert with Advanced weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.Advanced.Master",DevComment="Master with Advanced weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.Advanced.Legendary",DevComment="Legendary with Advanced weapons") - -; Proficiency Ranks for Advanced Dwarf Weapons -; From the Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity": -; "For the purpose of determining your proficiency, [...] advanced dwarf weapons are martial weapons." -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedDwarf.Untrained",DevComment="Untrained with Advanced Dwarf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedDwarf.Trained",DevComment="Trained with Advanced Dwarf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedDwarf.Expert",DevComment="Expert with Advanced Dwarf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedDwarf.Master",DevComment="Master with Advanced Dwarf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedDwarf.Legendary",DevComment="Legendary with Advanced Dwarf weapons") - -; Proficiency Ranks for Advanced Elf Weapons -; From the Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity": -; "For the purpose of determining your proficiency, [...] advanced elf weapons are martial weapons." -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedElf.Untrained",DevComment="Untrained with Advanced Elf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedElf.Trained",DevComment="Trained with Advanced Elf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedElf.Expert",DevComment="Expert with Advanced Elf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedElf.Master",DevComment="Master with Advanced Elf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedElf.Legendary",DevComment="Legendary with Advanced Elf weapons") - -; Proficiency Ranks for Advanced Gnome Weapons -; From the Pathfinder 2E Core Rulebook, Chapter 2, page 44, "Gnome Weapon Familiarity": -; "For the purpose of determining your proficiency, [...] advanced gnome weapons are martial weapons." -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedGnome.Untrained",DevComment="Untrained with Advanced Gnome weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedGnome.Trained",DevComment="Trained with Advanced Gnome weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedGnome.Expert",DevComment="Expert with Advanced Gnome weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedGnome.Master",DevComment="Master with Advanced Gnome weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedGnome.Legendary",DevComment="Legendary with Advanced Gnome weapons") - -; Proficiency Ranks for Advanced Goblin Weapons -; From the Pathfinder 2E Core Rulebook, Chapter 2, page 48, "Goblin Weapon Familiarity": -; "For the purpose of determining your proficiency, [...] advanced goblin weapons are martial weapons." -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedGoblin.Untrained",DevComment="Untrained with Advanced Goblin weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedGoblin.Trained",DevComment="Trained with Advanced Goblin weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedGoblin.Expert",DevComment="Expert with Advanced Goblin weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedGoblin.Master",DevComment="Master with Advanced Goblin weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedGoblin.Legendary",DevComment="Legendary with Advanced Goblin weapons") - -; Proficiency Ranks for Advanced Halfling Weapons -; From the Pathfinder 2E Core Rulebook, Chapter 2, page 52, "Halfling Weapon Familiarity": -; "For the purpose of determining your proficiency, [...] advanced halfling weapons are martial weapons." -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedHalfling.Untrained",DevComment="Untrained with Advanced Halfling weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedHalfling.Trained",DevComment="Trained with Advanced Halfling weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedHalfling.Expert",DevComment="Expert with Advanced Halfling weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedHalfling.Master",DevComment="Master with Advanced Halfling weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.AdvancedHalfling.Legendary",DevComment="Legendary with Advanced Halfling weapons") - -; Proficiency Ranks for Martial Weapons -; Weapon type mentioned in Pathfinder 2E Core Rulebook under: -; - Chapter 3, page 83, "Attacks" for "Barbarian" -; - Chapter 3, page 105, "Attacks" for "Champion" -; - Chapter 3, page 141, "Attacks" for "Fighter" -; - Chapter 3, page 167, "Attacks" for "Ranger" -GameplayTagList=(Tag="WeaponProficiency.Category.Martial.Untrained",DevComment="Untrained with Martial weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.Martial.Trained",DevComment="Trained with Martial weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.Martial.Expert",DevComment="Expert with Martial weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.Martial.Master",DevComment="Master with Martial weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.Martial.Legendary",DevComment="Legendary with Martial weapons") - -; Proficiency Ranks for Martial Dwarf Weapons -; From the Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity": -; "For the purpose of determining your proficiency, martial dwarf weapons are simple weapons..." -GameplayTagList=(Tag="WeaponProficiency.Category.MartialDwarf.Untrained",DevComment="Untrained with Martial Dwarf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialDwarf.Trained",DevComment="Trained with Martial Dwarf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialDwarf.Expert",DevComment="Expert with Martial Dwarf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialDwarf.Master",DevComment="Master with Martial Dwarf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialDwarf.Legendary",DevComment="Legendary with Martial Dwarf weapons") - -; Proficiency Ranks for Martial Elf Weapons -; From the Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity": -; "For the purpose of determining your proficiency, martial elf weapons are simple weapons..." -GameplayTagList=(Tag="WeaponProficiency.Category.MartialElf.Untrained",DevComment="Untrained with Martial Elf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialElf.Trained",DevComment="Trained with Martial Elf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialElf.Expert",DevComment="Expert with Martial Elf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialElf.Master",DevComment="Master with Martial Elf weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialElf.Legendary",DevComment="Legendary with Martial Elf weapons") - -; Proficiency Ranks for Martial Gnome Weapons -; From the Pathfinder 2E Core Rulebook, Chapter 2, page 44, "Gnome Weapon Familiarity": -; "For the purpose of determining your proficiency, martial gnome weapons are simple weapons..." -GameplayTagList=(Tag="WeaponProficiency.Category.MartialGnome.Untrained",DevComment="Untrained with Martial Gnome weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialGnome.Trained",DevComment="Trained with Martial Gnome weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialGnome.Expert",DevComment="Expert with Martial Gnome weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialGnome.Master",DevComment="Master with Martial Gnome weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialGnome.Legendary",DevComment="Legendary with Martial Gnome weapons") - -; Proficiency Ranks for Martial Goblin Weapons -; From the Pathfinder 2E Core Rulebook, Chapter 2, page 48, "Goblin Weapon Familiarity": -; "For the purpose of determining your proficiency, martial goblin weapons are simple weapons..." -GameplayTagList=(Tag="WeaponProficiency.Category.MartialGoblin.Untrained",DevComment="Untrained with Martial Goblin weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialGoblin.Trained",DevComment="Trained with Martial Goblin weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialGoblin.Expert",DevComment="Expert with Martial Goblin weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialGoblin.Master",DevComment="Master with Martial Goblin weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialGoblin.Legendary",DevComment="Legendary with Martial Goblin weapons") - -; Proficiency Ranks for Martial Halfling Weapons -; From the Pathfinder 2E Core Rulebook, Chapter 2, page 52, "Halfling Weapon Familiarity": -; "For the purpose of determining your proficiency, martial halfling weapons are simple weapons..." -GameplayTagList=(Tag="WeaponProficiency.Category.MartialHalfling.Untrained",DevComment="Untrained with Martial Halfling weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialHalfling.Trained",DevComment="Trained with Martial Halfling weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialHalfling.Expert",DevComment="Expert with Martial Halfling weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialHalfling.Master",DevComment="Master with Martial Halfling weapons") -GameplayTagList=(Tag="WeaponProficiency.Category.MartialHalfling.Legendary",DevComment="Legendary with Martial Halfling weapons") - -; Proficiency Ranks for Alchemical Bombs -; Weapon type mentioned in Pathfinder 2E Core Rulebook under: -; - Chapter 3, page 71, "Attacks" for "Alchemist" -GameplayTagList=(Tag="WeaponProficiency.AlchemicalBomb.Untrained",DevComment="Untrained with Alchemical Bombs") -GameplayTagList=(Tag="WeaponProficiency.AlchemicalBomb.Trained",DevComment="Trained with Alchemical Bombs") -GameplayTagList=(Tag="WeaponProficiency.AlchemicalBomb.Expert",DevComment="Expert with Alchemical Bombs") -GameplayTagList=(Tag="WeaponProficiency.AlchemicalBomb.Master",DevComment="Master with Alchemical Bombs") -GameplayTagList=(Tag="WeaponProficiency.AlchemicalBomb.Legendary",DevComment="Legendary with Alchemical Bombs") - -; Proficiency Ranks for Battle Axes -; Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity". -GameplayTagList=(Tag="WeaponProficiency.BattleAxe.Untrained",DevComment="Untrained with Battle Axes") -GameplayTagList=(Tag="WeaponProficiency.BattleAxe.Trained",DevComment="Trained with Battle Axes") -GameplayTagList=(Tag="WeaponProficiency.BattleAxe.Expert",DevComment="Expert with Battle Axes") -GameplayTagList=(Tag="WeaponProficiency.BattleAxe.Master",DevComment="Master with Battle Axes") -GameplayTagList=(Tag="WeaponProficiency.BattleAxe.Legendary",DevComment="Legendary with Battle Axes") - -; Proficiency Ranks for Clubs -; Weapon mentioned in Pathfinder 2E Core Rulebook, under: -; - Chapter 3, page 203, "Attacks" for "Wizard" -GameplayTagList=(Tag="WeaponProficiency.Club.Untrained",DevComment="Untrained with Clubs") -GameplayTagList=(Tag="WeaponProficiency.Club.Trained",DevComment="Trained with Clubs") -GameplayTagList=(Tag="WeaponProficiency.Club.Expert",DevComment="Expert with Clubs") -GameplayTagList=(Tag="WeaponProficiency.Club.Master",DevComment="Master with Clubs") -GameplayTagList=(Tag="WeaponProficiency.Club.Legendary",DevComment="Legendary with Clubs") - -; Proficiency Ranks for Composite Longbows -; Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity". -GameplayTagList=(Tag="WeaponProficiency.CompositeLongbow.Untrained",DevComment="Untrained with Composite Longbows") -GameplayTagList=(Tag="WeaponProficiency.CompositeLongbow.Trained",DevComment="Trained with Composite Longbows") -GameplayTagList=(Tag="WeaponProficiency.CompositeLongbow.Expert",DevComment="Expert with Composite Longbows") -GameplayTagList=(Tag="WeaponProficiency.CompositeLongbow.Master",DevComment="Master with Composite Longbows") -GameplayTagList=(Tag="WeaponProficiency.CompositeLongbow.Legendary",DevComment="Legendary with Composite Longbows") - -; Proficiency Ranks for Composite Shortbows -; Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity". -GameplayTagList=(Tag="WeaponProficiency.CompositeShortbow.Untrained",DevComment="Untrained with Composite Shortbows") -GameplayTagList=(Tag="WeaponProficiency.CompositeShortbow.Trained",DevComment="Trained with Composite Shortbows") -GameplayTagList=(Tag="WeaponProficiency.CompositeShortbow.Expert",DevComment="Expert with Composite Shortbows") -GameplayTagList=(Tag="WeaponProficiency.CompositeShortbow.Master",DevComment="Master with Composite Shortbows") -GameplayTagList=(Tag="WeaponProficiency.CompositeShortbow.Legendary",DevComment="Legendary with Composite Shortbows") - -; Proficiency Ranks for Crossbows -; Weapon mentioned in Pathfinder 2E Core Rulebook, under: -; - Chapter 3, page 203, "Attacks" for "Wizard" -GameplayTagList=(Tag="WeaponProficiency.Crossbow.Untrained",DevComment="Untrained with Crossbows") -GameplayTagList=(Tag="WeaponProficiency.Crossbow.Trained",DevComment="Trained with Crossbows") -GameplayTagList=(Tag="WeaponProficiency.Crossbow.Expert",DevComment="Expert with Crossbows") -GameplayTagList=(Tag="WeaponProficiency.Crossbow.Master",DevComment="Master with Crossbows") -GameplayTagList=(Tag="WeaponProficiency.Crossbow.Legendary",DevComment="Legendary with Crossbows") - -; Proficiency Ranks for Daggers -; Weapon mentioned in Pathfinder 2E Core Rulebook, under: -; - Chapter 3, page 203, "Attacks" for "Wizard" -GameplayTagList=(Tag="WeaponProficiency.Dagger.Untrained",DevComment="Untrained with Daggers") -GameplayTagList=(Tag="WeaponProficiency.Dagger.Trained",DevComment="Trained with Daggers") -GameplayTagList=(Tag="WeaponProficiency.Dagger.Expert",DevComment="Expert with Daggers") -GameplayTagList=(Tag="WeaponProficiency.Dagger.Master",DevComment="Master with Daggers") -GameplayTagList=(Tag="WeaponProficiency.Dagger.Legendary",DevComment="Legendary with Daggers") - -; Proficiency Ranks for Dogslicers -; Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 48, "Goblin Weapon Familiarity". -GameplayTagList=(Tag="WeaponProficiency.Dogslicer.Untrained",DevComment="Untrained with Dogslicers") -GameplayTagList=(Tag="WeaponProficiency.Dogslicer.Trained",DevComment="Trained with Dogslicers") -GameplayTagList=(Tag="WeaponProficiency.Dogslicer.Expert",DevComment="Expert with Dogslicers") -GameplayTagList=(Tag="WeaponProficiency.Dogslicer.Master",DevComment="Master with Dogslicers") -GameplayTagList=(Tag="WeaponProficiency.Dogslicer.Legendary",DevComment="Legendary with Dogslicers") - -; Proficiency Ranks for Falchions -; Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 58, "Orc Weapon Familiarity". -GameplayTagList=(Tag="WeaponProficiency.Falchion.Untrained",DevComment="Untrained with Falchions") -GameplayTagList=(Tag="WeaponProficiency.Falchion.Trained",DevComment="Trained with Falchions") -GameplayTagList=(Tag="WeaponProficiency.Falchion.Expert",DevComment="Expert with Falchions") -GameplayTagList=(Tag="WeaponProficiency.Falchion.Master",DevComment="Master with Falchions") -GameplayTagList=(Tag="WeaponProficiency.Falchion.Legendary",DevComment="Legendary with Falchions") - -; Proficiency Ranks for Glaives -; Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 44, "Gnome Weapon Familiarity". -GameplayTagList=(Tag="WeaponProficiency.Glaive.Untrained",DevComment="Untrained with Glaives") -GameplayTagList=(Tag="WeaponProficiency.Glaive.Trained",DevComment="Trained with Glaives") -GameplayTagList=(Tag="WeaponProficiency.Glaive.Expert",DevComment="Expert with Glaives") -GameplayTagList=(Tag="WeaponProficiency.Glaive.Master",DevComment="Master with Glaives") -GameplayTagList=(Tag="WeaponProficiency.Glaive.Legendary",DevComment="Legendary with Glaives") - -; Proficiency Ranks for Greataxes -; Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 58, "Orc Weapon Familiarity". -GameplayTagList=(Tag="WeaponProficiency.Greataxe.Untrained",DevComment="Untrained with Greataxes") -GameplayTagList=(Tag="WeaponProficiency.Greataxe.Trained",DevComment="Trained with Greataxes") -GameplayTagList=(Tag="WeaponProficiency.Greataxe.Expert",DevComment="Expert with Greataxes") -GameplayTagList=(Tag="WeaponProficiency.Greataxe.Master",DevComment="Master with Greataxes") -GameplayTagList=(Tag="WeaponProficiency.Greataxe.Legendary",DevComment="Legendary with Greataxes") - -; Proficiency Ranks for Halfling Sling Staves -; Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 52, "Halfling Weapon Familiarity". -GameplayTagList=(Tag="WeaponProficiency.HalflingSlingStaff.Untrained",DevComment="Untrained with Halfling Sling Staves") -GameplayTagList=(Tag="WeaponProficiency.HalflingSlingStaff.Trained",DevComment="Trained with Halfling Sling Staves") -GameplayTagList=(Tag="WeaponProficiency.HalflingSlingStaff.Expert",DevComment="Expert with Halfling Sling Staves") -GameplayTagList=(Tag="WeaponProficiency.HalflingSlingStaff.Master",DevComment="Master with Halfling Sling Staves") -GameplayTagList=(Tag="WeaponProficiency.HalflingSlingStaff.Legendary",DevComment="Legendary with Halfling Sling Staves") - -; Proficiency Ranks for Heavy Crossbows -; Weapon mentioned in Pathfinder 2E Core Rulebook, under: -; - Chapter 3, page 203, "Attacks" for "Wizard" -GameplayTagList=(Tag="WeaponProficiency.HeavyCrossbow.Untrained",DevComment="Untrained with Heavy Crossbows") -GameplayTagList=(Tag="WeaponProficiency.HeavyCrossbow.Trained",DevComment="Trained with Heavy Crossbows") -GameplayTagList=(Tag="WeaponProficiency.HeavyCrossbow.Expert",DevComment="Expert with Heavy Crossbows") -GameplayTagList=(Tag="WeaponProficiency.HeavyCrossbow.Master",DevComment="Master with Heavy Crossbows") -GameplayTagList=(Tag="WeaponProficiency.HeavyCrossbow.Legendary",DevComment="Legendary with Heavy Crossbows") - -; Proficiency Ranks for Horsechoppers -; Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 48, "Goblin Weapon Familiarity". -GameplayTagList=(Tag="WeaponProficiency.Horsechopper.Untrained",DevComment="Untrained with Horsechoppers") -GameplayTagList=(Tag="WeaponProficiency.Horsechopper.Trained",DevComment="Trained with Horsechoppers") -GameplayTagList=(Tag="WeaponProficiency.Horsechopper.Expert",DevComment="Expert with Horsechoppers") -GameplayTagList=(Tag="WeaponProficiency.Horsechopper.Master",DevComment="Master with Horsechoppers") -GameplayTagList=(Tag="WeaponProficiency.Horsechopper.Legendary",DevComment="Legendary with Horsechoppers") - -; Proficiency Ranks for Kukris -; Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 44, "Gnome Weapon Familiarity". -GameplayTagList=(Tag="WeaponProficiency.Kukri.Untrained",DevComment="Untrained with Kukris") -GameplayTagList=(Tag="WeaponProficiency.Kukri.Trained",DevComment="Trained with Kukris") -GameplayTagList=(Tag="WeaponProficiency.Kukri.Expert",DevComment="Expert with Kukris") -GameplayTagList=(Tag="WeaponProficiency.Kukri.Master",DevComment="Master with Kukris") -GameplayTagList=(Tag="WeaponProficiency.Kukri.Legendary",DevComment="Legendary with Kukris") - -; Proficiency Ranks for Longbows -; Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity". -GameplayTagList=(Tag="WeaponProficiency.Longbow.Untrained",DevComment="Untrained with Longbows") -GameplayTagList=(Tag="WeaponProficiency.Longbow.Trained",DevComment="Trained with Longbows") -GameplayTagList=(Tag="WeaponProficiency.Longbow.Expert",DevComment="Expert with Longbows") -GameplayTagList=(Tag="WeaponProficiency.Longbow.Master",DevComment="Master with Longbows") -GameplayTagList=(Tag="WeaponProficiency.Longbow.Legendary",DevComment="Legendary with Longbows") - -; Proficiency Ranks for Longswords -; Weapon mentioned in Pathfinder 2E Core Rulebook, under: -; - Chapter 2, page 40, "Elven Weapon Familiarity" -; - Chapter 3, page 95, "Attacks" for "Bard" -GameplayTagList=(Tag="WeaponProficiency.Longsword.Untrained",DevComment="Untrained with Longswords") -GameplayTagList=(Tag="WeaponProficiency.Longsword.Trained",DevComment="Trained with Longswords") -GameplayTagList=(Tag="WeaponProficiency.Longsword.Expert",DevComment="Expert with Longswords") -GameplayTagList=(Tag="WeaponProficiency.Longsword.Master",DevComment="Master with Longswords") -GameplayTagList=(Tag="WeaponProficiency.Longsword.Legendary",DevComment="Legendary with Longswords") - -; Proficiency Ranks for Picks -; Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity". -GameplayTagList=(Tag="WeaponProficiency.Pick.Untrained",DevComment="Untrained with Picks") -GameplayTagList=(Tag="WeaponProficiency.Pick.Trained",DevComment="Trained with Picks") -GameplayTagList=(Tag="WeaponProficiency.Pick.Expert",DevComment="Expert with Picks") -GameplayTagList=(Tag="WeaponProficiency.Pick.Master",DevComment="Master with Picks") -GameplayTagList=(Tag="WeaponProficiency.Pick.Legendary",DevComment="Legendary with Picks") - -; Proficiency Ranks for Rapiers -; Weapon mentioned in Pathfinder 2E Core Rulebook, under: -; - Chapter 2, page 40, "Elven Weapon Familiarity" -; - Chapter 3, page 95, "Attacks" for "Bard" -; - Chapter 3, page 179, "Attacks" for "Rogue" -GameplayTagList=(Tag="WeaponProficiency.Rapier.Untrained",DevComment="Untrained with Rapiers") -GameplayTagList=(Tag="WeaponProficiency.Rapier.Trained",DevComment="Trained with Rapiers") -GameplayTagList=(Tag="WeaponProficiency.Rapier.Expert",DevComment="Expert with Rapiers") -GameplayTagList=(Tag="WeaponProficiency.Rapier.Master",DevComment="Master with Rapiers") -GameplayTagList=(Tag="WeaponProficiency.Rapier.Legendary",DevComment="Legendary with Rapiers") - -; Proficiency Ranks for Saps -; Weapon mentioned in Pathfinder 2E Core Rulebook, under: -; - Chapter 3, page 95, "Attacks" for "Bard" -; - Chapter 3, page 179, "Attacks" for "Rogue" -GameplayTagList=(Tag="WeaponProficiency.Sap.Untrained",DevComment="Untrained with Saps") -GameplayTagList=(Tag="WeaponProficiency.Sap.Trained",DevComment="Trained with Saps") -GameplayTagList=(Tag="WeaponProficiency.Sap.Expert",DevComment="Expert with Saps") -GameplayTagList=(Tag="WeaponProficiency.Sap.Master",DevComment="Master with Saps") -GameplayTagList=(Tag="WeaponProficiency.Sap.Legendary",DevComment="Legendary with Saps") - -; Proficiency Ranks for Shortbows -; Weapon mentioned in Pathfinder 2E Core Rulebook, under: -; - Chapter 2, page 40, "Elven Weapon Familiarity" -; - Chapter 3, page 95, "Attacks" for "Bard" -; - Chapter 3, page 179, "Attacks" for "Rogue" -GameplayTagList=(Tag="WeaponProficiency.Shortbow.Untrained",DevComment="Untrained with Shortbows") -GameplayTagList=(Tag="WeaponProficiency.Shortbow.Trained",DevComment="Trained with Shortbows") -GameplayTagList=(Tag="WeaponProficiency.Shortbow.Expert",DevComment="Expert with Shortbows") -GameplayTagList=(Tag="WeaponProficiency.Shortbow.Master",DevComment="Master with Shortbows") -GameplayTagList=(Tag="WeaponProficiency.Shortbow.Legendary",DevComment="Legendary with Shortbows") - -; Proficiency Ranks for Shortswords -; Weapon mentioned in Pathfinder 2E Core Rulebook, under: -; - Chapter 2, page 52, "Halfling Weapon Familiarity" -; - Chapter 3, page 95, "Attacks" for "Bard" -; - Chapter 3, page 179, "Attacks" for "Rogue" -GameplayTagList=(Tag="WeaponProficiency.Shortsword.Untrained",DevComment="Untrained with Shortswords") -GameplayTagList=(Tag="WeaponProficiency.Shortsword.Trained",DevComment="Trained with Shortswords") -GameplayTagList=(Tag="WeaponProficiency.Shortsword.Expert",DevComment="Expert with Shortswords") -GameplayTagList=(Tag="WeaponProficiency.Shortsword.Master",DevComment="Master with Shortswords") -GameplayTagList=(Tag="WeaponProficiency.Shortsword.Legendary",DevComment="Legendary with Shortswords") - -; Proficiency Ranks for Slings -; Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 52, "Halfling Weapon Familiarity". -GameplayTagList=(Tag="WeaponProficiency.Sling.Untrained",DevComment="Untrained with Slings") -GameplayTagList=(Tag="WeaponProficiency.Sling.Trained",DevComment="Trained with Slings") -GameplayTagList=(Tag="WeaponProficiency.Sling.Expert",DevComment="Expert with Slings") -GameplayTagList=(Tag="WeaponProficiency.Sling.Master",DevComment="Master with Slings") -GameplayTagList=(Tag="WeaponProficiency.Sling.Legendary",DevComment="Legendary with Slings") - -; Proficiency Ranks for Staves -; Weapon mentioned in Pathfinder 2E Core Rulebook, under: -; - Chapter 3, page 203, "Attacks" for "Wizard" -GameplayTagList=(Tag="WeaponProficiency.Staff.Untrained",DevComment="Untrained with Staves") -GameplayTagList=(Tag="WeaponProficiency.Staff.Trained",DevComment="Trained with Staves") -GameplayTagList=(Tag="WeaponProficiency.Staff.Expert",DevComment="Expert with Staves") -GameplayTagList=(Tag="WeaponProficiency.Staff.Master",DevComment="Master with Staves") -GameplayTagList=(Tag="WeaponProficiency.Staff.Legendary",DevComment="Legendary with Staves") - -; Proficiency Ranks for Warhammers -; Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity". -GameplayTagList=(Tag="WeaponProficiency.Warhammer.Untrained",DevComment="Untrained with Warhammers") -GameplayTagList=(Tag="WeaponProficiency.Warhammer.Trained",DevComment="Trained with Warhammers") -GameplayTagList=(Tag="WeaponProficiency.Warhammer.Expert",DevComment="Expert with Warhammers") -GameplayTagList=(Tag="WeaponProficiency.Warhammer.Master",DevComment="Master with Warhammers") -GameplayTagList=(Tag="WeaponProficiency.Warhammer.Legendary",DevComment="Legendary with Warhammers") - -; Proficiency Ranks for Whips -; Weapon mentioned in Pathfinder 2E Core Rulebook, under: -; - Chapter 3, page 95, "Attacks" for "Bard" -GameplayTagList=(Tag="WeaponProficiency.Whip.Untrained",DevComment="Untrained with Whips") -GameplayTagList=(Tag="WeaponProficiency.Whip.Trained",DevComment="Trained with Whips") -GameplayTagList=(Tag="WeaponProficiency.Whip.Expert",DevComment="Expert with Whips") -GameplayTagList=(Tag="WeaponProficiency.Whip.Master",DevComment="Master with Whips") -GameplayTagList=(Tag="WeaponProficiency.Whip.Legendary",DevComment="Legendary with Whips") diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Currencies.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Currencies.cpp new file mode 100644 index 000000000..b389693b6 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Currencies.cpp @@ -0,0 +1,23 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Currencies.h" + +// ===================================================================================================================== +// Default Currency - "Coins" +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Chapter 6, page 271. +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCurrencyCoins, + "Currency.Coins", + "The most common currency in OpenPF2." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/CurrencyUnits.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/CurrencyUnits.cpp new file mode 100644 index 000000000..4747b3754 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/CurrencyUnits.cpp @@ -0,0 +1,41 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/CurrencyUnits.h" + +// ===================================================================================================================== +// Default Currency Units +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Chapter 6, page 271. +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCurrencyUnitCoinsCopperPiece, + "CurrencyUnit.Coins.CopperPiece", + "A unit of currency worth 1/10 of a silver piece." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCurrencyUnitCoinsSilverPiece, + "CurrencyUnit.Coins.SilverPiece", + "The standard unit of currency for commoners and beginning adventurers. Each is a standard weight of silver and is typically accepted by any merchant or kingdom no matter where it was minted." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCurrencyUnitCoinsGoldPiece, + "CurrencyUnit.Coins.GoldPiece", + "A unit of currency often used for purchasing magic items and other expensive items. 1 gold piece is worth 10 silver pieces and 100 copper pieces." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCurrencyUnitCoinsPlatinumPiece, + "CurrencyUnit.Coins.PlatinumPiece", + "A unit of current used by nobles to demonstrate their wealth, for the purchase of very expensive items, or simply as a way to easily transport large sums of currency. A platinum piece is worth 10 gold pieces, 100 silver pieces, and 1,000 copper pieces." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/DamageTypes.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/DamageTypes.cpp new file mode 100644 index 000000000..1a07b961a --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/DamageTypes.cpp @@ -0,0 +1,149 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/DamageTypes.h" + +// ===================================================================================================================== +// Damage types +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Chapter 9, page 452, "Damage Types". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypePhysical, + "DamageType.Physical", + "Damage dealt by weapons, many physical hazards, and a handful of spells is collectively called physical damage. The main types of physical damage are bludgeoning, piercing, and slashing." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypePhysicalBludgeoning, + "DamageType.Physical.Bludgeoning", + "Bludgeoning (B) damage comes from weapons and hazards that deal blunt-force trauma, like a hit from a club or being dashed against rocks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypePhysicalPiercing, + "DamageType.Physical.Piercing", + "Piercing (P) damage is dealt from stabs and punctures, whether from a dragon's fangs or the thrust of a spear." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypePhysicalSlashing, + "DamageType.Physical.Slashing", + "Slashing (S) damage is delivered by a cut, be it the swing of the sword or the blow from a scythe blades trap." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeEnergy, + "DamageType.Energy", + "Many spells and other magical effects deal energy damage. Energy damage is also dealt from effects in the world, such as the biting cold of a blizzard to a raging forest fire. The main types of energy damage are acid, cold, electricity, fire, and sonic." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeEnergyAcid, + "DamageType.Energy.Acid", + "Acid damage can be delivered by gases, liquids, and certain solids that dissolve flesh, and sometimes harder materials." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeEnergyCold, + "DamageType.Energy.Cold", + "Cold damage freezes material by way of contact with chilling gases and ice. Electricity damage comes from the discharge of powerful lightning and sparks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeEnergyElectricity, + "DamageType.Energy.Electricity", + "Electricity comes from the discharge of powerful lightning and sparks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeEnergyFire, + "DamageType.Energy.Fire", + "Fire damage burns through heat and combustion." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeEnergySonic, + "DamageType.Energy.Sonic", + "Sonic damage assaults matter with high-frequency vibration and sound waves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeEnergyPositive, + "DamageType.Energy.Positive", + "Positive damage harms only undead creatures, withering undead bodies and disrupting incorporeal undead." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeEnergyNegative, + "DamageType.Energy.Negative", + "Negative damage saps life, damaging only living creatures." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeEnergyForce, + "DamageType.Energy.Force", + "Powerful and pure magical energy can manifest itself as force damage. Few things can resist this type of damage—not even incorporeal creatures such as ghosts and wraiths." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeAlignment, + "DamageType.Alignment", + "Weapons and effects keyed to a particular alignment can deal chaotic, evil, good, or lawful damage. These damage types apply only to creatures that have the opposing alignment trait." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeAlignmentChaotic, + "DamageType.Alignment.Chaotic", + "Chaotic damage harms only lawful creatures." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeAlignmentEvil, + "DamageType.Alignment.Evil", + "Evil damage harms only good creatures." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeAlignmentGood, + "DamageType.Alignment.Good", + "Good damage harms only evil creatures." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeAlignmentLawful, + "DamageType.Alignment.Lawful", + "Lawful damage harms only chaotic creatures." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeMental, + "DamageType.Mental", + "Sometimes an effect can target the mind with enough psychic force to actually deal damage to the creature. When it does, it deals mental damage. Mindless creatures and those with only programmed or rudimentary intelligence are often immune to mental damage and effects." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypePoison, + "DamageType.Poison", + "Venoms, toxins and the like can deal poison damage, which affects creatures by way of contact, ingestion, inhalation, or injury. In addition to coming from monster attacks, alchemical items, and spells, poison damage is often caused by ongoing afflictions, which follow special rules." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypeBleed, + "DamageType.Bleed", + "This is persistent damage that represents loss of blood. As such, it has no effect on nonliving creatures or living creatures that don't need blood to live." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagDamageTypePrecision, + "DamageType.Precision", + "When a character hits with an ability that grants precision damage, the character increase the attack's listed damage, using the same damage type, rather than tracking a separate pool of damage." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Encounters/AbilityTriggers.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Encounters/AbilityTriggers.cpp new file mode 100644 index 000000000..e5f65618b --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Encounters/AbilityTriggers.cpp @@ -0,0 +1,33 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2022-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#include "GameplayTags/Encounters/AbilityTriggers.h" + +// ===================================================================================================================== +// Tags that trigger Encounter-related Gameplay Abilities. +// ===================================================================================================================== +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTriggerTagCategoryEncountersEnterEncounter, + "TriggerTagCategory.Encounters.EnterEncounter", + "Tag to trigger Gameplay Abilities appropriate for when a character enters an encounter." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTriggerTagCategoryEncountersStartTurn, + "TriggerTagCategory.Encounters.StartTurn", + "Tag to trigger Gameplay Abilities appropriate for the start of a character's turn during an encounter." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTriggerTagCategoryEncountersEndTurn, + "TriggerTagCategory.Encounters.EndTurn", + "Tag to trigger Gameplay Abilities appropriate for the end of a character's turn during an encounter." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTriggerTagCategoryEncountersLeaveEncounter, + "TriggerTagCategory.Encounters.LeaveEncounter", + "Tag to trigger Gameplay Abilities appropriate for when a character leaves an encounter." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Encounters/CharacterStates.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Encounters/CharacterStates.cpp new file mode 100644 index 000000000..bdd50afa0 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Encounters/CharacterStates.cpp @@ -0,0 +1,27 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2022-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#include "GameplayTags/Encounters/CharacterStates.h" + +// ===================================================================================================================== +// Tags that apply to characters during encounters. +// ===================================================================================================================== +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagEncounterCharacterTurnActive, + "Encounter.Character.TurnActive", + "Tag applied to a character whose turn is active." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagEncounterCharacterPointsRefreshFrozen, + "Encounter.Character.PointsRefreshFrozen", + "Tag applied to a character who cannot presently accrue action points." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagEncounterCharacterCooldownNextTurn, + "Encounter.Character.Cooldown.NextTurn", + "Tag applied to a character who is currently on a cooldown waiting for their next turn to start." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayAbilities/AbilityTypes.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayAbilities/AbilityTypes.cpp new file mode 100644 index 000000000..351afec5e --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayAbilities/AbilityTypes.cpp @@ -0,0 +1,45 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#include "GameplayTags/GameplayAbilities/AbilityTypes.h" + +// ===================================================================================================================== +// Tags that Identify Gameplay Ability Types +// ===================================================================================================================== +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayAbilityTypeAbilityBoost, + "GameplayAbility.Type.AbilityBoost", + "Tag applied to Gameplay Abilities that offer a character the opportunity to boost an ability score." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayAbilityTypeDefaultMovement, + "GameplayAbility.Type.DefaultMovement", + "Tag applied to Gameplay Abilities that perform the default type of movement for a character." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayAbilityTypeDefaultFaceTarget, + "GameplayAbility.Type.DefaultFaceTarget", + "Tag applied to Gameplay Abilities that have a character rotate to face another actor." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayAbilityTypeQueueableAction, + "GameplayAbility.Type.QueueableAction", + "Tag applied to Gameplay Abilities that can be queued during encounters. This should also be used as a blocking tag to prevent it from being run concurrently with other actions at the time it is de-queued." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayAbilityTypeDirectlyInvokable, + "GameplayAbility.Type.DirectlyInvokable", + "Tag applied to Gameplay Abilities that can be directly invoked by the player (e.g., from an ability dialog or input binding)." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayAbilityTypeBlocksEndOfTurn, + "GameplayAbility.Type.BlocksEndOfTurn", + "Tag applied to Gameplay Abilities that prevent a character's turn from ending while they are active (e.g., an attack that is in progress)." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayAbilities/ActivationMetadata.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayAbilities/ActivationMetadata.cpp new file mode 100644 index 000000000..46b20c680 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayAbilities/ActivationMetadata.cpp @@ -0,0 +1,21 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#include "GameplayTags/GameplayAbilities/ActivationMetadata.h" + +// ===================================================================================================================== +// Tags that identify additional metadata that has been passed along for an ability activation. +// ===================================================================================================================== +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayAbilityActivationMetadataHasTargetCharacter, + "GameplayAbility.Activation.Metadata.HasTarget.Character", + "Tag that a Gameplay Ability activation includes a target character (for healing or attack) chosen by the player." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayAbilityActivationMetadataHasTargetLocation, + "GameplayAbility.Activation.Metadata.HasTarget.Location", + "Tag that a Gameplay Ability activation includes a target map location chosen by the player." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayAbilities/WaitForEvents.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayAbilities/WaitForEvents.cpp new file mode 100644 index 000000000..67c69c571 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayAbilities/WaitForEvents.cpp @@ -0,0 +1,33 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#include "GameplayTags/GameplayAbilities/WaitForEvents.h" + +// ===================================================================================================================== +// Tags that identify events abilities can wait for during their activation. +// ===================================================================================================================== +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayAbilityGameplayEventDamageReceived, + "GameplayAbility.GameplayEvent.DamageReceived", + "Tag on a GameplayEvent sent to a character to notify passive condition check GAs that the character has received damage." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayAbilityGameplayEventFacingComplete, + "GameplayAbility.GameplayEvent.FacingComplete", + "Tag on a GameplayEvent sent to a character to notify the active ability that the character is now oriented properly for an attack to proceed against a target." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayAbilityGameplayEventHitPointsChanged, + "GameplayAbility.GameplayEvent.HitPointsChanged", + "Tag on a GameplayEvent sent to a character to notify passive condition check GAs that the character's hit points have changed." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayAbilityGameplayEventMontageWeaponHit, + "GameplayAbility.GameplayEvent.Montage.WeaponHit", + "Tag on a GameplayEvent emitted during an attack montage at the point that the weapon should make contact with an enemy." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayCues.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayCues.cpp new file mode 100644 index 000000000..fa1a87cae --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayCues.cpp @@ -0,0 +1,15 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2023-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#include "GameplayTags/GameplayCues.h" + +// ===================================================================================================================== +// Gameplay Cues that provide special FX and sound FX in response to effect activations. +// ===================================================================================================================== +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayCueCharacterInflictDamage, + "GameplayCue.Character.InflictDamage", + "Gameplay cue fired whenever one character inflicts damage on another." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayEffects/CalculationSources.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayEffects/CalculationSources.cpp new file mode 100644 index 000000000..0798731e8 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayEffects/CalculationSources.cpp @@ -0,0 +1,17 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#include "GameplayTags/GameplayEffects/CalculationSources.h" + +// ===================================================================================================================== +// "Source" Tags passed in from Blueprints to calculate stats. +// +// These should not be used on weapons, characters, or other objects that appear in the world. +// ===================================================================================================================== +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayEffectCalculationSourceInitiative, + "GameplayEffect.CalculationSource.Initiative", + "Source tag passed in when a character's initiative in an encounter is being determined." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayEffects/SetByCallerParameters.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayEffects/SetByCallerParameters.cpp new file mode 100644 index 000000000..f81553924 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayEffects/SetByCallerParameters.cpp @@ -0,0 +1,27 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#include "GameplayTags/GameplayEffects/SetByCallerParameters.h" + +// ===================================================================================================================== +// Parameters passed in to "Set by caller" GEs +// ===================================================================================================================== +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayEffectParameterDamage, + "GameplayEffect.Parameter.Damage", + "The parameter passed in to a dynamic damage GE, to control the amount of damage inflicted." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayEffectParameterResistance, + "GameplayEffect.Parameter.Resistance", + "The parameter passed in to a dynamic resistance GE, to control the amount of damage resistance." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayEffectParameterHealing, + "GameplayEffect.Parameter.Healing", + "The parameter passed in to a dynamic healing GE, to control the amount of hit points granted to the character." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayEffects/WeightGroups.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayEffects/WeightGroups.cpp new file mode 100644 index 000000000..8319f3856 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/GameplayEffects/WeightGroups.cpp @@ -0,0 +1,51 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#include "GameplayTags/GameplayEffects/WeightGroups.h" + +// ===================================================================================================================== +// Weights used to control the order that GEs are applied to an OpenPF2 character. +// ===================================================================================================================== +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayEffectWeightGroup00_InitializeBaseStats, + "GameplayEffect.WeightGroup.00_InitializeBaseStats", + "The weight group used for GEs that initialize base stats." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayEffectWeightGroup05_PostInitializeBaseStats, + "GameplayEffect.WeightGroup.05_PostInitializeBaseStats", + "The weight group used for GEs provided by the game designer that have to run right after base stats." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayEffectWeightGroup10_ManagedEffects, + "GameplayEffect.WeightGroup.10_ManagedEffects", + "The weight group used for GEs generated from other values on this character (managed by ASC logic)." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayEffectWeightGroup15_PreAbilityBoosts, + "GameplayEffect.WeightGroup.15_PreAbilityBoosts", + "The default weight group for custom, passive GEs from a game designer; applied before ability boosts." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayEffectWeightGroup20_AbilityBoosts, + "GameplayEffect.WeightGroup.20_AbilityBoosts", + "The weight group used for ability boosts selected by the player or a game designer." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayEffectWeightGroup25_PreFinalizeStats, + "GameplayEffect.WeightGroup.25_PreFinalizeStats", + "The weight group used for custom GEs provided by the game designer that must run before the last group of stats GEs." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagGameplayEffectWeightGroup30_FinalizeStats, + "GameplayEffect.WeightGroup.30_FinalizeStats", + "The weight group used for GEs that need to run last because they heavily depend on the results of earlier GEs." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/CreatureAlignments.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/CreatureAlignments.cpp new file mode 100644 index 000000000..bb4bcadf0 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/CreatureAlignments.cpp @@ -0,0 +1,89 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Stats/CreatureAlignments.h" + +// ===================================================================================================================== +// Creature Alignment - The indicator of the character's morality and personality. +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, page 29, Table 1-2: The Nine Alignments. +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCreatureAlignmentLawful, + "CreatureAlignment.Lawful", + "Character values consistency, stability, and predictability over flexibility" +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCreatureAlignmentLawfulGood, + "CreatureAlignment.Lawful.Good", + "Character values consistency, stability, and predictability over flexibility; considers others above themselves and works selflessly to assist others." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCreatureAlignmentLawfulNeutral, + "CreatureAlignment.Lawful.Neutral", + "Character values consistency, stability, and predictability over flexibility; doesn't consider others more or less importantly than themselves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCreatureAlignmentLawfulEvil, + "CreatureAlignment.Lawful.Evil", + "Character values consistency, stability, and predictability over flexibility; is willing to victimize or harm others for selfish gain." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCreatureAlignmentNeutral, + "CreatureAlignment.Neutral", + "Character obeys law or code of conduct in many situations, but is flexible." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCreatureAlignmentNeutralGood, + "CreatureAlignment.Neutral.Good", + "Character obeys law or code of conduct in many situations, but is flexible; considers others above themselves and works selflessly to assist others." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCreatureAlignmentNeutralNeutral, + "CreatureAlignment.Neutral.Neutral", + "Character obeys law or code of conduct in many situations, but is flexible; doesn't consider others more or less importantly than themselves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCreatureAlignmentNeutralEvil, + "CreatureAlignment.Neutral.Evil", + "Character obeys law or code of conduct in many situations, but is flexible; is willing to victimize or harm others for selfish gain." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCreatureAlignmentChaotic, + "CreatureAlignment.Chaotic", + "Character values flexibility, creativity, and spontaneity over consistency." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCreatureAlignmentChaoticGood, + "CreatureAlignment.Chaotic.Good", + "Character values flexibility, creativity, and spontaneity over consistency; considers others above themselves and works selflessly to assist others." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCreatureAlignmentChaoticNeutral, + "CreatureAlignment.Chaotic.Neutral", + "Character values flexibility, creativity, and spontaneity over consistency; doesn't consider others more or less importantly than themselves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagCreatureAlignmentChaoticEvil, + "CreatureAlignment.Chaotic.Evil", + "Character values flexibility, creativity, and spontaneity over consistency; is willing to victimize or harm others for selfish gain." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/CreatureSizes.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/CreatureSizes.cpp new file mode 100644 index 000000000..7afa26148 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/CreatureSizes.cpp @@ -0,0 +1,24 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Stats/CreatureSizes.h" + +// ===================================================================================================================== +// Creature Size - The approximate physical amount of space a creature occupies. +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, page 474, Table 9-1: Size and Reach. +UE_DEFINE_GAMEPLAY_TAG(Pf2TagCreatureSizeTiny, "CreatureSize.Tiny") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagCreatureSizeSmall, "CreatureSize.Small") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagCreatureSizeMedium, "CreatureSize.Medium") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagCreatureSizeLarge, "CreatureSize.Large") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagCreatureSizeHuge, "CreatureSize.Huge") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagCreatureSizeGargantuan, "CreatureSize.Gargantuan") diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Equipment.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Equipment.cpp new file mode 100644 index 000000000..469e3f959 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Equipment.cpp @@ -0,0 +1,40 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Stats/Equipment.h" + +// ===================================================================================================================== +// The type of armor the character *currently* has equipped. +// ===================================================================================================================== +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorEquippedUnarmored, + "Armor.Equipped.Unarmored", + "Character has no armor equipped." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorEquippedLight, + "Armor.Equipped.Light", + "Character has Light armor equipped." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorEquippedMedium, + "Armor.Equipped.Medium", + "Character has Medium armor equipped." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorEquippedHeavy, + "Armor.Equipped.Heavy", + "Character has Heavy armor equipped." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/KeyAbilities.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/KeyAbilities.cpp new file mode 100644 index 000000000..5994cae97 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/KeyAbilities.cpp @@ -0,0 +1,104 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Stats/KeyAbilities.h" + +// ===================================================================================================================== +// Key Ability - The most important ability of a particular character/creature. +// ===================================================================================================================== +// Sources: +// - Pathfinder 2E Core Rulebook, Chapter 3: "Classes", page 68, "Key Ability". +// - Pathfinder 2E Core Rulebook, Chapter 3: "Classes", pages 72-232 ("Key Ability" sections in each class entry). +// +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagKeyAbilityStrength, + "KeyAbility.Strength", + "Character's key ability is Strength" +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagKeyAbilityDexterity, + "KeyAbility.Dexterity", + "Character's key ability is Dexterity" +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagKeyAbilityConstitution, + "KeyAbility.Constitution", + "Character's key ability is Constitution" +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagKeyAbilityIntelligence, + "KeyAbility.Intelligence", + "Character's key ability is Intelligence" +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagKeyAbilityWisdom, + "KeyAbility.Wisdom", + "Character's key ability is Wisdom" +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagKeyAbilityCharisma, + "KeyAbility.Charisma", + "Character's key ability is Charisma" +) + +// ===================================================================================================================== +// Spellcasting Ability - The key ability of a character/creature that can cast spells. +// ===================================================================================================================== +// The classes in the core rulebook don't have any spellcasting abilities other than Wisdom and Charisma, but there's no +// reason to limit game makers to just those options. Plus, add-on material for OpenPF2 could always invent a new class +// that uses something like Intelligence for a character that does complex spellcasting or Dexterity for a character who +// performs physically-dexterous spells. +// +// Sources: +// - Pathfinder 2E Core Rulebook, Chapter 3: "Classes", page 68, "Key Ability". +// - Pathfinder 2E Core Rulebook, Chapter 3: "Classes", pages 72-232 ("Key Ability" sections in each class entry). +// +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellcastingAbilityStrength, + "SpellcastingAbility.Strength", + "Character's spellcasting ability is Strength" +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellcastingAbilityDexterity, + "SpellcastingAbility.Dexterity", + "Character's spellcasting ability is Dexterity" +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellcastingAbilityConstitution, + "SpellcastingAbility.Constitution", + "Character's spellcasting ability is Constitution" +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellcastingAbilityIntelligence, + "SpellcastingAbility.Intelligence", + "Character's spellcasting ability is Intelligence" +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellcastingAbilityWisdom, + "SpellcastingAbility.Wisdom", + "Character's spellcasting ability is Wisdom" +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellcastingAbilityCharisma, + "SpellcastingAbility.Charisma", + "Character's spellcasting ability is Charisma" +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Languages.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Languages.cpp new file mode 100644 index 000000000..5b54b7f35 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Languages.cpp @@ -0,0 +1,169 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. +// Common Languages - "Languages that are common are regularly encountered in most places, even among those who aren’t native speakers." +// Source: Pathfinder 2E Core Rulebook, page 65, Table 2-1: Common Languages. + +#include "GameplayTags/Stats/Languages.h" + +// ===================================================================================================================== +// Common Languages - Languages regularly encountered in most places, even among those who aren’t native speakers. +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, page 65, Table 2-1: Common Languages. +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageCommonCommon, + "Language.Common.Common", + "Language spoken by humans, dwarves, elves, halflings, and other common ancestries." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageCommonDraconic, + "Language.Common.Draconic", + "Language spoken by dragons, reptilian humanoids." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageCommonDwarven, + "Language.Common.Dwarven", + "Language spoken by dwarves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageCommonElven, + "Language.Common.Elven", + "Language spoken by elves, half-elves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageCommonGnomish, + "Language.Common.Gnomish", + "Language spoken by gnomes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageCommonGoblin, + "Language.Common.Goblin", + "Language spoken by goblins, hobgoblins, bugbears." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageCommonHalfling, + "Language.Common.Halfling", + "Language spoken by halflings." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageCommonJotun, + "Language.Common.Jotun", + "Language spoken by giants, ogres, trolls, ettins, cyclopes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageCommonOrcish, + "Language.Common.Orcish", + "Language spoken by orcs, half-orcs." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageCommonSylvan, + "Language.Common.Sylvan", + "Language spoken by fey, centaurs, plant creatures." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageCommonUndercommon, + "Language.Common.Undercommon", + "Language spoken by drow, duergars, xulgaths." +) + +// ===================================================================================================================== +// Uncommon Languages - Languages most frequently spoken by native speakers, but also by certain scholars and others +// interested in the associated cultures. +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, page 65, Table 2-2: Uncommon Languages. +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageUncommonAbyssal, + "Language.Uncommon.Abyssal", + "Language spoken by demons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageUncommonAklo, + "Language.Uncommon.Aklo", + "Language spoken by deros, evil fey, otherworldly monsters." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageUncommonAquan, + "Language.Uncommon.Aquan", + "Language spoken by aquatic creatures, water elemental creatures." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageUncommonAuran, + "Language.Uncommon.Auran", + "Language spoken by air elemental creatures, flying creatures." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageUncommonCelestial, + "Language.Uncommon.Celestial", + "Language spoken by angels." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageUncommonGnoll, + "Language.Uncommon.Gnoll", + "Language spoken by gnolls." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageUncommonIgnan, + "Language.Uncommon.Ignan", + "Language spoken by fire elemental creatures." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageUncommonInfernal, + "Language.Uncommon.Infernal", + "Language spoken by devils." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageUncommonNecril, + "Language.Uncommon.Necril", + "Language spoken by ghouls, intelligent undead." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageUncommonShadowtongue, + "Language.Uncommon.Shadowtongue", + "Language spoken by nidalese, Shadow Plane creatures." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageUncommonTerran, + "Language.Uncommon.Terran", + "Language spoken by earth elemental creatures." +) + +// ===================================================================================================================== +// Secret Languages (e.g., "Druidic") +// +// Druidic is a secret language, and is available only to characters who are druids. In fact, druids are prohibited from +// teaching the language to non-druids. +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, page 65, Table 2-3: Secret Languages. +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagLanguageSecretDruidic, + "Language.Secret.Druidic", + "Language spoken by druids." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Armor.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Armor.cpp new file mode 100644 index 000000000..7b99fda6a --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Armor.cpp @@ -0,0 +1,146 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Stats/Proficiencies/Armor.h" + +// ===================================================================================================================== +// Proficiency Ranks for Different Classes of Armor (Unarmored, Light, Medium, or Heavy) +// ===================================================================================================================== +// Sources: +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 11, "Playing the Game". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 13, "Proficiency". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 27, "Character Sheet". +// - Pathfinder 2E Core Rulebook, Appendix, page 624, "Armor Class". + +// === Unarmored +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryUnarmoredUntrained, + "Armor.Category.Unarmored.Untrained", + "Character is Untrained in Unarmored Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryUnarmoredTrained, + "Armor.Category.Unarmored.Trained", + "Character is Trained in Unarmored Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryUnarmoredExpert, + "Armor.Category.Unarmored.Expert", + "Character is Expert in Unarmored Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryUnarmoredMaster, + "Armor.Category.Unarmored.Master", + "Character is Master in Unarmored Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryUnarmoredLegendary, + "Armor.Category.Unarmored.Legendary", + "Character is Legendary in Unarmored Defense." +) + +// === Light +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryLightUntrained, + "Armor.Category.Light.Untrained", + "Character is Untrained in Light Armor Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryLightTrained, + "Armor.Category.Light.Trained", + "Character is Trained in Light Armor Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryLightExpert, + "Armor.Category.Light.Expert", + "Character is Expert in Light Armor Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryLightMaster, + "Armor.Category.Light.Master", + "Character is Master in Light Armor Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryLightLegendary, + "Armor.Category.Light.Legendary", + "Character is Legendary in Light Armor Defense." +) + +// === Medium +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryMediumUntrained, + "Armor.Category.Medium.Untrained", + "Character is Untrained in Medium Armor Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryMediumTrained, + "Armor.Category.Medium.Trained", + "Character is Trained in Medium Armor Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryMediumExpert, + "Armor.Category.Medium.Expert", + "Character is Expert in Medium Armor Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryMediumMaster, + "Armor.Category.Medium.Master", + "Character is Master in Medium Armor Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryMediumLegendary, + "Armor.Category.Medium.Legendary", + "Character is Legendary in Medium Armor Defense." +) + +// === Heavy +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryHeavyUntrained, + "Armor.Category.Heavy.Untrained", + "Character is Untrained in Heavy Armor Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryHeavyTrained, + "Armor.Category.Heavy.Trained", + "Character is Trained in Heavy Armor Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryHeavyExpert, + "Armor.Category.Heavy.Expert", + "Character is Expert in Heavy Armor Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryHeavyMaster, + "Armor.Category.Heavy.Master", + "Character is Master in Heavy Armor Defense." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagArmorCategoryHeavyLegendary, + "Armor.Category.Heavy.Legendary", + "Character is Legendary in Heavy Armor Defense." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/ClassDc.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/ClassDc.cpp new file mode 100644 index 000000000..b10a42b91 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/ClassDc.cpp @@ -0,0 +1,52 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Stats/Proficiencies/ClassDc.h" + +// ===================================================================================================================== +// Proficiency Ranks for Class DC (Difficulty Class). +// ===================================================================================================================== +// Sources: +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 11, "Playing the Game". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 13, "Proficiency". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 27, "Character Sheet". +// - Pathfinder 2E Core Rulebook, Chapter 3: "Classes", page 69, "Initial Proficiencies". +// - Pathfinder 2E Core Rulebook, Appendix, page 624, "Class DC". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagClassDcUntrained, + "ClassDc.Untrained", + "Character is Untrained in Class Difficulty Class (Class DC)." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagClassDcTrained, + "ClassDc.Trained", + "Character is Trained in Class Difficulty Class (Class DC)." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagClassDcExpert, + "ClassDc.Expert", + "Character is Expert in Class Difficulty Class (Class DC)." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagClassDcMaster, + "ClassDc.Master", + "Character is Master in Class Difficulty Class (Class DC)." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagClassDcLegendary, + "ClassDc.Legendary", + "Character is Legendary in Class Difficulty Class (Class DC)." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Perception.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Perception.cpp new file mode 100644 index 000000000..e20c03ea9 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Perception.cpp @@ -0,0 +1,52 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Stats/Proficiencies/Perception.h" + +// ===================================================================================================================== +// Proficiency Ranks for Perception (how alert they are). +// ===================================================================================================================== +// Sources: +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 11, "Playing the Game". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 13, "Proficiency". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 27, "Character Sheet". +// - Pathfinder 2E Core Rulebook, Chapter 3: "Classes", page 69, "Initial Proficiencies". +// - Pathfinder 2E Core Rulebook, Appendix, page 624, "Perception". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagPerceptionUntrained, + "Perception.Untrained", + "Character is Untrained in Perception." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagPerceptionTrained, + "Perception.Trained", + "Character is Trained in Perception." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagPerceptionExpert, + "Perception.Expert", + "Character is Expert in Perception." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagPerceptionMaster, + "Perception.Master", + "Character is Master in Perception." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagPerceptionLegendary, + "Perception.Legendary", + "Character is Legendary in Perception." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/SavingThrows.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/SavingThrows.cpp new file mode 100644 index 000000000..091e9cb25 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/SavingThrows.cpp @@ -0,0 +1,114 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Stats/Proficiencies/SavingThrows.h" + +// ===================================================================================================================== +// Proficiency Ranks for Saving Throws (avoiding danger or otherwise withstanding an assault to mind or body). +// ===================================================================================================================== +// Sources: +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 11, "Playing the Game". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 13, "Saving Throw (Save)" and "Proficiency". +// - Pathfinder 2E Core Rulebook, Appendix, page 624, "Saving Throws". + +// === Fortitude +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowFortitudeUntrained, + "SavingThrow.Fortitude.Untrained", + "Character is Untrained in Fortitude." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowFortitudeTrained, + "SavingThrow.Fortitude.Trained", + "Character is Trained in Fortitude." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowFortitudeExpert, + "SavingThrow.Fortitude.Expert", + "Character is Expert in Fortitude." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowFortitudeMaster, + "SavingThrow.Fortitude.Master", + "Character is Master in Fortitude." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowFortitudeLegendary, + "SavingThrow.Fortitude.Legendary", + "Character is Legendary in Fortitude." +) + +// === Reflex +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowReflexUntrained, + "SavingThrow.Reflex.Untrained", + "Character is Untrained in Reflex." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowReflexTrained, + "SavingThrow.Reflex.Trained", + "Character is Trained in Reflex." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowReflexExpert, + "SavingThrow.Reflex.Expert", + "Character is Expert in Reflex." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowReflexMaster, + "SavingThrow.Reflex.Master", + "Character is Master in Reflex." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowReflexLegendary, + "SavingThrow.Reflex.Legendary", + "Character is Legendary in Reflex." +) + +// === Will +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowWillUntrained, + "SavingThrow.Will.Untrained", + "Character is Untrained in Will." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowWillTrained, + "SavingThrow.Will.Trained", + "Character is Trained in Will." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowWillExpert, + "SavingThrow.Will.Expert", + "Character is Expert in Will." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowWillMaster, + "SavingThrow.Will.Master", + "Character is Master in Will." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSavingThrowWillLegendary, + "SavingThrow.Will.Legendary", + "Character is Legendary in Will." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Skills.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Skills.cpp new file mode 100644 index 000000000..b48672ee8 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Skills.cpp @@ -0,0 +1,580 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Stats/Proficiencies/Skills.h" + +// ===================================================================================================================== +// Proficiency Ranks for Skills (training and experience at performing certain tasks). +// ===================================================================================================================== +// Sources: +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 11, "Playing the Game". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 13, "Proficiency". +// - Pathfinder 2E Core Rulebook, Chapter 4: "Skills", pages 233-253. +// - Pathfinder 2E Core Rulebook, Appendix, page 624, "Skills". + +// === Acrobatics +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillAcrobaticsUntrained, + "Skill.Acrobatics.Untrained", + "Character is Untrained in Acrobatics." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillAcrobaticsTrained, + "Skill.Acrobatics.Trained", + "Character is Trained in Acrobatics." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillAcrobaticsExpert, + "Skill.Acrobatics.Expert", + "Character is Expert in Acrobatics." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillAcrobaticsMaster, + "Skill.Acrobatics.Master", + "Character is Master in Acrobatics." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillAcrobaticsLegendary, + "Skill.Acrobatics.Legendary", + "Character is Legendary in Acrobatics." +) + +// === Arcana +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillArcanaUntrained, + "Skill.Arcana.Untrained", + "Character is Untrained in Arcana." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillArcanaTrained, + "Skill.Arcana.Trained", + "Character is Trained in Arcana." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillArcanaExpert, + "Skill.Arcana.Expert", + "Character is Expert in Arcana." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillArcanaMaster, + "Skill.Arcana.Master", + "Character is Master in Arcana." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillArcanaLegendary, + "Skill.Arcana.Legendary", + "Character is Legendary in Arcana." +) + +// === Athletics +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillAthleticsUntrained, + "Skill.Athletics.Untrained", + "Character is Untrained in Athletics." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillAthleticsTrained, + "Skill.Athletics.Trained", + "Character is Trained in Athletics." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillAthleticsExpert, + "Skill.Athletics.Expert", + "Character is Expert in Athletics." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillAthleticsMaster, + "Skill.Athletics.Master", + "Character is Master in Athletics." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillAthleticsLegendary, + "Skill.Athletics.Legendary", + "Character is Legendary in Athletics." +) + +// === Crafting +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillCraftingUntrained, + "Skill.Crafting.Untrained", + "Character is Untrained in Crafting." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillCraftingTrained, + "Skill.Crafting.Trained", + "Character is Trained in Crafting." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillCraftingExpert, + "Skill.Crafting.Expert", + "Character is Expert in Crafting." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillCraftingMaster, + "Skill.Crafting.Master", + "Character is Master in Crafting." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillCraftingLegendary, + "Skill.Crafting.Legendary", + "Character is Legendary in Crafting." +) + +// === Deception +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillDeceptionUntrained, + "Skill.Deception.Untrained", + "Character is Untrained in Deception." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillDeceptionTrained, + "Skill.Deception.Trained", + "Character is Trained in Deception." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillDeceptionExpert, + "Skill.Deception.Expert", + "Character is Expert in Deception." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillDeceptionMaster, + "Skill.Deception.Master", + "Character is Master in Deception." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillDeceptionLegendary, + "Skill.Deception.Legendary", + "Character is Legendary in Deception." +) + +// === Diplomacy +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillDiplomacyUntrained, + "Skill.Diplomacy.Untrained", + "Character is Untrained in Diplomacy." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillDiplomacyTrained, + "Skill.Diplomacy.Trained", + "Character is Trained in Diplomacy." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillDiplomacyExpert, + "Skill.Diplomacy.Expert", + "Character is Expert in Diplomacy." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillDiplomacyMaster, + "Skill.Diplomacy.Master", + "Character is Master in Diplomacy." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillDiplomacyLegendary, + "Skill.Diplomacy.Legendary", + "Character is Legendary in Diplomacy." +) + +// === Intimidation +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillIntimidationUntrained, + "Skill.Intimidation.Untrained", + "Character is Untrained in Intimidation." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillIntimidationTrained, + "Skill.Intimidation.Trained", + "Character is Trained in Intimidation." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillIntimidationExpert, + "Skill.Intimidation.Expert", + "Character is Expert in Intimidation." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillIntimidationMaster, + "Skill.Intimidation.Master", + "Character is Master in Intimidation." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillIntimidationLegendary, + "Skill.Intimidation.Legendary", + "Character is Legendary in Intimidation." +) + +// === Lore1 +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillLore1Untrained, + "Skill.Lore1.Untrained", + "Character is Untrained in Lore1." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillLore1Trained, + "Skill.Lore1.Trained", + "Character is Trained in Lore1." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillLore1Expert, + "Skill.Lore1.Expert", + "Character is Expert in Lore1." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillLore1Master, + "Skill.Lore1.Master", + "Character is Master in Lore1." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillLore1Legendary, + "Skill.Lore1.Legendary", + "Character is Legendary in Lore1." +) + +// === Lore2 +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillLore2Untrained, + "Skill.Lore2.Untrained", + "Character is Untrained in Lore2." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillLore2Trained, + "Skill.Lore2.Trained", + "Character is Trained in Lore2." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillLore2Expert, + "Skill.Lore2.Expert", + "Character is Expert in Lore2." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillLore2Master, + "Skill.Lore2.Master", + "Character is Master in Lore2." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillLore2Legendary, + "Skill.Lore2.Legendary", + "Character is Legendary in Lore2." +) + +// === Medicine +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillMedicineUntrained, + "Skill.Medicine.Untrained", + "Character is Untrained in Medicine." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillMedicineTrained, + "Skill.Medicine.Trained", + "Character is Trained in Medicine." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillMedicineExpert, + "Skill.Medicine.Expert", + "Character is Expert in Medicine." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillMedicineMaster, + "Skill.Medicine.Master", + "Character is Master in Medicine." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillMedicineLegendary, + "Skill.Medicine.Legendary", + "Character is Legendary in Medicine." +) + +// === Nature +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillNatureUntrained, + "Skill.Nature.Untrained", + "Character is Untrained in Nature." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillNatureTrained, + "Skill.Nature.Trained", + "Character is Trained in Nature." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillNatureExpert, + "Skill.Nature.Expert", + "Character is Expert in Nature." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillNatureMaster, + "Skill.Nature.Master", + "Character is Master in Nature." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillNatureLegendary, + "Skill.Nature.Legendary", + "Character is Legendary in Nature." +) + +// === Occultism +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillOccultismUntrained, + "Skill.Occultism.Untrained", + "Character is Untrained in Occultism." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillOccultismTrained, + "Skill.Occultism.Trained", + "Character is Trained in Occultism." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillOccultismExpert, + "Skill.Occultism.Expert", + "Character is Expert in Occultism." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillOccultismMaster, + "Skill.Occultism.Master", + "Character is Master in Occultism." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillOccultismLegendary, + "Skill.Occultism.Legendary", + "Character is Legendary in Occultism." +) + +// === Performance +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillPerformanceUntrained, + "Skill.Performance.Untrained", + "Character is Untrained in Performance." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillPerformanceTrained, + "Skill.Performance.Trained", + "Character is Trained in Performance." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillPerformanceExpert, + "Skill.Performance.Expert", + "Character is Expert in Performance." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillPerformanceMaster, + "Skill.Performance.Master", + "Character is Master in Performance." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillPerformanceLegendary, + "Skill.Performance.Legendary", + "Character is Legendary in Performance." +) + +// === Religion +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillReligionUntrained, + "Skill.Religion.Untrained", + "Character is Untrained in Religion." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillReligionTrained, + "Skill.Religion.Trained", + "Character is Trained in Religion." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillReligionExpert, + "Skill.Religion.Expert", + "Character is Expert in Religion." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillReligionMaster, + "Skill.Religion.Master", + "Character is Master in Religion." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillReligionLegendary, + "Skill.Religion.Legendary", + "Character is Legendary in Religion." +) + +// === Society +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillSocietyUntrained, + "Skill.Society.Untrained", + "Character is Untrained in Society." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillSocietyTrained, + "Skill.Society.Trained", + "Character is Trained in Society." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillSocietyExpert, + "Skill.Society.Expert", + "Character is Expert in Society." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillSocietyMaster, + "Skill.Society.Master", + "Character is Master in Society." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillSocietyLegendary, + "Skill.Society.Legendary", + "Character is Legendary in Society." +) + +// === Stealth +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillStealthUntrained, + "Skill.Stealth.Untrained", + "Character is Untrained in Stealth." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillStealthTrained, + "Skill.Stealth.Trained", + "Character is Trained in Stealth." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillStealthExpert, + "Skill.Stealth.Expert", + "Character is Expert in Stealth." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillStealthMaster, + "Skill.Stealth.Master", + "Character is Master in Stealth." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillStealthLegendary, + "Skill.Stealth.Legendary", + "Character is Legendary in Stealth." +) + +// === Survival +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillSurvivalUntrained, + "Skill.Survival.Untrained", + "Character is Untrained in Survival." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillSurvivalTrained, + "Skill.Survival.Trained", + "Character is Trained in Survival." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillSurvivalExpert, + "Skill.Survival.Expert", + "Character is Expert in Survival." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillSurvivalMaster, + "Skill.Survival.Master", + "Character is Master in Survival." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillSurvivalLegendary, + "Skill.Survival.Legendary", + "Character is Legendary in Survival." +) + +// === Thievery +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillThieveryUntrained, + "Skill.Thievery.Untrained", + "Character is Untrained in Thievery." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillThieveryTrained, + "Skill.Thievery.Trained", + "Character is Trained in Thievery." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillThieveryExpert, + "Skill.Thievery.Expert", + "Character is Expert in Thievery." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillThieveryMaster, + "Skill.Thievery.Master", + "Character is Master in Thievery." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSkillThieveryLegendary, + "Skill.Thievery.Legendary", + "Character is Legendary in Thievery." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/SpellAttacks.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/SpellAttacks.cpp new file mode 100644 index 000000000..d5b85b408 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/SpellAttacks.cpp @@ -0,0 +1,47 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Stats/Proficiencies/SpellAttacks.h" + +// ===================================================================================================================== +// Proficiency Ranks for Spell Attacks (Spell Attack Roll). +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Appendix, page 627, "Spell Attack Roll". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellAttackUntrained, + "SpellAttack.Untrained", + "Character is Untrained in spell attacks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellAttackTrained, + "SpellAttack.Trained", + "Character is Trained in spell attacks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellAttackExpert, + "SpellAttack.Expert", + "Character is Expert in spell attacks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellAttackMaster, + "SpellAttack.Master", + "Character is Master in spell attacks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellAttackLegendary, + "SpellAttack.Legendary", + "Character is Legendary in spell attacks." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/SpellDc.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/SpellDc.cpp new file mode 100644 index 000000000..484ab39da --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/SpellDc.cpp @@ -0,0 +1,47 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Stats/Proficiencies/SpellDc.h" + +// ===================================================================================================================== +// Proficiency Ranks for Spell DC (Difficulty Class) and spellcasting (Spell DC). +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Appendix, page 627, "Spell DC". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellDcUntrained, + "SpellDc.Untrained", + "Character is Untrained in spellcasting." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellDcTrained, + "SpellDc.Trained", + "Character is Trained in spellcasting." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellDcExpert, + "SpellDc.Expert", + "Character is Expert in spellcasting." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellDcMaster, + "SpellDc.Master", + "Character is Master in spellcasting." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpellDcLegendary, + "SpellDc.Legendary", + "Character is Legendary in spellcasting." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Weapons.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Weapons.cpp new file mode 100644 index 000000000..e4991564c --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/Proficiencies/Weapons.cpp @@ -0,0 +1,1431 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Stats/Proficiencies/Weapons.h" + +// ===================================================================================================================== +// Proficiency Ranks for Unarmed Attacks +// ===================================================================================================================== +// Weapon type mentioned in Pathfinder 2E Core Rulebook under: +// - Chapter 3, page 71, "Attacks" for "Alchemist" +// - Chapter 3, page 83, "Attacks" for "Barbarian" +// - Chapter 3, page 95, "Attacks" for "Bard" +// - Chapter 3, page 105, "Attacks" for "Champion" +// - Chapter 3, page 117, "Attacks" for "Cleric" +// - Chapter 3, page 129, "Attacks" for "Druid" +// - Chapter 3, page 141, "Attacks" for "Fighter" +// - Chapter 3, page 155, "Attacks" for "Monk" +// - Chapter 3, page 167, "Attacks" for "Ranger" +// - Chapter 3, page 179, "Attacks" for "Rogue" +// - Chapter 3, page 191, "Attacks" for "Sorcerer" +// - Chapter 3, page 203, "Attacks" for "Wizard" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryUnarmedUntrained, + "WeaponProficiency.Category.Unarmed.Untrained", + "Character is Untrained with Unarmed attacks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryUnarmedTrained, + "WeaponProficiency.Category.Unarmed.Trained", + "Character is Trained with Unarmed attacks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryUnarmedExpert, + "WeaponProficiency.Category.Unarmed.Expert", + "Character is Expert with Unarmed attacks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryUnarmedMaster, + "WeaponProficiency.Category.Unarmed.Master", + "Character is Master with Unarmed attacks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryUnarmedLegendary, + "WeaponProficiency.Category.Unarmed.Legendary", + "Character is Legendary with Unarmed attacks." +) + +// ===================================================================================================================== +// Proficiency Ranks for Simple Weapons +// ===================================================================================================================== +// Weapon type mentioned in Pathfinder 2E Core Rulebook under: +// - Chapter 3, page 71, "Attacks" for "Alchemist" +// - Chapter 3, page 83, "Attacks" for "Barbarian" +// - Chapter 3, page 95, "Attacks" for "Bard" +// - Chapter 3, page 105, "Attacks" for "Champion" +// - Chapter 3, page 117, "Attacks" for "Cleric" +// - Chapter 3, page 129, "Attacks" for "Druid" +// - Chapter 3, page 141, "Attacks" for "Fighter" +// - Chapter 3, page 155, "Attacks" for "Monk" +// - Chapter 3, page 167, "Attacks" for "Ranger" +// - Chapter 3, page 179, "Attacks" for "Rogue" +// - Chapter 3, page 191, "Attacks" for "Sorcerer" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategorySimpleUntrained, + "WeaponProficiency.Category.Simple.Untrained", + "Character is Untrained with Simple weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategorySimpleTrained, + "WeaponProficiency.Category.Simple.Trained", + "Character is Trained with Simple weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategorySimpleExpert, + "WeaponProficiency.Category.Simple.Expert", + "Character is Expert with Simple weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategorySimpleMaster, + "WeaponProficiency.Category.Simple.Master", + "Character is Master with Simple weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategorySimpleLegendary, + "WeaponProficiency.Category.Simple.Legendary", + "Character is Legendary with Simple weapons." +) + +// ===================================================================================================================== +// Proficiency Ranks for Advanced Weapons +// ===================================================================================================================== +// Weapon type mentioned in Pathfinder 2E Core Rulebook under: +// - Chapter 3, page 141, "Attacks" for "Fighter" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedUntrained, + "WeaponProficiency.Category.Advanced.Untrained", + "Character is Untrained with Advanced weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedTrained, + "WeaponProficiency.Category.Advanced.Trained", + "Character is Trained with Advanced weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedExpert, + "WeaponProficiency.Category.Advanced.Expert", + "Character is Expert with Advanced weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedMaster, + "WeaponProficiency.Category.Advanced.Master", + "Character is Master with Advanced weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedLegendary, + "WeaponProficiency.Category.Advanced.Legendary", + "Character is Legendary with Advanced weapons." +) + +// ===================================================================================================================== +// Proficiency Ranks for Advanced Dwarf Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity": +// "For the purpose of determining your proficiency, [...] advanced dwarf weapons are martial weapons." +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedDwarfUntrained, + "WeaponProficiency.Category.AdvancedDwarf.Untrained", + "Character is Untrained with Advanced Dwarf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedDwarfTrained, + "WeaponProficiency.Category.AdvancedDwarf.Trained", + "Character is Trained with Advanced Dwarf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedDwarfExpert, + "WeaponProficiency.Category.AdvancedDwarf.Expert", + "Character is Expert with Advanced Dwarf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedDwarfMaster, + "WeaponProficiency.Category.AdvancedDwarf.Master", + "Character is Master with Advanced Dwarf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedDwarfLegendary, + "WeaponProficiency.Category.AdvancedDwarf.Legendary", + "Character is Legendary with Advanced Dwarf weapons." +) + +// ===================================================================================================================== +// Proficiency Ranks for Advanced Elf Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity": +// "For the purpose of determining your proficiency, [...] advanced elf weapons are martial weapons." +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedElfUntrained, + "WeaponProficiency.Category.AdvancedElf.Untrained", + "Character is Untrained with Advanced Elf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedElfTrained, + "WeaponProficiency.Category.AdvancedElf.Trained", + "Character is Trained with Advanced Elf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedElfExpert, + "WeaponProficiency.Category.AdvancedElf.Expert", + "Character is Expert with Advanced Elf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedElfMaster, + "WeaponProficiency.Category.AdvancedElf.Master", + "Character is Master with Advanced Elf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedElfLegendary, + "WeaponProficiency.Category.AdvancedElf.Legendary", + "Character is Legendary with Advanced Elf weapons." +) + +// ===================================================================================================================== +// Proficiency Ranks for Advanced Gnome Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 44, "Gnome Weapon Familiarity": +// "For the purpose of determining your proficiency, [...] advanced gnome weapons are martial weapons." +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedGnomeUntrained, + "WeaponProficiency.Category.AdvancedGnome.Untrained", + "Character is Untrained with Advanced Gnome weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedGnomeTrained, + "WeaponProficiency.Category.AdvancedGnome.Trained", + "Character is Trained with Advanced Gnome weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedGnomeExpert, + "WeaponProficiency.Category.AdvancedGnome.Expert", + "Character is Expert with Advanced Gnome weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedGnomeMaster, + "WeaponProficiency.Category.AdvancedGnome.Master", + "Character is Master with Advanced Gnome weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedGnomeLegendary, + "WeaponProficiency.Category.AdvancedGnome.Legendary", + "Character is Legendary with Advanced Gnome weapons." +) + +// ===================================================================================================================== +// Proficiency Ranks for Advanced Goblin Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 48, "Goblin Weapon Familiarity": +// "For the purpose of determining your proficiency, [...] advanced goblin weapons are martial weapons." +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedGoblinUntrained, + "WeaponProficiency.Category.AdvancedGoblin.Untrained", + "Character is Untrained with Advanced Goblin weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedGoblinTrained, + "WeaponProficiency.Category.AdvancedGoblin.Trained", + "Character is Trained with Advanced Goblin weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedGoblinExpert, + "WeaponProficiency.Category.AdvancedGoblin.Expert", + "Character is Expert with Advanced Goblin weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedGoblinMaster, + "WeaponProficiency.Category.AdvancedGoblin.Master", + "Character is Master with Advanced Goblin weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedGoblinLegendary, + "WeaponProficiency.Category.AdvancedGoblin.Legendary", + "Character is Legendary with Advanced Goblin weapons." +) + +// ===================================================================================================================== +// Proficiency Ranks for Advanced Halfling Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 52, "Halfling Weapon Familiarity": +// "For the purpose of determining your proficiency, [...] advanced halfling weapons are martial weapons." +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedHalflingUntrained, + "WeaponProficiency.Category.AdvancedHalfling.Untrained", + "Character is Untrained with Advanced Halfling weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedHalflingTrained, + "WeaponProficiency.Category.AdvancedHalfling.Trained", + "Character is Trained with Advanced Halfling weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedHalflingExpert, + "WeaponProficiency.Category.AdvancedHalfling.Expert", + "Character is Expert with Advanced Halfling weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedHalflingMaster, + "WeaponProficiency.Category.AdvancedHalfling.Master", + "Character is Master with Advanced Halfling weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryAdvancedHalflingLegendary, + "WeaponProficiency.Category.AdvancedHalfling.Legendary", + "Character is Legendary with Advanced Halfling weapons." +) + +// ===================================================================================================================== +// Proficiency Ranks for Martial Weapons +// ===================================================================================================================== +// Weapon type mentioned in Pathfinder 2E Core Rulebook under: +// - Chapter 3, page 83, "Attacks" for "Barbarian" +// - Chapter 3, page 105, "Attacks" for "Champion" +// - Chapter 3, page 141, "Attacks" for "Fighter" +// - Chapter 3, page 167, "Attacks" for "Ranger" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialUntrained, + "WeaponProficiency.Category.Martial.Untrained", + "Character is Untrained with Martial weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialTrained, + "WeaponProficiency.Category.Martial.Trained", + "Character is Trained with Martial weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialExpert, + "WeaponProficiency.Category.Martial.Expert", + "Character is Expert with Martial weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialMaster, + "WeaponProficiency.Category.Martial.Master", + "Character is Master with Martial weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialLegendary, + "WeaponProficiency.Category.Martial.Legendary", + "Character is Legendary with Martial weapons." +) + +// ===================================================================================================================== +// Proficiency Ranks for Martial Dwarf Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity": +// "For the purpose of determining your proficiency, martial dwarf weapons are simple weapons..." +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialDwarfUntrained, + "WeaponProficiency.Category.MartialDwarf.Untrained", + "Character is Untrained with Martial Dwarf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialDwarfTrained, + "WeaponProficiency.Category.MartialDwarf.Trained", + "Character is Trained with Martial Dwarf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialDwarfExpert, + "WeaponProficiency.Category.MartialDwarf.Expert", + "Character is Expert with Martial Dwarf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialDwarfMaster, + "WeaponProficiency.Category.MartialDwarf.Master", + "Character is Master with Martial Dwarf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialDwarfLegendary, + "WeaponProficiency.Category.MartialDwarf.Legendary", + "Character is Legendary with Martial Dwarf weapons." +) + +// ===================================================================================================================== +// Proficiency Ranks for Martial Elf Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity": +// "For the purpose of determining your proficiency, martial elf weapons are simple weapons..." +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialElfUntrained, + "WeaponProficiency.Category.MartialElf.Untrained", + "Character is Untrained with Martial Elf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialElfTrained, + "WeaponProficiency.Category.MartialElf.Trained", + "Character is Trained with Martial Elf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialElfExpert, + "WeaponProficiency.Category.MartialElf.Expert", + "Character is Expert with Martial Elf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialElfMaster, + "WeaponProficiency.Category.MartialElf.Master", + "Character is Master with Martial Elf weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialElfLegendary, + "WeaponProficiency.Category.MartialElf.Legendary", + "Character is Legendary with Martial Elf weapons." +) + +// ===================================================================================================================== +// Proficiency Ranks for Martial Gnome Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 44, "Gnome Weapon Familiarity": +// "For the purpose of determining your proficiency, martial gnome weapons are simple weapons..." +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialGnomeUntrained, + "WeaponProficiency.Category.MartialGnome.Untrained", + "Character is Untrained with Martial Gnome weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialGnomeTrained, + "WeaponProficiency.Category.MartialGnome.Trained", + "Character is Trained with Martial Gnome weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialGnomeExpert, + "WeaponProficiency.Category.MartialGnome.Expert", + "Character is Expert with Martial Gnome weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialGnomeMaster, + "WeaponProficiency.Category.MartialGnome.Master", + "Character is Master with Martial Gnome weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialGnomeLegendary, + "WeaponProficiency.Category.MartialGnome.Legendary", + "Character is Legendary with Martial Gnome weapons." +) + +// ===================================================================================================================== +// Proficiency Ranks for Martial Goblin Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 48, "Goblin Weapon Familiarity": +// "For the purpose of determining your proficiency, martial goblin weapons are simple weapons..." +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialGoblinUntrained, + "WeaponProficiency.Category.MartialGoblin.Untrained", + "Character is Untrained with Martial Goblin weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialGoblinTrained, + "WeaponProficiency.Category.MartialGoblin.Trained", + "Character is Trained with Martial Goblin weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialGoblinExpert, + "WeaponProficiency.Category.MartialGoblin.Expert", + "Character is Expert with Martial Goblin weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialGoblinMaster, + "WeaponProficiency.Category.MartialGoblin.Master", + "Character is Master with Martial Goblin weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialGoblinLegendary, + "WeaponProficiency.Category.MartialGoblin.Legendary", + "Character is Legendary with Martial Goblin weapons." +) + +// ===================================================================================================================== +// Proficiency Ranks for Martial Halfling Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 52, "Halfling Weapon Familiarity": +// "For the purpose of determining your proficiency, martial halfling weapons are simple weapons..." +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialHalflingUntrained, + "WeaponProficiency.Category.MartialHalfling.Untrained", + "Character is Untrained with Martial Halfling weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialHalflingTrained, + "WeaponProficiency.Category.MartialHalfling.Trained", + "Character is Trained with Martial Halfling weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialHalflingExpert, + "WeaponProficiency.Category.MartialHalfling.Expert", + "Character is Expert with Martial Halfling weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialHalflingMaster, + "WeaponProficiency.Category.MartialHalfling.Master", + "Character is Master with Martial Halfling weapons." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCategoryMartialHalflingLegendary, + "WeaponProficiency.Category.MartialHalfling.Legendary", + "Character is Legendary with Martial Halfling weapons." +) + +// ===================================================================================================================== +// Proficiency Ranks for Alchemical Bombs +// ===================================================================================================================== +// Weapon type mentioned in Pathfinder 2E Core Rulebook under: +// - Chapter 3, page 71, "Attacks" for "Alchemist" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyAlchemicalBombUntrained, + "WeaponProficiency.AlchemicalBomb.Untrained", + "Character is Untrained with Alchemical Bombs." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyAlchemicalBombTrained, + "WeaponProficiency.AlchemicalBomb.Trained", + "Character is Trained with Alchemical Bombs." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyAlchemicalBombExpert, + "WeaponProficiency.AlchemicalBomb.Expert", + "Character is Expert with Alchemical Bombs." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyAlchemicalBombMaster, + "WeaponProficiency.AlchemicalBomb.Master", + "Character is Master with Alchemical Bombs." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyAlchemicalBombLegendary, + "WeaponProficiency.AlchemicalBomb.Legendary", + "Character is Legendary with Alchemical Bombs." +) + +// ===================================================================================================================== +// Proficiency Ranks for Battle Axes +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyBattleAxeUntrained, + "WeaponProficiency.BattleAxe.Untrained", + "Character is Untrained with Battle Axes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyBattleAxeTrained, + "WeaponProficiency.BattleAxe.Trained", + "Character is Trained with Battle Axes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyBattleAxeExpert, + "WeaponProficiency.BattleAxe.Expert", + "Character is Expert with Battle Axes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyBattleAxeMaster, + "WeaponProficiency.BattleAxe.Master", + "Character is Master with Battle Axes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyBattleAxeLegendary, + "WeaponProficiency.BattleAxe.Legendary", + "Character is Legendary with Battle Axes." +) + +// ===================================================================================================================== +// Proficiency Ranks for Clubs +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 3, page 203, "Attacks" for "Wizard" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyClubUntrained, + "WeaponProficiency.Club.Untrained", + "Character is Untrained with Clubs." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyClubTrained, + "WeaponProficiency.Club.Trained", + "Character is Trained with Clubs." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyClubExpert, + "WeaponProficiency.Club.Expert", + "Character is Expert with Clubs." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyClubMaster, + "WeaponProficiency.Club.Master", + "Character is Master with Clubs." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyClubLegendary, + "WeaponProficiency.Club.Legendary", + "Character is Legendary with Clubs." +) + +// ===================================================================================================================== +// Proficiency Ranks for Composite Longbows +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCompositeLongbowUntrained, + "WeaponProficiency.CompositeLongbow.Untrained", + "Character is Untrained with Composite Longbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCompositeLongbowTrained, + "WeaponProficiency.CompositeLongbow.Trained", + "Character is Trained with Composite Longbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCompositeLongbowExpert, + "WeaponProficiency.CompositeLongbow.Expert", + "Character is Expert with Composite Longbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCompositeLongbowMaster, + "WeaponProficiency.CompositeLongbow.Master", + "Character is Master with Composite Longbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCompositeLongbowLegendary, + "WeaponProficiency.CompositeLongbow.Legendary", + "Character is Legendary with Composite Longbows." +) + +// ===================================================================================================================== +// Proficiency Ranks for Composite Shortbows +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCompositeShortbowUntrained, + "WeaponProficiency.CompositeShortbow.Untrained", + "Character is Untrained with Composite Shortbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCompositeShortbowTrained, + "WeaponProficiency.CompositeShortbow.Trained", + "Character is Trained with Composite Shortbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCompositeShortbowExpert, + "WeaponProficiency.CompositeShortbow.Expert", + "Character is Expert with Composite Shortbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCompositeShortbowMaster, + "WeaponProficiency.CompositeShortbow.Master", + "Character is Master with Composite Shortbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCompositeShortbowLegendary, + "WeaponProficiency.CompositeShortbow.Legendary", + "Character is Legendary with Composite Shortbows." +) + +// ===================================================================================================================== +// Proficiency Ranks for Crossbows +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 3, page 203, "Attacks" for "Wizard" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCrossbowUntrained, + "WeaponProficiency.Crossbow.Untrained", + "Character is Untrained with Crossbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCrossbowTrained, + "WeaponProficiency.Crossbow.Trained", + "Character is Trained with Crossbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCrossbowExpert, + "WeaponProficiency.Crossbow.Expert", + "Character is Expert with Crossbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCrossbowMaster, + "WeaponProficiency.Crossbow.Master", + "Character is Master with Crossbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyCrossbowLegendary, + "WeaponProficiency.Crossbow.Legendary", + "Character is Legendary with Crossbows." +) + +// ===================================================================================================================== +// Proficiency Ranks for Daggers +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 3, page 203, "Attacks" for "Wizard" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyDaggerUntrained, + "WeaponProficiency.Dagger.Untrained", + "Character is Untrained with Daggers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyDaggerTrained, + "WeaponProficiency.Dagger.Trained", + "Character is Trained with Daggers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyDaggerExpert, + "WeaponProficiency.Dagger.Expert", + "Character is Expert with Daggers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyDaggerMaster, + "WeaponProficiency.Dagger.Master", + "Character is Master with Daggers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyDaggerLegendary, + "WeaponProficiency.Dagger.Legendary", + "Character is Legendary with Daggers." +) + +// ===================================================================================================================== +// Proficiency Ranks for Dogslicers +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 48, "Goblin Weapon Familiarity". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyDogslicerUntrained, + "WeaponProficiency.Dogslicer.Untrained", + "Character is Untrained with Dogslicers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyDogslicerTrained, + "WeaponProficiency.Dogslicer.Trained", + "Character is Trained with Dogslicers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyDogslicerExpert, + "WeaponProficiency.Dogslicer.Expert", + "Character is Expert with Dogslicers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyDogslicerMaster, + "WeaponProficiency.Dogslicer.Master", + "Character is Master with Dogslicers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyDogslicerLegendary, + "WeaponProficiency.Dogslicer.Legendary", + "Character is Legendary with Dogslicers." +) + +// ===================================================================================================================== +// Proficiency Ranks for Falchions +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 58, "Orc Weapon Familiarity". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyFalchionUntrained, + "WeaponProficiency.Falchion.Untrained", + "Character is Untrained with Falchions." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyFalchionTrained, + "WeaponProficiency.Falchion.Trained", + "Character is Trained with Falchions." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyFalchionExpert, + "WeaponProficiency.Falchion.Expert", + "Character is Expert with Falchions." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyFalchionMaster, + "WeaponProficiency.Falchion.Master", + "Character is Master with Falchions." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyFalchionLegendary, + "WeaponProficiency.Falchion.Legendary", + "Character is Legendary with Falchions." +) + +// ===================================================================================================================== +// Proficiency Ranks for Glaives +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 44, "Gnome Weapon Familiarity". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyGlaiveUntrained, + "WeaponProficiency.Glaive.Untrained", + "Character is Untrained with Glaives." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyGlaiveTrained, + "WeaponProficiency.Glaive.Trained", + "Character is Trained with Glaives." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyGlaiveExpert, + "WeaponProficiency.Glaive.Expert", + "Character is Expert with Glaives." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyGlaiveMaster, + "WeaponProficiency.Glaive.Master", + "Character is Master with Glaives." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyGlaiveLegendary, + "WeaponProficiency.Glaive.Legendary", + "Character is Legendary with Glaives." +) + +// ===================================================================================================================== +// Proficiency Ranks for Greataxes +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 58, "Orc Weapon Familiarity". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyGreataxeUntrained, + "WeaponProficiency.Greataxe.Untrained", + "Character is Untrained with Greataxes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyGreataxeTrained, + "WeaponProficiency.Greataxe.Trained", + "Character is Trained with Greataxes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyGreataxeExpert, + "WeaponProficiency.Greataxe.Expert", + "Character is Expert with Greataxes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyGreataxeMaster, + "WeaponProficiency.Greataxe.Master", + "Character is Master with Greataxes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyGreataxeLegendary, + "WeaponProficiency.Greataxe.Legendary", + "Character is Legendary with Greataxes." +) + +// ===================================================================================================================== +// Proficiency Ranks for Halfling Sling Staves +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 52, "Halfling Weapon Familiarity". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHalflingSlingStaffUntrained, + "WeaponProficiency.HalflingSlingStaff.Untrained", + "Character is Untrained with Halfling Sling Staves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHalflingSlingStaffTrained, + "WeaponProficiency.HalflingSlingStaff.Trained", + "Character is Trained with Halfling Sling Staves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHalflingSlingStaffExpert, + "WeaponProficiency.HalflingSlingStaff.Expert", + "Character is Expert with Halfling Sling Staves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHalflingSlingStaffMaster, + "WeaponProficiency.HalflingSlingStaff.Master", + "Character is Master with Halfling Sling Staves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHalflingSlingStaffLegendary, + "WeaponProficiency.HalflingSlingStaff.Legendary", + "Character is Legendary with Halfling Sling Staves." +) + +// ===================================================================================================================== +// Proficiency Ranks for Heavy Crossbows +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 3, page 203, "Attacks" for "Wizard" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHeavyCrossbowUntrained, + "WeaponProficiency.HeavyCrossbow.Untrained", + "Character is Untrained with Heavy Crossbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHeavyCrossbowTrained, + "WeaponProficiency.HeavyCrossbow.Trained", + "Character is Trained with Heavy Crossbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHeavyCrossbowExpert, + "WeaponProficiency.HeavyCrossbow.Expert", + "Character is Expert with Heavy Crossbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHeavyCrossbowMaster, + "WeaponProficiency.HeavyCrossbow.Master", + "Character is Master with Heavy Crossbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHeavyCrossbowLegendary, + "WeaponProficiency.HeavyCrossbow.Legendary", + "Character is Legendary with Heavy Crossbows." +) + +// ===================================================================================================================== +// Proficiency Ranks for Horsechoppers +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 48, "Goblin Weapon Familiarity". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHorsechopperUntrained, + "WeaponProficiency.Horsechopper.Untrained", + "Character is Untrained with Horsechoppers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHorsechopperTrained, + "WeaponProficiency.Horsechopper.Trained", + "Character is Trained with Horsechoppers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHorsechopperExpert, + "WeaponProficiency.Horsechopper.Expert", + "Character is Expert with Horsechoppers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHorsechopperMaster, + "WeaponProficiency.Horsechopper.Master", + "Character is Master with Horsechoppers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyHorsechopperLegendary, + "WeaponProficiency.Horsechopper.Legendary", + "Character is Legendary with Horsechoppers." +) + +// ===================================================================================================================== +// Proficiency Ranks for Kukris +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 44, "Gnome Weapon Familiarity". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyKukriUntrained, + "WeaponProficiency.Kukri.Untrained", + "Character is Untrained with Kukris." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyKukriTrained, + "WeaponProficiency.Kukri.Trained", + "Character is Trained with Kukris." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyKukriExpert, + "WeaponProficiency.Kukri.Expert", + "Character is Expert with Kukris." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyKukriMaster, + "WeaponProficiency.Kukri.Master", + "Character is Master with Kukris." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyKukriLegendary, + "WeaponProficiency.Kukri.Legendary", + "Character is Legendary with Kukris." +) + +// ===================================================================================================================== +// Proficiency Ranks for Longbows +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyLongbowUntrained, + "WeaponProficiency.Longbow.Untrained", + "Character is Untrained with Longbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyLongbowTrained, + "WeaponProficiency.Longbow.Trained", + "Character is Trained with Longbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyLongbowExpert, + "WeaponProficiency.Longbow.Expert", + "Character is Expert with Longbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyLongbowMaster, + "WeaponProficiency.Longbow.Master", + "Character is Master with Longbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyLongbowLegendary, + "WeaponProficiency.Longbow.Legendary", + "Character is Legendary with Longbows." +) + +// ===================================================================================================================== +// Proficiency Ranks for Longswords +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 2, page 40, "Elven Weapon Familiarity" +// - Chapter 3, page 95, "Attacks" for "Bard" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyLongswordUntrained, + "WeaponProficiency.Longsword.Untrained", + "Character is Untrained with Longswords." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyLongswordTrained, + "WeaponProficiency.Longsword.Trained", + "Character is Trained with Longswords." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyLongswordExpert, + "WeaponProficiency.Longsword.Expert", + "Character is Expert with Longswords." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyLongswordMaster, + "WeaponProficiency.Longsword.Master", + "Character is Master with Longswords." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyLongswordLegendary, + "WeaponProficiency.Longsword.Legendary", + "Character is Legendary with Longswords." +) + +// ===================================================================================================================== +// Proficiency Ranks for Picks +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyPickUntrained, + "WeaponProficiency.Pick.Untrained", + "Character is Untrained with Picks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyPickTrained, + "WeaponProficiency.Pick.Trained", + "Character is Trained with Picks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyPickExpert, + "WeaponProficiency.Pick.Expert", + "Character is Expert with Picks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyPickMaster, + "WeaponProficiency.Pick.Master", + "Character is Master with Picks." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyPickLegendary, + "WeaponProficiency.Pick.Legendary", + "Character is Legendary with Picks." +) + +// ===================================================================================================================== +// Proficiency Ranks for Rapiers +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 2, page 40, "Elven Weapon Familiarity" +// - Chapter 3, page 95, "Attacks" for "Bard" +// - Chapter 3, page 179, "Attacks" for "Rogue" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyRapierUntrained, + "WeaponProficiency.Rapier.Untrained", + "Character is Untrained with Rapiers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyRapierTrained, + "WeaponProficiency.Rapier.Trained", + "Character is Trained with Rapiers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyRapierExpert, + "WeaponProficiency.Rapier.Expert", + "Character is Expert with Rapiers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyRapierMaster, + "WeaponProficiency.Rapier.Master", + "Character is Master with Rapiers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyRapierLegendary, + "WeaponProficiency.Rapier.Legendary", + "Character is Legendary with Rapiers." +) + +// ===================================================================================================================== +// Proficiency Ranks for Saps +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 3, page 95, "Attacks" for "Bard" +// - Chapter 3, page 179, "Attacks" for "Rogue" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencySapUntrained, + "WeaponProficiency.Sap.Untrained", + "Character is Untrained with Saps." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencySapTrained, + "WeaponProficiency.Sap.Trained", + "Character is Trained with Saps." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencySapExpert, + "WeaponProficiency.Sap.Expert", + "Character is Expert with Saps." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencySapMaster, + "WeaponProficiency.Sap.Master", + "Character is Master with Saps." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencySapLegendary, + "WeaponProficiency.Sap.Legendary", + "Character is Legendary with Saps." +) + +// ===================================================================================================================== +// Proficiency Ranks for Shortbows +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 2, page 40, "Elven Weapon Familiarity" +// - Chapter 3, page 95, "Attacks" for "Bard" +// - Chapter 3, page 179, "Attacks" for "Rogue" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyShortbowUntrained, + "WeaponProficiency.Shortbow.Untrained", + "Character is Untrained with Shortbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyShortbowTrained, + "WeaponProficiency.Shortbow.Trained", + "Character is Trained with Shortbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyShortbowExpert, + "WeaponProficiency.Shortbow.Expert", + "Character is Expert with Shortbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyShortbowMaster, + "WeaponProficiency.Shortbow.Master", + "Character is Master with Shortbows." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyShortbowLegendary, + "WeaponProficiency.Shortbow.Legendary", + "Character is Legendary with Shortbows." +) + +// ===================================================================================================================== +// Proficiency Ranks for Shortswords +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 2, page 52, "Halfling Weapon Familiarity" +// - Chapter 3, page 95, "Attacks" for "Bard" +// - Chapter 3, page 179, "Attacks" for "Rogue" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyShortswordUntrained, + "WeaponProficiency.Shortsword.Untrained", + "Character is Untrained with Shortswords." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyShortswordTrained, + "WeaponProficiency.Shortsword.Trained", + "Character is Trained with Shortswords." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyShortswordExpert, + "WeaponProficiency.Shortsword.Expert", + "Character is Expert with Shortswords." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyShortswordMaster, + "WeaponProficiency.Shortsword.Master", + "Character is Master with Shortswords." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyShortswordLegendary, + "WeaponProficiency.Shortsword.Legendary", + "Character is Legendary with Shortswords." +) + +// ===================================================================================================================== +// Proficiency Ranks for Slings +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 52, "Halfling Weapon Familiarity". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencySlingUntrained, + "WeaponProficiency.Sling.Untrained", + "Character is Untrained with Slings." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencySlingTrained, + "WeaponProficiency.Sling.Trained", + "Character is Trained with Slings." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencySlingExpert, + "WeaponProficiency.Sling.Expert", + "Character is Expert with Slings." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencySlingMaster, + "WeaponProficiency.Sling.Master", + "Character is Master with Slings." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencySlingLegendary, + "WeaponProficiency.Sling.Legendary", + "Character is Legendary with Slings." +) + +// ===================================================================================================================== +// Proficiency Ranks for Staves +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 3, page 203, "Attacks" for "Wizard" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyStaffUntrained, + "WeaponProficiency.Staff.Untrained", + "Character is Untrained with Staves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyStaffTrained, + "WeaponProficiency.Staff.Trained", + "Character is Trained with Staves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyStaffExpert, + "WeaponProficiency.Staff.Expert", + "Character is Expert with Staves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyStaffMaster, + "WeaponProficiency.Staff.Master", + "Character is Master with Staves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyStaffLegendary, + "WeaponProficiency.Staff.Legendary", + "Character is Legendary with Staves." +) + +// ===================================================================================================================== +// Proficiency Ranks for Warhammers +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyWarhammerUntrained, + "WeaponProficiency.Warhammer.Untrained", + "Character is Untrained with Warhammers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyWarhammerTrained, + "WeaponProficiency.Warhammer.Trained", + "Character is Trained with Warhammers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyWarhammerExpert, + "WeaponProficiency.Warhammer.Expert", + "Character is Expert with Warhammers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyWarhammerMaster, + "WeaponProficiency.Warhammer.Master", + "Character is Master with Warhammers." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyWarhammerLegendary, + "WeaponProficiency.Warhammer.Legendary", + "Character is Legendary with Warhammers." +) + +// ===================================================================================================================== +// Proficiency Ranks for Whips +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 3, page 95, "Attacks" for "Bard" +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyWhipUntrained, + "WeaponProficiency.Whip.Untrained", + "Character is Untrained with Whips." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyWhipTrained, + "WeaponProficiency.Whip.Trained", + "Character is Trained with Whips." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyWhipExpert, + "WeaponProficiency.Whip.Expert", + "Character is Expert with Whips." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyWhipMaster, + "WeaponProficiency.Whip.Master", + "Character is Master with Whips." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagWeaponProficiencyWhipLegendary, + "WeaponProficiency.Whip.Legendary", + "Character is Legendary with Whips." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/SpecialSenses.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/SpecialSenses.cpp new file mode 100644 index 000000000..b91976fca --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Stats/SpecialSenses.cpp @@ -0,0 +1,50 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Stats/SpecialSenses.h" + +// ===================================================================================================================== +// Special Senses +// ===================================================================================================================== +// "[Senses that] grant greater awareness [...] to either ignore or reduce the effects of the undetected, hidden, or +// concealed conditions [...] when it comes to situations that foil average vision." +// +// Source: Pathfinder 2E Core Rulebook, page 465, "Special Senses". +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpecialSenseDarkvision, + "SpecialSense.Darkvision", + "A creature with darkvision can see perfectly well in areas of darkness and dim light, though such vision is in black and white only. Some forms of magical darkness, such as a 4th-level darkness spell, block normal darkvision." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpecialSenseGreaterDarkvision, + "SpecialSense.GreaterDarkvision", + "A creature with greater darkvision can see perfectly well in areas of darkness and dim light, though such vision is in black and white only. Some forms of magical darkness, such as a 4th-level darkness spell, block normal darkvision. A creature with greater darkvision, however, can see through even these forms of magical darkness." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpecialSenseLowLightVision, + "SpecialSense.LowLightVision", + "A creature with low-light vision can see in dim light as though it were bright light, so it ignores the concealed condition due to dim light." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpecialSenseScent, + "SpecialSense.Scent", + "Scent involves sensing creatures or objects by smell, and is usually a vague sense. The range is listed in the ability, and it functions only if the creature or object being detected emits an aroma (for instance, incorporeal creatures usually do not exude an aroma)." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagSpecialSenseTremorsense, + "SpecialSense.Tremorsense", + "Tremorsense allows a creature to feel the vibrations through a solid surface caused by movement. It is usually an imprecise sense with a limited range (listed in the ability). Tremorsense functions only if the detecting creature is on the same surface as the subject, and only if the subject is moving along (or burrowing through) the surface." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Abilities.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Abilities.cpp new file mode 100644 index 000000000..e87a06347 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Abilities.cpp @@ -0,0 +1,113 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Traits/Abilities.h" + +// ===================================================================================================================== +// Ability Traits +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Glossary, pages 628-638. +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilityAlchemist, + "Trait.Ability.Alchemist", + "This indicates abilities from the alchemist class." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilityAttack, + "Trait.Ability.Attack", + "An ability with this trait involves an attack. For each attack you make beyond the first on your turn, you take a multiple attack penalty." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilityBarbarian, + "Trait.Ability.Barbarian", + "This indicates abilities from the barbarian class." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilityBard, + "Trait.Ability.Bard", + "This indicates abilities from the bard class." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilityChampion, + "Trait.Ability.Champion", + "This indicates abilities from the champion class." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilityCleric, + "Trait.Ability.Cleric", + "This indicates abilities from the cleric class." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilityCommon, + "Trait.Ability.Common", + "Anything that doesn't list another rarity trait (uncommon, rare, or unique) automatically has the common trait. This rarity indicates that an ability is available to all players who meet the prerequisites for it." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilityDruid, + "Trait.Ability.Druid", + "This indicates abilities from the druid class." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilityFighter, + "Trait.Ability.Fighter", + "This indicates abilities from the fighter class." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilityIncapacitation, + "Trait.Ability.Incapacitation", + "An ability with this trait can take a character completely out of the fight or even kill them, and it's harder to use on a more powerful character." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilityMonk, + "Trait.Ability.Monk", + "Abilities with this trait are from the monk class." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilityRanger, + "Trait.Ability.Ranger", + "This indicates abilities from the ranger class." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilityRogue, + "Trait.Ability.Rogue", + "This indicates abilities from the rogue class." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilitySecret, + "Trait.Ability.Secret", + "The GM rolls the check for this ability in secret." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilitySorcerer, + "Trait.Ability.Sorcerer", + "This indicates abilities from the sorcerer class." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitAbilityWizard, + "Trait.Ability.Wizard", + "This indicates abilities from the wizard class." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Actions.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Actions.cpp new file mode 100644 index 000000000..2a8417918 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Actions.cpp @@ -0,0 +1,71 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Traits/Actions.h" + +// ===================================================================================================================== +// Action Traits +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Glossary, pages 628-638. +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitActionAuditory, + "Trait.Action.Auditory", + "Auditory actions rely on sound. An action with the auditory trait can be successful only if the creature using the action can speak or otherwise produce the required sounds." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitActionConcentrate, + "Trait.Action.Concentrate", + "An action with this trait requires a degree of mental concentration and discipline." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitActionFlourish, + "Trait.Action.Flourish", + "Flourish actions are actions that require too much exertion to perform a large number in a row. You can use only 1 action with the flourish trait per turn." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitActionManipulate, + "Trait.Action.Manipulate", + "You must physically manipulate an item or make gestures to use an action with this trait. Creatures without a suitable appendage can't perform actions with this trait. Manipulate actions often trigger reactions." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitActionMetamagic, + "Trait.Action.Metamagic", + "Actions with the metamagic trait, usually from metamagic feats, tweak the properties of your spells. You must use a metamagic action directly before Casting the Spell you want to alter. If you use any action (including free actions and reactions) other than Cast a Spell directly after, you waste the benefits of the metamagic action. Any additional effects added by a metamagic action are part of the spell's effect, not of the metamagic action itself." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitActionMove, + "Trait.Action.Move", + "An action with this trait involves moving from one space to another." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitActionOpen, + "Trait.Action.Open", + "These maneuvers work only as the first salvo on your turn. You can use an open only if you haven't used an action with the attack or open trait yet this turn." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitActionPress, + "Trait.Action.Press", + "Actions with this trait allow you to follow up earlier attacks. An action with the press trait can be used only if you are currently affected by a multiple attack penalty. Some actions with the press trait also grant an effect on a failure. The effects that are added on a failure don't apply on a critical failure. If your press action succeeds, you can choose to apply the failure effect instead. (For example, you may wish to do this when an attack deals no damage due to resistance.) Because a press action requires a multiple attack penalty, you can't use one when it's not your turn, even if you use the Ready activity." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitActionStance, + "Trait.Action.Stance", + "A stance is a general combat strategy that you enter by using an action with the stance trait, and that you remain in for some time. A stance lasts until you get knocked out, until its requirements (if any) are violated, until the encounter ends, or until you enter a new stance, whichever comes first. After you use an action with the stance trait, you can't use another one for 1 round. You can enter or be in a stance only in encounter mode." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Conditions.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Conditions.cpp new file mode 100644 index 000000000..c3d49cabb --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Conditions.cpp @@ -0,0 +1,365 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Traits/Conditions.h" + +// ===================================================================================================================== +// Condition Traits +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Conditions Appendix, pages 618-623. + +// === Blinded +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionBlinded, + "Trait.Condition.Blinded", + "You can't see. All normal terrain is difficult terrain to you. You can't detect anything using vision. You are immune to visual effects. Blinded overrides dazzled." +) + +// === Broken +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionBroken, + "Trait.Condition.Broken", + "Broken is a condition that affects objects. A broken object can't be used for its normal function, nor does it grant bonuses—with the exception of armor. A broken item still imposes penalties and limitations normally incurred by carrying, holding, or wearing it." +) + +// === Clumsy +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionClumsy, + "Trait.Condition.Clumsy", + "Your movements become clumsy and inexact. Clumsy always includes a value." +) + +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionClumsy1, "Trait.Condition.Clumsy.1") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionClumsy2, "Trait.Condition.Clumsy.2") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionClumsy3, "Trait.Condition.Clumsy.3") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionClumsy4, "Trait.Condition.Clumsy.4") + +// === Concealed +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionConcealed, + "Trait.Condition.Concealed", + "While you are concealed from a creature, such as in a thick fog, you are difficult for that creature to see. You can still be observed, but you're tougher to target." +) + +// === Confused +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionConfused, + "Trait.Condition.Confused", + "You don't have your wits about you, and you attack wildly. You are flat-footed, you don't treat anyone as your ally (though they might still treat you as theirs), and you can't Delay, Ready, or use reactions." +) + +// === Controlled +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionControlled, + "Trait.Condition.Controlled", + "Someone else is making your decisions for you, usually because you're being commanded or magically dominated." +) + +// === Dazzled +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionDazzled, + "Trait.Condition.Dazzled", + "Your eyes are overstimulated. If vision is your only precise sense, all creatures and objects are concealed from you." +) + +// === Deafened +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionDeafened, + "Trait.Condition.Deafened", + "You can't hear. You automatically critically fail Perception checks that require you to be able to hear. You are immune to auditory effects." +) + +// === Doomed +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionDoomed, + "Trait.Condition.Doomed", + "A powerful force has gripped your soul, calling you closer to death. Doomed always includes a value. When you die, you're no longer doomed." +) + +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionDoomed1, "Trait.Condition.Doomed.1") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionDoomed2, "Trait.Condition.Doomed.2") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionDoomed3, "Trait.Condition.Doomed.3") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionDoomed4, "Trait.Condition.Doomed.4") + +// === Drained +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionDrained, + "Trait.Condition.Drained", + "When a creature successfully drains you of blood or life force, you become less healthy. Drained always includes a value." +) + +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionDrained1, "Trait.Condition.Drained.1") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionDrained2, "Trait.Condition.Drained.2") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionDrained3, "Trait.Condition.Drained.3") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionDrained4, "Trait.Condition.Drained.4") + +// === Dying +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionDying, + "Trait.Condition.Dying", + "You are bleeding out or otherwise at death's door. While you have this condition, you are unconscious. Dying always includes a value, and if it ever reaches dying 4, you die." +) + +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionDying1, "Trait.Condition.Dying.1") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionDying2, "Trait.Condition.Dying.2") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionDying3, "Trait.Condition.Dying.3") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionDying4, "Trait.Condition.Dying.4") + +// === Encumbered +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionEncumbered, + "Trait.Condition.Encumbered", + "You are carrying more weight than you can manage." +) + +// === Enfeebled +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionEnfeebled, + "Trait.Condition.Enfeebled", + "You're physically weakened. Enfeebled always includes a value." +) + +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionEnfeebled1, "Trait.Condition.Enfeebled.1") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionEnfeebled2, "Trait.Condition.Enfeebled.2") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionEnfeebled3, "Trait.Condition.Enfeebled.3") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionEnfeebled4, "Trait.Condition.Enfeebled.4") + +// === Fascinated +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionFascinated, + "Trait.Condition.Fascinated", + "You are compelled to focus your attention on something, distracting you from whatever else is going on around you." +) + +// === Fatigued +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionFatigued, + "Trait.Condition.Fatigued", + "You're tired and can't summon much energy." +) + +// === Flat footed +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionFlatFooted, + "Trait.Condition.FlatFooted", + "You're distracted or otherwise unable to focus your full attention on defense." +) + +// === Fleeing +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionFleeing, + "Trait.Condition.Fleeing", + "You're forced to run away due to fear or some other compulsion." +) + +// === Friendly +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionFriendly, + "Trait.Condition.Friendly", + "This condition reflects a creature's disposition toward a particular character. A creature that is friendly to a character likes that character." +) + +// === Frightened +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionFrightened, + "Trait.Condition.Frightened", + "You're gripped by fear and struggle to control your nerves. The frightened condition always includes a value." +) + +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionFrightened1, "Trait.Condition.Frightened.1") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionFrightened2, "Trait.Condition.Frightened.2") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionFrightened3, "Trait.Condition.Frightened.3") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionFrightened4, "Trait.Condition.Frightened.4") + +// === Grabbed +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionGrabbed, + "Trait.Condition.Grabbed", + "You're held in place by another creature, giving you the flat-footed and immobilized conditions." +) + +// === Helpful +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionHelpful, + "Trait.Condition.Helpful", + "This condition reflects a creature's disposition toward a particular character. A creature that is helpful to a character wishes to actively aid that character." +) + +// === Hidden +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionHidden, + "Trait.Condition.Hidden", + "While you're hidden from a creature, that creature knows the space you're in but can't tell precisely where you are." +) + +// === Hostile +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionHostile, + "Trait.Condition.Hostile", + "This condition reflects a creature's disposition toward a particular character. A creature that is hostile to a character actively seeks to harm that character." +) + +// === Immobilized +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionImmobilized, + "Trait.Condition.Immobilized", + "You can't use any action with the move trait." +) + +// === Indifferent +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionIndifferent, + "Trait.Condition.Indifferent", + "This condition reflects a creature's disposition toward a particular character. A creature that is indifferent to a character doesn't really care one way or the other about that character." +) + +// === Invisible +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionInvisible, + "Trait.Condition.Invisible", + "While invisible, you can't be seen. You're undetected to everyone." +) + +// === Observed +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionObserved, + "Trait.Condition.Observed", + "Anything in plain view is observed by you." +) + +// === Paralyzed +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionParalyzed, + "Trait.Condition.Paralyzed", + "You are frozen in place. You have the flat-footed condition and can't act except to Recall Knowledge and use actions that require only your mind. Your senses still function, but only in the areas you can perceive without moving." +) + +// === Petrified +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionPetrified, + "Trait.Condition.Petrified", + "You have been turned to stone. You can't act, nor can you sense anything. While petrified, your mind and body are in stasis, so you don't age or notice the passing of time." +) + +// === Prone +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionProne, + "Trait.Condition.Prone", + "You're lying on the ground. You are flat-footed." +) + +// === Quickened +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionQuickened, + "Trait.Condition.Quickened", + "You gain 1 additional action at the start of your turn each round. Many effects that make you quickened specify the types of actions you can use with this additional action." +) + +// === Restrained +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionRestrained, + "Trait.Condition.Restrained", + "You're tied up and can barely move, or a creature has you pinned. You have the flat-footed and immobilized conditions, and you can't use any actions with the attack or manipulate traits except to attempt to Escape or Force. Open your bonds. Restrained overrides grabbed." +) + +// === Sickened +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionSickened, + "Trait.Condition.Sickened", + "You feel ill. Sickened always includes a value. You can't willingly ingest anything—including elixirs and potions—while sickened." +) + +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionSickened1, "Trait.Condition.Sickened.1") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionSickened2, "Trait.Condition.Sickened.2") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionSickened3, "Trait.Condition.Sickened.3") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionSickened4, "Trait.Condition.Sickened.4") + +// === Slowed +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionSlowed, + "Trait.Condition.Slowed", + "You have fewer actions. Slowed always includes a value." +) + +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionSlowed1, "Trait.Condition.Slowed.1") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionSlowed2, "Trait.Condition.Slowed.2") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionSlowed3, "Trait.Condition.Slowed.3") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionSlowed4, "Trait.Condition.Slowed.4") + +// === Stunned +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionStunned, + "Trait.Condition.Stunned", + "You've become senseless. You can't act while stunned. Stunned usually includes a value. Stunned overrides slowed." +) + +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionStunned1, "Trait.Condition.Stunned.1") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionStunned2, "Trait.Condition.Stunned.2") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionStunned3, "Trait.Condition.Stunned.3") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionStunned4, "Trait.Condition.Stunned.4") + +// === Stupefied +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionStupefied, + "Trait.Condition.Stupefied", + "Your thoughts and instincts are clouded. Stupefied always includes a value." +) + +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionStupefied1, "Trait.Condition.Stupefied.1") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionStupefied2, "Trait.Condition.Stupefied.2") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionStupefied3, "Trait.Condition.Stupefied.3") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionStupefied4, "Trait.Condition.Stupefied.4") + +// === Unconscious +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionUnconscious, + "Trait.Condition.Unconscious", + "You're sleeping, or you've been knocked out. You can't act." +) + +// === Undetected +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionUndetected, + "Trait.Condition.Undetected", + "When you are undetected by a creature, that creature cannot see you at all, has no idea what space you occupy, and can't target you, though you still can be affected by abilities that target an area." +) + +// === Unfriendly +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionUnfriendly, + "Trait.Condition.Unfriendly", + "This condition reflects a creature's disposition toward a particular character. A creature that is unfriendly to a character dislikes and specifically distrusts that character." +) + +// === Unnoticed +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionUnnoticed, + "Trait.Condition.Unnoticed", + "If you are unnoticed by a creature, that creature has no idea you are present at all. When you’re unnoticed, you’re also undetected by the creature." +) + +// === Wounded +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitConditionWounded, + "Trait.Condition.Wounded", + "You have been seriously injured." +) + +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionWounded1, "Trait.Condition.Wounded.1") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionWounded2, "Trait.Condition.Wounded.2") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionWounded3, "Trait.Condition.Wounded.3") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionWounded4, "Trait.Condition.Wounded.4") + +// The following conditions do not appear in the Core Rulebook but were added by OpenPF2. + +// === Dead +UE_DEFINE_GAMEPLAY_TAG(Pf2TagTraitConditionDead, "Trait.Condition.Dead") diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Creatures.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Creatures.cpp new file mode 100644 index 000000000..406285bcb --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Creatures.cpp @@ -0,0 +1,53 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Traits/Creatures.h" + +// ===================================================================================================================== +// Creature Traits +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Glossary, pages 628-638. +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitCreatureElf, + "Trait.Creature.Elf", + "A creature with this trait is a member of the elf ancestry. Elves are mysterious people with rich traditions of magic and scholarship who typically have low-light vision. An ability with this trait can be used or selected only by elves. A weapon with this trait is created and used by elves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitCreatureHalfElf, + "Trait.Creature.HalfElf", + "A creature with this trait is part human and part elf. An ability with this trait can be used or selected only by half-elves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitCreatureHalfOrc, + "Trait.Creature.HalfOrc", + "A creature with this trait is part human and part orc. An ability with this trait can be used or selected only by half-orcs." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitCreatureHuman, + "Trait.Creature.Human", + "A creature with this trait is a member of the human ancestry. Humans are a diverse array of people known for their adaptability. An ability with this trait can be used or selected only by humans." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitCreatureHumanoid, + "Trait.Creature.Humanoid", + "Humanoid creatures reason and act much like humans. They typically stand upright and have two arms and two legs." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitCreatureOrc, + "Trait.Creature.Orc", + "A creature with this trait is a member of the orc ancestry. These green-skinned people tend to have darkvision. An ability with this trait can be used or selected only by orcs. An item with this trait is created and used by orcs." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Effects.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Effects.cpp new file mode 100644 index 000000000..ae3d8fce1 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Effects.cpp @@ -0,0 +1,53 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Traits/Effects.h" + +// ===================================================================================================================== +// Effect Traits +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Conditions Appendix, pages 628-638. +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitEffectDeath, + "Trait.Effect.Death", + "An effect with the death trait kills you immediately if it reduces you to 0 HP. Some death effects can bring you closer to death or slay you outright without reducing you to 0 HP." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitEffectDisease, + "Trait.Effect.Disease", + "An effect with this trait applies one or more diseases. A disease is typically an affliction." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitEffectLinguistic, + "Trait.Effect.Linguistic", + "An effect with this trait depends on language comprehension. A linguistic effect that targets a creature works only if the target understands the language you are using." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitEffectNonlethal, + "Trait.Effect.Nonlethal", + "An effect with this trait is not inherently deadly. Damage from a nonlethal effect knocks a creature out rather than killing it." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitEffectPoison, + "Trait.Effect.Poison", + "An effect with this trait delivers a poison or deals poison damage. An item with this trait is poisonous and might cause an affliction." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitEffectSonic, + "Trait.Effect.Sonic", + "An effect with the sonic trait functions only if it makes sound, meaning it has no effect in an area of silence or in a vacuum. This is different from an auditory effect, which functions only if the target can hear it. A sonic effect might deal sonic damage." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Weapons.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Weapons.cpp new file mode 100644 index 000000000..4ad431184 --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/Traits/Weapons.cpp @@ -0,0 +1,257 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/Traits/Weapons.h" + +// ===================================================================================================================== +// Weapon Traits +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, "Weapon Traits", pages 282-283. +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponAgile, + "Trait.Weapon.Agile", + "A weapon with this trait has a different multiple attack penalty. The second attack on a character's turn is –4 instead of –5, and –8 instead of –10 on the third and subsequent attacks in the turn." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponAttachedToShield, + "Trait.Weapon.Attached.ToShield", + "A weapon with this trait must be combined with a shield to be used." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponBackstabber, + "Trait.Weapon.Backstabber", + "A weapon with this trait behaves differently when hitting a flat-footed creature. This weapon deals 1 precision damage in addition to its normal damage. The precision damage increases to 2 if the weapon is a +3 weapon." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponBackswing, + "Trait.Weapon.Backswing", + "A weapon with this trait allows a character to use the momentum from a missed attack to lead into their next attack. After missing with this weapon on their turn, a character gains a +1 circumstance bonus to their next attack with this weapon before the end of their turn." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponDeadlyD6, + "Trait.Weapon.Deadly.D6", + "A weapon with this trait gets a D6 damage die added to critical hits. The die is rolled after doubling the weapon's damage. This increases to two dice if the weapon has a greater striking rune and three dice if the weapon has a major striking rune." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponDeadlyD8, + "Trait.Weapon.Deadly.D8", + "A weapon with this trait gets a D8 damage die added to critical hits. The die is rolled after doubling the weapon's damage. This increases to two dice if the weapon has a greater striking rune and three dice if the weapon has a major striking rune." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponDeadlyD10, + "Trait.Weapon.Deadly.D10", + "A weapon with this trait gets a D10 damage die added to critical hits. The die is rolled after doubling the weapon's damage. This increases to two dice if the weapon has a greater striking rune and three dice if the weapon has a major striking rune." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponDisarm, + "Trait.Weapon.Disarm", + "A weapon with this trait allows a character to Disarm with the Athletics skill even if the character doesn't have a free hand. This uses the weapon's reach (if different from the character's own) and adds the weapon's item bonus to attack rolls (if any) as an item bonus to the Athletics check. If a character critically fails a check to Disarm using the weapon, they can drop the weapon to take the effects of a failure instead of a critical failure. On a critical success, they still need a free hand if they want to take the item." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponDwarf, + "Trait.Weapon.Dwarf", + "A weapon with this trait is crafted and used by Dwarves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponElf, + "Trait.Weapon.Elf", + "A weapon with this trait is crafted and used by Elves." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponFatalD8, + "Trait.Weapon.Fatal.D8", + "A weapon with this trait has a D8 damage die on a critical hit instead of the normal die size, along with one additional D8 damage die." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponFatalD10, + "Trait.Weapon.Fatal.D10", + "A weapon with this trait has a D10 damage die on a critical hit instead of the normal die size, along with one additional D10 damage die." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponFatalD12, + "Trait.Weapon.Fatal.D12", + "A weapon with this trait has a D12 damage die on a critical hit instead of the normal die size, along with one additional D12 damage die." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponFinesse, + "Trait.Weapon.Finesse", + "A melee weapon with this trait allows a character to use their Dexterity modifier instead of their Strength modifier on attack rolls. The character still uses their Strength modifier when calculating damage." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponForceful, + "Trait.Weapon.Forceful", + "A weapon with this trait becomes more dangerous as a character builds momentum. When they attack with it more than once on their turn, the second attack gains a circumstance bonus to damage equal to the number of weapon damage dice, and each subsequent attack gains a circumstance bonus to damage equal to double the number of weapon damage dice." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponFreeHand, + "Trait.Weapon.FreeHand", + "A weapon with this trait doesn't take up a character's hand, usually because it is built into the character's armor. A free-hand weapon can't be Disarmed. The character can use the hand covered by the free-hand weapon to wield other items, perform manipulate actions, and so on. They can't attack with a free-hand weapon if they're wielding anything in that hand or otherwise using that hand. When they're not wielding anything and not otherwise using the hand, they can use abilities that require them to have a hand free as well as those that require them to be wielding a weapon in that hand. Each of their hands can have only one free-hand weapon on it." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponGnome, + "Trait.Weapon.Gnome", + "A weapon with this trait is crafted and used by Gnomes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponGoblin, + "Trait.Weapon.Goblin", + "A weapon with this trait is crafted and used by Goblins." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponHalfling, + "Trait.Weapon.Halfling", + "A weapon with this trait is crafted and used by Halflings." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponJoustingD6, + "Trait.Weapon.Jousting.D6", + "A weapon with this trait is suited for mounted combat with a harness or similar means. When mounted, if the character moved at least 3 meters on the action before their attack, add a circumstance bonus to damage for that attack equal to the number of damage dice for the weapon. In addition, while mounted, they can wield the weapon in one hand, changing the damage die to a D6." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponMonk, + "Trait.Weapon.Monk", + "A weapon with this trait monks often learn to use." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponNonlethal, + "Trait.Weapon.Nonlethal", + "A weapon with this trait often has a nonlethal attack, and is used to knock creatures unconscious instead of kill them. A character can use a nonlethal weapon to make a lethal attack with a –2 circumstance penalty." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponOrc, + "Trait.Weapon.Orc", + "A weapon with this trait is crafted and used by Orcs." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponParry, + "Trait.Weapon.Parry", + "A weapon with this trait can be used defensively to block attacks. While wielding this weapon, if a character's proficiency with it is trained or better, they can spend a single action to position their weapon defensively, gaining a +1 circumstance bonus to AC until the start of their next turn." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponPropulsive, + "Trait.Weapon.Propulsive", + "A ranged weapon with this trait enables a character to add half their Strength modifier (if positive) to damage rolls. If the character has a negative Strength modifier, they add their full Strength modifier instead." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponReach, + "Trait.Weapon.Reach", + "A weapon with this trait is long and can be used to attack creatures up to 3 meters away instead of only adjacent creatures. For creatures that already have reach with the limb or limbs that wield the weapon, the weapon increases their reach by 1.5 meters." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponShove, + "Trait.Weapon.Shove", + "A weapon with this trait can be used by a character to Shove with the Athletics skill even if they don't have a free hand. This uses the weapon's reach (if different from their own) and adds the weapon's item bonus to attack rolls as an item bonus to the Athletics check. If they critically fail a check to Shove using the weapon, they can drop the weapon to take the effects of a failure instead of a critical failure." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponSweep, + "Trait.Weapon.Sweep", + "A weapon with this trait makes wide sweeping or spinning attacks, making it easier to attack multiple enemies. When a character attacks with this weapon, they gain a +1 circumstance bonus to their attack roll if they already attempted to attack a different target this turn using this weapon." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponThrown3m, + "Trait.Weapon.Thrown.3m", + "A weapon with this trait can be thrown as a ranged attack; it is a ranged weapon when thrown. The character adds their Strength modifier to damage as they would for a melee weapon. When this trait appears on a melee weapon, it uses a range increment of 3 meters. Ranged weapons with this trait use the range increment in the weapon's Range entry." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponThrown6m, + "Trait.Weapon.Thrown.6m", + "A weapon with this trait can be thrown as a ranged attack; it is a ranged weapon when thrown. The character adds their Strength modifier to damage as they would for a melee weapon. When this trait appears on a melee weapon, it uses a range increment of 6 meters. Ranged weapons with this trait use the range increment in the weapon's Range entry." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponTrip, + "Trait.Weapon.Trip", + "A weapon with this trait can be used to Trip with the Athletics skill even if the character doesn't have a free hand. This uses the weapon's reach (if different from their own) and adds the weapon's item bonus to attack rolls as an item bonus to the Athletics check. If they critically fail a check to Trip using the weapon, they can drop the weapon to take the effects of a failure instead of a critical failure." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponTwin, + "Trait.Weapon.Twin", + "Two weapons with this trait are used as a pair, complementing each other. When a character attacks with a twin weapon, they add a circumstance bonus to the damage roll equal to the weapon's number of damage dice if they have previously attacked with a different weapon of the same type this turn. The weapons must be of the same type to benefit from this trait, but they don't need to have the same runes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponTwoHandD8, + "Trait.Weapon.Two-hand.D8", + "A weapon with this trait can be wielded with two hands. Doing so changes its weapon damage die to a D8. This change applies to all the weapon's damage dice, such as those from striking runes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponTwoHandD10, + "Trait.Weapon.Two-hand.D10", + "A weapon with this trait can be wielded with two hands. Doing so changes its weapon damage die to a D10. This change applies to all the weapon's damage dice, such as those from striking runes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponTwoHandD12, + "Trait.Weapon.Two-hand.D12", + "A weapon with this trait can be wielded with two hands. Doing so changes its weapon damage die to a D12. This change applies to all the weapon's damage dice, such as those from striking runes." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponUnarmed, + "Trait.Weapon.Unarmed", + "An unarmed attack uses a character's body rather than a manufactured weapon. An unarmed attack isn't a weapon, though it's categorized with weapons for weapon groups, and it might have weapon traits. Since it's part of a character's body, an unarmed attack can't be Disarmed. It also doesn't take up a hand, though a fist or other grasping appendage generally works like a free-hand weapon." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponVersatileBludgeoning, + "Trait.Weapon.Versatile.Bludgeoning", + "A weapon with this trait can be used to deal Bludgeoning (B) damage instead of the type of damage listed in the Damage entry. The character chooses the damage type each time they make an attack." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponVersatilePiercing, + "Trait.Weapon.Versatile.Piercing", + "A weapon with this trait can be used to deal Piercing (P) damage instead of the type of damage listed in the Damage entry. The character chooses the damage type each time they make an attack." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponVersatileSlashing, + "Trait.Weapon.Versatile.Slashing", + "A weapon with this trait can be used to deal Slashing (S) damage instead of the type of damage listed in the Damage entry. The character chooses the damage type each time they make an attack." +) + +UE_DEFINE_GAMEPLAY_TAG_COMMENT( + Pf2TagTraitWeaponVolley9m, + "Trait.Weapon.Volley.9m", + "A ranged weapon with this trait is less effective at close distances. A character's attacks against targets that are at a distance of 9 meters take a –2 penalty." +) diff --git a/Source/OpenPF2GameFramework/Private/GameplayTags/WeaponGroups.cpp b/Source/OpenPF2GameFramework/Private/GameplayTags/WeaponGroups.cpp new file mode 100644 index 000000000..4aeddc93c --- /dev/null +++ b/Source/OpenPF2GameFramework/Private/GameplayTags/WeaponGroups.cpp @@ -0,0 +1,33 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#include "GameplayTags/WeaponGroups.h" + +// ===================================================================================================================== +// Weapon Groups +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, pages 280-282; Tables 6-6, 6-7, and 6-8. +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupAxe, "WeaponGroup.Axe") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupBomb, "WeaponGroup.Bomb") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupBow, "WeaponGroup.Bow") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupBrawling, "WeaponGroup.Brawling") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupClub, "WeaponGroup.Club") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupDart, "WeaponGroup.Dart") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupFlail, "WeaponGroup.Flail") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupHammer, "WeaponGroup.Hammer") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupKnife, "WeaponGroup.Knife") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupPick, "WeaponGroup.Pick") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupPolearm, "WeaponGroup.Polearm") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupShield, "WeaponGroup.Shield") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupSling, "WeaponGroup.Sling") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupSpear, "WeaponGroup.Spear") +UE_DEFINE_GAMEPLAY_TAG(Pf2TagWeaponGroupSword, "WeaponGroup.Sword") diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Currencies.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Currencies.h new file mode 100644 index 000000000..0bfac01c7 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Currencies.h @@ -0,0 +1,21 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Default Currency - "Coins" +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Chapter 6, page 271. +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCurrencyCoins) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/CurrencyUnits.h b/Source/OpenPF2GameFramework/Public/GameplayTags/CurrencyUnits.h new file mode 100644 index 000000000..4a4faa20f --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/CurrencyUnits.h @@ -0,0 +1,24 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Default Currency Units +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Chapter 6, page 271. +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCurrencyUnitCoinsCopperPiece) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCurrencyUnitCoinsSilverPiece) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCurrencyUnitCoinsGoldPiece) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCurrencyUnitCoinsPlatinumPiece) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/DamageTypes.h b/Source/OpenPF2GameFramework/Public/GameplayTags/DamageTypes.h new file mode 100644 index 000000000..068c3f4b2 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/DamageTypes.h @@ -0,0 +1,42 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Damage types +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Chapter 9, page 452, "Damage Types". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypePhysical) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypePhysicalBludgeoning) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypePhysicalPiercing) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypePhysicalSlashing) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeEnergy) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeEnergyAcid) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeEnergyCold) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeEnergyElectricity) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeEnergyFire) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeEnergySonic) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeEnergyPositive) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeEnergyNegative) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeEnergyForce) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeAlignment) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeAlignmentChaotic) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeAlignmentEvil) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeAlignmentGood) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeAlignmentLawful) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeMental) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypePoison) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypeBleed) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagDamageTypePrecision) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Encounters/AbilityTriggers.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Encounters/AbilityTriggers.h new file mode 100644 index 000000000..7bf171ec2 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Encounters/AbilityTriggers.h @@ -0,0 +1,16 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2022-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#pragma once + +#include + +// ===================================================================================================================== +// Tags that trigger Encounter-related Gameplay Abilities. +// ===================================================================================================================== +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTriggerTagCategoryEncountersEnterEncounter) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTriggerTagCategoryEncountersStartTurn) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTriggerTagCategoryEncountersEndTurn) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTriggerTagCategoryEncountersLeaveEncounter) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Encounters/CharacterStates.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Encounters/CharacterStates.h new file mode 100644 index 000000000..fbef3a807 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Encounters/CharacterStates.h @@ -0,0 +1,15 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2022-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#pragma once + +#include + +// ===================================================================================================================== +// Tags that apply to characters during encounters. +// ===================================================================================================================== +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagEncounterCharacterTurnActive) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagEncounterCharacterPointsRefreshFrozen) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagEncounterCharacterCooldownNextTurn) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayAbilities/AbilityTypes.h b/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayAbilities/AbilityTypes.h new file mode 100644 index 000000000..3a468e8ff --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayAbilities/AbilityTypes.h @@ -0,0 +1,18 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#pragma once + +#include + +// ===================================================================================================================== +// Tags that Identify Gameplay Ability Types +// ===================================================================================================================== +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayAbilityTypeAbilityBoost) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayAbilityTypeDefaultMovement) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayAbilityTypeDefaultFaceTarget) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayAbilityTypeQueueableAction) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayAbilityTypeDirectlyInvokable) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayAbilityTypeBlocksEndOfTurn) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayAbilities/ActivationMetadata.h b/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayAbilities/ActivationMetadata.h new file mode 100644 index 000000000..b31a9633c --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayAbilities/ActivationMetadata.h @@ -0,0 +1,14 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#pragma once + +#include + +// ===================================================================================================================== +// Tags that identify additional metadata that has been passed along for an ability activation. +// ===================================================================================================================== +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayAbilityActivationMetadataHasTargetCharacter) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayAbilityActivationMetadataHasTargetLocation) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayAbilities/WaitForEvents.h b/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayAbilities/WaitForEvents.h new file mode 100644 index 000000000..18548bc19 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayAbilities/WaitForEvents.h @@ -0,0 +1,16 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#pragma once + +#include + +// ===================================================================================================================== +// Tags that identify events abilities can wait for during their activation. +// ===================================================================================================================== +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayAbilityGameplayEventDamageReceived) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayAbilityGameplayEventFacingComplete) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayAbilityGameplayEventHitPointsChanged) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayAbilityGameplayEventMontageWeaponHit) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayCues.h b/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayCues.h new file mode 100644 index 000000000..df1ccaf08 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayCues.h @@ -0,0 +1,13 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2023-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#pragma once + +#include + +// ===================================================================================================================== +// Gameplay Cues that provide special FX and sound FX in response to effect activations. +// ===================================================================================================================== +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayCueCharacterInflictDamage) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayEffects/CalculationSources.h b/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayEffects/CalculationSources.h new file mode 100644 index 000000000..32c0e9dd5 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayEffects/CalculationSources.h @@ -0,0 +1,15 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#pragma once + +#include + +// ===================================================================================================================== +// "Source" Tags passed in from Blueprints to calculate stats. +// +// These should not be used on weapons, characters, or other objects that appear in the world. +// ===================================================================================================================== +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayEffectCalculationSourceInitiative) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayEffects/SetByCallerParameters.h b/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayEffects/SetByCallerParameters.h new file mode 100644 index 000000000..1c6d4103b --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayEffects/SetByCallerParameters.h @@ -0,0 +1,15 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#pragma once + +#include + +// ===================================================================================================================== +// Parameters passed in to "Set by caller" GEs +// ===================================================================================================================== +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayEffectParameterDamage) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayEffectParameterResistance) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayEffectParameterHealing) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayEffects/WeightGroups.h b/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayEffects/WeightGroups.h new file mode 100644 index 000000000..e0e93a0a7 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/GameplayEffects/WeightGroups.h @@ -0,0 +1,21 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not +// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. + +#pragma once + +#include + +// ===================================================================================================================== +// Weights used to control the order that GEs are applied to an OpenPF2 character. +// +// @todo Deprecate and replace with a simpler system in https://github.com/OpenPF2/Plugin/issues/61. +// ===================================================================================================================== +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayEffectWeightGroup00_InitializeBaseStats) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayEffectWeightGroup05_PostInitializeBaseStats) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayEffectWeightGroup10_ManagedEffects) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayEffectWeightGroup15_PreAbilityBoosts) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayEffectWeightGroup20_AbilityBoosts) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayEffectWeightGroup25_PreFinalizeStats) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagGameplayEffectWeightGroup30_FinalizeStats) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/CreatureAlignments.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/CreatureAlignments.h new file mode 100644 index 000000000..1ceda3294 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/CreatureAlignments.h @@ -0,0 +1,34 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Creature Alignment - The indicator of the character's morality and personality. +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, page 29, Table 1-2: The Nine Alignments. +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureAlignmentLawful) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureAlignmentLawfulGood) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureAlignmentLawfulNeutral) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureAlignmentLawfulEvil) + +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureAlignmentNeutral) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureAlignmentNeutralGood) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureAlignmentNeutralNeutral) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureAlignmentNeutralEvil) + +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureAlignmentChaotic) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureAlignmentChaoticGood) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureAlignmentChaoticNeutral) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureAlignmentChaoticEvil) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/CreatureSizes.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/CreatureSizes.h new file mode 100644 index 000000000..9660472a7 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/CreatureSizes.h @@ -0,0 +1,26 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Creature Size - The approximate physical amount of space a creature occupies. +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, page 474, Table 9-1: Size and Reach. +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureSizeTiny) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureSizeSmall) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureSizeMedium) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureSizeLarge) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureSizeHuge) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagCreatureSizeGargantuan) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Equipment.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Equipment.h new file mode 100644 index 000000000..229fe3d60 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Equipment.h @@ -0,0 +1,23 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// The type of armor the character *currently* has equipped. +// ===================================================================================================================== +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorEquippedUnarmored) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorEquippedLight) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorEquippedMedium) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorEquippedHeavy) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/KeyAbilities.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/KeyAbilities.h new file mode 100644 index 000000000..8ff0b75c2 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/KeyAbilities.h @@ -0,0 +1,46 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Key Ability - The most important ability of a particular character/creature. +// ===================================================================================================================== +// Sources: +// - Pathfinder 2E Core Rulebook, Chapter 3: "Classes", page 68, "Key Ability". +// - Pathfinder 2E Core Rulebook, Chapter 3: "Classes", pages 72-232 ("Key Ability" sections in each class entry). +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagKeyAbilityStrength) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagKeyAbilityDexterity) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagKeyAbilityConstitution) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagKeyAbilityIntelligence) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagKeyAbilityWisdom) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagKeyAbilityCharisma) + +// ===================================================================================================================== +// Spellcasting Ability - The key ability of a character/creature that can cast spells. +// ===================================================================================================================== +// The classes in the core rulebook don't have any spellcasting abilities other than Wisdom and Charisma, but there's no +// reason to limit game makers to just those options. Plus, add-on material for OpenPF2 could always invent a new class +// that uses something like Intelligence for a character that does complex spellcasting or Dexterity for a character who +// performs physically-dexterous spells. +// +// Sources: +// - Pathfinder 2E Core Rulebook, Chapter 3: "Classes", page 68, "Key Ability". +// - Pathfinder 2E Core Rulebook, Chapter 3: "Classes", pages 72-232 ("Key Ability" sections in each class entry). +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellcastingAbilityStrength) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellcastingAbilityDexterity) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellcastingAbilityConstitution) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellcastingAbilityIntelligence) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellcastingAbilityWisdom) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellcastingAbilityCharisma) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Languages.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Languages.h new file mode 100644 index 000000000..e7aceeffa --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Languages.h @@ -0,0 +1,57 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Common Languages - Languages regularly encountered in most places, even among those who aren’t native speakers. +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, page 65, Table 2-1: Common Languages. +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageCommonCommon) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageCommonDraconic) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageCommonDwarven) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageCommonElven) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageCommonGnomish) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageCommonGoblin) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageCommonHalfling) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageCommonJotun) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageCommonOrcish) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageCommonSylvan) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageCommonUndercommon) + +// ===================================================================================================================== +// Uncommon Languages - Languages most frequently spoken by native speakers, but also by certain scholars and others +// interested in the associated cultures. +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, page 65, Table 2-2: Uncommon Languages. +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageUncommonAbyssal) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageUncommonAklo) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageUncommonAquan) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageUncommonAuran) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageUncommonCelestial) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageUncommonGnoll) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageUncommonIgnan) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageUncommonInfernal) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageUncommonNecril) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageUncommonShadowtongue) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageUncommonTerran) + +// ===================================================================================================================== +// Secret Languages (e.g., "Druidic") +// +// Druidic is a secret language, and is available only to characters who are druids. In fact, druids are prohibited from +// teaching the language to non-druids. +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, page 65, Table 2-3: Secret Languages. +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagLanguageSecretDruidic) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Armor.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Armor.h new file mode 100644 index 000000000..0ddfe7faa --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Armor.h @@ -0,0 +1,52 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Proficiency Ranks for Different Classes of Armor (Unarmored, Light, Medium, or Heavy) +// ===================================================================================================================== +// Sources: +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 11, "Playing the Game". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 13, "Proficiency". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 27, "Character Sheet". +// - Pathfinder 2E Core Rulebook, Appendix, page 624, "Armor Class". + +// === Unarmored +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryUnarmoredUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryUnarmoredTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryUnarmoredExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryUnarmoredMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryUnarmoredLegendary) + +// === Light +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryLightUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryLightTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryLightExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryLightMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryLightLegendary) + +// === Medium +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryMediumUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryMediumTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryMediumExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryMediumMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryMediumLegendary) + +// === Heavy +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryHeavyUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryHeavyTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryHeavyExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryHeavyMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagArmorCategoryHeavyLegendary) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/ClassDc.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/ClassDc.h new file mode 100644 index 000000000..5d49a4276 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/ClassDc.h @@ -0,0 +1,30 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Proficiency Ranks for Class DC (Difficulty Class). +// ===================================================================================================================== +// Sources: +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 11, "Playing the Game". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 13, "Proficiency". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 27, "Character Sheet". +// - Pathfinder 2E Core Rulebook, Chapter 3: "Classes", page 69, "Initial Proficiencies". +// - Pathfinder 2E Core Rulebook, Appendix, page 624, "Class DC". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagClassDcUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagClassDcTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagClassDcExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagClassDcMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagClassDcLegendary) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Perception.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Perception.h new file mode 100644 index 000000000..6cdd6b53d --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Perception.h @@ -0,0 +1,30 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Proficiency Ranks for Perception (how alert they are). +// ===================================================================================================================== +// Sources: +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 11, "Playing the Game". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 13, "Proficiency". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 27, "Character Sheet". +// - Pathfinder 2E Core Rulebook, Chapter 3: "Classes", page 69, "Initial Proficiencies". +// - Pathfinder 2E Core Rulebook, Appendix, page 624, "Perception". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagPerceptionUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagPerceptionTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagPerceptionExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagPerceptionMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagPerceptionLegendary) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/SavingThrows.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/SavingThrows.h new file mode 100644 index 000000000..62603c3cc --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/SavingThrows.h @@ -0,0 +1,44 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Proficiency Ranks for Saving Throws (avoiding danger or otherwise withstanding an assault to mind or body). +// ===================================================================================================================== +// Sources: +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 11, "Playing the Game". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 13, "Saving Throw (Save)" and "Proficiency". +// - Pathfinder 2E Core Rulebook, Appendix, page 624, "Saving Throws". + +// === Fortitude +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowFortitudeUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowFortitudeTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowFortitudeExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowFortitudeMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowFortitudeLegendary) + +// === Reflex +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowReflexUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowReflexTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowReflexExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowReflexMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowReflexLegendary) + +// === Will +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowWillUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowWillTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowWillExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowWillMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSavingThrowWillLegendary) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Skills.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Skills.h new file mode 100644 index 000000000..db2c98160 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Skills.h @@ -0,0 +1,150 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Proficiency Ranks for Skills (training and experience at performing certain tasks). +// ===================================================================================================================== +// Sources: +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 11, "Playing the Game". +// - Pathfinder 2E Core Rulebook, Chapter 1: "Introduction", page 13, "Proficiency". +// - Pathfinder 2E Core Rulebook, Chapter 4: "Skills", pages 233-253. +// - Pathfinder 2E Core Rulebook, Appendix, page 624, "Skills". + +// === Acrobatics +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillAcrobaticsUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillAcrobaticsTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillAcrobaticsExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillAcrobaticsMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillAcrobaticsLegendary) + +// === Arcana +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillArcanaUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillArcanaTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillArcanaExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillArcanaMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillArcanaLegendary) + +// === Athletics +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillAthleticsUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillAthleticsTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillAthleticsExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillAthleticsMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillAthleticsLegendary) + +// === Crafting +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillCraftingUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillCraftingTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillCraftingExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillCraftingMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillCraftingLegendary) + +// === Deception +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillDeceptionUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillDeceptionTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillDeceptionExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillDeceptionMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillDeceptionLegendary) + +// === Diplomacy +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillDiplomacyUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillDiplomacyTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillDiplomacyExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillDiplomacyMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillDiplomacyLegendary) + +// === Intimidation +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillIntimidationUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillIntimidationTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillIntimidationExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillIntimidationMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillIntimidationLegendary) + +// === Lore1 +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillLore1Untrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillLore1Trained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillLore1Expert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillLore1Master) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillLore1Legendary) + +// === Lore2 +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillLore2Untrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillLore2Trained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillLore2Expert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillLore2Master) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillLore2Legendary) + +// === Medicine +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillMedicineUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillMedicineTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillMedicineExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillMedicineMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillMedicineLegendary) + +// === Nature +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillNatureUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillNatureTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillNatureExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillNatureMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillNatureLegendary) + +// === Occultism +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillOccultismUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillOccultismTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillOccultismExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillOccultismMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillOccultismLegendary) + +// === Performance +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillPerformanceUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillPerformanceTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillPerformanceExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillPerformanceMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillPerformanceLegendary) + +// === Religion +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillReligionUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillReligionTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillReligionExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillReligionMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillReligionLegendary) + +// === Society +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillSocietyUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillSocietyTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillSocietyExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillSocietyMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillSocietyLegendary) + +// === Stealth +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillStealthUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillStealthTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillStealthExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillStealthMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillStealthLegendary) + +// === Survival +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillSurvivalUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillSurvivalTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillSurvivalExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillSurvivalMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillSurvivalLegendary) + +// === Thievery +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillThieveryUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillThieveryTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillThieveryExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillThieveryMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSkillThieveryLegendary) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/SpellAttacks.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/SpellAttacks.h new file mode 100644 index 000000000..7b4ef1d89 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/SpellAttacks.h @@ -0,0 +1,25 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Proficiency Ranks for Spell Attacks (Spell Attack Roll). +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Appendix, page 627, "Spell Attack Roll". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellAttackUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellAttackTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellAttackExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellAttackMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellAttackLegendary) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/SpellDc.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/SpellDc.h new file mode 100644 index 000000000..8c099b959 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/SpellDc.h @@ -0,0 +1,25 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Proficiency Ranks for Spell DC (Difficulty Class) and spellcasting (Spell DC). +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Appendix, page 627, "Spell DC". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellDcUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellDcTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellDcExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellDcMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpellDcLegendary) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Weapons.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Weapons.h new file mode 100644 index 000000000..eb23e5ce2 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/Proficiencies/Weapons.h @@ -0,0 +1,473 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Proficiency Ranks for Unarmed Attacks +// ===================================================================================================================== +// Weapon type mentioned in Pathfinder 2E Core Rulebook under: +// - Chapter 3, page 71, "Attacks" for "Alchemist" +// - Chapter 3, page 83, "Attacks" for "Barbarian" +// - Chapter 3, page 95, "Attacks" for "Bard" +// - Chapter 3, page 105, "Attacks" for "Champion" +// - Chapter 3, page 117, "Attacks" for "Cleric" +// - Chapter 3, page 129, "Attacks" for "Druid" +// - Chapter 3, page 141, "Attacks" for "Fighter" +// - Chapter 3, page 155, "Attacks" for "Monk" +// - Chapter 3, page 167, "Attacks" for "Ranger" +// - Chapter 3, page 179, "Attacks" for "Rogue" +// - Chapter 3, page 191, "Attacks" for "Sorcerer" +// - Chapter 3, page 203, "Attacks" for "Wizard" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryUnarmedUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryUnarmedTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryUnarmedExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryUnarmedMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryUnarmedLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Simple Weapons +// ===================================================================================================================== +// Weapon type mentioned in Pathfinder 2E Core Rulebook under: +// - Chapter 3, page 71, "Attacks" for "Alchemist" +// - Chapter 3, page 83, "Attacks" for "Barbarian" +// - Chapter 3, page 95, "Attacks" for "Bard" +// - Chapter 3, page 105, "Attacks" for "Champion" +// - Chapter 3, page 117, "Attacks" for "Cleric" +// - Chapter 3, page 129, "Attacks" for "Druid" +// - Chapter 3, page 141, "Attacks" for "Fighter" +// - Chapter 3, page 155, "Attacks" for "Monk" +// - Chapter 3, page 167, "Attacks" for "Ranger" +// - Chapter 3, page 179, "Attacks" for "Rogue" +// - Chapter 3, page 191, "Attacks" for "Sorcerer" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategorySimpleUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategorySimpleTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategorySimpleExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategorySimpleMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategorySimpleLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Advanced Weapons +// ===================================================================================================================== +// Weapon type mentioned in Pathfinder 2E Core Rulebook under: +// - Chapter 3, page 141, "Attacks" for "Fighter" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Advanced Dwarf Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity": +// "For the purpose of determining your proficiency, [...] advanced dwarf weapons are martial weapons." +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedDwarfUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedDwarfTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedDwarfExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedDwarfMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedDwarfLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Advanced Elf Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity": +// "For the purpose of determining your proficiency, [...] advanced elf weapons are martial weapons." +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedElfUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedElfTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedElfExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedElfMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedElfLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Advanced Gnome Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 44, "Gnome Weapon Familiarity": +// "For the purpose of determining your proficiency, [...] advanced gnome weapons are martial weapons." +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedGnomeUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedGnomeTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedGnomeExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedGnomeMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedGnomeLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Advanced Goblin Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 48, "Goblin Weapon Familiarity": +// "For the purpose of determining your proficiency, [...] advanced goblin weapons are martial weapons." +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedGoblinUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedGoblinTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedGoblinExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedGoblinMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedGoblinLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Advanced Halfling Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 52, "Halfling Weapon Familiarity": +// "For the purpose of determining your proficiency, [...] advanced halfling weapons are martial weapons." +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedHalflingUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedHalflingTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedHalflingExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedHalflingMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryAdvancedHalflingLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Martial Weapons +// ===================================================================================================================== +// Weapon type mentioned in Pathfinder 2E Core Rulebook under: +// - Chapter 3, page 83, "Attacks" for "Barbarian" +// - Chapter 3, page 105, "Attacks" for "Champion" +// - Chapter 3, page 141, "Attacks" for "Fighter" +// - Chapter 3, page 167, "Attacks" for "Ranger" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Martial Dwarf Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity": +// "For the purpose of determining your proficiency, martial dwarf weapons are simple weapons..." +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialDwarfUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialDwarfTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialDwarfExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialDwarfMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialDwarfLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Martial Elf Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity": +// "For the purpose of determining your proficiency, martial elf weapons are simple weapons..." +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialElfUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialElfTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialElfExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialElfMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialElfLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Martial Gnome Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 44, "Gnome Weapon Familiarity": +// "For the purpose of determining your proficiency, martial gnome weapons are simple weapons..." +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialGnomeUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialGnomeTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialGnomeExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialGnomeMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialGnomeLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Martial Goblin Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 48, "Goblin Weapon Familiarity": +// "For the purpose of determining your proficiency, martial goblin weapons are simple weapons..." +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialGoblinUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialGoblinTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialGoblinExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialGoblinMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialGoblinLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Martial Halfling Weapons +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, Chapter 2, page 52, "Halfling Weapon Familiarity": +// "For the purpose of determining your proficiency, martial halfling weapons are simple weapons..." +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialHalflingUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialHalflingTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialHalflingExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialHalflingMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCategoryMartialHalflingLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Alchemical Bombs +// ===================================================================================================================== +// Weapon type mentioned in Pathfinder 2E Core Rulebook under: +// - Chapter 3, page 71, "Attacks" for "Alchemist" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyAlchemicalBombUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyAlchemicalBombTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyAlchemicalBombExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyAlchemicalBombMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyAlchemicalBombLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Battle Axes +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyBattleAxeUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyBattleAxeTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyBattleAxeExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyBattleAxeMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyBattleAxeLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Clubs +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 3, page 203, "Attacks" for "Wizard" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyClubUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyClubTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyClubExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyClubMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyClubLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Composite Longbows +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCompositeLongbowUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCompositeLongbowTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCompositeLongbowExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCompositeLongbowMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCompositeLongbowLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Composite Shortbows +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCompositeShortbowUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCompositeShortbowTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCompositeShortbowExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCompositeShortbowMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCompositeShortbowLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Crossbows +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 3, page 203, "Attacks" for "Wizard" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCrossbowUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCrossbowTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCrossbowExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCrossbowMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyCrossbowLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Daggers +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 3, page 203, "Attacks" for "Wizard" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyDaggerUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyDaggerTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyDaggerExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyDaggerMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyDaggerLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Dogslicers +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 48, "Goblin Weapon Familiarity". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyDogslicerUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyDogslicerTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyDogslicerExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyDogslicerMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyDogslicerLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Falchions +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 58, "Orc Weapon Familiarity". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyFalchionUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyFalchionTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyFalchionExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyFalchionMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyFalchionLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Glaives +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 44, "Gnome Weapon Familiarity". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyGlaiveUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyGlaiveTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyGlaiveExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyGlaiveMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyGlaiveLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Greataxes +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 58, "Orc Weapon Familiarity". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyGreataxeUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyGreataxeTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyGreataxeExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyGreataxeMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyGreataxeLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Halfling Sling Staves +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 52, "Halfling Weapon Familiarity". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHalflingSlingStaffUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHalflingSlingStaffTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHalflingSlingStaffExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHalflingSlingStaffMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHalflingSlingStaffLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Heavy Crossbows +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 3, page 203, "Attacks" for "Wizard" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHeavyCrossbowUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHeavyCrossbowTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHeavyCrossbowExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHeavyCrossbowMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHeavyCrossbowLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Horsechoppers +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 48, "Goblin Weapon Familiarity". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHorsechopperUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHorsechopperTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHorsechopperExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHorsechopperMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyHorsechopperLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Kukris +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 44, "Gnome Weapon Familiarity". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyKukriUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyKukriTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyKukriExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyKukriMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyKukriLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Longbows +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 40, "Elven Weapon Familiarity". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyLongbowUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyLongbowTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyLongbowExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyLongbowMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyLongbowLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Longswords +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 2, page 40, "Elven Weapon Familiarity" +// - Chapter 3, page 95, "Attacks" for "Bard" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyLongswordUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyLongswordTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyLongswordExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyLongswordMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyLongswordLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Picks +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyPickUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyPickTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyPickExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyPickMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyPickLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Rapiers +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 2, page 40, "Elven Weapon Familiarity" +// - Chapter 3, page 95, "Attacks" for "Bard" +// - Chapter 3, page 179, "Attacks" for "Rogue" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyRapierUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyRapierTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyRapierExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyRapierMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyRapierLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Saps +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 3, page 95, "Attacks" for "Bard" +// - Chapter 3, page 179, "Attacks" for "Rogue" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencySapUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencySapTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencySapExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencySapMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencySapLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Shortbows +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 2, page 40, "Elven Weapon Familiarity" +// - Chapter 3, page 95, "Attacks" for "Bard" +// - Chapter 3, page 179, "Attacks" for "Rogue" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyShortbowUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyShortbowTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyShortbowExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyShortbowMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyShortbowLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Shortswords +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 2, page 52, "Halfling Weapon Familiarity" +// - Chapter 3, page 95, "Attacks" for "Bard" +// - Chapter 3, page 179, "Attacks" for "Rogue" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyShortswordUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyShortswordTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyShortswordExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyShortswordMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyShortswordLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Slings +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 52, "Halfling Weapon Familiarity". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencySlingUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencySlingTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencySlingExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencySlingMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencySlingLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Staves +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 3, page 203, "Attacks" for "Wizard" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyStaffUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyStaffTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyStaffExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyStaffMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyStaffLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Warhammers +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, Chapter 2, page 36, "Dwarven Weapon Familiarity". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyWarhammerUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyWarhammerTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyWarhammerExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyWarhammerMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyWarhammerLegendary) + +// ===================================================================================================================== +// Proficiency Ranks for Whips +// ===================================================================================================================== +// Weapon mentioned in Pathfinder 2E Core Rulebook, under: +// - Chapter 3, page 95, "Attacks" for "Bard" +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyWhipUntrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyWhipTrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyWhipExpert) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyWhipMaster) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponProficiencyWhipLegendary) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/SpecialSenses.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/SpecialSenses.h new file mode 100644 index 000000000..0a091ca07 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Stats/SpecialSenses.h @@ -0,0 +1,28 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Special Senses +// ===================================================================================================================== +// "[Senses that] grant greater awareness [...] to either ignore or reduce the effects of the undetected, hidden, or +// concealed conditions [...] when it comes to situations that foil average vision." +// +// Source: Pathfinder 2E Core Rulebook, page 465, "Special Senses". +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpecialSenseDarkvision) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpecialSenseGreaterDarkvision) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpecialSenseLowLightVision) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpecialSenseScent) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagSpecialSenseTremorsense) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Abilities.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Abilities.h new file mode 100644 index 000000000..db76267b3 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Abilities.h @@ -0,0 +1,36 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Ability Traits +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Glossary, pages 628-638. +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilityAlchemist) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilityAttack) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilityBarbarian) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilityBard) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilityChampion) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilityCleric) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilityCommon) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilityDruid) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilityFighter) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilityIncapacitation) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilityMonk) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilityRanger) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilityRogue) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilitySecret) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilitySorcerer) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitAbilityWizard) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Actions.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Actions.h new file mode 100644 index 000000000..08f318600 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Actions.h @@ -0,0 +1,29 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Action Traits +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Glossary, pages 628-638. +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitActionAuditory) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitActionConcentrate) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitActionFlourish) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitActionManipulate) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitActionMetamagic) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitActionMove) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitActionOpen) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitActionPress) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitActionStance) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Conditions.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Conditions.h new file mode 100644 index 000000000..0173195e0 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Conditions.h @@ -0,0 +1,191 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Condition Traits +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Conditions Appendix, pages 618-623. + +// === Blinded +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionBlinded) + +// === Broken +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionBroken) + +// === Clumsy +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionClumsy) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionClumsy1) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionClumsy2) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionClumsy3) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionClumsy4) + +// === Concealed +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionConcealed) + +// === Confused +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionConfused) + +// === Controlled +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionControlled) + +// === Dazzled +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDazzled) + +// === Deafened +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDeafened) + +// === Doomed +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDoomed) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDoomed1) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDoomed2) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDoomed3) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDoomed4) + +// === Drained +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDrained) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDrained1) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDrained2) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDrained3) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDrained4) + +// === Dying +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDying) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDying1) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDying2) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDying3) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDying4) + +// === Encumbered +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionEncumbered) + +// === Enfeebled +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionEnfeebled) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionEnfeebled1) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionEnfeebled2) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionEnfeebled3) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionEnfeebled4) + +// === Fascinated +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionFascinated) + +// === Fatigued +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionFatigued) + +// === Flat footed +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionFlatFooted) + +// === Fleeing +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionFleeing) + +// === Friendly +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionFriendly) + +// === Frightened +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionFrightened) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionFrightened1) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionFrightened2) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionFrightened3) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionFrightened4) + +// === Grabbed +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionGrabbed) + +// === Helpful +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionHelpful) + +// === Hidden +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionHidden) + +// === Hostile +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionHostile) + +// === Immobilized +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionImmobilized) + +// === Indifferent +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionIndifferent) + +// === Invisible +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionInvisible) + +// === Observed +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionObserved) + +// === Paralyzed +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionParalyzed) + +// === Petrified +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionPetrified) + +// === Prone +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionProne) + +// === Quickened +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionQuickened) + +// === Restrained +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionRestrained) + +// === Sickened +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionSickened) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionSickened1) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionSickened2) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionSickened3) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionSickened4) + +// === Slowed +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionSlowed) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionSlowed1) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionSlowed2) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionSlowed3) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionSlowed4) + +// === Stunned +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionStunned) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionStunned1) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionStunned2) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionStunned3) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionStunned4) + +// === Stupefied +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionStupefied) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionStupefied1) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionStupefied2) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionStupefied3) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionStupefied4) + +// === Unconscious +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionUnconscious) + +// === Undetected +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionUndetected) + +// === Unfriendly +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionUnfriendly) + +// === Unnoticed +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionUnnoticed) + +// === Wounded +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionWounded) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionWounded1) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionWounded2) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionWounded3) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionWounded4) + +// === OpenPF2 Extensions +// The following conditions do not appear in the Core Rulebook but were added by OpenPF2. +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitConditionDead) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Creatures.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Creatures.h new file mode 100644 index 000000000..6eca29924 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Creatures.h @@ -0,0 +1,26 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Creature Traits +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Glossary, pages 628-638. +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitCreatureElf) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitCreatureHalfElf) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitCreatureHalfOrc) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitCreatureHuman) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitCreatureHumanoid) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitCreatureOrc) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Effects.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Effects.h new file mode 100644 index 000000000..650d84de1 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Effects.h @@ -0,0 +1,26 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Effect Traits +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, Conditions Appendix, pages 628-638. +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitEffectDeath) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitEffectDisease) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitEffectLinguistic) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitEffectNonlethal) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitEffectPoison) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitEffectSonic) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Weapons.h b/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Weapons.h new file mode 100644 index 000000000..26eb2c70c --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/Traits/Weapons.h @@ -0,0 +1,60 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Weapon Traits +// ===================================================================================================================== +// Source: Pathfinder 2E Core Rulebook, "Weapon Traits", pages 282-283. +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponAgile) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponAttachedToShield) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponBackstabber) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponBackswing) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponDeadlyD6) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponDeadlyD8) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponDeadlyD10) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponDisarm) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponDwarf) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponElf) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponFatalD8) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponFatalD10) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponFatalD12) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponFinesse) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponForceful) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponFreehand) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponGnome) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponGoblin) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponHalfling) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponJoustingD6) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponMonk) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponNonlethal) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponOrc) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponParry) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponPropulsive) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponReach) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponShove) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponSweep) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponThrown3m) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponThrown6m) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponTrip) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponTwin) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponTwohandD8) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponTwohandD10) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponTwohandD12) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponUnarmed) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponVersatileBludgeoning) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponVersatilePiercing) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponVersatileSlashing) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagTraitWeaponVolley9m) diff --git a/Source/OpenPF2GameFramework/Public/GameplayTags/WeaponGroups.h b/Source/OpenPF2GameFramework/Public/GameplayTags/WeaponGroups.h new file mode 100644 index 000000000..2d4bf16e7 --- /dev/null +++ b/Source/OpenPF2GameFramework/Public/GameplayTags/WeaponGroups.h @@ -0,0 +1,35 @@ +// OpenPF2 Game Framework for Unreal Engine, Copyright 2021-2024, Guy Elsmore-Paddock. All Rights Reserved. +// +// Content from Pathfinder 2nd Edition is licensed under the Open Game License (OGL) v1.0a, subject to the following: +// - Open Game License v 1.0a, Copyright 2000, Wizards of the Coast, Inc. +// - System Reference Document, Copyright 2000, Wizards of the Coast, Inc. +// - Pathfinder Core Rulebook (Second Edition), Copyright 2019, Paizo Inc. +// +// Except for material designated as Product Identity, the game mechanics and logic in this file are Open Game Content, +// as defined in the Open Game License version 1.0a, Section 1(d) (see accompanying LICENSE.TXT). No portion of this +// file other than the material designated as Open Game Content may be reproduced in any form without written +// permission. + +#pragma once + +#include + +// ===================================================================================================================== +// Weapon Groups +// ===================================================================================================================== +// From the Pathfinder 2E Core Rulebook, pages 280-282; Tables 6-6, 6-7, and 6-8. +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupAxe) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupBomb) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupBow) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupBrawling) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupClub) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupDart) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupFlail) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupHammer) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupKnife) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupPick) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupPolearm) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupShield) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupSling) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupSpear) +OPENPF2GAMEFRAMEWORK_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Pf2TagWeaponGroupSword)