├── .gitattributes ├── .gitignore ├── Config ├── DefaultEditor.ini ├── DefaultEngine.ini ├── DefaultGame.ini ├── DefaultGameplayTags.ini └── DefaultInput.ini ├── Content ├── SNDPG │ ├── AbilitySystem │ │ ├── Enemy │ │ │ ├── Barghest │ │ │ │ ├── Abilities │ │ │ │ │ ├── GA_Berghest_Death.uasset │ │ │ │ │ └── Melee │ │ │ │ │ │ ├── GA_BarghestBite.uasset │ │ │ │ │ │ └── GE_BarghestBite_Damage.uasset │ │ │ │ ├── Attributes │ │ │ │ │ └── GE_BarghestAttributes.uasset │ │ │ │ └── DA_BarghestAbilitySet.uasset │ │ │ └── Dragon │ │ │ │ ├── Abilities │ │ │ │ ├── Bite │ │ │ │ │ ├── GA_DragonBite.uasset │ │ │ │ │ └── GE_DragonBite_Damage.uasset │ │ │ │ └── GA_Dragon_Death.uasset │ │ │ │ ├── Attributes │ │ │ │ └── GE_AdditionalDragonAttributes.uasset │ │ │ │ └── DA_DragonAbilitySet.uasset │ │ └── Hero │ │ │ ├── Abilities │ │ │ ├── Dash │ │ │ │ ├── GA_Dash.uasset │ │ │ │ ├── GE_Dash_Cost.uasset │ │ │ │ └── GE_Dast_CD.uasset │ │ │ ├── FocusSystem │ │ │ │ └── GA_TargetLock.uasset │ │ │ ├── GA_Hero_Death.uasset │ │ │ ├── ItemAbilities │ │ │ │ ├── HealthPotion │ │ │ │ │ ├── GA_HealthPotion.uasset │ │ │ │ │ ├── GE_Healing_Exec.uasset │ │ │ │ │ └── GE_HealthPotion_CD.uasset │ │ │ │ ├── Knives │ │ │ │ │ ├── BP_KnifeProjectile.uasset │ │ │ │ │ ├── PoisonKnife │ │ │ │ │ │ ├── GA_PoisonKnifeThrow.uasset │ │ │ │ │ │ ├── GE_PoisonKnifeThrow_CD.uasset │ │ │ │ │ │ ├── GE_PoisonKnifeThrow_Cost.uasset │ │ │ │ │ │ └── GE_PoisonKnifeThrow_Damage.uasset │ │ │ │ │ └── RegularKnife │ │ │ │ │ │ ├── GA_SimpleKnifeThrow.uasset │ │ │ │ │ │ ├── GE_KnifeThrow_CD.uasset │ │ │ │ │ │ ├── GE_KnifeThrow_Cost.uasset │ │ │ │ │ │ └── GE_KnifeThrow_Damage.uasset │ │ │ │ └── ManaPotion │ │ │ │ │ └── GA_ManaPotion.uasset │ │ │ ├── Melee │ │ │ │ ├── Heavy │ │ │ │ │ ├── GA_HeavyMeleeStrike.uasset │ │ │ │ │ ├── GE_HeavyMeleeStrike_Cost.uasset │ │ │ │ │ └── GE_HeavyMeleeStrike_Damage.uasset │ │ │ │ └── Light │ │ │ │ │ ├── GA_LightMeleeStrike.uasset │ │ │ │ │ ├── GE_LightMeleeStrike_Cost.uasset │ │ │ │ │ └── GE_LightMeleeStrike_Damage.uasset │ │ │ ├── PickupSystem │ │ │ │ ├── GA_Interact.uasset │ │ │ │ ├── GA_Interact_Collect.uasset │ │ │ │ └── GE_Interaction_Cooldown.uasset │ │ │ ├── Regen │ │ │ │ └── GE_StaminInfiniteRegen.uasset │ │ │ └── WeaponAbilities │ │ │ │ └── SwirlSwing │ │ │ │ ├── GA_SwirlSwing.uasset │ │ │ │ ├── GE_SwirlSwing_CD.uasset │ │ │ │ ├── GE_SwirlSwing_Cost.uasset │ │ │ │ └── GE_SwirlSwing_Damage.uasset │ │ │ ├── AditionalAttributes │ │ │ └── GE_AditionalHeroAttributes.uasset │ │ │ └── DA_AbilitySet.uasset │ ├── Characters │ │ ├── Enemies │ │ │ ├── BP_Barghest.uasset │ │ │ ├── BP_Barghest_C.uasset │ │ │ ├── Barghest │ │ │ │ ├── AI │ │ │ │ │ ├── BB_Barghest.uasset │ │ │ │ │ ├── BP_BarghestAIController.uasset │ │ │ │ │ └── BT_Barghest.uasset │ │ │ │ ├── Animations │ │ │ │ │ ├── ABP_Barghest.uasset │ │ │ │ │ ├── AM_BiteAgressive.uasset │ │ │ │ │ ├── AM_BiteNormal.uasset │ │ │ │ │ ├── AM_DeathAgressive.uasset │ │ │ │ │ ├── AM_DeathNormal.uasset │ │ │ │ │ └── BS1D_BerghestWalkRun.uasset │ │ │ │ ├── BP_Barghest.uasset │ │ │ │ ├── DA_BarghestLootSet.uasset │ │ │ │ └── DA_BarghestRegularLootList.uasset │ │ │ ├── Default__BP_Barghest_C.uasset │ │ │ └── Dragon │ │ │ │ ├── AI │ │ │ │ ├── BB_Dragon.uasset │ │ │ │ ├── BP_DragonAIController.uasset │ │ │ │ └── BT_Dragon.uasset │ │ │ │ ├── Animations │ │ │ │ ├── ABP_Dragon.uasset │ │ │ │ ├── AM_DragonFlyingDeath.uasset │ │ │ │ ├── AM_DragonGeoundDeath.uasset │ │ │ │ ├── AM_GroundBite.uasset │ │ │ │ ├── ANIM_MOUNTAIN_DRAGON_ClawsAttack2HitComboForward_RM.uasset │ │ │ │ ├── ANIM_MOUNTAIN_DRAGON_bite.uasset │ │ │ │ ├── ANIM_MOUNTAIN_DRAGON_death.uasset │ │ │ │ ├── ANIM_MOUNTAIN_DRAGON_deathHitTheGround.uasset │ │ │ │ ├── ANIM_MOUNTAIN_DRAGON_idleLookAround.uasset │ │ │ │ ├── ANIM_MOUNTAIN_DRAGON_spitFireBall.uasset │ │ │ │ ├── ANIM_MOUNTAIN_DRAGON_spreadFire.uasset │ │ │ │ ├── ANIM_MOUNTAIN_DRAGON_turn90Left.uasset │ │ │ │ ├── ANIM_MOUNTAIN_DRAGON_turn90Right.uasset │ │ │ │ └── ANIM_MOUNTAIN_DRAGON_walk.uasset │ │ │ │ ├── BP_Dragon.uasset │ │ │ │ ├── DA_DragonBossLootList.uasset │ │ │ │ ├── DA_DragonLootSet.uasset │ │ │ │ ├── DA_DragonRegularLootList.uasset │ │ │ │ └── DA_DragonRegularLootList1.uasset │ │ └── Hero │ │ │ ├── Animations │ │ │ ├── Death │ │ │ │ └── HeroDeath_Montage.uasset │ │ │ ├── Kwang_AnimBlueprint.uasset │ │ │ └── Montages │ │ │ │ ├── Dash │ │ │ │ └── HeroDash_Montage.uasset │ │ │ │ ├── Healing │ │ │ │ └── Healing_Montage.uasset │ │ │ │ ├── Melee │ │ │ │ ├── Heavy │ │ │ │ │ ├── HeavySwing_A_Montage.uasset │ │ │ │ │ └── HeavySwing_B_Montage.uasset │ │ │ │ └── Light │ │ │ │ │ ├── PrimaryAttack_A_Slow_Montage.uasset │ │ │ │ │ ├── PrimaryAttack_B_Slow_Montage.uasset │ │ │ │ │ ├── PrimaryAttack_C_Slow_Montage.uasset │ │ │ │ │ └── PrimaryAttack_D_Slow_Montage.uasset │ │ │ │ ├── Swirl │ │ │ │ ├── SwirlAbilityIntro_montage.uasset │ │ │ │ └── SwirlAbility_Montage.uasset │ │ │ │ └── Throw │ │ │ │ └── Throw_Montage.uasset │ │ │ ├── BP_Hero.uasset │ │ │ └── Miscellaneous │ │ │ ├── BP_HeroController.uasset │ │ │ └── BP_HeroState.uasset │ ├── GameModes │ │ ├── BP_MainMenuGameMode.uasset │ │ └── BP_SNGameMode.uasset │ ├── Input │ │ ├── DA_InputConfig.uasset │ │ ├── InputActions │ │ │ ├── Abilities │ │ │ │ ├── IA_Dash.uasset │ │ │ │ ├── IA_HeavyMelee.uasset │ │ │ │ ├── IA_Interact.uasset │ │ │ │ ├── IA_KnifeThrow.uasset │ │ │ │ ├── IA_LightMelee.uasset │ │ │ │ ├── IA_TargetLock.uasset │ │ │ │ ├── IA_UseConsumableItem.uasset │ │ │ │ └── IA_WeaponSpell.uasset │ │ │ └── Native │ │ │ │ ├── HUD │ │ │ │ ├── IA_SwitchItemDown_Consumable.uasset │ │ │ │ ├── IA_SwitchItemLeft_Weapon.uasset │ │ │ │ ├── IA_SwitchItemRight_Weapon.uasset │ │ │ │ └── IA_SwitchItemUp_Magic.uasset │ │ │ │ ├── IA_BackToPreviousMenu.uasset │ │ │ │ ├── IA_ExitMenus.uasset │ │ │ │ ├── IA_Look_Mouse.uasset │ │ │ │ ├── IA_Look_Stick.uasset │ │ │ │ ├── IA_Move.uasset │ │ │ │ └── IA_ToggleInGameMenu.uasset │ │ └── Mappings │ │ │ ├── IMC_InputMappings_Gamepad.uasset │ │ │ ├── IMC_InputMappings_KNM.uasset │ │ │ └── IMC_UIMappings.uasset │ ├── Inventory │ │ └── Items │ │ │ ├── Armour │ │ │ ├── BodyArmour │ │ │ │ ├── Actors │ │ │ │ │ ├── BP_BodyArmour_CommonPickUpActor.uasset │ │ │ │ │ ├── BP_BodyArmour_EpicPickUpActor.uasset │ │ │ │ │ └── BP_BodyArmour_LegendaryPickUpActor.uasset │ │ │ │ ├── BP_BodyArmour_Common.uasset │ │ │ │ ├── BP_BodyArmour_Epic.uasset │ │ │ │ ├── BP_BodyArmour_Legendary.uasset │ │ │ │ ├── DA_BodyArmourAbilitySet_Common.uasset │ │ │ │ ├── DA_BodyArmourAbilitySet_Epic.uasset │ │ │ │ ├── DA_BodyArmourAbilitySet_Legendary.uasset │ │ │ │ ├── GE_BodyArmour_Common.uasset │ │ │ │ ├── GE_BodyArmour_Epic.uasset │ │ │ │ └── GE_BodyArmour_Legendary.uasset │ │ │ ├── Boots │ │ │ │ ├── Actors │ │ │ │ │ ├── BP_Boots_CommonPickUpActor.uasset │ │ │ │ │ ├── BP_Boots_EpicPickUpActor.uasset │ │ │ │ │ └── BP_Boots_LegendaryPickUpActor.uasset │ │ │ │ ├── BP_Boots_Common.uasset │ │ │ │ ├── BP_Boots_Epic.uasset │ │ │ │ ├── BP_Boots_Legendary.uasset │ │ │ │ ├── DA_BootsAbilitySet_Common.uasset │ │ │ │ ├── DA_BootsAbilitySet_Epic.uasset │ │ │ │ ├── DA_BootsAbilitySet_Legendary.uasset │ │ │ │ ├── GE_Boots_Common.uasset │ │ │ │ ├── GE_Boots_Epic.uasset │ │ │ │ └── GE_Boots_Legendary.uasset │ │ │ ├── Gloves │ │ │ │ ├── Actors │ │ │ │ │ ├── BP_Gloves_CommonPickUpActor.uasset │ │ │ │ │ ├── BP_Gloves_EpicPickUpActor.uasset │ │ │ │ │ └── BP_Gloves_LegendaryPickUpActor.uasset │ │ │ │ ├── BP_Gloves_Common.uasset │ │ │ │ ├── BP_Gloves_Epic.uasset │ │ │ │ ├── BP_Gloves_Legendary.uasset │ │ │ │ ├── DA_GlovesAbilitySet_Common.uasset │ │ │ │ ├── DA_GlovesAbilitySet_Epic.uasset │ │ │ │ ├── DA_GlovesAbilitySet_Legendary.uasset │ │ │ │ ├── GE_Gloves_Common.uasset │ │ │ │ ├── GE_Gloves_Epic.uasset │ │ │ │ └── GE_Gloves_Legendary.uasset │ │ │ └── Helmet │ │ │ │ ├── Actors │ │ │ │ ├── BP_Helmet_CommonPickUpActor.uasset │ │ │ │ ├── BP_Helmet_EpicPickUpActor.uasset │ │ │ │ └── BP_Helmet_LegendaryPickUpActor.uasset │ │ │ │ ├── Common │ │ │ │ ├── BP_Helmet_Common.uasset │ │ │ │ ├── DA_Helmet_Common.uasset │ │ │ │ └── GE_Helmet_Common.uasset │ │ │ │ ├── Epic │ │ │ │ ├── BP_Helmet_Epic.uasset │ │ │ │ ├── DA_Helmet_Epic.uasset │ │ │ │ └── GE_Helmet_Epic.uasset │ │ │ │ └── Legendary │ │ │ │ ├── BP_Helmet_Legendary.uasset │ │ │ │ ├── DA_Helmet_Legendary.uasset │ │ │ │ └── GE_Helmet_Legendary.uasset │ │ │ ├── Assets │ │ │ ├── BodyArmour1.uasset │ │ │ ├── BodyArmour2.uasset │ │ │ ├── BodyArmour3.uasset │ │ │ ├── Boots1.uasset │ │ │ ├── Boots2.uasset │ │ │ ├── Boots3.uasset │ │ │ ├── Gloves1.uasset │ │ │ ├── Gloves2.uasset │ │ │ ├── Gloves3.uasset │ │ │ ├── Helmet1.uasset │ │ │ ├── Helmet2.uasset │ │ │ ├── Helmet3.uasset │ │ │ ├── Potion_Health.uasset │ │ │ ├── Potion_Mana.uasset │ │ │ ├── Talisman1.uasset │ │ │ ├── Talisman2.uasset │ │ │ ├── Talisman3.uasset │ │ │ ├── Talisman4.uasset │ │ │ ├── Talisman5.uasset │ │ │ ├── ThrowingKnife1.uasset │ │ │ ├── ThrowingKnife2.uasset │ │ │ ├── Untitled.uasset │ │ │ ├── Weapon1.uasset │ │ │ ├── Weapon2.uasset │ │ │ ├── Weapon3.uasset │ │ │ ├── manatalisman2.uasset │ │ │ ├── staminatalisman2.uasset │ │ │ ├── weapon4.uasset │ │ │ ├── weapon5.uasset │ │ │ ├── weapon6.uasset │ │ │ └── weapon7.uasset │ │ │ ├── Consumable │ │ │ ├── Potions │ │ │ │ ├── BP_HealthHealingItem.uasset │ │ │ │ ├── BP_ManaReplenishingItem.uasset │ │ │ │ ├── DA_HealthPotionAbilitySet.uasset │ │ │ │ └── DA_ManaPotionAbilitySet.uasset │ │ │ └── ThrowingKnifes │ │ │ │ ├── Actors │ │ │ │ ├── BP_PoisonThrowingKnifePickUpActor.uasset │ │ │ │ └── BP_SimpleThrowingKnifePickUpActor.uasset │ │ │ │ ├── BP_PoisonThrowingKnife.uasset │ │ │ │ ├── BP_SimpleThrowingKnife.uasset │ │ │ │ ├── DA_PoisonKnifeThrowItem.uasset │ │ │ │ └── DA_SimpleKnifeThrowItem.uasset │ │ │ ├── PickupMeshes │ │ │ ├── M_Fresnel.uasset │ │ │ ├── MaterialSphere.uasset │ │ │ └── NS_Spirits_of_Colors.uasset │ │ │ ├── Talismans │ │ │ ├── HealthTalismans │ │ │ │ ├── Actors │ │ │ │ │ ├── BP_HealthTalismanPickUpActor.uasset │ │ │ │ │ └── BP_TitansHealthPickUpActor.uasset │ │ │ │ ├── BP_HealthTalisman.uasset │ │ │ │ ├── BP_TitansHealth.uasset │ │ │ │ ├── DA_HealthTalismanAbilitySet.uasset │ │ │ │ ├── DA_TitansHealthAbilitySet.uasset │ │ │ │ ├── GE_HealthTalisman.uasset │ │ │ │ └── GE_TitansHealth.uasset │ │ │ ├── ManaTalismans │ │ │ │ ├── Actors │ │ │ │ │ ├── BP_ManaTalismanPickUpActor.uasset │ │ │ │ │ └── BP_TitansMightPickUpActor.uasset │ │ │ │ ├── BP_ManaTalisman.uasset │ │ │ │ ├── BP_TitansMight.uasset │ │ │ │ ├── DA_ManaTalismanAbilitySet.uasset │ │ │ │ ├── DA_TitansMightAbilitySet.uasset │ │ │ │ ├── GE_ManaTalisman.uasset │ │ │ │ └── GE_TitansMight.uasset │ │ │ ├── StaminaTalismans │ │ │ │ ├── Actors │ │ │ │ │ ├── BP_StaminaTalismanPickUpActor.uasset │ │ │ │ │ └── BP_TitansJointsPickUpActor.uasset │ │ │ │ ├── BP_StaminaTalisman.uasset │ │ │ │ ├── BP_TitansJoints.uasset │ │ │ │ ├── DA_StaminaTalismanAbilitySet.uasset │ │ │ │ ├── DA_TitansJointsAbilitySet.uasset │ │ │ │ ├── GE_StaminaTalisman.uasset │ │ │ │ └── GE_TitansJoints.uasset │ │ │ └── StrengthTalismans │ │ │ │ ├── Actor │ │ │ │ ├── BP_StrengthTalismanPickUpActor.uasset │ │ │ │ └── BP_TitansKnucklesPickUpActor.uasset │ │ │ │ ├── BP_StrengthTalisman.uasset │ │ │ │ ├── BP_TitansKnuckles.uasset │ │ │ │ ├── DA_StrengthTalismanAbilitySet.uasset │ │ │ │ ├── DA_TitansKnucklesAbilitySet.uasset │ │ │ │ ├── GE_StrengthTalisman.uasset │ │ │ │ └── GE_TitansKnuckles.uasset │ │ │ └── Weapons │ │ │ ├── Actors │ │ │ ├── BP_CommonSwordPickUpActor.uasset │ │ │ ├── BP_CurvedSwordPickUpActor.uasset │ │ │ ├── BP_DemonSwordPickUpActor.uasset │ │ │ ├── BP_DwarfSwordPickUpActor.uasset │ │ │ ├── BP_GiantSwordPickUpActor.uasset │ │ │ ├── BP_GladiusPickUpActor.uasset │ │ │ └── BP_LongSwordPickUpActor.uasset │ │ │ ├── CommonSword │ │ │ ├── BP_CommonSword.uasset │ │ │ └── DA_CommonSwordAbilitySet.uasset │ │ │ ├── CurvedSword │ │ │ ├── BP_CurvedSword.uasset │ │ │ └── DA_CurvedSwordAbilitySet.uasset │ │ │ ├── DemonSword │ │ │ ├── BP_DemonSword.uasset │ │ │ └── DA_DemonSwordAbilitySet.uasset │ │ │ ├── DwarfSword │ │ │ ├── BP_DwarfSword.uasset │ │ │ └── DA_DwarfSwordAbilitySet.uasset │ │ │ ├── GiantSword │ │ │ ├── BP_GiantSword.uasset │ │ │ └── DA_GiantSwordAbilitySet.uasset │ │ │ ├── Gladius │ │ │ ├── BP_Gladius.uasset │ │ │ └── DA_GladiusAbilitySet.uasset │ │ │ └── LongSword │ │ │ ├── BP_LongSword.uasset │ │ │ └── DA_LongSwordAbilitySet.uasset │ ├── Levels │ │ ├── GameplayLevels │ │ │ └── L_WinterGothicLevel.umap │ │ ├── MainMenuLevel │ │ │ └── L_MainMenu.umap │ │ └── TestLevel │ │ │ └── Test.umap │ ├── Player │ │ └── BP_MenuController.uasset │ └── UI │ │ ├── DamageNumbers │ │ ├── WBP_FloatingNumbers.uasset │ │ └── WC_DamageText.uasset │ │ ├── Enemy │ │ └── WBP_EnemyHealthBar.uasset │ │ ├── Hero │ │ ├── CharacterStatus │ │ │ ├── WBP_CharacterStatus.uasset │ │ │ └── W_LevelUpButton.uasset │ │ ├── HUD │ │ │ ├── WBP_HeroHUD.uasset │ │ │ └── W_HUDEquipmentSlot.uasset │ │ ├── InGameMenu │ │ │ ├── WBP_InGameMenu.uasset │ │ │ └── W_InGameMenuButton.uasset │ │ ├── Interact │ │ │ └── Pickup │ │ │ │ └── WBP_PickupPopup.uasset │ │ └── InventorySystem │ │ │ ├── Equipment │ │ │ ├── WBP_EquipmentWidget.uasset │ │ │ └── W_EquipmentSlotButton.uasset │ │ │ ├── Inventory │ │ │ └── WBP_InventoryWidget.uasset │ │ │ └── Items │ │ │ └── W_InventoryItem.uasset │ │ ├── Items │ │ └── WBP_ItemName.uasset │ │ ├── MainMenu │ │ ├── WBP_MainMenu.uasset │ │ └── W_MenuButton.uasset │ │ └── UIAssets │ │ ├── Font │ │ ├── AGaramond-Bold.uasset │ │ ├── AGaramond-Regular.uasset │ │ └── UIFont.uasset │ │ └── Minimap │ │ ├── M_Minimap.uasset │ │ └── TT_Minimap.uasset └── Weapon_Pack │ ├── Materials │ └── Weapons │ │ └── M_WeaponSet_1.uasset │ ├── Mesh │ └── Weapons │ │ └── Weapons_Kit │ │ └── SM_Throwing.uasset │ ├── Skeletal_Mesh │ ├── SK_Throwing.uasset │ ├── SK_Throwing_PhysicsAsset.uasset │ └── SK_Throwing_Skeleton.uasset │ └── Textures │ └── Weapons │ ├── T_Weapon_Set1_BaseColor.uasset │ ├── T_Weapon_Set1_Normal.uasset │ └── T_Weapon_Set1_OcclusionRoughnessMetallic.uasset ├── GothicTemple.png ├── IdeasAndImprovements.txt ├── LICENSE ├── README.md ├── SNDPG.uproject └── Source ├── SNDPG.Target.cs ├── SNDPG ├── Private │ ├── AI │ │ └── SNBTTask_ActiveGameplayAbility.cpp │ ├── ActorComponents │ │ ├── Data │ │ │ └── SNAttackNotifyState.cpp │ │ ├── SNBasicAttributesComponent.cpp │ │ └── SNCombatComponent.cpp │ ├── Characters │ │ ├── Enemy │ │ │ ├── Barghest │ │ │ │ └── SNBarghest.cpp │ │ │ ├── Dragon │ │ │ │ └── SNDragon.cpp │ │ │ ├── Miscellaneous │ │ │ │ └── SNBaseAIController.cpp │ │ │ └── SNEnemy.cpp │ │ ├── Hero │ │ │ ├── Miscellaneous │ │ │ │ ├── SNHeroController.cpp │ │ │ │ └── SNHeroState.cpp │ │ │ └── SNHero.cpp │ │ ├── SNCharacterBase.cpp │ │ └── SNCharacterMovementComponent.cpp │ ├── DropSystem │ │ ├── SNLootList.cpp │ │ └── SNLootSet.cpp │ ├── GAS │ │ ├── Abilities │ │ │ ├── SNGameplayAbility_BarghestBite.cpp │ │ │ ├── SNGameplayAbility_Death.cpp │ │ │ └── SNGameplayAbility_Melee.cpp │ │ ├── Actors │ │ │ └── SNProjectileBase.cpp │ │ ├── Attributes │ │ │ ├── SNBasicAttributes.cpp │ │ │ └── SNMainAttributeSet.cpp │ │ ├── Executions │ │ │ ├── SNAbilityExecutionCalculation.cpp │ │ │ ├── SNDamageExecutionCalculation.cpp │ │ │ └── SNHealExecutionCalculation.cpp │ │ ├── SNAbilitySet.cpp │ │ ├── SNAbilitySystemComponent.cpp │ │ └── SNGameplayAbility.cpp │ ├── GameModes │ │ ├── SNGameMode.cpp │ │ └── SNMainMenuGameMode.cpp │ ├── GameplayTags │ │ └── SNGameplayTags.cpp │ ├── Input │ │ ├── SNEnhancedInputComponent.cpp │ │ └── SNInputConfig.cpp │ ├── InventorySystem │ │ ├── Items │ │ │ ├── SNArmorItem.cpp │ │ │ ├── SNHealingItem.cpp │ │ │ ├── SNTalismanItem.cpp │ │ │ ├── SNThrowingKnifeItem.cpp │ │ │ └── SNWeaponItem.cpp │ │ ├── SNEquipmentComponent.cpp │ │ ├── SNInventoryComponent.cpp │ │ └── SNItemBase.cpp │ ├── PickupSystem │ │ ├── Abilities │ │ │ └── SNGameplayAbility_Interact.cpp │ │ ├── SNInteractableTarget.cpp │ │ ├── SNInteractionStatics.cpp │ │ ├── SNPickupable.cpp │ │ ├── SNWorldCollectable.cpp │ │ └── Tasks │ │ │ ├── SNAbilityTask_GrantInteraction.cpp │ │ │ ├── SNAbilityTask_ScanForInteract.cpp │ │ │ └── SNAbilityTask_Scan_Trace.cpp │ ├── SNAssetManager.cpp │ └── UI │ │ ├── Combat │ │ └── SNFloatingDmgNumberWComponent.cpp │ │ ├── EnemyUI │ │ └── SNHealthBarWidget.cpp │ │ ├── HeroHUD │ │ ├── SNCharacterStatusWidget.cpp │ │ └── SNHeroHUD.cpp │ │ ├── Inventory │ │ ├── SNEquipmentSlotButton.cpp │ │ ├── SNEquipmentWidget.cpp │ │ ├── SNInventoryItemButton.cpp │ │ └── SNInventoryWidget.cpp │ │ ├── Menus │ │ ├── SNInGameMenu.cpp │ │ └── SNMainMenu.cpp │ │ └── SNStatusWidget.cpp ├── Public │ ├── AI │ │ └── SNBTTask_ActiveGameplayAbility.h │ ├── ActorComponents │ │ ├── Data │ │ │ └── SNAttackNotifyState.h │ │ ├── SNBasicAttributesComponent.h │ │ └── SNCombatComponent.h │ ├── Characters │ │ ├── Enemy │ │ │ ├── Barghest │ │ │ │ └── SNBarghest.h │ │ │ ├── Dragon │ │ │ │ └── SNDragon.h │ │ │ ├── Miscellaneous │ │ │ │ └── SNBaseAIController.h │ │ │ └── SNEnemy.h │ │ ├── Hero │ │ │ ├── Miscellaneous │ │ │ │ ├── SNHeroController.h │ │ │ │ └── SNHeroState.h │ │ │ └── SNHero.h │ │ ├── SNCharacterBase.h │ │ └── SNCharacterMovementComponent.h │ ├── DropSystem │ │ ├── SNLootList.h │ │ └── SNLootSet.h │ ├── GAS │ │ ├── Abilities │ │ │ ├── SNGameplayAbility_BarghestBite.h │ │ │ ├── SNGameplayAbility_Death.h │ │ │ └── SNGameplayAbility_Melee.h │ │ ├── Actors │ │ │ └── SNProjectileBase.h │ │ ├── Attributes │ │ │ ├── SNBasicAttributes.h │ │ │ └── SNMainAttributeSet.h │ │ ├── Executions │ │ │ ├── SNAbilityExecutionCalculation.h │ │ │ ├── SNDamageExecutionCalculation.h │ │ │ └── SNHealExecutionCalculation.h │ │ ├── SNAbilitySet.h │ │ ├── SNAbilitySystemComponent.h │ │ └── SNGameplayAbility.h │ ├── GameModes │ │ ├── SNGameMode.h │ │ └── SNMainMenuGameMode.h │ ├── GameplayTags │ │ └── SNGameplayTags.h │ ├── Input │ │ ├── SNEnhancedInputComponent.h │ │ └── SNInputConfig.h │ ├── InventorySystem │ │ ├── Items │ │ │ ├── SNArmorItem.h │ │ │ ├── SNHealingItem.h │ │ │ ├── SNTalismanItem.h │ │ │ └── SNWeaponItem.h │ │ ├── SNEquipmentComponent.h │ │ ├── SNInventoryComponent.h │ │ ├── SNItemBase.h │ │ └── SNThrowingKnifeItem.h │ ├── Physics │ │ └── SNDPGCollisionChannels.h │ ├── PickupSystem │ │ ├── Abilities │ │ │ └── SNGameplayAbility_Interact.h │ │ ├── SNInteractableTarget.h │ │ ├── SNInteractionOption.h │ │ ├── SNInteractionQuery.h │ │ ├── SNInteractionStatics.h │ │ ├── SNPickupable.h │ │ ├── SNWorldCollectable.h │ │ └── Tasks │ │ │ ├── SNAbilityTask_GrantInteraction.h │ │ │ ├── SNAbilityTask_ScanForInteract.h │ │ │ └── SNAbilityTask_Scan_Trace.h │ ├── SNAssetManager.h │ └── UI │ │ ├── Combat │ │ └── SNFloatingDmgNumberWComponent.h │ │ ├── EnemyUI │ │ └── SNHealthBarWidget.h │ │ ├── HeroHUD │ │ ├── SNCharacterStatusWidget.h │ │ └── SNHeroHUD.h │ │ ├── Inventory │ │ ├── SNEquipmentSlotButton.h │ │ ├── SNEquipmentWidget.h │ │ ├── SNInventoryItemButton.h │ │ └── SNInventoryWidget.h │ │ ├── Menus │ │ ├── SNInGameMenu.h │ │ └── SNMainMenu.h │ │ └── SNStatusWidget.h ├── SNDPG.Build.cs ├── SNDPG.cpp └── SNDPG.h └── SNDPGEditor.Target.cs /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | *.umap filter=lfs diff=lfs merge=lfs -text 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ### UnrealEngine ### 2 | # Visual Studio 2015 user specific files 3 | .vs/ 4 | 5 | # Compiled Object files 6 | *.slo 7 | *.lo 8 | *.o 9 | *.obj 10 | 11 | # Precompiled Headers 12 | *.gch 13 | *.pch 14 | 15 | # Compiled Dynamic libraries 16 | *.so 17 | *.dylib 18 | *.dll 19 | 20 | # Fortran module files 21 | *.mod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # Executables 30 | *.exe 31 | *.out 32 | *.app 33 | *.ipa 34 | 35 | # These project files can be generated by the engine 36 | *.xcodeproj 37 | *.xcworkspace 38 | *.sln 39 | *.suo 40 | *.opensdf 41 | *.sdf 42 | *.VC.db 43 | *.VC.opendb 44 | *.vsconfig 45 | 46 | # Precompiled Assets 47 | SourceArt/**/*.png 48 | SourceArt/**/*.tga 49 | 50 | # Binary Files 51 | Binaries/* 52 | Plugins/*/Binaries/* 53 | Platforms/* 54 | 55 | # Builds 56 | Build/* 57 | 58 | # Whitelist PakBlacklist-.txt files 59 | !Build/*/ 60 | Build/*/** 61 | !Build/*/PakBlacklist*.txt 62 | 63 | # Don't ignore icon files in Build 64 | !Build/**/*.ico 65 | 66 | # Built data for maps 67 | *_BuiltData.uasset 68 | 69 | # Configuration files generated by the Editor 70 | Saved/* 71 | 72 | # Compiled source files for the engine to use 73 | Intermediate/* 74 | Plugins/*/Intermediate/* 75 | 76 | # Cache files for the editor to use 77 | DerivedDataCache/* 78 | 79 | ### UnrealEngine Patch ### 80 | # Don't ignore icon and splash images for mobile app 81 | !Build/IOS/Resources/ 82 | Build/IOS/Resources/* 83 | !Build/IOS/Resources/Graphics/ 84 | Build/IOS/Resources/Graphics/* 85 | !Build/IOS/Resources/Graphics/*.png 86 | !Build/Android/res/ 87 | Build/Android/res/* 88 | !Build/Android/res/*/ 89 | Build/Android/res/*/* 90 | !Build/Android/res/*/*.png 91 | # Ignore plugins binaries on deep subfolders 92 | Plugins/**/Binaries/* 93 | Plugins/**/Intermediate/* 94 | 95 | Content/DATA 96 | Content/Characters 97 | Content/StarterContent 98 | Content/ParagonKwang 99 | Content/GothicTemple 100 | Content/QuadrapedCreatures 101 | Content/UIAssets 102 | 103 | .idea 104 | Plugins/Developer/Riderlink 105 | Plugins/Developer/RiderLink/ 106 | .idea/.idea.SNDPG/.idea/workspace.xml 107 | -------------------------------------------------------------------------------- /Config/DefaultEditor.ini: -------------------------------------------------------------------------------- 1 | [/Script/AdvancedPreviewScene.SharedProfiles] 2 | 3 | -------------------------------------------------------------------------------- /Config/DefaultGame.ini: -------------------------------------------------------------------------------- 1 | 2 | 3 | [/Script/EngineSettings.GeneralProjectSettings] 4 | ProjectID=BDC02B6D483D1A475404FFA6AB762E36 5 | 6 | [StartupActions] 7 | bAddPacks=True 8 | InsertPack=(PackSource="StarterContent.upack",PackName="StarterContent") 9 | -------------------------------------------------------------------------------- /Config/DefaultGameplayTags.ini: -------------------------------------------------------------------------------- 1 | [/Script/GameplayTags.GameplayTagsSettings] 2 | ImportTagsFromConfig=True 3 | WarnOnInvalidTags=True 4 | ClearInvalidTags=False 5 | AllowEditorTagUnloading=True 6 | AllowGameTagUnloading=False 7 | FastReplication=False 8 | InvalidTagCharacters="\"\'," 9 | NumBitsForContainerSize=6 10 | NetIndexFirstBitSegment=16 11 | +GameplayTagList=(Tag="Ability.Data.Damage",DevComment="Tag used to pass the effect spec to ASC") 12 | +GameplayTagList=(Tag="GameplayCue.Interact.Collect",DevComment="") 13 | 14 | -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Enemy/Barghest/Abilities/GA_Berghest_Death.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Enemy/Barghest/Abilities/GA_Berghest_Death.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Enemy/Barghest/Abilities/Melee/GA_BarghestBite.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Enemy/Barghest/Abilities/Melee/GA_BarghestBite.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Enemy/Barghest/Abilities/Melee/GE_BarghestBite_Damage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Enemy/Barghest/Abilities/Melee/GE_BarghestBite_Damage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Enemy/Barghest/Attributes/GE_BarghestAttributes.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Enemy/Barghest/Attributes/GE_BarghestAttributes.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Enemy/Barghest/DA_BarghestAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Enemy/Barghest/DA_BarghestAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Enemy/Dragon/Abilities/Bite/GA_DragonBite.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Enemy/Dragon/Abilities/Bite/GA_DragonBite.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Enemy/Dragon/Abilities/Bite/GE_DragonBite_Damage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Enemy/Dragon/Abilities/Bite/GE_DragonBite_Damage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Enemy/Dragon/Abilities/GA_Dragon_Death.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Enemy/Dragon/Abilities/GA_Dragon_Death.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Enemy/Dragon/Attributes/GE_AdditionalDragonAttributes.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Enemy/Dragon/Attributes/GE_AdditionalDragonAttributes.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Enemy/Dragon/DA_DragonAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Enemy/Dragon/DA_DragonAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/Dash/GA_Dash.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/Dash/GA_Dash.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/Dash/GE_Dash_Cost.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/Dash/GE_Dash_Cost.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/Dash/GE_Dast_CD.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/Dash/GE_Dast_CD.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/FocusSystem/GA_TargetLock.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/FocusSystem/GA_TargetLock.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/GA_Hero_Death.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/GA_Hero_Death.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/HealthPotion/GA_HealthPotion.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/HealthPotion/GA_HealthPotion.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/HealthPotion/GE_Healing_Exec.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/HealthPotion/GE_Healing_Exec.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/HealthPotion/GE_HealthPotion_CD.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/HealthPotion/GE_HealthPotion_CD.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/BP_KnifeProjectile.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/BP_KnifeProjectile.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/PoisonKnife/GA_PoisonKnifeThrow.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/PoisonKnife/GA_PoisonKnifeThrow.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/PoisonKnife/GE_PoisonKnifeThrow_CD.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/PoisonKnife/GE_PoisonKnifeThrow_CD.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/PoisonKnife/GE_PoisonKnifeThrow_Cost.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/PoisonKnife/GE_PoisonKnifeThrow_Cost.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/PoisonKnife/GE_PoisonKnifeThrow_Damage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/PoisonKnife/GE_PoisonKnifeThrow_Damage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/RegularKnife/GA_SimpleKnifeThrow.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/RegularKnife/GA_SimpleKnifeThrow.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/RegularKnife/GE_KnifeThrow_CD.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/RegularKnife/GE_KnifeThrow_CD.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/RegularKnife/GE_KnifeThrow_Cost.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/RegularKnife/GE_KnifeThrow_Cost.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/RegularKnife/GE_KnifeThrow_Damage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/Knives/RegularKnife/GE_KnifeThrow_Damage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/ManaPotion/GA_ManaPotion.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/ItemAbilities/ManaPotion/GA_ManaPotion.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/Melee/Heavy/GA_HeavyMeleeStrike.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/Melee/Heavy/GA_HeavyMeleeStrike.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/Melee/Heavy/GE_HeavyMeleeStrike_Cost.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/Melee/Heavy/GE_HeavyMeleeStrike_Cost.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/Melee/Heavy/GE_HeavyMeleeStrike_Damage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/Melee/Heavy/GE_HeavyMeleeStrike_Damage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/Melee/Light/GA_LightMeleeStrike.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/Melee/Light/GA_LightMeleeStrike.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/Melee/Light/GE_LightMeleeStrike_Cost.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/Melee/Light/GE_LightMeleeStrike_Cost.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/Melee/Light/GE_LightMeleeStrike_Damage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/Melee/Light/GE_LightMeleeStrike_Damage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/PickupSystem/GA_Interact.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/PickupSystem/GA_Interact.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/PickupSystem/GA_Interact_Collect.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/PickupSystem/GA_Interact_Collect.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/PickupSystem/GE_Interaction_Cooldown.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/PickupSystem/GE_Interaction_Cooldown.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/Regen/GE_StaminInfiniteRegen.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/Regen/GE_StaminInfiniteRegen.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/WeaponAbilities/SwirlSwing/GA_SwirlSwing.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/WeaponAbilities/SwirlSwing/GA_SwirlSwing.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/WeaponAbilities/SwirlSwing/GE_SwirlSwing_CD.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/WeaponAbilities/SwirlSwing/GE_SwirlSwing_CD.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/WeaponAbilities/SwirlSwing/GE_SwirlSwing_Cost.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/WeaponAbilities/SwirlSwing/GE_SwirlSwing_Cost.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/Abilities/WeaponAbilities/SwirlSwing/GE_SwirlSwing_Damage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/Abilities/WeaponAbilities/SwirlSwing/GE_SwirlSwing_Damage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/AditionalAttributes/GE_AditionalHeroAttributes.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/AditionalAttributes/GE_AditionalHeroAttributes.uasset -------------------------------------------------------------------------------- /Content/SNDPG/AbilitySystem/Hero/DA_AbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/AbilitySystem/Hero/DA_AbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/BP_Barghest.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/BP_Barghest.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/BP_Barghest_C.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/BP_Barghest_C.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Barghest/AI/BB_Barghest.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Barghest/AI/BB_Barghest.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Barghest/AI/BP_BarghestAIController.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Barghest/AI/BP_BarghestAIController.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Barghest/AI/BT_Barghest.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Barghest/AI/BT_Barghest.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Barghest/Animations/ABP_Barghest.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Barghest/Animations/ABP_Barghest.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Barghest/Animations/AM_BiteAgressive.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Barghest/Animations/AM_BiteAgressive.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Barghest/Animations/AM_BiteNormal.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Barghest/Animations/AM_BiteNormal.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Barghest/Animations/AM_DeathAgressive.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Barghest/Animations/AM_DeathAgressive.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Barghest/Animations/AM_DeathNormal.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Barghest/Animations/AM_DeathNormal.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Barghest/Animations/BS1D_BerghestWalkRun.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Barghest/Animations/BS1D_BerghestWalkRun.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Barghest/BP_Barghest.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Barghest/BP_Barghest.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Barghest/DA_BarghestLootSet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Barghest/DA_BarghestLootSet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Barghest/DA_BarghestRegularLootList.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Barghest/DA_BarghestRegularLootList.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Default__BP_Barghest_C.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Default__BP_Barghest_C.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/AI/BB_Dragon.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/AI/BB_Dragon.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/AI/BP_DragonAIController.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/AI/BP_DragonAIController.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/AI/BT_Dragon.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/AI/BT_Dragon.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/Animations/ABP_Dragon.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/Animations/ABP_Dragon.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/Animations/AM_DragonFlyingDeath.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/Animations/AM_DragonFlyingDeath.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/Animations/AM_DragonGeoundDeath.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/Animations/AM_DragonGeoundDeath.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/Animations/AM_GroundBite.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/Animations/AM_GroundBite.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_ClawsAttack2HitComboForward_RM.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_ClawsAttack2HitComboForward_RM.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_bite.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_bite.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_death.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_death.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_deathHitTheGround.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_deathHitTheGround.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_idleLookAround.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_idleLookAround.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_spitFireBall.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_spitFireBall.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_spreadFire.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_spreadFire.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_turn90Left.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_turn90Left.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_turn90Right.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_turn90Right.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_walk.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/Animations/ANIM_MOUNTAIN_DRAGON_walk.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/BP_Dragon.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/BP_Dragon.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/DA_DragonBossLootList.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/DA_DragonBossLootList.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/DA_DragonLootSet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/DA_DragonLootSet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/DA_DragonRegularLootList.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/DA_DragonRegularLootList.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Enemies/Dragon/DA_DragonRegularLootList1.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Enemies/Dragon/DA_DragonRegularLootList1.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Animations/Death/HeroDeath_Montage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Animations/Death/HeroDeath_Montage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Animations/Kwang_AnimBlueprint.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Animations/Kwang_AnimBlueprint.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Animations/Montages/Dash/HeroDash_Montage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Animations/Montages/Dash/HeroDash_Montage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Animations/Montages/Healing/Healing_Montage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Animations/Montages/Healing/Healing_Montage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Animations/Montages/Melee/Heavy/HeavySwing_A_Montage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Animations/Montages/Melee/Heavy/HeavySwing_A_Montage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Animations/Montages/Melee/Heavy/HeavySwing_B_Montage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Animations/Montages/Melee/Heavy/HeavySwing_B_Montage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Animations/Montages/Melee/Light/PrimaryAttack_A_Slow_Montage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Animations/Montages/Melee/Light/PrimaryAttack_A_Slow_Montage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Animations/Montages/Melee/Light/PrimaryAttack_B_Slow_Montage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Animations/Montages/Melee/Light/PrimaryAttack_B_Slow_Montage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Animations/Montages/Melee/Light/PrimaryAttack_C_Slow_Montage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Animations/Montages/Melee/Light/PrimaryAttack_C_Slow_Montage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Animations/Montages/Melee/Light/PrimaryAttack_D_Slow_Montage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Animations/Montages/Melee/Light/PrimaryAttack_D_Slow_Montage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Animations/Montages/Swirl/SwirlAbilityIntro_montage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Animations/Montages/Swirl/SwirlAbilityIntro_montage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Animations/Montages/Swirl/SwirlAbility_Montage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Animations/Montages/Swirl/SwirlAbility_Montage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Animations/Montages/Throw/Throw_Montage.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Animations/Montages/Throw/Throw_Montage.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/BP_Hero.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/BP_Hero.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Miscellaneous/BP_HeroController.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Miscellaneous/BP_HeroController.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Characters/Hero/Miscellaneous/BP_HeroState.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Characters/Hero/Miscellaneous/BP_HeroState.uasset -------------------------------------------------------------------------------- /Content/SNDPG/GameModes/BP_MainMenuGameMode.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/GameModes/BP_MainMenuGameMode.uasset -------------------------------------------------------------------------------- /Content/SNDPG/GameModes/BP_SNGameMode.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/GameModes/BP_SNGameMode.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/DA_InputConfig.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/DA_InputConfig.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Abilities/IA_Dash.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Abilities/IA_Dash.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Abilities/IA_HeavyMelee.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Abilities/IA_HeavyMelee.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Abilities/IA_Interact.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Abilities/IA_Interact.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Abilities/IA_KnifeThrow.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Abilities/IA_KnifeThrow.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Abilities/IA_LightMelee.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Abilities/IA_LightMelee.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Abilities/IA_TargetLock.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Abilities/IA_TargetLock.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Abilities/IA_UseConsumableItem.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Abilities/IA_UseConsumableItem.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Abilities/IA_WeaponSpell.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Abilities/IA_WeaponSpell.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Native/HUD/IA_SwitchItemDown_Consumable.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Native/HUD/IA_SwitchItemDown_Consumable.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Native/HUD/IA_SwitchItemLeft_Weapon.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Native/HUD/IA_SwitchItemLeft_Weapon.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Native/HUD/IA_SwitchItemRight_Weapon.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Native/HUD/IA_SwitchItemRight_Weapon.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Native/HUD/IA_SwitchItemUp_Magic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Native/HUD/IA_SwitchItemUp_Magic.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Native/IA_BackToPreviousMenu.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Native/IA_BackToPreviousMenu.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Native/IA_ExitMenus.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Native/IA_ExitMenus.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Native/IA_Look_Mouse.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Native/IA_Look_Mouse.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Native/IA_Look_Stick.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Native/IA_Look_Stick.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Native/IA_Move.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Native/IA_Move.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/InputActions/Native/IA_ToggleInGameMenu.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/InputActions/Native/IA_ToggleInGameMenu.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/Mappings/IMC_InputMappings_Gamepad.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/Mappings/IMC_InputMappings_Gamepad.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/Mappings/IMC_InputMappings_KNM.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/Mappings/IMC_InputMappings_KNM.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Input/Mappings/IMC_UIMappings.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Input/Mappings/IMC_UIMappings.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/BodyArmour/Actors/BP_BodyArmour_CommonPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/BodyArmour/Actors/BP_BodyArmour_CommonPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/BodyArmour/Actors/BP_BodyArmour_EpicPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/BodyArmour/Actors/BP_BodyArmour_EpicPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/BodyArmour/Actors/BP_BodyArmour_LegendaryPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/BodyArmour/Actors/BP_BodyArmour_LegendaryPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/BodyArmour/BP_BodyArmour_Common.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/BodyArmour/BP_BodyArmour_Common.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/BodyArmour/BP_BodyArmour_Epic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/BodyArmour/BP_BodyArmour_Epic.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/BodyArmour/BP_BodyArmour_Legendary.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/BodyArmour/BP_BodyArmour_Legendary.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/BodyArmour/DA_BodyArmourAbilitySet_Common.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/BodyArmour/DA_BodyArmourAbilitySet_Common.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/BodyArmour/DA_BodyArmourAbilitySet_Epic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/BodyArmour/DA_BodyArmourAbilitySet_Epic.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/BodyArmour/DA_BodyArmourAbilitySet_Legendary.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/BodyArmour/DA_BodyArmourAbilitySet_Legendary.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/BodyArmour/GE_BodyArmour_Common.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/BodyArmour/GE_BodyArmour_Common.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/BodyArmour/GE_BodyArmour_Epic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/BodyArmour/GE_BodyArmour_Epic.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/BodyArmour/GE_BodyArmour_Legendary.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/BodyArmour/GE_BodyArmour_Legendary.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Boots/Actors/BP_Boots_CommonPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Boots/Actors/BP_Boots_CommonPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Boots/Actors/BP_Boots_EpicPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Boots/Actors/BP_Boots_EpicPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Boots/Actors/BP_Boots_LegendaryPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Boots/Actors/BP_Boots_LegendaryPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Boots/BP_Boots_Common.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Boots/BP_Boots_Common.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Boots/BP_Boots_Epic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Boots/BP_Boots_Epic.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Boots/BP_Boots_Legendary.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Boots/BP_Boots_Legendary.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Boots/DA_BootsAbilitySet_Common.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Boots/DA_BootsAbilitySet_Common.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Boots/DA_BootsAbilitySet_Epic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Boots/DA_BootsAbilitySet_Epic.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Boots/DA_BootsAbilitySet_Legendary.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Boots/DA_BootsAbilitySet_Legendary.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Boots/GE_Boots_Common.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Boots/GE_Boots_Common.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Boots/GE_Boots_Epic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Boots/GE_Boots_Epic.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Boots/GE_Boots_Legendary.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Boots/GE_Boots_Legendary.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Gloves/Actors/BP_Gloves_CommonPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Gloves/Actors/BP_Gloves_CommonPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Gloves/Actors/BP_Gloves_EpicPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Gloves/Actors/BP_Gloves_EpicPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Gloves/Actors/BP_Gloves_LegendaryPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Gloves/Actors/BP_Gloves_LegendaryPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Gloves/BP_Gloves_Common.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Gloves/BP_Gloves_Common.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Gloves/BP_Gloves_Epic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Gloves/BP_Gloves_Epic.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Gloves/BP_Gloves_Legendary.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Gloves/BP_Gloves_Legendary.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Gloves/DA_GlovesAbilitySet_Common.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Gloves/DA_GlovesAbilitySet_Common.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Gloves/DA_GlovesAbilitySet_Epic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Gloves/DA_GlovesAbilitySet_Epic.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Gloves/DA_GlovesAbilitySet_Legendary.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Gloves/DA_GlovesAbilitySet_Legendary.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Gloves/GE_Gloves_Common.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Gloves/GE_Gloves_Common.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Gloves/GE_Gloves_Epic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Gloves/GE_Gloves_Epic.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Gloves/GE_Gloves_Legendary.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Gloves/GE_Gloves_Legendary.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Helmet/Actors/BP_Helmet_CommonPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Helmet/Actors/BP_Helmet_CommonPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Helmet/Actors/BP_Helmet_EpicPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Helmet/Actors/BP_Helmet_EpicPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Helmet/Actors/BP_Helmet_LegendaryPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Helmet/Actors/BP_Helmet_LegendaryPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Helmet/Common/BP_Helmet_Common.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Helmet/Common/BP_Helmet_Common.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Helmet/Common/DA_Helmet_Common.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Helmet/Common/DA_Helmet_Common.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Helmet/Common/GE_Helmet_Common.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Helmet/Common/GE_Helmet_Common.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Helmet/Epic/BP_Helmet_Epic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Helmet/Epic/BP_Helmet_Epic.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Helmet/Epic/DA_Helmet_Epic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Helmet/Epic/DA_Helmet_Epic.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Helmet/Epic/GE_Helmet_Epic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Helmet/Epic/GE_Helmet_Epic.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Helmet/Legendary/BP_Helmet_Legendary.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Helmet/Legendary/BP_Helmet_Legendary.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Helmet/Legendary/DA_Helmet_Legendary.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Helmet/Legendary/DA_Helmet_Legendary.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Armour/Helmet/Legendary/GE_Helmet_Legendary.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Armour/Helmet/Legendary/GE_Helmet_Legendary.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/BodyArmour1.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/BodyArmour1.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/BodyArmour2.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/BodyArmour2.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/BodyArmour3.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/BodyArmour3.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Boots1.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Boots1.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Boots2.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Boots2.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Boots3.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Boots3.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Gloves1.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Gloves1.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Gloves2.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Gloves2.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Gloves3.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Gloves3.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Helmet1.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Helmet1.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Helmet2.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Helmet2.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Helmet3.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Helmet3.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Potion_Health.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Potion_Health.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Potion_Mana.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Potion_Mana.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Talisman1.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Talisman1.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Talisman2.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Talisman2.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Talisman3.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Talisman3.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Talisman4.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Talisman4.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Talisman5.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Talisman5.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/ThrowingKnife1.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/ThrowingKnife1.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/ThrowingKnife2.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/ThrowingKnife2.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Untitled.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Untitled.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Weapon1.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Weapon1.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Weapon2.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Weapon2.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/Weapon3.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/Weapon3.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/manatalisman2.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/manatalisman2.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/staminatalisman2.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/staminatalisman2.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/weapon4.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/weapon4.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/weapon5.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/weapon5.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/weapon6.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/weapon6.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Assets/weapon7.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Assets/weapon7.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Consumable/Potions/BP_HealthHealingItem.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Consumable/Potions/BP_HealthHealingItem.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Consumable/Potions/BP_ManaReplenishingItem.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Consumable/Potions/BP_ManaReplenishingItem.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Consumable/Potions/DA_HealthPotionAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Consumable/Potions/DA_HealthPotionAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Consumable/Potions/DA_ManaPotionAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Consumable/Potions/DA_ManaPotionAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Consumable/ThrowingKnifes/Actors/BP_PoisonThrowingKnifePickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Consumable/ThrowingKnifes/Actors/BP_PoisonThrowingKnifePickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Consumable/ThrowingKnifes/Actors/BP_SimpleThrowingKnifePickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Consumable/ThrowingKnifes/Actors/BP_SimpleThrowingKnifePickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Consumable/ThrowingKnifes/BP_PoisonThrowingKnife.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Consumable/ThrowingKnifes/BP_PoisonThrowingKnife.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Consumable/ThrowingKnifes/BP_SimpleThrowingKnife.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Consumable/ThrowingKnifes/BP_SimpleThrowingKnife.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Consumable/ThrowingKnifes/DA_PoisonKnifeThrowItem.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Consumable/ThrowingKnifes/DA_PoisonKnifeThrowItem.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Consumable/ThrowingKnifes/DA_SimpleKnifeThrowItem.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Consumable/ThrowingKnifes/DA_SimpleKnifeThrowItem.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/PickupMeshes/M_Fresnel.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/PickupMeshes/M_Fresnel.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/PickupMeshes/MaterialSphere.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/PickupMeshes/MaterialSphere.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/PickupMeshes/NS_Spirits_of_Colors.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/PickupMeshes/NS_Spirits_of_Colors.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/Actors/BP_HealthTalismanPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/Actors/BP_HealthTalismanPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/Actors/BP_TitansHealthPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/Actors/BP_TitansHealthPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/BP_HealthTalisman.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/BP_HealthTalisman.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/BP_TitansHealth.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/BP_TitansHealth.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/DA_HealthTalismanAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/DA_HealthTalismanAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/DA_TitansHealthAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/DA_TitansHealthAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/GE_HealthTalisman.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/GE_HealthTalisman.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/GE_TitansHealth.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/HealthTalismans/GE_TitansHealth.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/Actors/BP_ManaTalismanPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/Actors/BP_ManaTalismanPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/Actors/BP_TitansMightPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/Actors/BP_TitansMightPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/BP_ManaTalisman.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/BP_ManaTalisman.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/BP_TitansMight.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/BP_TitansMight.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/DA_ManaTalismanAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/DA_ManaTalismanAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/DA_TitansMightAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/DA_TitansMightAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/GE_ManaTalisman.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/GE_ManaTalisman.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/GE_TitansMight.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/ManaTalismans/GE_TitansMight.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/Actors/BP_StaminaTalismanPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/Actors/BP_StaminaTalismanPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/Actors/BP_TitansJointsPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/Actors/BP_TitansJointsPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/BP_StaminaTalisman.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/BP_StaminaTalisman.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/BP_TitansJoints.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/BP_TitansJoints.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/DA_StaminaTalismanAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/DA_StaminaTalismanAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/DA_TitansJointsAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/DA_TitansJointsAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/GE_StaminaTalisman.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/GE_StaminaTalisman.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/GE_TitansJoints.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StaminaTalismans/GE_TitansJoints.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/Actor/BP_StrengthTalismanPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/Actor/BP_StrengthTalismanPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/Actor/BP_TitansKnucklesPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/Actor/BP_TitansKnucklesPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/BP_StrengthTalisman.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/BP_StrengthTalisman.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/BP_TitansKnuckles.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/BP_TitansKnuckles.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/DA_StrengthTalismanAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/DA_StrengthTalismanAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/DA_TitansKnucklesAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/DA_TitansKnucklesAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/GE_StrengthTalisman.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/GE_StrengthTalisman.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/GE_TitansKnuckles.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Talismans/StrengthTalismans/GE_TitansKnuckles.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/Actors/BP_CommonSwordPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/Actors/BP_CommonSwordPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/Actors/BP_CurvedSwordPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/Actors/BP_CurvedSwordPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/Actors/BP_DemonSwordPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/Actors/BP_DemonSwordPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/Actors/BP_DwarfSwordPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/Actors/BP_DwarfSwordPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/Actors/BP_GiantSwordPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/Actors/BP_GiantSwordPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/Actors/BP_GladiusPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/Actors/BP_GladiusPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/Actors/BP_LongSwordPickUpActor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/Actors/BP_LongSwordPickUpActor.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/CommonSword/BP_CommonSword.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/CommonSword/BP_CommonSword.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/CommonSword/DA_CommonSwordAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/CommonSword/DA_CommonSwordAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/CurvedSword/BP_CurvedSword.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/CurvedSword/BP_CurvedSword.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/CurvedSword/DA_CurvedSwordAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/CurvedSword/DA_CurvedSwordAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/DemonSword/BP_DemonSword.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/DemonSword/BP_DemonSword.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/DemonSword/DA_DemonSwordAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/DemonSword/DA_DemonSwordAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/DwarfSword/BP_DwarfSword.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/DwarfSword/BP_DwarfSword.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/DwarfSword/DA_DwarfSwordAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/DwarfSword/DA_DwarfSwordAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/GiantSword/BP_GiantSword.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/GiantSword/BP_GiantSword.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/GiantSword/DA_GiantSwordAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/GiantSword/DA_GiantSwordAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/Gladius/BP_Gladius.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/Gladius/BP_Gladius.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/Gladius/DA_GladiusAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/Gladius/DA_GladiusAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/LongSword/BP_LongSword.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/LongSword/BP_LongSword.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Inventory/Items/Weapons/LongSword/DA_LongSwordAbilitySet.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Inventory/Items/Weapons/LongSword/DA_LongSwordAbilitySet.uasset -------------------------------------------------------------------------------- /Content/SNDPG/Levels/GameplayLevels/L_WinterGothicLevel.umap: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9befa936a155dc00189daded57c4d8989b8a57a4035a75dd3fe97e0e1fcf0a7f 3 | size 131526367 4 | -------------------------------------------------------------------------------- /Content/SNDPG/Levels/MainMenuLevel/L_MainMenu.umap: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3b7633ea08850442e037a18c9a7b7013ed489ccf88d3fcf428a688e109b79ec2 3 | size 29289 4 | -------------------------------------------------------------------------------- /Content/SNDPG/Levels/TestLevel/Test.umap: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:358e35cfa415da1cc54dfed9409232028e451671cc093a8a7f132a7d9a0e8e11 3 | size 69167 4 | -------------------------------------------------------------------------------- /Content/SNDPG/Player/BP_MenuController.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/Player/BP_MenuController.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/DamageNumbers/WBP_FloatingNumbers.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/DamageNumbers/WBP_FloatingNumbers.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/DamageNumbers/WC_DamageText.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/DamageNumbers/WC_DamageText.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/Enemy/WBP_EnemyHealthBar.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/Enemy/WBP_EnemyHealthBar.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/Hero/CharacterStatus/WBP_CharacterStatus.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/Hero/CharacterStatus/WBP_CharacterStatus.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/Hero/CharacterStatus/W_LevelUpButton.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/Hero/CharacterStatus/W_LevelUpButton.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/Hero/HUD/WBP_HeroHUD.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/Hero/HUD/WBP_HeroHUD.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/Hero/HUD/W_HUDEquipmentSlot.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/Hero/HUD/W_HUDEquipmentSlot.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/Hero/InGameMenu/WBP_InGameMenu.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/Hero/InGameMenu/WBP_InGameMenu.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/Hero/InGameMenu/W_InGameMenuButton.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/Hero/InGameMenu/W_InGameMenuButton.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/Hero/Interact/Pickup/WBP_PickupPopup.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/Hero/Interact/Pickup/WBP_PickupPopup.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/Hero/InventorySystem/Equipment/WBP_EquipmentWidget.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/Hero/InventorySystem/Equipment/WBP_EquipmentWidget.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/Hero/InventorySystem/Equipment/W_EquipmentSlotButton.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/Hero/InventorySystem/Equipment/W_EquipmentSlotButton.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/Hero/InventorySystem/Inventory/WBP_InventoryWidget.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/Hero/InventorySystem/Inventory/WBP_InventoryWidget.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/Hero/InventorySystem/Items/W_InventoryItem.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/Hero/InventorySystem/Items/W_InventoryItem.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/Items/WBP_ItemName.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/Items/WBP_ItemName.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/MainMenu/WBP_MainMenu.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/MainMenu/WBP_MainMenu.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/MainMenu/W_MenuButton.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/MainMenu/W_MenuButton.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/UIAssets/Font/AGaramond-Bold.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/UIAssets/Font/AGaramond-Bold.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/UIAssets/Font/AGaramond-Regular.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/UIAssets/Font/AGaramond-Regular.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/UIAssets/Font/UIFont.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/UIAssets/Font/UIFont.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/UIAssets/Minimap/M_Minimap.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/UIAssets/Minimap/M_Minimap.uasset -------------------------------------------------------------------------------- /Content/SNDPG/UI/UIAssets/Minimap/TT_Minimap.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/SNDPG/UI/UIAssets/Minimap/TT_Minimap.uasset -------------------------------------------------------------------------------- /Content/Weapon_Pack/Materials/Weapons/M_WeaponSet_1.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/Weapon_Pack/Materials/Weapons/M_WeaponSet_1.uasset -------------------------------------------------------------------------------- /Content/Weapon_Pack/Mesh/Weapons/Weapons_Kit/SM_Throwing.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/Weapon_Pack/Mesh/Weapons/Weapons_Kit/SM_Throwing.uasset -------------------------------------------------------------------------------- /Content/Weapon_Pack/Skeletal_Mesh/SK_Throwing.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/Weapon_Pack/Skeletal_Mesh/SK_Throwing.uasset -------------------------------------------------------------------------------- /Content/Weapon_Pack/Skeletal_Mesh/SK_Throwing_PhysicsAsset.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/Weapon_Pack/Skeletal_Mesh/SK_Throwing_PhysicsAsset.uasset -------------------------------------------------------------------------------- /Content/Weapon_Pack/Skeletal_Mesh/SK_Throwing_Skeleton.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/Weapon_Pack/Skeletal_Mesh/SK_Throwing_Skeleton.uasset -------------------------------------------------------------------------------- /Content/Weapon_Pack/Textures/Weapons/T_Weapon_Set1_BaseColor.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/Weapon_Pack/Textures/Weapons/T_Weapon_Set1_BaseColor.uasset -------------------------------------------------------------------------------- /Content/Weapon_Pack/Textures/Weapons/T_Weapon_Set1_Normal.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/Weapon_Pack/Textures/Weapons/T_Weapon_Set1_Normal.uasset -------------------------------------------------------------------------------- /Content/Weapon_Pack/Textures/Weapons/T_Weapon_Set1_OcclusionRoughnessMetallic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/Content/Weapon_Pack/Textures/Weapons/T_Weapon_Set1_OcclusionRoughnessMetallic.uasset -------------------------------------------------------------------------------- /GothicTemple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intrxx/SNDPG/0c13b3b10036680e83376a02a5cb4eb144e44be6/GothicTemple.png -------------------------------------------------------------------------------- /IdeasAndImprovements.txt: -------------------------------------------------------------------------------- 1 | For the future: 2 | 1. Maybe I need to put the whole combo system in a component 3 | 2. Improve the way the two animations in Swirl Ability blend together 4 | 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Michał Ogiński 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Reward scaling based on player progress pl(Skalowanie nagrody do postępów gracza) 2 | 3 | Engineering Thesis ARPG project in Unreal Engine 5.1 using Gameplay Ability System with the premise of implementing interesting algorithms for droping items. Good drop good game get good noobs. 4 | 5 | Small showcase can be found [here](https://www.youtube.com/watch?v=TOVTaAsnoBI). 6 | 7 | # Controls 8 | ## PC 9 | 10 | 11 | ### Movement 12 | - **W** - Move Forward 13 | - **S** - Move Backwards 14 | - **A** - Move Left 15 | - **D** - Move Right 16 | - **Mouse** - Control Camera 17 | - **Space** - Dodge / Dash 18 | - **E** - Interact 19 | 20 | ### Combat 21 | - **Left Click** - Attack 22 | - **Shift + Left Click** - Heavy Attack 23 | - **R** - Weapon Skill 24 | - **Q** - Use Item 25 | - **Middle Mouse Button** - Lock onto target 26 | 27 | ### Menu 28 | - **ESC** - Main Menu 29 | - **ESC** - Exit any opened menu 30 | 31 | ## Xbox Series X 32 | 33 | ### Movement 34 | - **Left Stick** - Move Around 35 | - **Right Stick** - Control Camera 36 | - **B** - Dodge / Dash 37 | - **A** - Interact 38 | 39 | ### Combat 40 | - **RB** - Attack 41 | - **RT** - Heavy Attack 42 | - **LT** - Weapon Skill 43 | - **X** - Use Item 44 | - **Right Stick Press** - Lock onto target 45 | 46 | ### Menu 47 | - **Menu button** - Main Menu 48 | - **Menu button** - Exit any opened menu 49 | 50 | # Used assets 51 | - Main Hero: [Paragon Kwang](https://www.unrealengine.com/marketplace/en-US/product/paragon-kwang) 52 | - Environmental assets: [Modular Gothic Temple](https://www.unrealengine.com/marketplace/en-US/product/modular-gothic-temple-medieval-winter-snow) 53 | - Enemies: [Quadruped Fantasy Creatures](https://www.unrealengine.com/marketplace/en-US/product/7f7775996f7442b187f6fa510ec9d289) 54 | - Equipment: [Free Fantasy Weapon Sample Pack](https://www.unrealengine.com/marketplace/en-US/product/e4494c76c3b348aba7ef9b263a6dd496) 55 | - UI: [DARK FANTASY UI](https://www.unrealengine.com/marketplace/en-US/product/dark-fantasy-ui) 56 | - Font: [Adobe Garamond](https://fonts.adobe.com/fonts/adobe-garamond) 57 | - Item Icons (AI generated): [OpenArt](https://openart.ai/) 58 | 59 | -------------------------------------------------------------------------------- /SNDPG.uproject: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "EngineAssociation": "5.2", 4 | "Category": "", 5 | "Description": "", 6 | "Modules": [ 7 | { 8 | "Name": "SNDPG", 9 | "Type": "Runtime", 10 | "LoadingPhase": "Default", 11 | "AdditionalDependencies": [ 12 | "Engine", 13 | "GameplayAbilities", 14 | "EnhancedInput", 15 | "AIModule", 16 | "UMG", 17 | "CoreUObject" 18 | ] 19 | } 20 | ], 21 | "Plugins": [ 22 | { 23 | "Name": "ModelingToolsEditorMode", 24 | "Enabled": true, 25 | "TargetAllowList": [ 26 | "Editor" 27 | ] 28 | }, 29 | { 30 | "Name": "GameplayAbilities", 31 | "Enabled": true 32 | } 33 | ], 34 | "TargetPlatforms": [ 35 | "Windows" 36 | ] 37 | } -------------------------------------------------------------------------------- /Source/SNDPG.Target.cs: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | using UnrealBuildTool; 4 | using System.Collections.Generic; 5 | 6 | public class SNDPGTarget : TargetRules 7 | { 8 | public SNDPGTarget(TargetInfo Target) : base(Target) 9 | { 10 | Type = TargetType.Game; 11 | DefaultBuildSettings = BuildSettingsVersion.V2; 12 | 13 | ExtraModuleNames.AddRange( new string[] { "SNDPG" } ); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/AI/SNBTTask_ActiveGameplayAbility.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | 4 | #include "AI/SNBTTask_ActiveGameplayAbility.h" 5 | 6 | #include "GAS/SNAbilitySystemComponent.h" 7 | #include "Characters/Enemy/SNEnemy.h" 8 | #include "Characters/Enemy/Miscellaneous/SNBaseAIController.h" 9 | 10 | USNBTTask_ActiveGameplayAbility::USNBTTask_ActiveGameplayAbility() 11 | { 12 | NodeName = TEXT("Activate Gameplay Ability"); 13 | } 14 | 15 | EBTNodeResult::Type USNBTTask_ActiveGameplayAbility::ExecuteTask(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory) 16 | { 17 | Super::ExecuteTask(OwnerComp, NodeMemory); 18 | 19 | if (ASNEnemy* Enemy = Cast(OwnerComp.GetAIOwner())->EnemyOwner) 20 | { 21 | Enemy->GetEnemyAbilitySystemComponent()->TryActivateAbilityByClass(AbilityToActivate, true); 22 | 23 | return EBTNodeResult::Succeeded; 24 | } 25 | 26 | GEngine->AddOnScreenDebugMessage(-1, 5, FColor::Red, TEXT("CAST FAILED")); 27 | return EBTNodeResult::Failed; 28 | } 29 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/ActorComponents/Data/SNAttackNotifyState.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | 4 | #include "ActorComponents/Data/SNAttackNotifyState.h" 5 | 6 | #include "ActorComponents/SNCombatComponent.h" 7 | 8 | void USNAttackNotifyState::NotifyBegin(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, 9 | float TotalDuration, const FAnimNotifyEventReference& EventReference) 10 | { 11 | Super::NotifyBegin(MeshComp, Animation, TotalDuration, EventReference); 12 | 13 | if(MeshComp) 14 | { 15 | if(const AActor* Owner = MeshComp->GetOwner()) 16 | { 17 | USNCombatComponent* CombatComponent = Owner->FindComponentByClass(); 18 | if(!IsValid(CombatComponent)) 19 | { 20 | UE_LOG(LogTemp, Error, TEXT("CombatComponent is invalid!")); 21 | return; 22 | } 23 | 24 | CombatComponent->StartTrace(); 25 | } 26 | } 27 | } 28 | 29 | void USNAttackNotifyState::NotifyEnd(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, 30 | const FAnimNotifyEventReference& EventReference) 31 | { 32 | Super::NotifyEnd(MeshComp, Animation, EventReference); 33 | 34 | if(MeshComp) 35 | { 36 | if(const AActor* Owner = MeshComp->GetOwner()) 37 | { 38 | USNCombatComponent* CombatComponent = Owner->FindComponentByClass(); 39 | if(!IsValid(CombatComponent)) 40 | { 41 | UE_LOG(LogTemp, Error, TEXT("CombatComponent is invalid!")); 42 | return; 43 | } 44 | 45 | CombatComponent->EndTrace(); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/Characters/Enemy/Barghest/SNBarghest.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | 4 | #include "Characters/Enemy/Barghest/SNBarghest.h" 5 | 6 | ASNBarghest::ASNBarghest(const FObjectInitializer& ObjectInitializer) 7 | : Super(ObjectInitializer) 8 | { 9 | } 10 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/Characters/Enemy/Dragon/SNDragon.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | 4 | #include "Characters/Enemy/Dragon/SNDragon.h" 5 | 6 | ASNDragon::ASNDragon(const FObjectInitializer& ObjectInitializer) 7 | : Super(ObjectInitializer) 8 | { 9 | } 10 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/Characters/Enemy/Miscellaneous/SNBaseAIController.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "Characters/Enemy/Miscellaneous/SNBaseAIController.h" 5 | 6 | #include "BehaviorTree/BehaviorTree.h" 7 | #include "BehaviorTree/BehaviorTreeComponent.h" 8 | #include "BehaviorTree/BlackboardComponent.h" 9 | #include "Characters/Enemy/SNEnemy.h" 10 | #include "Characters/Hero/SNHero.h" 11 | #include "Perception/AIPerceptionComponent.h" 12 | 13 | ASNBaseAIController::ASNBaseAIController() 14 | { 15 | BlackboardComp = CreateDefaultSubobject(TEXT("BlackBoardComp")); 16 | BehaviorTreeComp = CreateDefaultSubobject(TEXT("BehaviourTreeComp")); 17 | } 18 | 19 | void ASNBaseAIController::BeginPlay() 20 | { 21 | Super::BeginPlay(); 22 | 23 | if(BehaviorTree) 24 | { 25 | RunBehaviorTree(BehaviorTree); 26 | BehaviorTreeComp->StartTree(*BehaviorTree); 27 | } 28 | } 29 | 30 | void ASNBaseAIController::OnPossess(APawn* InPawn) 31 | { 32 | Super::OnPossess(InPawn); 33 | 34 | EnemyOwner = Cast(InPawn); 35 | 36 | PerceptionComp = FindComponentByClass(); 37 | 38 | if(Blackboard && BehaviorTree) 39 | { 40 | Blackboard->InitializeBlackboard(*BehaviorTree->BlackboardAsset); 41 | } 42 | 43 | if(PerceptionComp) 44 | { 45 | PerceptionComp->OnTargetPerceptionUpdated.AddDynamic(this, &ThisClass::OnStimulusChange); 46 | } 47 | } 48 | 49 | void ASNBaseAIController::OnStimulusChange(AActor* UpdateActor, FAIStimulus Stimulus) 50 | { 51 | ASNHero* Hero = Cast(UpdateActor); 52 | if(!Hero) 53 | { 54 | return; 55 | } 56 | 57 | if(Stimulus.IsActive()) 58 | { 59 | Blackboard->SetValueAsBool(FName("bIsPlayerSeen"), true); 60 | Blackboard->SetValueAsObject(FName("Player"), Hero); 61 | } 62 | else 63 | { 64 | Blackboard->SetValueAsBool(FName("bIsPlayerSeen"), false); 65 | Blackboard->ClearValue(FName("Player")); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/Characters/Hero/Miscellaneous/SNHeroState.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | 4 | #include "Characters/Hero/Miscellaneous/SNHeroState.h" 5 | #include "GAS/SNAbilitySystemComponent.h" 6 | 7 | 8 | ASNHeroState::ASNHeroState() 9 | { 10 | AbilitySystemComponent = CreateDefaultSubobject(TEXT("AbilitySystemComponent")); 11 | AbilitySystemComponent->SetIsReplicated(true); 12 | AbilitySystemComponent->SetReplicationMode(EGameplayEffectReplicationMode::Full); 13 | 14 | NetUpdateFrequency = 100.0f; 15 | } 16 | 17 | UAbilitySystemComponent* ASNHeroState::GetAbilitySystemComponent() const 18 | { 19 | return AbilitySystemComponent; 20 | } 21 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/Characters/SNCharacterMovementComponent.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #include "Characters/SNCharacterMovementComponent.h" 4 | 5 | USNCharacterMovementComponent::USNCharacterMovementComponent() 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/DropSystem/SNLootSet.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | 4 | #include "DropSystem/SNLootSet.h" 5 | #include "DropSystem/SNLootList.h" 6 | 7 | void USNLootSet::FindItemToDrop(TSubclassOf& OutItem) 8 | { 9 | if (IsValid(RegularLootList) && IsValid(BossLootList)) 10 | { 11 | if (FMath::RandRange(1, 100) <= 35) 12 | { 13 | BossLootList->RollForItemToDrop(OutItem, RollingForLootType, HeroCharacterLevel, EnemyCharacterLevel); 14 | return; 15 | } 16 | } 17 | 18 | if(IsValid(RegularLootList)) 19 | { 20 | RegularLootList->RollForItemToDrop(OutItem, RollingForLootType, HeroCharacterLevel, EnemyCharacterLevel); 21 | return; 22 | } 23 | 24 | if (IsValid(BossLootList)) 25 | { 26 | BossLootList->RollForItemToDrop(OutItem, RollingForLootType, HeroCharacterLevel, EnemyCharacterLevel); 27 | } 28 | } 29 | 30 | void USNLootSet::FillTheEnemyCharacterData(float Level) 31 | { 32 | EnemyCharacterLevel = Level; 33 | } 34 | 35 | void USNLootSet::FillTheHeroCharacterData(float Level) 36 | { 37 | HeroCharacterLevel = Level; 38 | } 39 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/GAS/Abilities/SNGameplayAbility_BarghestBite.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | 4 | #include "GAS/Abilities/SNGameplayAbility_BarghestBite.h" 5 | 6 | #include "ActorComponents/SNBasicAttributesComponent.h" 7 | #include "Characters/Enemy/SNEnemy.h" 8 | 9 | USNGameplayAbility_BarghestBite::USNGameplayAbility_BarghestBite(const FObjectInitializer& ObjectInitializer) 10 | : Super(ObjectInitializer) 11 | { 12 | } 13 | 14 | ASNEnemy* USNGameplayAbility_BarghestBite::GetBarghestFromActorInfo() const 15 | { 16 | return (CurrentActorInfo ? Cast(CurrentActorInfo->AvatarActor.Get()) : nullptr); 17 | } 18 | 19 | void USNGameplayAbility_BarghestBite::SetDamageAndMontage() 20 | { 21 | ASNEnemy* EnemyOwner = GetBarghestFromActorInfo(); 22 | 23 | const USNBasicAttributesComponent* AttributesComp = USNBasicAttributesComponent::FindAttributeComponent(EnemyOwner); 24 | if(AttributesComp) 25 | { 26 | if (AttributesComp->GetHealth() > AttributesComp->GetMaxHealth() / 2) 27 | { 28 | if(HighLifeAnimMontage) 29 | { 30 | AnimMontageToUse = HighLifeAnimMontage; 31 | } 32 | DamageToUse = HighLifeDamage; 33 | } 34 | else 35 | { 36 | if(LowLifeAnimMontage) 37 | { 38 | AnimMontageToUse = LowLifeAnimMontage; 39 | } 40 | DamageToUse = LowLifeDamage; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/GAS/Abilities/SNGameplayAbility_Melee.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | 4 | #include "GAS/Abilities/SNGameplayAbility_Melee.h" 5 | #include "Characters/Hero/SNHero.h" 6 | 7 | USNGameplayAbility_Melee::USNGameplayAbility_Melee(const FObjectInitializer& ObjectInitializer) 8 | : Super(ObjectInitializer) 9 | { 10 | } 11 | 12 | void USNGameplayAbility_Melee::ActivateAbility(const FGameplayAbilitySpecHandle Handle, 13 | const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, 14 | const FGameplayEventData* TriggerEventData) 15 | { 16 | Super::ActivateAbility(Handle, ActorInfo, ActivationInfo, TriggerEventData); 17 | } 18 | 19 | void USNGameplayAbility_Melee::PreActivate(const FGameplayAbilitySpecHandle Handle, 20 | const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, 21 | FOnGameplayAbilityEnded::FDelegate* OnGameplayAbilityEndedDelegate, const FGameplayEventData* TriggerEventData) 22 | { 23 | 24 | Super::PreActivate(Handle, ActorInfo, ActivationInfo, OnGameplayAbilityEndedDelegate, TriggerEventData); 25 | } 26 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/GAS/Actors/SNProjectileBase.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | 4 | #include "GAS/Actors/SNProjectileBase.h" 5 | 6 | #include "GameFramework/ProjectileMovementComponent.h" 7 | 8 | // Sets default values 9 | ASNProjectileBase::ASNProjectileBase() 10 | { 11 | // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. 12 | PrimaryActorTick.bCanEverTick = true; 13 | 14 | ProjectileMovement = CreateDefaultSubobject(TEXT("ProjectileMovementComponent")); 15 | 16 | } 17 | 18 | // Called when the game starts or when spawned 19 | void ASNProjectileBase::BeginPlay() 20 | { 21 | Super::BeginPlay(); 22 | 23 | } 24 | 25 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/GAS/Attributes/SNMainAttributeSet.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | 4 | #include "GAS/Attributes/SNMainAttributeSet.h" 5 | #include "GAS/SNAbilitySystemComponent.h" 6 | 7 | USNMainAttributeSet::USNMainAttributeSet() 8 | { 9 | } 10 | 11 | UWorld* USNMainAttributeSet::GetWorld() const 12 | { 13 | const UObject* Outer = GetOuter(); 14 | check(Outer); 15 | 16 | return Outer->GetWorld(); 17 | } 18 | 19 | USNAbilitySystemComponent* USNMainAttributeSet::GetSNAbilitySystemComponent() const 20 | { 21 | return Cast(GetOwningAbilitySystemComponent()); 22 | } 23 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/GAS/Executions/SNHealExecutionCalculation.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | 4 | #include "GAS/Executions/SNHealExecutionCalculation.h" 5 | #include "GAS/SNAbilitySystemComponent.h" 6 | #include "GAS/Attributes/SNBasicAttributes.h" 7 | 8 | struct SNHealStatics 9 | { 10 | FGameplayEffectAttributeCaptureDefinition HealingDef; 11 | FGameplayEffectAttributeCaptureDefinition FaithDef; 12 | 13 | SNHealStatics() 14 | { 15 | HealingDef = FGameplayEffectAttributeCaptureDefinition(USNBasicAttributes::GetHealingAttribute(), EGameplayEffectAttributeCaptureSource::Source, true); 16 | FaithDef = FGameplayEffectAttributeCaptureDefinition(USNBasicAttributes::GetFaithAttribute(), EGameplayEffectAttributeCaptureSource::Source, true); 17 | } 18 | }; 19 | 20 | static const SNHealStatics& HealingStatics() 21 | { 22 | static SNHealStatics SnHealStatics; 23 | return SnHealStatics; 24 | } 25 | 26 | USNHealExecutionCalculation::USNHealExecutionCalculation() 27 | { 28 | RelevantAttributesToCapture.Add(HealingStatics().HealingDef); 29 | RelevantAttributesToCapture.Add(HealingStatics().FaithDef); 30 | } 31 | 32 | void USNHealExecutionCalculation::Execute_Implementation(const FGameplayEffectCustomExecutionParameters& ExecutionParams, 33 | FGameplayEffectCustomExecutionOutput& OutExecutionOutput) const 34 | { 35 | Super::Execute_Implementation(ExecutionParams, OutExecutionOutput); 36 | 37 | UAbilitySystemComponent* TargetAbilitySystemComponent = ExecutionParams.GetTargetAbilitySystemComponent(); 38 | UAbilitySystemComponent* SourceAbilitySystemComponent = ExecutionParams.GetSourceAbilitySystemComponent(); 39 | 40 | AActor* TargetActor = TargetAbilitySystemComponent ? TargetAbilitySystemComponent->GetAvatarActor() : nullptr; 41 | AActor* SourceActor = SourceAbilitySystemComponent ? SourceAbilitySystemComponent->GetAvatarActor() : nullptr; 42 | 43 | const FGameplayEffectSpec& Spec = ExecutionParams.GetOwningSpec(); 44 | 45 | const FGameplayTagContainer* TargetTags = Spec.CapturedTargetTags.GetAggregatedTags(); 46 | const FGameplayTagContainer* SourceTags = Spec.CapturedSourceTags.GetAggregatedTags(); 47 | 48 | FAggregatorEvaluateParameters EvaluateParameters; 49 | EvaluateParameters.TargetTags = TargetTags; 50 | EvaluateParameters.SourceTags = SourceTags; 51 | 52 | float Healing = 0.0f; 53 | ExecutionParams.AttemptCalculateCapturedAttributeMagnitude(HealingStatics().HealingDef, EvaluateParameters, Healing); 54 | Healing = FMath::Max(Healing, 0.0f); 55 | 56 | float Faith = 0.0f; 57 | ExecutionParams.AttemptCalculateCapturedAttributeMagnitude(HealingStatics().FaithDef, EvaluateParameters, Faith); 58 | Faith = FMath::Max(Faith, 0.0f); 59 | 60 | float HealingDone = Healing + FMath::FRandRange(0, Faith); 61 | 62 | HealingDone = FMath::RoundToFloat(HealingDone); 63 | 64 | if(HealingDone > 0.0f) 65 | { 66 | OutExecutionOutput.AddOutputModifier(FGameplayModifierEvaluatedData(USNBasicAttributes::GetHealthAttribute(), EGameplayModOp::Additive, HealingDone)); 67 | 68 | USNAbilitySystemComponent* SourceASC = Cast(SourceAbilitySystemComponent); 69 | if(SourceASC) 70 | { 71 | SourceASC->ReceivedHeal(SourceASC, HealingDone); 72 | } 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/GameModes/SNGameMode.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #include "..\..\Public\GameModes\SNGameMode.h" 4 | 5 | ASNGameMode::ASNGameMode() 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/GameModes/SNMainMenuGameMode.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | 4 | #include "GameModes/SNMainMenuGameMode.h" 5 | 6 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/Input/SNEnhancedInputComponent.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #include "Input/SNEnhancedInputComponent.h" 4 | 5 | USNEnhancedInputComponent::USNEnhancedInputComponent(const FObjectInitializer& ObjectInitializer) 6 | : Super(ObjectInitializer) 7 | { 8 | } 9 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/Input/SNInputConfig.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "Input/SNInputConfig.h" 5 | 6 | const UInputAction* USNInputConfig::FindNativeInputActionForTag(const FGameplayTag& InputTag) const 7 | { 8 | for (const FSNInputAction& Action : NativeInputActions) 9 | { 10 | if (Action.InputAction && (Action.InputTag == InputTag)) 11 | { 12 | return Action.InputAction; 13 | } 14 | } 15 | UE_LOG(LogTemp, Error, TEXT("Can't find NativeInputAction for InputTag [%s] on InputConfig [%s]."), *InputTag.ToString(), *GetNameSafe(this)); 16 | 17 | return nullptr; 18 | } 19 | 20 | const UInputAction* USNInputConfig::FindAbilityInputActionForTag(const FGameplayTag& InputTag) const 21 | { 22 | for (const FSNInputAction& Action : AbilityInputActions) 23 | { 24 | if (Action.InputAction && (Action.InputTag == InputTag)) 25 | { 26 | return Action.InputAction; 27 | } 28 | } 29 | UE_LOG(LogTemp, Error, TEXT("Can't find NativeInputAction for InputTag [%s] on InputConfig [%s]."), *InputTag.ToString(), *GetNameSafe(this)); 30 | 31 | return nullptr; 32 | } 33 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/InventorySystem/Items/SNArmorItem.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | 4 | #include "InventorySystem/Items/SNArmorItem.h" 5 | 6 | USNArmorItem::USNArmorItem() 7 | { 8 | } 9 | 10 | void USNArmorItem::Use(ASNHero* Hero) 11 | { 12 | Super::Use(Hero); 13 | } 14 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/InventorySystem/Items/SNHealingItem.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | 4 | #include "InventorySystem/Items/SNHealingItem.h" 5 | 6 | USNHealingItem::USNHealingItem() 7 | { 8 | ItemCategory = EItemCategory::Consumable; 9 | } 10 | 11 | void USNHealingItem::Use(ASNHero* Hero) 12 | { 13 | Super::Use(Hero); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/InventorySystem/Items/SNTalismanItem.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | 4 | #include "InventorySystem/Items/SNTalismanItem.h" 5 | 6 | USNTalismanItem::USNTalismanItem() 7 | { 8 | ItemCategory = EItemCategory::Talisman; 9 | } 10 | 11 | void USNTalismanItem::Use(ASNHero* Hero) 12 | { 13 | Super::Use(Hero); 14 | } 15 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/InventorySystem/Items/SNThrowingKnifeItem.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "InventorySystem/SNThrowingKnifeItem.h" 5 | 6 | USNThrowingKnifeItem::USNThrowingKnifeItem() 7 | { 8 | ItemCategory = EItemCategory::Consumable; 9 | } 10 | 11 | void USNThrowingKnifeItem::Use(ASNHero* Hero) 12 | { 13 | Super::Use(Hero); 14 | } 15 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/InventorySystem/Items/SNWeaponItem.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "InventorySystem/Items/SNWeaponItem.h" 5 | 6 | USNWeaponItem::USNWeaponItem() 7 | { 8 | ItemCategory = EItemCategory::Weapon; 9 | } 10 | 11 | void USNWeaponItem::Use(ASNHero* Hero) 12 | { 13 | Super::Use(Hero); 14 | } 15 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/InventorySystem/SNInventoryComponent.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "InventorySystem/SNInventoryComponent.h" 5 | 6 | #include "InventorySystem/SNItemBase.h" 7 | 8 | USNInventoryComponent::USNInventoryComponent() 9 | { 10 | PrimaryComponentTick.bCanEverTick = false; 11 | PrimaryComponentTick.bStartWithTickEnabled = false; 12 | 13 | } 14 | 15 | bool USNInventoryComponent::AddItem(USNItemBase* ItemToAdd) 16 | { 17 | if(!ItemToAdd) 18 | { 19 | return false; 20 | } 21 | 22 | ItemToAdd->OwningInventory = this; 23 | ItemToAdd->World = GetWorld(); 24 | Items.Add(ItemToAdd); 25 | 26 | OnInventoryUpdatedDelegate.Broadcast(); 27 | 28 | return true; 29 | } 30 | 31 | bool USNInventoryComponent::RemoveItem(USNItemBase* ItemToRemove) 32 | { 33 | if(!ItemToRemove) 34 | { 35 | return false; 36 | } 37 | 38 | ItemToRemove->OwningInventory = nullptr; 39 | ItemToRemove->World = nullptr; 40 | Items.RemoveSingle(ItemToRemove); 41 | 42 | OnInventoryUpdatedDelegate.Broadcast(); 43 | 44 | return true; 45 | } 46 | 47 | void USNInventoryComponent::BeginPlay() 48 | { 49 | Super::BeginPlay(); 50 | 51 | for(auto& Item : DefaultItems) 52 | { 53 | AddItem(Item); 54 | } 55 | } 56 | 57 | 58 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/InventorySystem/SNItemBase.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "InventorySystem/SNItemBase.h" 5 | 6 | USNItemBase::USNItemBase() 7 | : Weight(0) 8 | , ItemCategory(EItemCategory::None) 9 | , ItemDisplayName(FText::FromString("Default Item Name")) 10 | , ItemDescription(FText::FromString("Default Item Description")) 11 | , UseActionText(FText::FromString("Default Use Action Text")) 12 | { 13 | } 14 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/PickupSystem/SNInteractableTarget.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | 4 | #include "..\..\Public\PickupSystem\SNInteractableTarget.h" 5 | 6 | // Add default functionality here for any IInteractableTarget functions that are not pure virtual. 7 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/PickupSystem/SNInteractionStatics.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | #include "PickupSystem/SNInteractionStatics.h" 3 | #include "Components/PrimitiveComponent.h" 4 | #include "Engine/OverlapResult.h" 5 | #include "PickupSystem/SNInteractableTarget.h" 6 | #include "UObject/ScriptInterface.h" 7 | 8 | #include UE_INLINE_GENERATED_CPP_BY_NAME(SNInteractionStatics) 9 | 10 | USNInteractionStatics::USNInteractionStatics() 11 | { 12 | } 13 | 14 | AActor* USNInteractionStatics::GetActorFromInteractableTarget(TScriptInterface InteractableTarget) 15 | { 16 | if (UObject* Object = InteractableTarget.GetObject()) 17 | { 18 | if (AActor* Actor = Cast(Object)) 19 | { 20 | return Actor; 21 | } 22 | else if (UActorComponent* ActorComponent = Cast(Object)) 23 | { 24 | return ActorComponent->GetOwner(); 25 | } 26 | else 27 | { 28 | unimplemented(); 29 | } 30 | } 31 | 32 | return nullptr; 33 | } 34 | 35 | void USNInteractionStatics::GetInteractableTargetsFromActor(AActor* Actor, 36 | TArray>& OutInteractableTargets) 37 | { 38 | // If the actor is directly interactable, return that. 39 | TScriptInterface InteractableActor(Actor); 40 | if (InteractableActor) 41 | { 42 | OutInteractableTargets.Add(InteractableActor); 43 | } 44 | 45 | // If the actor isn't interactable, it might have a component that has a interactable interface. 46 | TArray InteractableComponents = Actor ? Actor->GetComponentsByInterface(USNInteractableTarget::StaticClass()) : TArray(); 47 | for (UActorComponent* InteractableComponent : InteractableComponents) 48 | { 49 | OutInteractableTargets.Add(TScriptInterface(InteractableComponent)); 50 | } 51 | } 52 | 53 | void USNInteractionStatics::AppendInteractableTargetsFromOverlapResults(const TArray& OverlapResults, 54 | TArray>& OutInteractableTargets) 55 | { 56 | for (const FOverlapResult& Overlap : OverlapResults) 57 | { 58 | TScriptInterface InteractableActor(Overlap.GetActor()); 59 | if (InteractableActor) 60 | { 61 | OutInteractableTargets.AddUnique(InteractableActor); 62 | } 63 | 64 | TScriptInterface InteractableComponent(Overlap.GetComponent()); 65 | if (InteractableComponent) 66 | { 67 | OutInteractableTargets.AddUnique(InteractableComponent); 68 | } 69 | } 70 | } 71 | 72 | void USNInteractionStatics::AppendInteractableTargetsFromHitResult(const FHitResult& HitResult, 73 | TArray>& OutInteractableTargets) 74 | { 75 | TScriptInterface InteractableActor(HitResult.GetActor()); 76 | if (InteractableActor) 77 | { 78 | OutInteractableTargets.AddUnique(InteractableActor); 79 | } 80 | 81 | TScriptInterface InteractableComponent(HitResult.GetComponent()); 82 | if (InteractableComponent) 83 | { 84 | OutInteractableTargets.AddUnique(InteractableComponent); 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/PickupSystem/SNPickupable.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | 4 | #include "..\..\Public\PickupSystem\SNPickupable.h" 5 | #include "GameFramework/Actor.h" 6 | #include "InventorySystem/SNInventoryComponent.h" 7 | #include "UObject/ScriptInterface.h" 8 | 9 | // Add default functionality here for any IPickupable functions that are not pure virtual. 10 | USNPickupableStatics::USNPickupableStatics() 11 | { 12 | } 13 | 14 | TScriptInterface USNPickupableStatics::GetFirstPickupableFromActor(AActor* Actor) 15 | { 16 | // If the actor is directly pickupable, return that. 17 | TScriptInterface PickupableActor(Actor); 18 | if (PickupableActor) 19 | { 20 | return PickupableActor; 21 | } 22 | 23 | // If the actor isn't pickupable, it might have a component that has a pickupable interface. 24 | TArray PickupableComponents = Actor ? Actor->GetComponentsByInterface(USNPickupable::StaticClass()) : TArray(); 25 | if (PickupableComponents.Num() > 0) 26 | { 27 | // Get first pickupable, if the user needs more sophisticated pickup distinction, will need to be solved elsewhere. 28 | return TScriptInterface(PickupableComponents[0]); 29 | } 30 | 31 | return TScriptInterface(); 32 | } 33 | 34 | void USNPickupableStatics::AddPickupToInventory(USNInventoryComponent* InventoryComponent, 35 | TScriptInterface Pickup) 36 | { 37 | if(Pickup && InventoryComponent) 38 | { 39 | const FSNInventoryPickup& PickupInventory = Pickup->GetPickupInventory(); 40 | 41 | for(const FSNPickupableItem& Instances : PickupInventory.Instances) 42 | { 43 | InventoryComponent->AddItem(Instances.ItemDef); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/PickupSystem/SNWorldCollectable.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | 4 | #include "PickupSystem/SNWorldCollectable.h" 5 | #include "Components/WidgetComponent.h" 6 | 7 | 8 | ASNWorldCollectable::ASNWorldCollectable() 9 | { 10 | StaticMesh = CreateDefaultSubobject(TEXT("StaticMesh")); 11 | SetRootComponent(StaticMesh); 12 | 13 | ItemNameWidgetComp = CreateDefaultSubobject(TEXT("ItemNameWidget")); 14 | ItemNameWidgetComp->SetupAttachment(RootComponent); 15 | } 16 | 17 | void ASNWorldCollectable::GatherInteractionOptions(const FSNInteractionQuery& InteractQuery, 18 | FSNInteractionOptionBuilder& InteractionBuilder) 19 | { 20 | InteractionBuilder.AddInteractionOption(Option); 21 | } 22 | 23 | FSNInventoryPickup ASNWorldCollectable::GetPickupInventory() const 24 | { 25 | return StaticInventory; 26 | } 27 | 28 | void ASNWorldCollectable::BeginPlay() 29 | { 30 | Super::BeginPlay(); 31 | 32 | } 33 | 34 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/SNAssetManager.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | 4 | #include "SNAssetManager.h" 5 | #include "AbilitySystemGlobals.h" 6 | #include "GameplayTags/SNGameplayTags.h" 7 | 8 | USNAssetManager::USNAssetManager() 9 | { 10 | } 11 | 12 | USNAssetManager& USNAssetManager::Get() 13 | { 14 | check(GEngine) 15 | if(USNAssetManager* Singleton = Cast(GEngine->AssetManager)) 16 | { 17 | return *Singleton; 18 | } 19 | 20 | UE_LOG(LogTemp, Fatal, TEXT("Invalid AssetManagerClassName in DefaultEndine.ini. It must be set to GAssetManager!")) 21 | 22 | return *NewObject(); 23 | } 24 | 25 | void USNAssetManager::StartInitialLoading() 26 | { 27 | Super::StartInitialLoading(); 28 | 29 | FSNGameplayTags::InitializeNativeTags(); 30 | UAbilitySystemGlobals::Get().InitGlobalData(); 31 | } 32 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/UI/Combat/SNFloatingDmgNumberWComponent.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "UI/Combat/SNFloatingDmgNumberWComponent.h" 5 | 6 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/UI/EnemyUI/SNHealthBarWidget.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "UI/EnemyUI/SNHealthBarWidget.h" 5 | 6 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/UI/HeroHUD/SNCharacterStatusWidget.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "UI/HeroHUD/SNCharacterStatusWidget.h" 5 | 6 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/UI/HeroHUD/SNHeroHUD.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "UI/HeroHUD/SNHeroHUD.h" 5 | 6 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/UI/Inventory/SNEquipmentSlotButton.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | 4 | #include "UI/Inventory/SNEquipmentSlotButton.h" 5 | 6 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/UI/Inventory/SNEquipmentWidget.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "UI/Inventory/SNEquipmentWidget.h" 5 | 6 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/UI/Inventory/SNInventoryItemButton.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "UI/Inventory/SNInventoryItemButton.h" 5 | 6 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/UI/Inventory/SNInventoryWidget.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "UI/Inventory/SNInventoryWidget.h" 5 | 6 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/UI/Menus/SNInGameMenu.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "UI/Menus/SNInGameMenu.h" 5 | 6 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/UI/Menus/SNMainMenu.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "UI/Menus/SNMainMenu.h" 5 | 6 | -------------------------------------------------------------------------------- /Source/SNDPG/Private/UI/SNStatusWidget.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | 4 | #include "UI/SNStatusWidget.h" 5 | 6 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/AI/SNBTTask_ActiveGameplayAbility.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "BehaviorTree/Tasks/BTTask_BlackboardBase.h" 7 | #include "SNBTTask_ActiveGameplayAbility.generated.h" 8 | 9 | class UGameplayAbility; 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class SNDPG_API USNBTTask_ActiveGameplayAbility : public UBTTask_BlackboardBase 15 | { 16 | GENERATED_BODY() 17 | 18 | public: 19 | USNBTTask_ActiveGameplayAbility(); 20 | 21 | virtual EBTNodeResult::Type ExecuteTask(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory) override; 22 | 23 | protected: 24 | UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "AbilityToActive") 25 | TSubclassOf AbilityToActivate; 26 | }; 27 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/ActorComponents/Data/SNAttackNotifyState.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Animation/AnimNotifies/AnimNotifyState.h" 7 | #include "SNAttackNotifyState.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNAttackNotifyState : public UAnimNotifyState 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | virtual void NotifyBegin(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, float TotalDuration, const FAnimNotifyEventReference& EventReference) override; 19 | virtual void NotifyEnd(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, const FAnimNotifyEventReference& EventReference) override; 20 | }; 21 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/Characters/Enemy/Barghest/SNBarghest.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Characters/Enemy/SNEnemy.h" 7 | #include "SNBarghest.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API ASNBarghest : public ASNEnemy 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | ASNBarghest(const FObjectInitializer& ObjectInitializer); 19 | }; 20 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/Characters/Enemy/Dragon/SNDragon.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Characters/Enemy/SNEnemy.h" 7 | #include "SNDragon.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API ASNDragon : public ASNEnemy 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | ASNDragon(const FObjectInitializer& ObjectInitializer); 19 | }; 20 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/Characters/Enemy/Miscellaneous/SNBaseAIController.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "AIController.h" 7 | #include "SNBaseAIController.generated.h" 8 | 9 | class ASNEnemy; 10 | class UBehaviorTreeComponent; 11 | /** 12 | * 13 | */ 14 | UCLASS() 15 | class SNDPG_API ASNBaseAIController : public AAIController 16 | { 17 | GENERATED_BODY() 18 | 19 | public: 20 | ASNBaseAIController(); 21 | 22 | UPROPERTY(BlueprintReadWrite, Category = "SN|AI") 23 | TObjectPtr EnemyOwner; 24 | 25 | protected: 26 | virtual void BeginPlay() override; 27 | virtual void OnPossess(APawn* InPawn) override; 28 | 29 | UFUNCTION() 30 | void OnStimulusChange(AActor* UpdateActor, struct FAIStimulus Stimulus); 31 | 32 | private: 33 | UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "SN|AI", meta = (AllowPrivateAccess = true)) 34 | TObjectPtr BehaviorTree; 35 | 36 | UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "SN|AI", meta = (AllowPrivateAccess = true)) 37 | TObjectPtr PerceptionComp; 38 | 39 | UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "SN|AI", meta = (AllowPrivateAccess = true)) 40 | TObjectPtr BlackboardComp; 41 | 42 | UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "SN|AI", meta = (AllowPrivateAccess = true)) 43 | TObjectPtr BehaviorTreeComp; 44 | 45 | }; 46 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/Characters/Enemy/SNEnemy.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Characters/SNCharacterBase.h" 7 | #include "SNEnemy.generated.h" 8 | 9 | class ASNWorldCollectable; 10 | class USNLootSet; 11 | class UWidgetComponent; 12 | class USNHealthBarWidget; 13 | class USNBasicAttributes; 14 | class USNBasicAttributesComponent; 15 | class USNAbilitySet; 16 | /** 17 | * 18 | */ 19 | UCLASS() 20 | class SNDPG_API ASNEnemy : public ASNCharacterBase 21 | { 22 | GENERATED_BODY() 23 | 24 | public: 25 | ASNEnemy(const FObjectInitializer& ObjectInitializer); 26 | 27 | USNAbilitySystemComponent* GetEnemyAbilitySystemComponent() const; 28 | 29 | USNHealthBarWidget* GetHealthBarWidget() {return HealthBarWidget;} 30 | 31 | // Begins the death sequence for the character (disables collision, disables movement, etc...) 32 | UFUNCTION() 33 | virtual void OnDeathStarted(AActor* OwningActor); 34 | 35 | // Ends the death sequence for the character (detaches controller, destroys pawn, etc...) 36 | UFUNCTION() 37 | virtual void OnDeathFinished(AActor* OwningActor); 38 | 39 | UFUNCTION(BlueprintCallable, Category = "SN|DropSystem") 40 | void SetDropSystemHeroData(float Level); 41 | 42 | public: 43 | UPROPERTY(EditAnywhere, Category = "Enemy|UI") 44 | FVector HealthBarPosition = FVector(0.0f, 0.0f, 120.0f); 45 | 46 | UPROPERTY(BlueprintReadOnly, Category = "Enemy|Loot") 47 | TSubclassOf ItemToDrop; 48 | 49 | protected: 50 | virtual void BeginPlay() override; 51 | 52 | void InitializeHealthBar(); 53 | 54 | virtual void DestroyDueToDeath() override; 55 | 56 | protected: 57 | UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Enemy|Abilities") 58 | TObjectPtr AbilitySet; 59 | 60 | UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Enemy|LootSet") 61 | TObjectPtr LootSet; 62 | 63 | UPROPERTY() 64 | USNAbilitySystemComponent* EnemyAbilitySystemComponent; 65 | 66 | UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Enemy|UI") 67 | TSubclassOf HealthBarWidgetClass; 68 | 69 | UPROPERTY() 70 | USNHealthBarWidget* HealthBarWidget; 71 | 72 | UPROPERTY() 73 | UWidgetComponent* HealthBarWidgetComponent; 74 | 75 | private: 76 | UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Enemy|Attributes", Meta = (AllowPrivateAccess = "true")) 77 | USNBasicAttributesComponent* AttributesComponent; 78 | 79 | }; 80 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/Characters/Hero/Miscellaneous/SNHeroState.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/PlayerState.h" 7 | #include "AbilitySystemInterface.h" 8 | #include "SNHeroState.generated.h" 9 | 10 | class USNAbilitySystemComponent; 11 | /** 12 | * 13 | */ 14 | UCLASS() 15 | class SNDPG_API ASNHeroState : public APlayerState, public IAbilitySystemInterface 16 | { 17 | GENERATED_BODY() 18 | 19 | public: 20 | ASNHeroState(); 21 | 22 | virtual UAbilitySystemComponent* GetAbilitySystemComponent() const override; 23 | 24 | protected: 25 | UPROPERTY() 26 | USNAbilitySystemComponent* AbilitySystemComponent; 27 | 28 | }; 29 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/Characters/SNCharacterBase.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "AbilitySystemInterface.h" 7 | #include "GameFramework/Character.h" 8 | #include "SNCharacterBase.generated.h" 9 | 10 | UCLASS() 11 | class SNDPG_API ASNCharacterBase : public ACharacter, public IAbilitySystemInterface 12 | { 13 | GENERATED_BODY() 14 | 15 | public: 16 | // Sets default values for this character's properties 17 | ASNCharacterBase(const FObjectInitializer& ObjectInitializer); 18 | 19 | // Implementing IAbilitySystemInterface 20 | virtual class UAbilitySystemComponent* GetAbilitySystemComponent() const override; 21 | 22 | protected: 23 | // Called when the game starts or when spawned 24 | virtual void BeginPlay() override; 25 | 26 | // Called when the death sequence for the character has completed 27 | UFUNCTION(BlueprintImplementableEvent, meta=(DisplayName="OnDeathFinished")) 28 | void K2_OnDeathFinished(); 29 | 30 | void DisableMovementAndCollision(); 31 | void UninitAndDestroy(); 32 | void UninitializeAbilitySystem(); 33 | virtual void DestroyDueToDeath(); 34 | 35 | protected: 36 | 37 | TWeakObjectPtr AbilitySystemComponent; 38 | TWeakObjectPtr AttributeSetBase; 39 | }; 40 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/Characters/SNCharacterMovementComponent.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/CharacterMovementComponent.h" 7 | #include "SNCharacterMovementComponent.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNCharacterMovementComponent : public UCharacterMovementComponent 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | USNCharacterMovementComponent(); 19 | }; 20 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/DropSystem/SNLootList.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SNLootSet.h" 7 | #include "Engine/DataAsset.h" 8 | #include "SNLootList.generated.h" 9 | 10 | class ASNWorldCollectable; 11 | 12 | UENUM(BlueprintType) 13 | enum class ESNRegularLootList_ItemTier : uint8 14 | { 15 | NoDrop, 16 | Common, 17 | Epic, 18 | Legendary 19 | }; 20 | 21 | 22 | USTRUCT(BlueprintType) 23 | struct FSNRegularLootList_LootList 24 | { 25 | GENERATED_BODY() 26 | 27 | public: 28 | UPROPERTY(EditDefaultsOnly) 29 | TSubclassOf LootItem; 30 | 31 | UPROPERTY(EditDefaultsOnly) 32 | ESNRegularLootList_ItemTier ItemTier; 33 | 34 | UPROPERTY(EditDefaultsOnly) 35 | float ItemDropWeight = 0.0f; 36 | }; 37 | 38 | /** 39 | * 40 | */ 41 | UCLASS(BlueprintType) 42 | class SNDPG_API USNLootList : public UDataAsset 43 | { 44 | GENERATED_BODY() 45 | 46 | public: 47 | void RollForItemToDrop(TSubclassOf& OutItem, ESNLootSet_RollingForLootType RollType, float PlayerLevel, float EnemyLevel); 48 | 49 | /** 50 | * Before rolling for items we take into account: 51 | * @param PlayerLevel We decrease the chance of dropping weaker items as the PlayerLevel gets bigger, 52 | * @param EnemyLevel We increase the chance of dropping stronger items as the EnemyLevel gets bigger. 53 | * @param TempItemDropList Temporary array that holds all the items with Item Weights to modify. 54 | * Modifiers are additive. 55 | */ 56 | void ModifyWeightsBasedOnPlayerProgress(float PlayerLevel, float EnemyLevel, TArray& TempItemDropList); 57 | 58 | protected: 59 | TSubclassOf RandomRollForItem(); 60 | TSubclassOf RandomWithWeightRollForItem(TArray TempItemDropList); 61 | 62 | protected: 63 | UPROPERTY(EditDefaultsOnly, Category = "No Drop Weight") 64 | float NoDropWeight = 100.0f; 65 | 66 | UPROPERTY(EditDefaultsOnly, Category = "Drop Modifier") 67 | float LegendaryPercentDropModifier = 0.025f; 68 | 69 | UPROPERTY(EditDefaultsOnly, Category = "Drop Modifier") 70 | float EpicPercentDropModifier = 0.05f; 71 | 72 | UPROPERTY(EditDefaultsOnly, Category = "Drop Modifier") 73 | float CommonPercentDropModifier = 0.25f; 74 | 75 | UPROPERTY(EditDefaultsOnly, Category = "Drop Modifier") 76 | float ConstLevelDifference = 2.0f; 77 | 78 | UPROPERTY(EditDefaultsOnly, Category = "Loot List") 79 | TArray ItemDropList; 80 | 81 | }; 82 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/DropSystem/SNLootSet.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Engine/DataAsset.h" 7 | #include "SNLootSet.generated.h" 8 | 9 | class USNLootList; 10 | class ASNWorldCollectable; 11 | 12 | UENUM(BlueprintType) 13 | enum class ESNLootSet_RollingForLootType : uint8 14 | { 15 | None, 16 | Random, 17 | RandomWithWeight 18 | }; 19 | 20 | /** 21 | * 22 | */ 23 | UCLASS(BlueprintType) 24 | class SNDPG_API USNLootSet : public UDataAsset 25 | { 26 | GENERATED_BODY() 27 | 28 | public: 29 | void FindItemToDrop(TSubclassOf& OutItem); 30 | void FillTheEnemyCharacterData(float Level); 31 | void FillTheHeroCharacterData(float Level); 32 | 33 | public: 34 | UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Loot Lists") 35 | TObjectPtr BossLootList; 36 | 37 | UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Loot Lists") 38 | TObjectPtr RegularLootList; 39 | 40 | UPROPERTY(EditDefaultsOnly, Category = "Loot rolling type") 41 | ESNLootSet_RollingForLootType RollingForLootType = ESNLootSet_RollingForLootType::None; 42 | 43 | protected: 44 | float EnemyCharacterLevel; 45 | float HeroCharacterLevel; 46 | 47 | }; 48 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/GAS/Abilities/SNGameplayAbility_BarghestBite.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GAS/SNGameplayAbility.h" 7 | #include "SNGameplayAbility_BarghestBite.generated.h" 8 | 9 | class ASNEnemy; 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class SNDPG_API USNGameplayAbility_BarghestBite : public USNGameplayAbility 15 | { 16 | GENERATED_BODY() 17 | 18 | public: 19 | USNGameplayAbility_BarghestBite(const FObjectInitializer& ObjectInitializer); 20 | 21 | UFUNCTION(BlueprintCallable, Category = "SN|Ability|BarghestBite") 22 | ASNEnemy* GetBarghestFromActorInfo() const; 23 | 24 | UFUNCTION(BlueprintCallable, Category = "SN|BarghestBite") 25 | void SetDamageAndMontage(); 26 | 27 | UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "SN|BarghestBite") 28 | TObjectPtr LowLifeAnimMontage; 29 | 30 | UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "SN|BarghestBite") 31 | TObjectPtr HighLifeAnimMontage; 32 | 33 | UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "SN|BarghestBite") 34 | float LowLifeDamage = 45.0f; 35 | 36 | UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "SN|BarghestBite") 37 | float HighLifeDamage = 30.0f; 38 | 39 | protected: 40 | UPROPERTY(BlueprintReadOnly, Category = "SN|BarghestBite", meta = (AllowPrivateAccess = true)) 41 | TObjectPtr AnimMontageToUse; 42 | 43 | UPROPERTY(BlueprintReadOnly, Category = "SN|BarghestBite", meta = (AllowPrivateAccess = true)) 44 | float DamageToUse = 0.0f; 45 | }; 46 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/GAS/Abilities/SNGameplayAbility_Death.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GAS/SNGameplayAbility.h" 7 | #include "SNGameplayAbility_Death.generated.h" 8 | 9 | /** 10 | * USNGameplayAbility_Death 11 | * 12 | * Gameplay ability used for handling death. 13 | * Ability is activated automatically via the "GameplayEvent.Death" ability trigger tag. 14 | */ 15 | UCLASS() 16 | class SNDPG_API USNGameplayAbility_Death : public USNGameplayAbility 17 | { 18 | GENERATED_BODY() 19 | public: 20 | 21 | USNGameplayAbility_Death(const FObjectInitializer& ObjectInitializer); 22 | 23 | protected: 24 | 25 | void DoneAddingNativeTags(); 26 | 27 | virtual void ActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData* TriggerEventData) override; 28 | virtual void EndAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateEndAbility, bool bWasCancelled) override; 29 | 30 | // Starts the death sequence. 31 | UFUNCTION(BlueprintCallable, Category = "Lyra|Ability") 32 | void StartDeath(); 33 | 34 | // Finishes the death sequence. 35 | UFUNCTION(BlueprintCallable, Category = "Lyra|Ability") 36 | void FinishDeath(); 37 | 38 | protected: 39 | 40 | // If enabled, the ability will automatically call StartDeath. FinishDeath is always called when the ability ends if the death was started. 41 | UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "SN|Death") 42 | bool bAutoStartDeath; 43 | }; 44 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/GAS/Abilities/SNGameplayAbility_Melee.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GAS/SNGameplayAbility.h" 7 | #include "SNGameplayAbility_Melee.generated.h" 8 | 9 | class USNCombatComponent; 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class SNDPG_API USNGameplayAbility_Melee : public USNGameplayAbility 15 | { 16 | GENERATED_BODY() 17 | 18 | public: 19 | USNGameplayAbility_Melee(const FObjectInitializer& ObjectInitializer); 20 | 21 | virtual void ActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData* TriggerEventData) override; 22 | 23 | virtual void PreActivate(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, FOnGameplayAbilityEnded::FDelegate* OnGameplayAbilityEndedDelegate, const FGameplayEventData* TriggerEventData) override; 24 | }; 25 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/GAS/Actors/SNProjectileBase.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameplayEffectTypes.h" 7 | #include "GameFramework/Actor.h" 8 | #include "SNProjectileBase.generated.h" 9 | 10 | UCLASS() 11 | class SNDPG_API ASNProjectileBase : public AActor 12 | { 13 | GENERATED_BODY() 14 | 15 | public: 16 | // Sets default values for this actor's properties 17 | ASNProjectileBase(); 18 | 19 | UPROPERTY(BlueprintReadWrite, EditAnywhere) 20 | float Range; 21 | 22 | UPROPERTY(BlueprintReadOnly, VisibleAnywhere) 23 | class UProjectileMovementComponent* ProjectileMovement; 24 | 25 | UPROPERTY(BlueprintReadWrite, Meta = (ExposeOnSpawn = true)) 26 | FGameplayEffectSpecHandle DamageEffectSpecHandle; 27 | 28 | protected: 29 | // Called when the game starts or when spawned 30 | virtual void BeginPlay() override; 31 | 32 | }; 33 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/GAS/Attributes/SNMainAttributeSet.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "AttributeSet.h" 7 | #include "AbilitySystemComponent.h" 8 | #include "SNMainAttributeSet.generated.h" 9 | 10 | class USNAbilitySystemComponent; 11 | struct FGameplayEffectSpec; 12 | 13 | #define ATTRIBUTE_ACCESSORS(ClassName, PropertyName) \ 14 | GAMEPLAYATTRIBUTE_PROPERTY_GETTER(ClassName, PropertyName) \ 15 | GAMEPLAYATTRIBUTE_VALUE_GETTER(PropertyName) \ 16 | GAMEPLAYATTRIBUTE_VALUE_SETTER(PropertyName) \ 17 | GAMEPLAYATTRIBUTE_VALUE_INITTER(PropertyName) 18 | 19 | 20 | // Delegate used to broadcast attribute events. 21 | DECLARE_MULTICAST_DELEGATE_FourParams(FSNAttributeEvent, AActor* /*EffectInstigator*/, AActor* /*EffectCauser*/, const FGameplayEffectSpec& /*EffectSpec*/, float /*EffectMagnitude*/); 22 | 23 | /** 24 | * USNMainAttributeSet 25 | * 26 | * Base attribute set class for the project. 27 | */ 28 | UCLASS() 29 | class SNDPG_API USNMainAttributeSet : public UAttributeSet 30 | { 31 | GENERATED_BODY() 32 | 33 | public: 34 | 35 | USNMainAttributeSet(); 36 | 37 | UWorld* GetWorld() const override; 38 | 39 | USNAbilitySystemComponent* GetSNAbilitySystemComponent() const; 40 | }; 41 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/GAS/Executions/SNAbilityExecutionCalculation.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameplayEffectExecutionCalculation.h" 7 | #include "SNAbilityExecutionCalculation.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNAbilityExecutionCalculation : public UGameplayEffectExecutionCalculation 14 | { 15 | GENERATED_BODY() 16 | 17 | USNAbilityExecutionCalculation(); 18 | 19 | public: 20 | virtual void Execute_Implementation(const FGameplayEffectCustomExecutionParameters& ExecutionParams, FGameplayEffectCustomExecutionOutput& OutExecutionOutput) const override; 21 | }; 22 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/GAS/Executions/SNDamageExecutionCalculation.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameplayEffectExecutionCalculation.h" 7 | #include "SNDamageExecutionCalculation.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNDamageExecutionCalculation : public UGameplayEffectExecutionCalculation 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | USNDamageExecutionCalculation(); 19 | 20 | virtual void Execute_Implementation(const FGameplayEffectCustomExecutionParameters& ExecutionParams, FGameplayEffectCustomExecutionOutput& OutExecutionOutput) const override; 21 | }; 22 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/GAS/Executions/SNHealExecutionCalculation.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameplayEffectExecutionCalculation.h" 7 | #include "SNHealExecutionCalculation.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNHealExecutionCalculation : public UGameplayEffectExecutionCalculation 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | USNHealExecutionCalculation(); 19 | 20 | virtual void Execute_Implementation(const FGameplayEffectCustomExecutionParameters& ExecutionParams, FGameplayEffectCustomExecutionOutput& OutExecutionOutput) const override; 21 | }; 22 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/GAS/SNAbilitySystemComponent.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "AbilitySystemComponent.h" 7 | #include "SNAbilitySystemComponent.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FReceivedDamageDelegate, USNAbilitySystemComponent*, SourceASC, float, UnmitigatedDamage, float, MitigatedDamage); 13 | DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FReceivedHealDelegate, USNAbilitySystemComponent*, SourceASC, float, HealingDone); 14 | 15 | UCLASS() 16 | class SNDPG_API USNAbilitySystemComponent : public UAbilitySystemComponent 17 | { 18 | GENERATED_BODY() 19 | public: 20 | USNAbilitySystemComponent(); 21 | 22 | void AbilityInputTagPressed(const FGameplayTag& InputTag); 23 | void AbilityInputTagReleased(const FGameplayTag& InputTag); 24 | 25 | void ProcessAbilityInput(float DeltaTime, bool bGamePaused); 26 | void ClearAbilityInput(); 27 | 28 | virtual void ReceivedDamage(USNAbilitySystemComponent* SourceASC, float UnmitigatedDamage, float MitigatedDamage); 29 | virtual void ReceivedHeal(USNAbilitySystemComponent* SourceASC, float HealingDone); 30 | 31 | public: 32 | FReceivedDamageDelegate ReceivedDamageDelegate; 33 | FReceivedHealDelegate ReceivedHealDelegate; 34 | 35 | protected: 36 | virtual void AbilitySpecInputPressed(FGameplayAbilitySpec& Spec) override; 37 | virtual void AbilitySpecInputReleased(FGameplayAbilitySpec& Spec) override; 38 | 39 | virtual void NotifyAbilityActivated(const FGameplayAbilitySpecHandle Handle, UGameplayAbility* Ability) override; 40 | virtual void NotifyAbilityEnded(FGameplayAbilitySpecHandle Handle, UGameplayAbility* Ability, bool bWasCancelled) override; 41 | protected: 42 | // Handles to abilities that had their input pressed this frame. 43 | TArray InputPressedSpecHandles; 44 | 45 | // Handles to abilities that had their input released this frame. 46 | TArray InputReleasedSpecHandles; 47 | 48 | // Handles to abilities that have their input held. 49 | TArray InputHeldSpecHandles; 50 | }; 51 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/GAS/SNGameplayAbility.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Abilities/GameplayAbility.h" 7 | #include "SNGameplayAbility.generated.h" 8 | 9 | class USNCharacterMovementComponent; 10 | class ASNHero; 11 | class ASNHeroController; 12 | class USNAbilitySystemComponent; 13 | /** 14 | * Defines how ability is meant to activate 15 | */ 16 | UENUM(BlueprintType) 17 | enum class ESNAbilityActivationPolicy : uint8 18 | { 19 | // Try to activate the ability when the input is triggered. 20 | OnInputTriggered, 21 | 22 | // Continually try to activate the ability while the input is active. 23 | WhileInputActive, 24 | 25 | // Try to activate the ability when an avatar is assigned. 26 | OnSpawn 27 | }; 28 | UCLASS() 29 | class SNDPG_API USNGameplayAbility : public UGameplayAbility 30 | { 31 | GENERATED_BODY() 32 | 33 | public: 34 | USNGameplayAbility(const FObjectInitializer& ObjectInitializer); 35 | 36 | ESNAbilityActivationPolicy GetActivationPolicy() const {return ActivationPolicy;} 37 | 38 | UFUNCTION(BlueprintCallable, Category = "SN|Ability") 39 | USNAbilitySystemComponent* GetSNAbilitySystemComponentFromActorInfo() const; 40 | 41 | UFUNCTION(BlueprintCallable, Category = "SN|Ability") 42 | ASNHeroController* GetSNPlayerControllerFromActorInfo() const; 43 | 44 | UFUNCTION(BlueprintCallable, Category = "SN|Ability") 45 | ASNHero* GetSNHeroFromActorInfo() const; 46 | 47 | UFUNCTION(BlueprintCallable, Category = "SN|Ability") 48 | USNCharacterMovementComponent* GetSNCharacterMoveCompFromActorInfo(); 49 | 50 | UFUNCTION(BlueprintCallable, Category = "SN|Ability") 51 | void LockCharacterInPlace(); 52 | 53 | UFUNCTION(BlueprintCallable, Category = "SN|Ability") 54 | void UnlockCharacter(); 55 | 56 | void TryActivateAbilityOnSpawn(const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilitySpec& Spec) const; 57 | 58 | public: 59 | UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "SN|Ability Proprietes") 60 | bool bShouldBlockStaminaRegen = false; 61 | 62 | 63 | protected: 64 | virtual void OnGiveAbility(const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilitySpec& Spec) override; 65 | 66 | /** Called when this ability is granted to the ability system component. */ 67 | UFUNCTION(BlueprintImplementableEvent, Category = Ability, DisplayName = "OnAbilityAdded") 68 | void K2_OnAbilityAdded(); 69 | 70 | protected: 71 | 72 | UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "SN|Ability Activation") 73 | ESNAbilityActivationPolicy ActivationPolicy; 74 | }; 75 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/GameModes/SNGameMode.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/GameModeBase.h" 7 | #include "SNGameMode.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API ASNGameMode : public AGameModeBase 14 | { 15 | GENERATED_BODY() 16 | public: 17 | ASNGameMode(); 18 | 19 | }; 20 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/GameModes/SNMainMenuGameMode.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/GameModeBase.h" 7 | #include "SNMainMenuGameMode.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API ASNMainMenuGameMode : public AGameModeBase 14 | { 15 | GENERATED_BODY() 16 | 17 | }; 18 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/GameplayTags/SNGameplayTags.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameplayTagContainer.h" 7 | 8 | class UGameplayTagsManager; 9 | /** 10 | * 11 | */ 12 | struct SNDPG_API FSNGameplayTags 13 | { 14 | public: 15 | static const FSNGameplayTags& Get() {return GameplayTags;} 16 | static void InitializeNativeTags(); 17 | static FGameplayTag FindTagByString(FString TagString, bool bMatchPartialString = false); 18 | 19 | public: 20 | // Input 21 | FGameplayTag Input_Move; 22 | FGameplayTag Input_Look_Stick; 23 | FGameplayTag Input_Look_Mouse; 24 | FGameplayTag Input_ToggleInGameMenu; 25 | FGameplayTag Input_ItemSwitch_WeaponRightSlot; 26 | FGameplayTag Input_ItemSwitch_WeaponLeftSlot; 27 | FGameplayTag Input_ItemSwitch_ConsumableDownSlot; 28 | FGameplayTag Input_ItemSwitch_MagicUpSlot; 29 | FGameplayTag Input_UseConsumableItem; 30 | 31 | // Events 32 | FGameplayTag GameplayEvent_Death; 33 | 34 | // Abilities helper tags 35 | FGameplayTag Ability_Behavior_SurvivesDeath; 36 | FGameplayTag Ability_Behavior_BlockStaminaRegen; 37 | 38 | // Abilities 39 | FGameplayTag Ability_Input_LightMelee; 40 | FGameplayTag Ability_Input_HeavyMelee; 41 | FGameplayTag Ability_Input_Healing; 42 | FGameplayTag Ability_Input_Dash; 43 | FGameplayTag Ability_Input_TargetLock; 44 | FGameplayTag Ability_Input_UseWeaponSpell; 45 | FGameplayTag Ability_Input_Interact; 46 | 47 | // Ability tags 48 | FGameplayTag Ability_LightMelee; 49 | FGameplayTag Ability_HeavyMelee; 50 | FGameplayTag Ability_Healing; 51 | FGameplayTag Ability_SwirlSwing; 52 | FGameplayTag Ability_Dash; 53 | FGameplayTag Ability_KnifeThrow; 54 | FGameplayTag Ability_TargetLock; 55 | 56 | // Cooldowns 57 | FGameplayTag Ability_CD_Healing; 58 | FGameplayTag Ability_CD_ManaRestoring; 59 | FGameplayTag Ability_CD_SwirlSwing; 60 | FGameplayTag Ability_CD_KnifeThrow; 61 | FGameplayTag Ability_CD_Dash; 62 | FGameplayTag Ability_CD_Interaction; 63 | 64 | // Data 65 | FGameplayTag HitTag_HeroMelee; 66 | FGameplayTag HitTag_BarghestBite; 67 | FGameplayTag HitTag_DragonBite; 68 | 69 | protected: 70 | void AddAllTags(UGameplayTagsManager& Manager); 71 | void AddTag(FGameplayTag& OutTag, const ANSICHAR* TagName, const ANSICHAR* TagComment); 72 | 73 | private: 74 | static FSNGameplayTags GameplayTags; 75 | }; 76 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/Input/SNEnhancedInputComponent.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "EnhancedInputComponent.h" 7 | #include "SNInputConfig.h" 8 | #include "SNEnhancedInputComponent.generated.h" 9 | 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class SNDPG_API USNEnhancedInputComponent : public UEnhancedInputComponent 15 | { 16 | GENERATED_BODY() 17 | 18 | public: 19 | USNEnhancedInputComponent(const FObjectInitializer& ObjectInitializer); 20 | 21 | template 22 | void BindNativeAction(const USNInputConfig* InputConfig, const FGameplayTag& InputTag, ETriggerEvent TriggerEvent, UserClass* Object, FuncType Func); 23 | 24 | template 25 | void BindAbilityActions(const USNInputConfig* InputConfig, UserClass* Object, PressedFuncType PressedFunc, ReleasedFuncType ReleasedFunc, TArray& BindHandles); 26 | }; 27 | 28 | 29 | template 30 | void USNEnhancedInputComponent::BindNativeAction(const USNInputConfig* InputConfig, const FGameplayTag& InputTag, ETriggerEvent TriggerEvent, UserClass* Object, FuncType Func) 31 | { 32 | check(InputConfig); 33 | if (const UInputAction* IA = InputConfig->FindNativeInputActionForTag(InputTag)) 34 | { 35 | BindAction(IA, TriggerEvent, Object, Func); 36 | } 37 | } 38 | 39 | template 40 | void USNEnhancedInputComponent::BindAbilityActions(const USNInputConfig* InputConfig, UserClass* Object, PressedFuncType PressedFunc, ReleasedFuncType ReleasedFunc, TArray& BindHandles) 41 | { 42 | check(InputConfig); 43 | for (const FSNInputAction& Action : InputConfig->AbilityInputActions) 44 | { 45 | if (Action.InputAction && Action.InputTag.IsValid()) 46 | { 47 | if (PressedFunc) 48 | { 49 | BindHandles.Add(BindAction(Action.InputAction, ETriggerEvent::Triggered, Object, PressedFunc, Action.InputTag).GetHandle()); 50 | } 51 | 52 | if (ReleasedFunc) 53 | { 54 | BindHandles.Add(BindAction(Action.InputAction, ETriggerEvent::Completed, Object, ReleasedFunc, Action.InputTag).GetHandle()); 55 | } 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /Source/SNDPG/Public/Input/SNInputConfig.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Engine/DataAsset.h" 7 | #include "GameplayTagContainer.h" 8 | #include "SNInputConfig.generated.h" 9 | 10 | class UInputAction; 11 | /** 12 | * FSNInputAction 13 | * 14 | * Struct used to map an input action to a gameplay input tag. 15 | */ 16 | USTRUCT(BlueprintType) 17 | struct FSNInputAction 18 | { 19 | GENERATED_BODY() 20 | public: 21 | UPROPERTY(EditDefaultsOnly) 22 | const UInputAction* InputAction = nullptr; 23 | 24 | UPROPERTY(EditDefaultsOnly, Meta = (Categories = "InputTag")) 25 | FGameplayTag InputTag; 26 | }; 27 | 28 | /** 29 | * 30 | */ 31 | UCLASS() 32 | class SNDPG_API USNInputConfig : public UDataAsset 33 | { 34 | GENERATED_BODY() 35 | 36 | public: 37 | // Returns the first Input Action associated with a given tag. 38 | const UInputAction* FindNativeInputActionForTag(const FGameplayTag& InputTag) const; 39 | // Returns the first Input Action associated with a given tag. 40 | const UInputAction* FindAbilityInputActionForTag(const FGameplayTag& InputTag) const; 41 | 42 | public: 43 | // List of input actions used by the owner. These input actions are mapped to a gameplay tag and must be manually bound. 44 | UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Meta = (TitleProperty = "InputAction")) 45 | TArray NativeInputActions; 46 | 47 | // List of input actions used by the owner. These input actions are mapped to a gameplay tag and must be manually bound. 48 | UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Meta = (TitleProperty = "InputAction")) 49 | TArray AbilityInputActions; 50 | }; -------------------------------------------------------------------------------- /Source/SNDPG/Public/InventorySystem/Items/SNArmorItem.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "InventorySystem/SNItemBase.h" 7 | #include "SNArmorItem.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNArmorItem : public USNItemBase 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | USNArmorItem(); 19 | 20 | protected: 21 | virtual void Use(ASNHero* Hero) override; 22 | }; 23 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/InventorySystem/Items/SNHealingItem.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "InventorySystem/SNItemBase.h" 7 | #include "SNHealingItem.generated.h" 8 | 9 | class USNGameplayAbility; 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class SNDPG_API USNHealingItem : public USNItemBase 15 | { 16 | GENERATED_BODY() 17 | 18 | public: 19 | USNHealingItem(); 20 | 21 | UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "SN|HealingItem", meta = (ClampMin = 0.0f)) 22 | float HealingAmount = 0.0f; 23 | 24 | protected: 25 | virtual void Use(ASNHero* Hero) override; 26 | }; 27 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/InventorySystem/Items/SNTalismanItem.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "InventorySystem/SNItemBase.h" 7 | #include "SNTalismanItem.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNTalismanItem : public USNItemBase 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | USNTalismanItem(); 19 | 20 | protected: 21 | virtual void Use(ASNHero* Hero) override; 22 | }; 23 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/InventorySystem/Items/SNWeaponItem.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "InventorySystem/SNItemBase.h" 7 | #include "SNWeaponItem.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNWeaponItem : public USNItemBase 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | USNWeaponItem(); 19 | 20 | public: 21 | UPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "SN|Item|Weapon") 22 | float LightAttackDamage = 0.0f; 23 | 24 | UPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "SN|Item|Weapon") 25 | float HeavyAttackDamage = 0.0f; 26 | 27 | UPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "SN|Item|Weapon") 28 | float WeaponSpellDamage = 0.0f; 29 | 30 | protected: 31 | virtual void Use(ASNHero* Hero) override; 32 | 33 | }; 34 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/InventorySystem/SNInventoryComponent.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Components/ActorComponent.h" 7 | #include "SNInventoryComponent.generated.h" 8 | 9 | class USNItemBase; 10 | 11 | DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnInventoryUpdated); 12 | 13 | UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) 14 | class SNDPG_API USNInventoryComponent : public UActorComponent 15 | { 16 | GENERATED_BODY() 17 | 18 | public: 19 | USNInventoryComponent(); 20 | 21 | bool AddItem(USNItemBase* ItemToAdd); 22 | bool RemoveItem(USNItemBase* ItemToRemove); 23 | 24 | UFUNCTION(BlueprintPure, Category = "SN|InventoryComponent") 25 | static USNInventoryComponent* FindInventoryComponent(const AActor* Actor) {return (Actor ? Actor->FindComponentByClass() : nullptr);} 26 | 27 | protected: 28 | virtual void BeginPlay() override; 29 | 30 | protected: 31 | UPROPERTY(EditDefaultsOnly, Instanced, Category = "SN|InventoryComponent") 32 | TArray DefaultItems; 33 | 34 | UPROPERTY(BlueprintAssignable, Category = "SN|InventoryComponent") 35 | FOnInventoryUpdated OnInventoryUpdatedDelegate; 36 | 37 | UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "SN|InventoryComponent|Items") 38 | TArray Items; 39 | 40 | }; 41 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/InventorySystem/SNItemBase.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UI/Inventory/SNEquipmentSlotButton.h" 7 | #include "GAS/SNAbilitySet.h" 8 | #include "SNItemBase.generated.h" 9 | 10 | class USNGameplayAbility; 11 | enum class ESlotCategory : uint8; 12 | 13 | UENUM(BlueprintType) 14 | enum class EItemCategory : uint8 15 | { 16 | None, 17 | Weapon, 18 | Consumable, 19 | Helmet, 20 | BodyArmour, 21 | Gloves, 22 | Boots, 23 | Talisman, 24 | Magic, 25 | Arrow, 26 | Bolt 27 | }; 28 | 29 | /** 30 | * 31 | */ 32 | UCLASS(Abstract, BlueprintType, Blueprintable, EditInlineNew, DefaultToInstanced) 33 | class SNDPG_API USNItemBase : public UObject 34 | { 35 | GENERATED_BODY() 36 | 37 | public: 38 | USNItemBase(); 39 | 40 | virtual void Use(class ASNHero* Hero) PURE_VIRTUAL(USNItemBase, ); 41 | 42 | UFUNCTION(BlueprintImplementableEvent, Category = "SN|Item") 43 | void OnUse(class ASNHero* Hero); 44 | 45 | virtual class UWorld* GetWorld() const {return World;}; 46 | 47 | public: 48 | UPROPERTY(Transient) 49 | class UWorld* World; 50 | 51 | UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "SN|Item|Defaults") 52 | class UTexture2D* Thumbnail; 53 | 54 | UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "SN|Item|Defaults", meta = (ClampMin = 0.0f)) 55 | float Weight; 56 | 57 | UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "SN|Item|Defaults", meta = (ClampMin = 0.0f)) 58 | int32 LevelRequirement; 59 | 60 | UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "SN|Item|Defaults") 61 | FText ItemDisplayName; 62 | 63 | UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "SN|Item|Defaults", meta = (MultiLine = true)) 64 | FText ItemDescription; 65 | 66 | UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "SN|Item|Defaults") 67 | FText UseActionText; 68 | 69 | UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "SN|Item|AbilitySet") 70 | USNAbilitySet* AbilitySet; 71 | 72 | UPROPERTY() 73 | FSNAbilitySet_GrantedHandles GrantedHandles; 74 | 75 | UPROPERTY() 76 | class USNInventoryComponent* OwningInventory; 77 | 78 | UPROPERTY() 79 | class USNEquipmentComponent* OwningEquipment; 80 | 81 | UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "SN|Item|Data") 82 | ESlotCategory SlotCategoryEquippedTo = ESlotCategory::None; 83 | 84 | UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "SN|Item|Data") 85 | bool bIsItemEquipped = false; 86 | 87 | UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "SN|Item|Data") 88 | UUserWidget* ItemEquipmentSlot; 89 | 90 | UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "SN|Item|Data") 91 | EItemCategory ItemCategory; 92 | }; 93 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/InventorySystem/SNThrowingKnifeItem.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "InventorySystem/SNItemBase.h" 7 | #include "SNThrowingKnifeItem.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNThrowingKnifeItem : public USNItemBase 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | USNThrowingKnifeItem(); 19 | 20 | UPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "SN|Item|ThrowingDagger") 21 | float ThrowingWeaponDamage = 0.0f; 22 | 23 | protected: 24 | virtual void Use(ASNHero* Hero) override; 25 | 26 | }; 27 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/Physics/SNDPGCollisionChannels.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | // Trace used by weapons 6 | #define SNDPG_TraceChannel_WeaponTrace ECC_GameTraceChannel1 7 | 8 | // Trace used against Actors/Components which provide interactions. 9 | #define SNDPG_TraceChannel_Interaction ECC_GameTraceChannel2 10 | 11 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/PickupSystem/Abilities/SNGameplayAbility_Interact.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Abilities/GameplayAbility.h" 7 | #include "GAS/SNGameplayAbility.h" 8 | #include "SNGameplayAbility_Interact.generated.h" 9 | 10 | class USNInteractionWidgetComponent; 11 | 12 | /** 13 | * 14 | */ 15 | UCLASS() 16 | class SNDPG_API UGameplayAbility_Interact : public USNGameplayAbility 17 | { 18 | GENERATED_BODY() 19 | 20 | public: 21 | 22 | UGameplayAbility_Interact(const FObjectInitializer& ObjectInitializer); 23 | 24 | virtual void ActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData* TriggerEventData) override; 25 | 26 | UFUNCTION(BlueprintCallable) 27 | void UpdateInteractions(const TArray& InteractiveOptions); 28 | 29 | UFUNCTION(BlueprintCallable) 30 | void TriggerInteraction(); 31 | 32 | public: 33 | 34 | 35 | protected: 36 | UPROPERTY(BlueprintReadWrite) 37 | TArray CurrentOptions; 38 | 39 | UPROPERTY() 40 | TArray> Widgets; 41 | 42 | protected: 43 | UPROPERTY(EditDefaultsOnly, Category = "Ability|Settings") 44 | float InteractionScanRate = 0.1f; 45 | 46 | UPROPERTY(EditDefaultsOnly, Category = "Ability|Settings") 47 | float InteractionScanRange = 500; 48 | 49 | UPROPERTY(EditDefaultsOnly, Category = "Ability|UI") 50 | TSoftClassPtr DefaultInteractionWidgetClass; 51 | }; 52 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/PickupSystem/SNInteractableTarget.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/Interface.h" 7 | #include "Abilities/GameplayAbility.h" 8 | #include "SNInteractionOption.h" 9 | #include "SNInteractableTarget.generated.h" 10 | 11 | struct FSNInteractionQuery; 12 | 13 | class FSNInteractionOptionBuilder 14 | { 15 | public: 16 | FSNInteractionOptionBuilder(TScriptInterface InterfaceTargetScope, TArray& InteractOptions) 17 | : Scope(InterfaceTargetScope) 18 | , Options(InteractOptions) 19 | { 20 | } 21 | 22 | void AddInteractionOption(const FSNInteractionOption& Option) 23 | { 24 | FSNInteractionOption& OptionEntry = Options.Add_GetRef(Option); 25 | OptionEntry.InteractableTarget = Scope; 26 | } 27 | 28 | private: 29 | TScriptInterface Scope; 30 | TArray& Options; 31 | }; 32 | 33 | // This class does not need to be modified. 34 | UINTERFACE(MinimalAPI, meta = (CannotImplementInterfaceInBlueprint)) 35 | class USNInteractableTarget : public UInterface 36 | { 37 | GENERATED_BODY() 38 | }; 39 | 40 | /** 41 | * 42 | */ 43 | class SNDPG_API ISNInteractableTarget 44 | { 45 | GENERATED_BODY() 46 | 47 | public: 48 | /** */ 49 | virtual void GatherInteractionOptions(const FSNInteractionQuery& InteractQuery, FSNInteractionOptionBuilder& OptionBuilder) = 0; 50 | 51 | /** */ 52 | virtual void CustomizeInteractionEventData(const FGameplayTag& InteractionEventTag, FGameplayEventData& InOutEventData) { } 53 | }; 54 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/PickupSystem/SNInteractionOption.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CoreMinimal.h" 4 | #include "Abilities/GameplayAbility.h" 5 | #include "SNInteractionOption.generated.h" 6 | 7 | class ISNInteractableTarget; 8 | class UUserWidget; 9 | 10 | USTRUCT(BlueprintType) 11 | struct FSNInteractionOption 12 | { 13 | GENERATED_BODY() 14 | 15 | public: 16 | /** The interactable target */ 17 | UPROPERTY(BlueprintReadWrite) 18 | TScriptInterface InteractableTarget; 19 | 20 | /** Simple text the interaction might return */ 21 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 22 | FText Text; 23 | 24 | /** Simple sub-text the interaction might return */ 25 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 26 | FText SubText; 27 | 28 | // METHODS OF INTERACTION 29 | //-------------------------------------------------------------- 30 | 31 | // 1) Place an ability on the avatar that they can activate when they perform interaction. 32 | 33 | /** The ability to grant the avatar when they get near interactable objects. */ 34 | UPROPERTY(EditAnywhere, BlueprintReadOnly) 35 | TSubclassOf InteractionAbilityToGrant; 36 | 37 | // - OR - 38 | 39 | // 2) Allow the object we're interacting with to have its own ability system and interaction ability, that we can activate instead. 40 | 41 | /** The ability system on the target that can be used for the TargetInteractionHandle and sending the event, if needed. */ 42 | UPROPERTY(BlueprintReadOnly) 43 | TObjectPtr TargetAbilitySystem = nullptr; 44 | 45 | /** The ability spec to activate on the object for this option. */ 46 | UPROPERTY(BlueprintReadOnly) 47 | FGameplayAbilitySpecHandle TargetInteractionAbilityHandle; 48 | 49 | // The widget to show for interaction 50 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 51 | TSoftClassPtr InteractionWidgetClass; 52 | 53 | public: 54 | FORCEINLINE bool operator==(const FSNInteractionOption& Other) const 55 | { 56 | return InteractableTarget == Other.InteractableTarget && 57 | InteractionAbilityToGrant == Other.InteractionAbilityToGrant&& 58 | TargetAbilitySystem == Other.TargetAbilitySystem && 59 | TargetInteractionAbilityHandle == Other.TargetInteractionAbilityHandle && 60 | InteractionWidgetClass == Other.InteractionWidgetClass && 61 | Text.IdenticalTo(Other.Text) && 62 | SubText.IdenticalTo(Other.SubText); 63 | } 64 | 65 | FORCEINLINE bool operator!=(const FSNInteractionOption& Other) const 66 | { 67 | return !operator==(Other); 68 | } 69 | 70 | FORCEINLINE bool operator<(const FSNInteractionOption& Other) const 71 | { 72 | return InteractableTarget.GetInterface() < Other.InteractableTarget.GetInterface(); 73 | } 74 | }; 75 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/PickupSystem/SNInteractionQuery.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CoreMinimal.h" 4 | #include "SNInteractionQuery.generated.h" 5 | 6 | USTRUCT(BlueprintType) 7 | struct FSNInteractionQuery 8 | { 9 | GENERATED_BODY() 10 | 11 | public: 12 | /** The requesting pawn. */ 13 | UPROPERTY(BlueprintReadWrite) 14 | TWeakObjectPtr RequestingAvatar; 15 | 16 | /** Allow us to specify a controller - does not need to match the owner of the requesting avatar. */ 17 | UPROPERTY(BlueprintReadWrite) 18 | TWeakObjectPtr RequestingController; 19 | 20 | /** A generic UObject to shove in extra data required for the interaction */ 21 | UPROPERTY(BlueprintReadWrite) 22 | TWeakObjectPtr OptionalObjectData; 23 | }; 24 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/PickupSystem/SNInteractionStatics.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Kismet/BlueprintFunctionLibrary.h" 7 | #include "SNInteractionStatics.generated.h" 8 | 9 | template class TScriptInterface; 10 | 11 | class AActor; 12 | class ISNInteractableTarget; 13 | class UObject; 14 | struct FFrame; 15 | struct FHitResult; 16 | struct FOverlapResult; 17 | 18 | /** 19 | * 20 | */ 21 | UCLASS() 22 | class SNDPG_API USNInteractionStatics : public UBlueprintFunctionLibrary 23 | { 24 | GENERATED_BODY() 25 | 26 | public: 27 | USNInteractionStatics(); 28 | 29 | public: 30 | UFUNCTION(BlueprintCallable) 31 | static AActor* GetActorFromInteractableTarget(TScriptInterface InteractableTarget); 32 | 33 | UFUNCTION(BlueprintCallable) 34 | static void GetInteractableTargetsFromActor(AActor* Actor, TArray>& OutInteractableTargets); 35 | 36 | static void AppendInteractableTargetsFromOverlapResults(const TArray& OverlapResults, TArray>& OutInteractableTargets); 37 | static void AppendInteractableTargetsFromHitResult(const FHitResult& HitResult, TArray>& OutInteractableTargets); 38 | }; 39 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/PickupSystem/SNPickupable.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/Interface.h" 7 | #include "InventorySystem/SNItemBase.h" 8 | #include "SNPickupable.generated.h" 9 | 10 | class USNInventoryComponent; 11 | 12 | USTRUCT(BlueprintType) 13 | struct FSNPickupableItem 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | UPROPERTY(EditDefaultsOnly, Instanced) 19 | TObjectPtr ItemDef; 20 | }; 21 | 22 | USTRUCT(BlueprintType) 23 | struct FSNInventoryPickup 24 | { 25 | GENERATED_BODY() 26 | 27 | public: 28 | UPROPERTY(EditAnywhere, BlueprintReadOnly) 29 | TArray Instances; 30 | }; 31 | 32 | // This class does not need to be modified. 33 | UINTERFACE(MinimalAPI, BlueprintType, meta = (CannotImplementInterfaceInBlueprint)) 34 | class USNPickupable : public UInterface 35 | { 36 | GENERATED_BODY() 37 | }; 38 | 39 | /** 40 | * 41 | */ 42 | class SNDPG_API ISNPickupable 43 | { 44 | GENERATED_BODY() 45 | 46 | public: 47 | UFUNCTION(BlueprintCallable) 48 | virtual FSNInventoryPickup GetPickupInventory() const = 0; 49 | }; 50 | 51 | /** */ 52 | UCLASS() 53 | class USNPickupableStatics : public UBlueprintFunctionLibrary 54 | { 55 | GENERATED_BODY() 56 | 57 | public: 58 | USNPickupableStatics(); 59 | 60 | public: 61 | UFUNCTION(BlueprintPure) 62 | static TScriptInterface GetFirstPickupableFromActor(AActor* Actor); 63 | 64 | UFUNCTION(BlueprintCallable, BlueprintAuthorityOnly, meta = (WorldContext = "Ability")) 65 | static void AddPickupToInventory(USNInventoryComponent* InventoryComponent, TScriptInterface Pickup); 66 | }; 67 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/PickupSystem/SNWorldCollectable.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SNInteractableTarget.h" 7 | #include "SNPickupable.h" 8 | #include "SNInteractionOption.h" 9 | #include "GameFramework/Actor.h" 10 | #include "SNWorldCollectable.generated.h" 11 | 12 | class UWidgetComponent; 13 | class UObject; 14 | struct FSNInteractionQuery; 15 | 16 | UCLASS(Abstract, Blueprintable) 17 | class SNDPG_API ASNWorldCollectable : public AActor, public ISNInteractableTarget, public ISNPickupable 18 | { 19 | GENERATED_BODY() 20 | 21 | public: 22 | // Sets default values for this actor's properties 23 | ASNWorldCollectable(); 24 | 25 | virtual void GatherInteractionOptions(const FSNInteractionQuery& InteractQuery, FSNInteractionOptionBuilder& InteractionBuilder) override; 26 | virtual FSNInventoryPickup GetPickupInventory() const override; 27 | 28 | UPROPERTY(EditAnywhere, BlueprintReadWrite) 29 | TObjectPtr ItemNameWidgetComp; 30 | 31 | protected: 32 | virtual void BeginPlay() override; 33 | 34 | protected: 35 | UPROPERTY(EditAnywhere, Category = "SN|Pickup") 36 | FSNInteractionOption Option; 37 | 38 | UPROPERTY(EditAnywhere, Category = "SN|Pickup") 39 | FSNInventoryPickup StaticInventory; 40 | 41 | private: 42 | UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "SN|Pickup", meta = (AllowPrivateAccess = "true")) 43 | UStaticMeshComponent* StaticMesh; 44 | }; 45 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/PickupSystem/Tasks/SNAbilityTask_GrantInteraction.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Abilities/Tasks/AbilityTask.h" 7 | #include "SNAbilityTask_GrantInteraction.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNAbilityTask_GrantInteraction : public UAbilityTask 14 | { 15 | GENERATED_UCLASS_BODY() 16 | 17 | virtual void Activate() override; 18 | 19 | UFUNCTION(BlueprintCallable, Category="Ability|Tasks", meta = (HidePin = "OwningAbility", DefaultToSelf = "OwningAbility", BlueprintInternalUseOnly = "TRUE")) 20 | static USNAbilityTask_GrantInteraction* GrantAbilitiesForNearbyInteractors(UGameplayAbility* OwningAbility, float InteractionScanRange, float InteractionScanRate); 21 | 22 | private: 23 | virtual void OnDestroy(bool bInOwnerFinished) override; 24 | 25 | void QueryInteractables(); 26 | 27 | float InteractionScanRange = 100; 28 | float InteractionScanRate = 0.100; 29 | 30 | FTimerHandle QueryTimerHandle; 31 | 32 | TMap InteractionAbilityCache; 33 | }; 34 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/PickupSystem/Tasks/SNAbilityTask_ScanForInteract.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Abilities/Tasks/AbilityTask.h" 7 | #include "PickupSystem/SNInteractionOption.h" 8 | 9 | #include "SNAbilityTask_ScanForInteract.generated.h" 10 | 11 | class ISNInteractableTarget; 12 | struct FSNInteractionQuery; 13 | 14 | DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FInteractableObjectsChangedEvent, const TArray&, InteractableOptions); 15 | /** 16 | * 17 | */ 18 | UCLASS(Abstract) 19 | class SNDPG_API USNAbilityTask_ScanForInteract : public UAbilityTask 20 | { 21 | GENERATED_BODY() 22 | 23 | public: 24 | UPROPERTY(BlueprintAssignable) 25 | FInteractableObjectsChangedEvent InteractableObjectsChanged; 26 | 27 | void UpdateInteractableOptions(const FSNInteractionQuery& InteractQuery, const TArray>& InteractableTargets); 28 | static void BoxTrace(FHitResult& OutHitResult, const UWorld* World, const FVector& Start, const FVector& End, FName ProfileName, TArray& ActorsToIgnore); 29 | static void LineTrace(FHitResult& OutHitResult, const UWorld* World, const FVector& Start, const FVector& End, FName ProfileName, const FCollisionQueryParams Params); 30 | void AimWithPlayerRotation(const AActor* InSourceActor, FCollisionQueryParams Params, const FVector& TraceStart, float MaxRange, FVector& OutTraceEnd, bool bIgnorePitch = false) const; 31 | 32 | protected: 33 | TArray CurrentOptions; 34 | 35 | FCollisionProfileName TraceProfile; 36 | }; 37 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/PickupSystem/Tasks/SNAbilityTask_Scan_Trace.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | 6 | #include "CoreMinimal.h" 7 | #include "PickupSystem/SNInteractionQuery.h" 8 | #include "PickupSystem/Tasks/SNAbilityTask_ScanForInteract.h" 9 | #include "SNAbilityTask_Scan_Trace.generated.h" 10 | 11 | /** 12 | * 13 | */ 14 | UCLASS() 15 | class SNDPG_API USNAbilityTask_Scan_Trace : public USNAbilityTask_ScanForInteract 16 | { 17 | GENERATED_BODY() 18 | 19 | virtual void Activate() override; 20 | 21 | /** Wait until we trace new set of interactables. This task automatically loops. */ 22 | UFUNCTION(BlueprintCallable, Category = "SNAbility|Tasks", meta = (HidePin = "OwningAbility", DefaultToSelf = "OwningAbility", BlueprintInternalUseOnly = "TRUE")) 23 | static USNAbilityTask_Scan_Trace* ScanForInteractableTargets_Trace(UGameplayAbility* OwningAbility, FSNInteractionQuery InteractionQuery, FCollisionProfileName TraceProfile, FGameplayAbilityTargetingLocationInfo StartLocation, float InteractionScanRange = 100, float InteractionScanRate = 0.100, bool bShowDebug = false); 24 | 25 | private: 26 | 27 | virtual void OnDestroy(bool AbilityEnded) override; 28 | 29 | void PerformTrace(); 30 | 31 | UPROPERTY() 32 | FSNInteractionQuery InteractionQuery; 33 | 34 | UPROPERTY() 35 | FGameplayAbilityTargetingLocationInfo StartLocation; 36 | 37 | float InteractionScanRange = 250.f; 38 | float InteractionScanRate = 0.100; 39 | bool bShowDebug = false; 40 | 41 | FTimerHandle TimerHandle; 42 | }; 43 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/SNAssetManager.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Engine/AssetManager.h" 7 | #include "SNAssetManager.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNAssetManager : public UAssetManager 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | USNAssetManager(); 19 | 20 | static USNAssetManager& Get(); 21 | 22 | virtual void StartInitialLoading() override; 23 | 24 | }; 25 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/UI/Combat/SNFloatingDmgNumberWComponent.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Components/WidgetComponent.h" 7 | #include "SNFloatingDmgNumberWComponent.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNFloatingDmgNumberWComponent : public UWidgetComponent 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable) 19 | void SetDamageText(float Damage); 20 | 21 | }; 22 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/UI/EnemyUI/SNHealthBarWidget.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Blueprint/UserWidget.h" 7 | #include "SNHealthBarWidget.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNHealthBarWidget : public UUserWidget 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable) 19 | void SetHealthPercentage(float HealthPercentage); 20 | }; 21 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/UI/HeroHUD/SNCharacterStatusWidget.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UI/SNStatusWidget.h" 7 | #include "SNCharacterStatusWidget.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNCharacterStatusWidget : public USNStatusWidget 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|Status|Visibility") 19 | void ToggleCharacterStatus(bool bIsVisible); 20 | 21 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|Status|CombatRanges") 22 | void SetHealingRange(float Healing, float Faith); 23 | 24 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|Status|CombatRanges") 25 | void SetReplenishingRange(float Replenishing, float Faith); 26 | 27 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|Status|CombatRanges") 28 | void SetLightAttackRange(float LightAttackDamage, float Strength); 29 | 30 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|Status|CombatRanges") 31 | void SetHeavyAttackRange(float HeavyAttackDamage, float Strength); 32 | 33 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|Status|CombatRanges") 34 | void SetItemDamageRange(float ItemDamage, float Strength); 35 | 36 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|Status|CombatRanges") 37 | void SetWeaponSpellDamage(float WeaponSpellDamage, float Arcane); 38 | 39 | public: 40 | UPROPERTY(BlueprintReadWrite, VisibleAnywhere, Category = "SN|UI|Status|Visibility") 41 | bool bIsCharacterStatusVisible = false; 42 | }; 43 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/UI/HeroHUD/SNHeroHUD.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UI/SNStatusWidget.h" 7 | #include "SNHeroHUD.generated.h" 8 | 9 | class USNItemBase; 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class SNDPG_API USNHeroHUD : public USNStatusWidget 15 | { 16 | GENERATED_BODY() 17 | 18 | public: 19 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|CharacterStats") 20 | void SetConsumableEquippedItemDisplay(USNItemBase* Item); 21 | 22 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|CharacterStats") 23 | void SetLeftHandWeaponEquippedItemDisplay(USNItemBase* Item); 24 | 25 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|CharacterStats") 26 | void SetRightHandWeaponEquippedItemDisplay(USNItemBase* Item); 27 | 28 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|CharacterStats") 29 | void SetMagicEquippedItemDisplay(USNItemBase* Item); 30 | 31 | }; 32 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/UI/Inventory/SNEquipmentSlotButton.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Blueprint/UserWidget.h" 7 | #include "SNEquipmentSlotButton.generated.h" 8 | /** 9 | * Enum used to categorise the slot 10 | */ 11 | UENUM(BlueprintType) 12 | enum class ESlotCategory : uint8 13 | { 14 | None, 15 | LeftHandWeaponSlot, 16 | RightHandWeaponSlot, 17 | ConsumableSlot, 18 | ArmourSlot, 19 | TalismanSlot, 20 | MagicSlot, 21 | ArrowSlot, 22 | BoltSlot 23 | }; 24 | /** 25 | * 26 | */ 27 | UCLASS() 28 | class SNDPG_API USNEquipmentSlotButton : public UUserWidget 29 | { 30 | GENERATED_BODY() 31 | 32 | public: 33 | UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI|SlotCategory") 34 | ESlotCategory SlotCategory; 35 | 36 | UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "SN|UI|Item") 37 | bool bHasEquippedItem = false; 38 | }; 39 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/UI/Inventory/SNEquipmentWidget.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SNInventoryItemButton.h" 7 | #include "UI/SNStatusWidget.h" 8 | #include "SNEquipmentWidget.generated.h" 9 | 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class SNDPG_API USNEquipmentWidget : public USNStatusWidget 15 | { 16 | GENERATED_BODY() 17 | 18 | public: 19 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|Equipment|Visibility") 20 | void ToggleEquipment(bool bIsVisible); 21 | 22 | // Updates the UI for currently selected item 23 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|Equipment") 24 | void UpdateCurrentItemInfo(USNItemBase* ItemBase); 25 | 26 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|Equipment") 27 | void UpdateCurrentSlotName(UUserWidget* SlotWidget); 28 | 29 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|Equipment") 30 | void ToggleEquipItemToSlot(USNItemBase* ItemToEquip, USNInventoryItemButton* InventorySlotClicked); 31 | 32 | // Updates the UI for currently selected item 33 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|Equipment") 34 | void UpdateCurrentItemInfoFromSlot(); 35 | 36 | public: 37 | UPROPERTY(BlueprintReadWrite, VisibleAnywhere, Category = "SN|UI|Equipment|Visibility") 38 | bool bIsEquipmentVisible = false; 39 | }; 40 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/UI/Inventory/SNInventoryItemButton.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Blueprint/UserWidget.h" 7 | #include "SNInventoryItemButton.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNInventoryItemButton : public UUserWidget 14 | { 15 | GENERATED_BODY() 16 | 17 | }; 18 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/UI/Inventory/SNInventoryWidget.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UI/SNStatusWidget.h" 7 | #include "SNInventoryWidget.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNInventoryWidget : public USNStatusWidget 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|Inventory|Visibility") 19 | void ToggleCharacterInventory(bool bIsVisible); 20 | 21 | // Updates the UI for currently selected item 22 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "SN|UI|Inventory") 23 | void UpdateCurrentItemInfo(USNItemBase* ItemBase); 24 | 25 | public: 26 | UPROPERTY(BlueprintReadWrite, VisibleAnywhere, Category = "SN|UI|Inventory|Visibility") 27 | bool bIsCharacterInventoryVisible = false; 28 | }; 29 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/UI/Menus/SNInGameMenu.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Blueprint/UserWidget.h" 7 | #include "SNInGameMenu.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNInGameMenu : public UUserWidget 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | UFUNCTION(BlueprintImplementableEvent, BlueprintCallable) 19 | void ToggleInGameMenu(bool bIsVisible); 20 | 21 | public: 22 | UPROPERTY(BlueprintReadWrite, VisibleAnywhere) 23 | bool bIsInGameMenuVisible = false; 24 | }; 25 | -------------------------------------------------------------------------------- /Source/SNDPG/Public/UI/Menus/SNMainMenu.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michał Ogiński. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Blueprint/UserWidget.h" 7 | #include "SNMainMenu.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SNDPG_API USNMainMenu : public UUserWidget 14 | { 15 | GENERATED_BODY() 16 | 17 | }; 18 | -------------------------------------------------------------------------------- /Source/SNDPG/SNDPG.Build.cs: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | using UnrealBuildTool; 4 | 5 | public class SNDPG : ModuleRules 6 | { 7 | public SNDPG(ReadOnlyTargetRules Target) : base(Target) 8 | { 9 | PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; 10 | 11 | PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput" }); 12 | 13 | PrivateDependencyModuleNames.AddRange(new string[] { }); 14 | 15 | // Uncomment if you are using Slate UI 16 | PrivateDependencyModuleNames.AddRange(new string[] 17 | { 18 | "Slate", 19 | "SlateCore", 20 | "GameplayAbilities", 21 | "GameplayTags", 22 | "GameplayTasks" 23 | }); 24 | 25 | // Uncomment if you are using online features 26 | // PrivateDependencyModuleNames.Add("OnlineSubsystem"); 27 | 28 | // To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Source/SNDPG/SNDPG.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #include "SNDPG.h" 4 | #include "Modules/ModuleManager.h" 5 | 6 | IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, SNDPG, "SNDPG" ); 7 | -------------------------------------------------------------------------------- /Source/SNDPG/SNDPG.h: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Michal Oginski. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | 7 | -------------------------------------------------------------------------------- /Source/SNDPGEditor.Target.cs: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | using UnrealBuildTool; 4 | using System.Collections.Generic; 5 | 6 | public class SNDPGEditorTarget : TargetRules 7 | { 8 | public SNDPGEditorTarget(TargetInfo Target) : base(Target) 9 | { 10 | Type = TargetType.Editor; 11 | DefaultBuildSettings = BuildSettingsVersion.V2; 12 | 13 | ExtraModuleNames.AddRange( new string[] { "SNDPG" } ); 14 | } 15 | } 16 | --------------------------------------------------------------------------------