diff --git a/ALICIA/building3.mb b/ALICIA/building3.mb new file mode 100644 index 0000000..981af3a --- /dev/null +++ b/ALICIA/building3.mb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc50219961bbde79b18691c0725eb6f907fe326c1111751278aab8a73b77d817 +size 687160 diff --git a/Art Misc/Kit1.mb b/Art Misc/Kit1.mb new file mode 100644 index 0000000..eca3777 --- /dev/null +++ b/Art Misc/Kit1.mb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57f2f86b4123e0fbce94991353b5b862797c0e11c532b881e625a4f5e4c05e3b +size 20360220 diff --git a/Characters/Merchant.fbx b/Characters/Merchant.fbx new file mode 100644 index 0000000..e0eed40 --- /dev/null +++ b/Characters/Merchant.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32fcd3404a48e84cadf20b5db9969bbc9f652573eb2a943ba25900d1515b2a07 +size 348064 diff --git a/Characters/Merchant_low_MerchantMat_BaseColor.png b/Characters/Merchant_low_MerchantMat_BaseColor.png new file mode 100644 index 0000000..9772fd1 --- /dev/null +++ b/Characters/Merchant_low_MerchantMat_BaseColor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a03401f9644430344fce3047cfce057f08717a356cc5f62e4695b179442ceeee +size 612188 diff --git a/Characters/Merchant_low_MerchantMat_Emissive.png b/Characters/Merchant_low_MerchantMat_Emissive.png new file mode 100644 index 0000000..75a4bfa --- /dev/null +++ b/Characters/Merchant_low_MerchantMat_Emissive.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:766ed13d904fbae3073b78eb5acc7f332e174b1ffc207daf1b4ba6b22385c3fd +size 12332 diff --git a/Characters/Merchant_low_MerchantMat_Normal.png b/Characters/Merchant_low_MerchantMat_Normal.png new file mode 100644 index 0000000..cab8fe7 --- /dev/null +++ b/Characters/Merchant_low_MerchantMat_Normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b1551cecff0bd6c10a4d31ed58cfb2a729507de4d14306c730076f081aa3ecd +size 2230676 diff --git a/Characters/Merchant_low_MerchantMat_OcclusionRoughnessMetallic.png b/Characters/Merchant_low_MerchantMat_OcclusionRoughnessMetallic.png new file mode 100644 index 0000000..3a1398c --- /dev/null +++ b/Characters/Merchant_low_MerchantMat_OcclusionRoughnessMetallic.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9798fb96e69788e04e39f8ade8b3066da9760508cf10540d2088e12bc40bd5a8 +size 1990806 diff --git a/Concept Art/Modular_test.fbx b/Concept Art/Modular_test.fbx new file mode 100644 index 0000000..e747ff6 --- /dev/null +++ b/Concept Art/Modular_test.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a27b18aaea5148a888ee2f090bea0aadb3ce7402ed9039297cdd3ea685c93a09 +size 24272 diff --git a/Content/Assets/Characters/Goat Enemy/Goat.fbx b/Content/Assets/Characters/Goat Enemy/Goat.fbx new file mode 100644 index 0000000..5e64ed8 --- /dev/null +++ b/Content/Assets/Characters/Goat Enemy/Goat.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24b03def2a74fbf6dedc8e22eebca61134debf7da447b51b36c3d90f3549ad7c +size 283520 diff --git a/Content/Assets/Characters/Goat Enemy/GoatRefs.pur b/Content/Assets/Characters/Goat Enemy/GoatRefs.pur new file mode 100644 index 0000000..f46fb17 Binary files /dev/null and b/Content/Assets/Characters/Goat Enemy/GoatRefs.pur differ diff --git a/Content/Assets/Characters/Goat Enemy/goat_low_GoatMat_BaseColor.png b/Content/Assets/Characters/Goat Enemy/goat_low_GoatMat_BaseColor.png new file mode 100644 index 0000000..7d4e308 --- /dev/null +++ b/Content/Assets/Characters/Goat Enemy/goat_low_GoatMat_BaseColor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:986297f9a32ecb9f3fed028dcdd499b64c3876d1238ae09b1b10256d45f2b8c4 +size 543571 diff --git a/Content/Assets/Characters/Goat Enemy/goat_low_GoatMat_Normal.png b/Content/Assets/Characters/Goat Enemy/goat_low_GoatMat_Normal.png new file mode 100644 index 0000000..4574170 --- /dev/null +++ b/Content/Assets/Characters/Goat Enemy/goat_low_GoatMat_Normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d59b2da6ea2064f23877867f90c8953ae017b1b8c05ff8c9baf7ba64cebe4c1 +size 2093654 diff --git a/Content/Assets/Characters/Goat Enemy/goat_low_GoatMat_OcclusionRoughnessMetallic.png b/Content/Assets/Characters/Goat Enemy/goat_low_GoatMat_OcclusionRoughnessMetallic.png new file mode 100644 index 0000000..96286e2 --- /dev/null +++ b/Content/Assets/Characters/Goat Enemy/goat_low_GoatMat_OcclusionRoughnessMetallic.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6293fa94447f58239fdcad0c947e61073e1a429c4cb8d3692bee642cae344936 +size 1780757 diff --git a/Content/Assets/InventoryImages/Inventory_Symbol.uasset b/Content/Assets/InventoryImages/Inventory_Symbol.uasset new file mode 100644 index 0000000..9c5d81b --- /dev/null +++ b/Content/Assets/InventoryImages/Inventory_Symbol.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17ad8e42d378efdf9681be346150baae8974cd71eb4cac8dd0072c9c7820de89 +size 100650 diff --git a/Content/Assets/Objects/Tutrorial_Assets/Beams_1.uasset b/Content/Assets/Objects/Tutrorial_Assets/Beams_1.uasset new file mode 100644 index 0000000..e86e78d --- /dev/null +++ b/Content/Assets/Objects/Tutrorial_Assets/Beams_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29889c0b1d2b59e6b330b3bbe1d5273d0a2a1a643a3a027599ea5b851dc741a5 +size 22060 diff --git a/Content/Assets/Objects/Tutrorial_Assets/Beams_2.uasset b/Content/Assets/Objects/Tutrorial_Assets/Beams_2.uasset new file mode 100644 index 0000000..ca55522 --- /dev/null +++ b/Content/Assets/Objects/Tutrorial_Assets/Beams_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91890c845a0f1cca73d0a6c0fc165670ed4211758f4634f4afe2ecb850c45c7b +size 20440 diff --git a/Content/Assets/Objects/Tutrorial_Assets/Plank_Long.uasset b/Content/Assets/Objects/Tutrorial_Assets/Plank_Long.uasset new file mode 100644 index 0000000..16293cb --- /dev/null +++ b/Content/Assets/Objects/Tutrorial_Assets/Plank_Long.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88408564caf457c4258988bcf983ddc817895c1adb254d263201d687b4f670d0 +size 23440 diff --git a/Content/Assets/Objects/Tutrorial_Assets/Plank_Short.uasset b/Content/Assets/Objects/Tutrorial_Assets/Plank_Short.uasset new file mode 100644 index 0000000..02ceefe --- /dev/null +++ b/Content/Assets/Objects/Tutrorial_Assets/Plank_Short.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cf1a45619eb9d15dc68479e450f18eb2bf9dacb99d527e09e85acf55f1acdf8 +size 22182 diff --git a/Content/Assets/Objects/Tutrorial_Assets/Tutorial_Wood_Texture.uasset b/Content/Assets/Objects/Tutrorial_Assets/Tutorial_Wood_Texture.uasset new file mode 100644 index 0000000..a617292 --- /dev/null +++ b/Content/Assets/Objects/Tutrorial_Assets/Tutorial_Wood_Texture.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:504f26d741fa993fe75ec4eebbc21f70e68594710a89d630c468c8f0d95f392e +size 14063 diff --git a/Content/Assets/Objects/Tutrorial_Assets/lambert1.uasset b/Content/Assets/Objects/Tutrorial_Assets/lambert1.uasset new file mode 100644 index 0000000..1bca1f3 --- /dev/null +++ b/Content/Assets/Objects/Tutrorial_Assets/lambert1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e8b8c1b145322ec2521575b1a6e6c6d50f833e698c2ae7f1d9fb368fdae7845 +size 8084 diff --git a/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_BaseColor.uasset b/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_BaseColor.uasset new file mode 100644 index 0000000..cd658be --- /dev/null +++ b/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be624851da76366f9cc426347a57b7648fc60bfa3abf7b2bd62ec9da43673736 +size 7878079 diff --git a/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Emissive.uasset b/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Emissive.uasset new file mode 100644 index 0000000..9017f60 --- /dev/null +++ b/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Emissive.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:297a02274284a43aadbee6a518a3184c04db99e52a0ca9c2f438f79a8353f596 +size 17303 diff --git a/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Height.uasset b/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Height.uasset new file mode 100644 index 0000000..95be29a --- /dev/null +++ b/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Height.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c2d6c23ac8528453b134e6c5906de23b36d3dd73971dec5b33c47feec11e071 +size 226926 diff --git a/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Metallic.uasset b/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Metallic.uasset new file mode 100644 index 0000000..a7d0dcf --- /dev/null +++ b/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Metallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea8cec6c392c5d05640b2d686dc452c50fd2627a3bf4c05bfd85fc7a1b17bfd2 +size 11708 diff --git a/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Normal.uasset b/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Normal.uasset new file mode 100644 index 0000000..c2e81d2 --- /dev/null +++ b/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13261720f0b55ba6c8e8010b57fb0373fa71d57e6b2a92d47509c02b6b078702 +size 56459 diff --git a/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_OcclusionRoughnessMetallic.uasset b/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_OcclusionRoughnessMetallic.uasset new file mode 100644 index 0000000..67ee637 --- /dev/null +++ b/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_OcclusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0a575c18c131073073552ebd3326769caad93fd829a081d889626f93722bb95 +size 56630 diff --git a/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Roughness.uasset b/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Roughness.uasset new file mode 100644 index 0000000..2d85f1c --- /dev/null +++ b/Content/Assets/Objects/Tutrorial_Assets/tutorial_Wood_Texture/Plank_Long_lambert1_Roughness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f943f70100559d911172ec929b011e67b251c3f7df35ac97ce9bdb876be9fb5 +size 12006 diff --git a/Content/BlueprintAI/AI/AIBruh.uasset b/Content/BlueprintAI/AI/AIBruh.uasset index 25592c5..bd28064 100644 --- a/Content/BlueprintAI/AI/AIBruh.uasset +++ b/Content/BlueprintAI/AI/AIBruh.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:800bdc6bd6084e775a08f93e15e6c3131bc1e42051c43aeed6cce77a4a694319 -size 82006 +oid sha256:7cf3192a69ceecc6e6552c89a0093b9b2add8e0561001f82362d6485877d64d3 +size 82913 diff --git a/Content/BlueprintAI/AI/AIControllerBruh.uasset b/Content/BlueprintAI/AI/AIControllerBruh.uasset index 80d88e1..9737754 100644 --- a/Content/BlueprintAI/AI/AIControllerBruh.uasset +++ b/Content/BlueprintAI/AI/AIControllerBruh.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b3bf037902c2aa1ed7ada853c5c16a27b948ee58bab4fec7dfc395a7003cd94c -size 97758 +oid sha256:c5fd648c575abc38b53e4d6f99f64a879b19c0672c2fa6a97e77cea008fad1dd +size 98856 diff --git a/Content/Blueprints/Combat_UI/BP_TurnBaseCombatV2.uasset b/Content/Blueprints/Combat_UI/BP_TurnBaseCombatV2.uasset index fc8c04d..a34d1da 100644 --- a/Content/Blueprints/Combat_UI/BP_TurnBaseCombatV2.uasset +++ b/Content/Blueprints/Combat_UI/BP_TurnBaseCombatV2.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:24c95fe7e7607ae47a17cd32db55c6169323a9bae5fc7cd908e27a75b4ad1a4d -size 19741 +oid sha256:48e4a20b8adf64276d188ae33021a81a3236291342f32f294642a371a00d87c9 +size 19781 diff --git a/Content/Blueprints/Combat_UI/CombatCharacter.uasset b/Content/Blueprints/Combat_UI/CombatCharacter.uasset index 6078475..b19748d 100644 --- a/Content/Blueprints/Combat_UI/CombatCharacter.uasset +++ b/Content/Blueprints/Combat_UI/CombatCharacter.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:53c111471c3a161fb4ed5408ebeac5cfca08d224652308dbb07cac6d7b829d6b -size 76303 +oid sha256:64720f00ad671bcc7f35bcd686f276bb22050ef02657b39eb677d6dea4ca0940 +size 73128 diff --git a/Content/Blueprints/Combat_UI/Combat_UI.uasset b/Content/Blueprints/Combat_UI/Combat_UI.uasset index 416a260..c053719 100644 --- a/Content/Blueprints/Combat_UI/Combat_UI.uasset +++ b/Content/Blueprints/Combat_UI/Combat_UI.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:52a0bccd38454b1877744bb682416d170c6d74c8de74517c8856432b45915b79 -size 78977 +oid sha256:ec2d60b9e1497660f1b9a7efa8bc67a4c333d0de1016fde2f78c39f3fe9e6537 +size 72875 diff --git a/Content/Blueprints/Inventory_UI/WBP_PlayerInventory.uasset b/Content/Blueprints/Inventory_UI/WBP_PlayerInventory.uasset index 984f8e0..2a91515 100644 --- a/Content/Blueprints/Inventory_UI/WBP_PlayerInventory.uasset +++ b/Content/Blueprints/Inventory_UI/WBP_PlayerInventory.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3940f6af26ff8d95d3e97b80d27b253544786ead926e582015eb17fb8da42daf -size 111618 +oid sha256:fd6ffc07b98733694c91e0765050ee36312bbf61a6766e7561a2fcfd4cfafeef +size 134102 diff --git a/Content/Blueprints/Player/BP_MyTempCharacter.uasset b/Content/Blueprints/Player/BP_MyTempCharacter.uasset index b161173..3667ddf 100644 --- a/Content/Blueprints/Player/BP_MyTempCharacter.uasset +++ b/Content/Blueprints/Player/BP_MyTempCharacter.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e348a27c5a931226dba531ec739fec1e28b9f912e91b46078ed811fe50f06bd -size 54956 +oid sha256:f2a39b15f6e64703046d9cb9b437b04838acc10eb1f1465c94bd6d8b2c4395ed +size 55131 diff --git a/Content/Blueprints/StatusEffects/BP_HealOverTime.uasset b/Content/Blueprints/StatusEffects/BP_HealOverTime.uasset new file mode 100644 index 0000000..2ff1b6c --- /dev/null +++ b/Content/Blueprints/StatusEffects/BP_HealOverTime.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0aee695b01ab530144e7df203ac7f9f7d4d26683312d3c87a227fdeb924ae856 +size 6057 diff --git a/Content/Blueprints/StatusEffects/BP_Thorns.uasset b/Content/Blueprints/StatusEffects/BP_Thorns.uasset new file mode 100644 index 0000000..bf52405 --- /dev/null +++ b/Content/Blueprints/StatusEffects/BP_Thorns.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48a4ca28df9c381f5b0f29fd9a0a4a5ab3baad4524263a0cfac9be21675ad0eb +size 6382 diff --git a/Content/Blueprints/Status_UI/StatusIcon.uasset b/Content/Blueprints/Status_UI/StatusIcon.uasset new file mode 100644 index 0000000..74e0964 --- /dev/null +++ b/Content/Blueprints/Status_UI/StatusIcon.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a911529b7d90b0795d916aa06b7e43b3a488abce5af21ccd7bb79f2a3d4f1354 +size 26496 diff --git a/Content/Blueprints/Status_UI/StatusIndicator.uasset b/Content/Blueprints/Status_UI/StatusIndicator.uasset new file mode 100644 index 0000000..2271e59 --- /dev/null +++ b/Content/Blueprints/Status_UI/StatusIndicator.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4c57c2d0f42d4361bef541ca607987254abf8f4dee42b89368e99e52a27361e +size 24448 diff --git a/Content/BungeeMan/Mat_BungeeMan_Rubber.uasset b/Content/BungeeMan/Mat_BungeeMan_Rubber.uasset index d95d86c..3f7a968 100644 --- a/Content/BungeeMan/Mat_BungeeMan_Rubber.uasset +++ b/Content/BungeeMan/Mat_BungeeMan_Rubber.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:603e36c891890c2d263fbb621b4e95eacec250a0744a704fea5f3b1664ad542b -size 7502 +oid sha256:4f30c85ba6aaa8070a5ccb4ab047b6e15e6ac2e0e688d48f1878e3e2a2e4fe06 +size 6590 diff --git a/Content/Dialogue/DialogueTest.umap b/Content/Dialogue/DialogueTest.umap index f2a5797..9ce057c 100644 --- a/Content/Dialogue/DialogueTest.umap +++ b/Content/Dialogue/DialogueTest.umap @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f2c0cc2d73c9fd35cf193c48ae0546bd41a9a10dedfe8c60d504fe09b55e819 -size 41343 +oid sha256:10874d3de45d0093660a3b6e12561bc69214daafe2cd3072f9574c83f6cbc5d1 +size 40398 diff --git a/Content/Dialogue/NPCTest.uasset b/Content/Dialogue/NPCTest.uasset index e33f5cc..7ee990d 100644 --- a/Content/Dialogue/NPCTest.uasset +++ b/Content/Dialogue/NPCTest.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3d8d35e08f9a82472293b350e194a815b8e58c85084e33c6211de9f7c59a67a8 -size 47133 +oid sha256:f99fe93ed5bc4534338fea5cabf8e1d078c3b91032f9813339bbc56ac21caf6b +size 46996 diff --git a/Content/Environment/Test_imports/Modular_test.uasset b/Content/Environment/Test_imports/Modular_test.uasset new file mode 100644 index 0000000..c1122dd --- /dev/null +++ b/Content/Environment/Test_imports/Modular_test.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ed15571c85e9a6ab63980c19a7314360731247545600378ea936e510c3a7da8 +size 20391 diff --git a/Content/Environment/Test_imports/lambert1.uasset b/Content/Environment/Test_imports/lambert1.uasset new file mode 100644 index 0000000..03b04d1 --- /dev/null +++ b/Content/Environment/Test_imports/lambert1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b959b4cb13c44a109c99cdd2fbb1441fb4cc91dfa47b061241e753803e40e5c +size 8066 diff --git a/Content/Environment/Tutorial/Plank_Long.uasset b/Content/Environment/Tutorial/Plank_Long.uasset new file mode 100644 index 0000000..a235159 --- /dev/null +++ b/Content/Environment/Tutorial/Plank_Long.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14d21b1fe213f9f96498b4e2e1797816ce2a4c009b311fc5eecda958063ae8d8 +size 23469 diff --git a/Content/Environment/Tutorial/Plank_Short.uasset b/Content/Environment/Tutorial/Plank_Short.uasset new file mode 100644 index 0000000..43dd8ae --- /dev/null +++ b/Content/Environment/Tutorial/Plank_Short.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07061801ea63e6723ed0f34818d256f8b4f4eaa7dfd5fe8d1aedc5a5eb82b9ee +size 22206 diff --git a/Content/Environment/Tutorial/Tutorial_modular/lambert2.uasset b/Content/Environment/Tutorial/Tutorial_modular/lambert2.uasset new file mode 100644 index 0000000..866c69f --- /dev/null +++ b/Content/Environment/Tutorial/Tutorial_modular/lambert2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:519703def68f27b50639cca766de68f39d55f3e2687b4d324c833ef5cbe5fbd0 +size 8077 diff --git a/Content/Environment/Tutorial/Tutorial_modular/modularpiece1.uasset b/Content/Environment/Tutorial/Tutorial_modular/modularpiece1.uasset new file mode 100644 index 0000000..092c04f --- /dev/null +++ b/Content/Environment/Tutorial/Tutorial_modular/modularpiece1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55cef05963a5155f0d34519819856395cb314681343cfb1990ec4b7f24066cd3 +size 19704 diff --git a/Content/Environment/Tutorial/Tutorial_modular/modularpiece10.uasset b/Content/Environment/Tutorial/Tutorial_modular/modularpiece10.uasset new file mode 100644 index 0000000..006208a --- /dev/null +++ b/Content/Environment/Tutorial/Tutorial_modular/modularpiece10.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:361b1738dbc36912b962104512d55621eb8f223e6c5145c95b8aecd43ad43c1c +size 28433 diff --git a/Content/Environment/Tutorial/Tutorial_modular/modularpiece2.uasset b/Content/Environment/Tutorial/Tutorial_modular/modularpiece2.uasset new file mode 100644 index 0000000..6f82288 --- /dev/null +++ b/Content/Environment/Tutorial/Tutorial_modular/modularpiece2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70734c342ad9269eb86076147cb8563a178cc5cd223c440cea88eb1a97bead96 +size 24823 diff --git a/Content/Environment/Tutorial/Tutorial_modular/modularpiece3.uasset b/Content/Environment/Tutorial/Tutorial_modular/modularpiece3.uasset new file mode 100644 index 0000000..11edbdf --- /dev/null +++ b/Content/Environment/Tutorial/Tutorial_modular/modularpiece3.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53dc80831670680d50a5058d14db588a58bcc9173bf0eb1cb838f7b972bcfffe +size 21139 diff --git a/Content/Environment/Tutorial/Tutorial_modular/modularpiece4.uasset b/Content/Environment/Tutorial/Tutorial_modular/modularpiece4.uasset new file mode 100644 index 0000000..a466491 --- /dev/null +++ b/Content/Environment/Tutorial/Tutorial_modular/modularpiece4.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d4ac227909d8ccdb26306bd027dd85edff723c2553fb904d4fc15251d0eedbb +size 27114 diff --git a/Content/Environment/Tutorial/Tutorial_modular/modularpiece5.uasset b/Content/Environment/Tutorial/Tutorial_modular/modularpiece5.uasset new file mode 100644 index 0000000..b5fee80 --- /dev/null +++ b/Content/Environment/Tutorial/Tutorial_modular/modularpiece5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37b61429833a9934ce427377e91e469d0bcc600bbd759b93abd70dad79dbbc42 +size 31470 diff --git a/Content/Environment/Tutorial/Tutorial_modular/modularpiece6.uasset b/Content/Environment/Tutorial/Tutorial_modular/modularpiece6.uasset new file mode 100644 index 0000000..8b3ebbe --- /dev/null +++ b/Content/Environment/Tutorial/Tutorial_modular/modularpiece6.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c62b97703f948ebc1acf1807e23b39f8075b35ae8ac7d7e06feff7f19aadfdbd +size 23262 diff --git a/Content/Environment/Tutorial/Tutorial_modular/modularpiece7.uasset b/Content/Environment/Tutorial/Tutorial_modular/modularpiece7.uasset new file mode 100644 index 0000000..44763f2 --- /dev/null +++ b/Content/Environment/Tutorial/Tutorial_modular/modularpiece7.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15d819406573f45a94ed04f5dce1e74dafff7d1082ad4e3d20a6fd825e80f88b +size 31532 diff --git a/Content/Environment/Tutorial/Tutorial_modular/modularpiece8.uasset b/Content/Environment/Tutorial/Tutorial_modular/modularpiece8.uasset new file mode 100644 index 0000000..bfd2f69 --- /dev/null +++ b/Content/Environment/Tutorial/Tutorial_modular/modularpiece8.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45bd11c5b8140d5bcba016d78aafc52797e1bc7dbe1be40cf1b6e949501c86e2 +size 18375 diff --git a/Content/Environment/Tutorial/Tutorial_modular/modularpiece9.uasset b/Content/Environment/Tutorial/Tutorial_modular/modularpiece9.uasset new file mode 100644 index 0000000..fa6a6ca --- /dev/null +++ b/Content/Environment/Tutorial/Tutorial_modular/modularpiece9.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:becad27519d8f3c03da34d886a2ff72a855f23713206290c15daf34b2a409f3f +size 24656 diff --git a/Content/Environment/Tutorial/lambert1.uasset b/Content/Environment/Tutorial/lambert1.uasset new file mode 100644 index 0000000..d0a0eac --- /dev/null +++ b/Content/Environment/Tutorial/lambert1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3c9293f7153f1bb1dcedf4a478bd2b57d44fa758f5e8d7cea4e058251d007f7 +size 8052 diff --git a/Content/Environment/Tutorial/lambert2.uasset b/Content/Environment/Tutorial/lambert2.uasset new file mode 100644 index 0000000..529f20b --- /dev/null +++ b/Content/Environment/Tutorial/lambert2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16b69935e64e068253365e1c7af9e390ce24fbf14631054cae5dab165eba6514 +size 8054 diff --git a/Content/Environment/Tutorial/tutorial_level_ceiling.uasset b/Content/Environment/Tutorial/tutorial_level_ceiling.uasset new file mode 100644 index 0000000..c25aa41 --- /dev/null +++ b/Content/Environment/Tutorial/tutorial_level_ceiling.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f338118b96b39df7ed6b7308fb88988eca6966f3019ac49e6b027b0018ea9c5e +size 57139 diff --git a/Content/Environment/Tutorial/tutorial_level_ceiling1.uasset b/Content/Environment/Tutorial/tutorial_level_ceiling1.uasset new file mode 100644 index 0000000..fbd3df5 --- /dev/null +++ b/Content/Environment/Tutorial/tutorial_level_ceiling1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:191718a06a2ea3cfba18ccc2da40a50b0edb10d27fea08ddd04b57599c59471f +size 36987 diff --git a/Content/Environment/Tutorial/tutorial_level_ceiling2.uasset b/Content/Environment/Tutorial/tutorial_level_ceiling2.uasset new file mode 100644 index 0000000..a5da411 --- /dev/null +++ b/Content/Environment/Tutorial/tutorial_level_ceiling2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79b3ce67c13aad04651e5945b4d59dfbd9e7044afb9b8a964cc442d91605906e +size 41587 diff --git a/Content/Environment/Tutorial/tutorial_level_floor.uasset b/Content/Environment/Tutorial/tutorial_level_floor.uasset new file mode 100644 index 0000000..426ce47 --- /dev/null +++ b/Content/Environment/Tutorial/tutorial_level_floor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef47c2b4ea9222231c14a95e4d072d0e03e6f5c9485735118bf1ead84977ea1c +size 63591 diff --git a/Content/Environment/Tutorial/tutorial_level_floor1.uasset b/Content/Environment/Tutorial/tutorial_level_floor1.uasset new file mode 100644 index 0000000..64202c3 --- /dev/null +++ b/Content/Environment/Tutorial/tutorial_level_floor1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f40a88a34c17c952ef4010a7be89e5195ea0fd9c4875f716caced4e7ed8162a2 +size 106176 diff --git a/Content/Environment/Tutorial/tutorial_level_floor2.uasset b/Content/Environment/Tutorial/tutorial_level_floor2.uasset new file mode 100644 index 0000000..4308c48 --- /dev/null +++ b/Content/Environment/Tutorial/tutorial_level_floor2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e2bb1b9921244419bbe286628bec44f9c85d36c19fe1ccb5d2fb6d475d97ae6 +size 36749 diff --git a/Content/Fonts/Hachicro.uasset b/Content/Fonts/Hachicro.uasset new file mode 100644 index 0000000..7a50645 --- /dev/null +++ b/Content/Fonts/Hachicro.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44d6aec619f1778b296492f80dd71db30fb0d893b295dc4348ca610646f036c1 +size 19410 diff --git a/Content/Fonts/Hachicro_Font.uasset b/Content/Fonts/Hachicro_Font.uasset new file mode 100644 index 0000000..2bfe71c --- /dev/null +++ b/Content/Fonts/Hachicro_Font.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f30cae9bd42fd926ce19351cade127923947443bcd2e4652f535e6897cc23e9f +size 7227 diff --git a/Content/Images/Status/Buffs/attack_boost.uasset b/Content/Images/Status/Buffs/attack_boost.uasset new file mode 100644 index 0000000..54a0080 --- /dev/null +++ b/Content/Images/Status/Buffs/attack_boost.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e46c5ba8a3d7045ea3c9ba1a4845570042d22a6d5c0e30f476ffaa32e1acb99a +size 8548 diff --git a/Content/Images/Status/Buffs/attack_speed_boost.uasset b/Content/Images/Status/Buffs/attack_speed_boost.uasset new file mode 100644 index 0000000..22e6990 --- /dev/null +++ b/Content/Images/Status/Buffs/attack_speed_boost.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b888ed94cbbb66fd6e3d997c432851a4cabafeadf35514a59b2bed92e501175 +size 8683 diff --git a/Content/Images/Status/Buffs/critical_boost.uasset b/Content/Images/Status/Buffs/critical_boost.uasset new file mode 100644 index 0000000..93cfe70 --- /dev/null +++ b/Content/Images/Status/Buffs/critical_boost.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5290af0d52229123c2d760ea116a20cb4618b6e2cd975ac8f8d1f397083db3a4 +size 8651 diff --git a/Content/Images/Status/Buffs/defense_boost.uasset b/Content/Images/Status/Buffs/defense_boost.uasset new file mode 100644 index 0000000..079682e --- /dev/null +++ b/Content/Images/Status/Buffs/defense_boost.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d2d09cb9d5729a8b767444cdf68777a2cbde4b944b59488ddd2bec58e2e5d8c +size 8592 diff --git a/Content/Images/Status/Buffs/element_boost.uasset b/Content/Images/Status/Buffs/element_boost.uasset new file mode 100644 index 0000000..3d52739 --- /dev/null +++ b/Content/Images/Status/Buffs/element_boost.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cba5cc91553e28120b9baa106363e44a8fc9206ac510d818113e07b3bc90d3a6 +size 8672 diff --git a/Content/Images/Status/Buffs/enemy_spawn_down.uasset b/Content/Images/Status/Buffs/enemy_spawn_down.uasset new file mode 100644 index 0000000..c5f87b2 --- /dev/null +++ b/Content/Images/Status/Buffs/enemy_spawn_down.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:370265e94a26db872344db05659c0e11b1886fd368ef0a9e031a05ba807313c7 +size 8675 diff --git a/Content/Images/Status/Buffs/exp_boost.uasset b/Content/Images/Status/Buffs/exp_boost.uasset new file mode 100644 index 0000000..8ccf2eb --- /dev/null +++ b/Content/Images/Status/Buffs/exp_boost.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81be6ea7583c80940e193e86cfeb6ef6f710724b6b18a8858cebcf774accf160 +size 8528 diff --git a/Content/Images/Status/Buffs/ghost_form__physical_damage_immunity_.uasset b/Content/Images/Status/Buffs/ghost_form__physical_damage_immunity_.uasset new file mode 100644 index 0000000..57e6bac --- /dev/null +++ b/Content/Images/Status/Buffs/ghost_form__physical_damage_immunity_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39464d4f9ee0034a8c08100574e20ea8203bf500afe79a48c8cd606b0772c083 +size 9104 diff --git a/Content/Images/Status/Buffs/glow.uasset b/Content/Images/Status/Buffs/glow.uasset new file mode 100644 index 0000000..a8bb1b9 --- /dev/null +++ b/Content/Images/Status/Buffs/glow.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f1a2d8a86f890f7db9210a3bfc0ecebaad6774306ff4ff06081acdbdfa0342c +size 8347 diff --git a/Content/Images/Status/Buffs/knockback_boost.uasset b/Content/Images/Status/Buffs/knockback_boost.uasset new file mode 100644 index 0000000..50fb916 --- /dev/null +++ b/Content/Images/Status/Buffs/knockback_boost.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2759515beef849c0776f5caefb305123ded8b6771eb1c62d43c3078e10c35cbf +size 8642 diff --git a/Content/Images/Status/Buffs/knockback_resistance.uasset b/Content/Images/Status/Buffs/knockback_resistance.uasset new file mode 100644 index 0000000..5c90dd1 --- /dev/null +++ b/Content/Images/Status/Buffs/knockback_resistance.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2f22b5f0c090cd03e5323419044501ada85ad7ac37351cbc79a473665fd6b2a +size 8697 diff --git a/Content/Images/Status/Buffs/lucky_boost.uasset b/Content/Images/Status/Buffs/lucky_boost.uasset new file mode 100644 index 0000000..531e9f0 --- /dev/null +++ b/Content/Images/Status/Buffs/lucky_boost.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5747500e25ff2497b2d4bd22c2459e76e952da5b4fe0c6a3d5632f534ab96dff +size 8667 diff --git a/Content/Images/Status/Buffs/magic_amplification.uasset b/Content/Images/Status/Buffs/magic_amplification.uasset new file mode 100644 index 0000000..2071cd1 --- /dev/null +++ b/Content/Images/Status/Buffs/magic_amplification.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f58de31916978d216ff045fbc6fc41caa7a1588f9a9c39b4ced814567d629ed +size 8762 diff --git a/Content/Images/Status/Buffs/negative_status_resistance.uasset b/Content/Images/Status/Buffs/negative_status_resistance.uasset new file mode 100644 index 0000000..205c970 --- /dev/null +++ b/Content/Images/Status/Buffs/negative_status_resistance.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecc18e60bb78553066c835eb340fbae05fa60937389910d55372742db5ffc9cc +size 8851 diff --git a/Content/Images/Status/Buffs/regeneration.uasset b/Content/Images/Status/Buffs/regeneration.uasset new file mode 100644 index 0000000..fbd1e26 --- /dev/null +++ b/Content/Images/Status/Buffs/regeneration.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0bb05c88751b6372817d81c83d11cfc8a8353d5f332069a35760ded539c65bc +size 8590 diff --git a/Content/Images/Status/Buffs/swiftness.uasset b/Content/Images/Status/Buffs/swiftness.uasset new file mode 100644 index 0000000..877f356 --- /dev/null +++ b/Content/Images/Status/Buffs/swiftness.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c93be778d775b6dd91b8fa6f4163765f8df28a0e034cf40ba3514c777aac7fb1 +size 8517 diff --git a/Content/Images/Status/Debuffs/attack_down.uasset b/Content/Images/Status/Debuffs/attack_down.uasset new file mode 100644 index 0000000..a08b582 --- /dev/null +++ b/Content/Images/Status/Debuffs/attack_down.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d1739e8d4fd64a24097de0251418607b58f405ae913dce5e56544b95586636d +size 8580 diff --git a/Content/Images/Status/Debuffs/bleeding.uasset b/Content/Images/Status/Debuffs/bleeding.uasset new file mode 100644 index 0000000..4961f20 --- /dev/null +++ b/Content/Images/Status/Debuffs/bleeding.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd4e3797943e58e3e0eb409ebda4be7e3888ebbf0792819d01c03ac194fd8894 +size 8472 diff --git a/Content/Images/Status/Debuffs/blinded.uasset b/Content/Images/Status/Debuffs/blinded.uasset new file mode 100644 index 0000000..df27363 --- /dev/null +++ b/Content/Images/Status/Debuffs/blinded.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed788df2b3eddec84c5ff274b2a64d08d002d6e454d937aa8acf7b7e1f760896 +size 8485 diff --git a/Content/Images/Status/Debuffs/confused.uasset b/Content/Images/Status/Debuffs/confused.uasset new file mode 100644 index 0000000..1bd6188 --- /dev/null +++ b/Content/Images/Status/Debuffs/confused.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16a5b024a8403ae506e9c5fd2ff671d5cfc3218963029f096915f284e5b60162 +size 8427 diff --git a/Content/Images/Status/Debuffs/cursed__disarmed+silenced_.uasset b/Content/Images/Status/Debuffs/cursed__disarmed+silenced_.uasset new file mode 100644 index 0000000..f4aa53a --- /dev/null +++ b/Content/Images/Status/Debuffs/cursed__disarmed+silenced_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:973cb5fa98b4b312fa978a4b40e5dcabf194edf0959761ba055d86a9b43a4a7e +size 8905 diff --git a/Content/Images/Status/Debuffs/defense_down.uasset b/Content/Images/Status/Debuffs/defense_down.uasset new file mode 100644 index 0000000..6ad3ffa --- /dev/null +++ b/Content/Images/Status/Debuffs/defense_down.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:021c478150f29ddc2838f0a4670e3a8f3196ae8d0acb316c4de91b8e6628d370 +size 8634 diff --git a/Content/Images/Status/Debuffs/disarmed.uasset b/Content/Images/Status/Debuffs/disarmed.uasset new file mode 100644 index 0000000..c06c53e --- /dev/null +++ b/Content/Images/Status/Debuffs/disarmed.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9c49206f05ea63473531afe48a84b2d8289ee17ea84be50f1d8e9a0d6d52bbe +size 8495 diff --git a/Content/Images/Status/Debuffs/frozen.uasset b/Content/Images/Status/Debuffs/frozen.uasset new file mode 100644 index 0000000..61cd5fe --- /dev/null +++ b/Content/Images/Status/Debuffs/frozen.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2835a0324a4f59e24d3d533dd78b271b5244a8bbd0fbd409137eb70d9586f5d4 +size 8534 diff --git a/Content/Images/Status/Debuffs/hungry.uasset b/Content/Images/Status/Debuffs/hungry.uasset new file mode 100644 index 0000000..0f4217c --- /dev/null +++ b/Content/Images/Status/Debuffs/hungry.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1143b637b1788a00a68b80991861e0f1a68dc4477b54002ba1e28991719f2db2 +size 8435 diff --git a/Content/Images/Status/Debuffs/on_fire__burning_.uasset b/Content/Images/Status/Debuffs/on_fire__burning_.uasset new file mode 100644 index 0000000..19af6de --- /dev/null +++ b/Content/Images/Status/Debuffs/on_fire__burning_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a9ae6b324f9e6e4f62fa8a792a2b24bad03ec74ebba302f5c1e7c420363d413 +size 8752 diff --git a/Content/Images/Status/Debuffs/paralyzed.uasset b/Content/Images/Status/Debuffs/paralyzed.uasset new file mode 100644 index 0000000..cb6d5b2 --- /dev/null +++ b/Content/Images/Status/Debuffs/paralyzed.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81d9ddf6d22611b77190ca35608d45808964bfd8dfbb65fd529297969c3c2cd8 +size 8485 diff --git a/Content/Images/Status/Debuffs/poisoned.uasset b/Content/Images/Status/Debuffs/poisoned.uasset new file mode 100644 index 0000000..bad1ab1 --- /dev/null +++ b/Content/Images/Status/Debuffs/poisoned.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2847c3b169e1d6e6934795f8537849af799ac3eceee8aa2007c67b5d2e0442e +size 8462 diff --git a/Content/Images/Status/Debuffs/silenced.uasset b/Content/Images/Status/Debuffs/silenced.uasset new file mode 100644 index 0000000..6f21e97 --- /dev/null +++ b/Content/Images/Status/Debuffs/silenced.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfa05e72245fef1be1f2bdb5c1c9bd9a7308138c958e3368256638625e3b0f52 +size 8426 diff --git a/Content/Images/Status/Debuffs/sleeping.uasset b/Content/Images/Status/Debuffs/sleeping.uasset new file mode 100644 index 0000000..f06029a --- /dev/null +++ b/Content/Images/Status/Debuffs/sleeping.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98741b235f751a8247aa6330437473187b2c890869bb0154bde585284ecb2bc4 +size 8486 diff --git a/Content/Images/Status/Debuffs/slowed.uasset b/Content/Images/Status/Debuffs/slowed.uasset new file mode 100644 index 0000000..61f27cc --- /dev/null +++ b/Content/Images/Status/Debuffs/slowed.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fc4528446e56015fdde9475efde56c45b229077653f5573e2ddd4ad9193c38c +size 8464 diff --git a/Content/Images/Status/Debuffs/stunned.uasset b/Content/Images/Status/Debuffs/stunned.uasset new file mode 100644 index 0000000..c31f455 --- /dev/null +++ b/Content/Images/Status/Debuffs/stunned.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fd7d481a5fbb310aef21844122d94f158b40db92266728e60d48fe324610ea4 +size 8475 diff --git a/Content/Images/Status/Spells/blinding_light_spell.uasset b/Content/Images/Status/Spells/blinding_light_spell.uasset new file mode 100644 index 0000000..f50c0ba --- /dev/null +++ b/Content/Images/Status/Spells/blinding_light_spell.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:837bfac72945e01a104c09ca13e7e9ce1980451833ca720ffea335c7366a5019 +size 8783 diff --git a/Content/Images/Status/Spells/counterspell.uasset b/Content/Images/Status/Spells/counterspell.uasset new file mode 100644 index 0000000..5b5211e --- /dev/null +++ b/Content/Images/Status/Spells/counterspell.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62e2a2a31f86bb9b31ff0d8cc4bbf362a95d0a1ee9b052426ddbca38f887946c +size 8590 diff --git a/Content/Images/Status/Spells/divine_protection_spell.uasset b/Content/Images/Status/Spells/divine_protection_spell.uasset new file mode 100644 index 0000000..c2a1979 --- /dev/null +++ b/Content/Images/Status/Spells/divine_protection_spell.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6efe67f49f6c8423102eac1f809808d6b41e95c46b496fbc36fb2ce9d9eb646a +size 8869 diff --git a/Content/Images/Status/Spells/fire_spell.uasset b/Content/Images/Status/Spells/fire_spell.uasset new file mode 100644 index 0000000..105a578 --- /dev/null +++ b/Content/Images/Status/Spells/fire_spell.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6264d69eed816491b674b8c7c47c66732db87a580bdc958d47e8b95dd37940a1 +size 8533 diff --git a/Content/Images/Status/Spells/fire_spell_2.uasset b/Content/Images/Status/Spells/fire_spell_2.uasset new file mode 100644 index 0000000..263e3c3 --- /dev/null +++ b/Content/Images/Status/Spells/fire_spell_2.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bc43e63c53cbbd2b3c2029d02b6ad6df89e2bf733c6f2c373711901322a9cb5 +size 8562 diff --git a/Content/Images/Status/Spells/fortify_spell.uasset b/Content/Images/Status/Spells/fortify_spell.uasset new file mode 100644 index 0000000..e36adf8 --- /dev/null +++ b/Content/Images/Status/Spells/fortify_spell.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6491774828736de14fffc69b8a6c3250cecbe16a4bbe80bbacde69232d7b8cd9 +size 8613 diff --git a/Content/Images/Status/Spells/frenzy_spell__critical_booster_.uasset b/Content/Images/Status/Spells/frenzy_spell__critical_booster_.uasset new file mode 100644 index 0000000..500404a --- /dev/null +++ b/Content/Images/Status/Spells/frenzy_spell__critical_booster_.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dad00ca95d33f87965920aa4211e33c72c9d730018edeb186b1f28ef55eaf367 +size 8962 diff --git a/Content/Images/Status/Spells/healing_spell.uasset b/Content/Images/Status/Spells/healing_spell.uasset new file mode 100644 index 0000000..bef2d99 --- /dev/null +++ b/Content/Images/Status/Spells/healing_spell.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:551f7d4d30fbea7ce65e8bce39165a6bf8d5914168431eae0ca1749a855d99ea +size 8689 diff --git a/Content/Images/Status/Spells/ice_spell.uasset b/Content/Images/Status/Spells/ice_spell.uasset new file mode 100644 index 0000000..99aae5d --- /dev/null +++ b/Content/Images/Status/Spells/ice_spell.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfdd0e8f708f1f43df3101798d0835c85d1058a11599663418d13536f681a323 +size 8588 diff --git a/Content/Images/Status/Spells/lightning_spell.uasset b/Content/Images/Status/Spells/lightning_spell.uasset new file mode 100644 index 0000000..9c2a675 --- /dev/null +++ b/Content/Images/Status/Spells/lightning_spell.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67b74fa3cd59ef4828432f07dbd267c0399e73d9225581d0ee0371652f9544db +size 8644 diff --git a/Content/Images/Status/Spells/mana_replenish.uasset b/Content/Images/Status/Spells/mana_replenish.uasset new file mode 100644 index 0000000..15c7c9d --- /dev/null +++ b/Content/Images/Status/Spells/mana_replenish.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0382ee4eaed7a207286f444db2c5ead9ceb201a649f76280f917ea0fd5d241ca +size 8621 diff --git a/Content/Images/Status/Spells/poison_dagger.uasset b/Content/Images/Status/Spells/poison_dagger.uasset new file mode 100644 index 0000000..ef3a7b2 --- /dev/null +++ b/Content/Images/Status/Spells/poison_dagger.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f9d0178798289c2bcf03a5f312bd58de573d0e43c6349b0577347660954936e +size 8631 diff --git a/Content/Images/Status/Spells/summoning_spell.uasset b/Content/Images/Status/Spells/summoning_spell.uasset new file mode 100644 index 0000000..feaa3b2 --- /dev/null +++ b/Content/Images/Status/Spells/summoning_spell.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98623127dd59b679171c01be382fbdf9fd73b6d72101e3f0bf7a940262df78b9 +size 8549 diff --git a/Content/Images/Status/Spells/teleportation_spell.uasset b/Content/Images/Status/Spells/teleportation_spell.uasset new file mode 100644 index 0000000..f7e353f --- /dev/null +++ b/Content/Images/Status/Spells/teleportation_spell.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:630fb681eda360cb57fe213f348d3269ec725edbda9862b560f911e45331c0a0 +size 8773 diff --git a/Content/Images/Status/Spells/thorn_vine_spell.uasset b/Content/Images/Status/Spells/thorn_vine_spell.uasset new file mode 100644 index 0000000..c5024d9 --- /dev/null +++ b/Content/Images/Status/Spells/thorn_vine_spell.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:956359e34cc3ec186131b25c565d9bdf76f84091e426b0507d1db93794369c95 +size 8687 diff --git a/Content/Images/Status/Spells/water_spell.uasset b/Content/Images/Status/Spells/water_spell.uasset new file mode 100644 index 0000000..63038b5 --- /dev/null +++ b/Content/Images/Status/Spells/water_spell.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fcd2e8c9e359e6f80193688ae9b243f2de9447029fa9e4ff9f516581d56da40 +size 8551 diff --git a/Content/Levels/Testing/CombatTest.umap b/Content/Levels/Testing/CombatTest.umap new file mode 100644 index 0000000..0758945 --- /dev/null +++ b/Content/Levels/Testing/CombatTest.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0d8ed97a8536f05b20c0738d92255b4ef0c2afa1d5660a77bd9dccb47e2a2f4 +size 42614 diff --git a/Content/Levels/Testing/SneakMechanicTesting.umap b/Content/Levels/Testing/SneakMechanicTesting.umap new file mode 100644 index 0000000..e2cea40 --- /dev/null +++ b/Content/Levels/Testing/SneakMechanicTesting.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d44e1d44549e6cd4deb70fd46d4a804ad1ca3081b495b51f9258da3d741d6ab6 +size 36264 diff --git a/Content/Levels/Top_layer_level.umap b/Content/Levels/Top_layer_level.umap index dbb4467..aa9063c 100644 --- a/Content/Levels/Top_layer_level.umap +++ b/Content/Levels/Top_layer_level.umap @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3ddfcf9a4f7c3b3ab626893a0d6d13cac4483f9a471bbdba97d0d00efc563dd7 -size 248803 +oid sha256:b669fa5c78fb0e7924a4d8bd4e64f6764e093f9ac5a0a8575342fadb5d45fa47 +size 245297 diff --git a/Content/Levels/Tutorial.umap b/Content/Levels/Tutorial.umap new file mode 100644 index 0000000..65886bd --- /dev/null +++ b/Content/Levels/Tutorial.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43dc47aa1d087a7838f2f66ba03dbbd9ff8b82579c43989fe1843b225c14d0f9 +size 269010 diff --git a/Misc/Additional Resources/Links To Additional Resources.txt b/Misc/Additional Resources/Links To Additional Resources.txt index 51cbe97..26066be 100644 --- a/Misc/Additional Resources/Links To Additional Resources.txt +++ b/Misc/Additional Resources/Links To Additional Resources.txt @@ -1,8 +1,11 @@ -Combat Spread Sheet: -https://docs.google.com/spreadsheets/d/1s_uxjS8ir1pbt4-ofdOVpSPaQZVC8x9gQzS78bzE3KI/edit#gid=0 -https://docs.google.com/document/d/1Y6eYoKQPw9n8gl7p030fmtPjfJcE132YHAvwL7Gk4jk/edit +Combat Spread Sheet: https://docs.google.com/spreadsheets/d/1s_uxjS8ir1pbt4-ofdOVpSPaQZVC8x9gQzS78bzE3KI/edit?usp=sharing + +Combat Word Doc: https://docs.google.com/document/d/1Y6eYoKQPw9n8gl7p030fmtPjfJcE132YHAvwL7Gk4jk/edit?usp=sharing + +Enemy Spread Sheet: https://docs.google.com/spreadsheets/d/1NsmF43HhB2W9_BrQazy-rpT-GDlIZIQlLdvG18DWlkA/edit?usp=sharing + Level Blueprints - https://docs.google.com/presentation/d/1ckx8IpO-BIxTFy19MJoUy7EuAMYOYoWQE6x1E2egr1o/edit?usp=sharing diff --git a/Source/the_twilight_abyss/BaseItems/Items/EatableItems.cpp b/Source/the_twilight_abyss/BaseItems/Items/EatableItems.cpp index c481d7b..0d0098d 100644 --- a/Source/the_twilight_abyss/BaseItems/Items/EatableItems.cpp +++ b/Source/the_twilight_abyss/BaseItems/Items/EatableItems.cpp @@ -5,23 +5,25 @@ #include "the_twilight_abyss/BaseItems/InventoryComponent.h" #include "the_twilight_abyss/PlayerTemp/TempCharacter.h" +#include "the_twilight_abyss/TurnBasedCombatV2/StatusSystem.h" UEatableItems::UEatableItems() { - + static ConstructorHelpers::FClassFinder StatusEffectClassFinder(TEXT("/Game/Blueprints/StatusEffects/BP_HealOverTime")); + HealOverTimeStatusEffect = StatusEffectClassFinder.Class; } void UEatableItems::Use(ATempCharacter* Character) { - if(Character) + if (Character) { - if(isHealingItem) + if (isHealingItem) { if (Character->Health < 100) { - Character->Health += 10; - UE_LOG(LogTemp, Display, TEXT("Healed")); + UStatusSystem* StatusSystem = Character->FindComponentByClass(); + StatusSystem->AddStatusEffect(NewObject(Character, HealOverTimeStatusEffect)); Character->Inventory->RemoveItem(this); } else if (Character->Health >= 100) @@ -29,8 +31,8 @@ void UEatableItems::Use(ATempCharacter* Character) UE_LOG(LogTemp, Display, TEXT("Health is full")); } } - - if(isDamageBuffItem) + + if (isDamageBuffItem) { // need to add the damage buff functionality here UE_LOG(LogTemp, Display, TEXT("Damage Buffed")); @@ -40,16 +42,15 @@ void UEatableItems::Use(ATempCharacter* Character) if (isAmmoItemType) { TurnBaseCombat = GetWorld()->GetGameState(); - if (TurnBaseCombat->IronResource > 10) + if (TurnBaseCombat->ProbertiumResource > 10) { - TurnBaseCombat->IronResource += 5; + TurnBaseCombat->ProbertiumResource += 5; } - if (TurnBaseCombat->SulfurResource > 10) + if (TurnBaseCombat->EisResource > 10) { - TurnBaseCombat->SulfurResource += 5; + TurnBaseCombat->EisResource += 5; } Character->Inventory->RemoveItem(this); } } } - diff --git a/Source/the_twilight_abyss/BaseItems/Items/EatableItems.h b/Source/the_twilight_abyss/BaseItems/Items/EatableItems.h index dadfc27..7bb6ddc 100644 --- a/Source/the_twilight_abyss/BaseItems/Items/EatableItems.h +++ b/Source/the_twilight_abyss/BaseItems/Items/EatableItems.h @@ -5,6 +5,7 @@ #include "CoreMinimal.h" #include "BaseItem.h" #include "the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.h" +#include "the_twilight_abyss/TurnBasedCombatV2/StatusEffect.h" #include "EatableItems.generated.h" /** @@ -20,7 +21,8 @@ class THE_TWILIGHT_ABYSS_API UEatableItems : public UBaseItem protected: virtual void Use(class ATempCharacter* Character) override; - + UPROPERTY() + TSubclassOf HealOverTimeStatusEffect; private: diff --git a/Source/the_twilight_abyss/Dialogue/DialogueNPC.cpp b/Source/the_twilight_abyss/Dialogue/DialogueNPC.cpp index af4c7ba..db464e5 100644 --- a/Source/the_twilight_abyss/Dialogue/DialogueNPC.cpp +++ b/Source/the_twilight_abyss/Dialogue/DialogueNPC.cpp @@ -35,15 +35,15 @@ void UDialogueNPC::BeginPlay() void UDialogueNPC::NextDialogue() { //Dialogue Skip - if (CurrentDialogue.Len() < Dialogue[DialogueIndex].Len()) + if (CurrentDialogue.Len() < CurrentDialoguePath[DialogueIndex].Len()) { - CurrentDialogue = Dialogue[DialogueIndex]; + CurrentDialogue = CurrentDialoguePath[DialogueIndex]; DialogueText->SetText(FText::FromString(CurrentDialogue)); return; } DialogueIndex++; - if (DialogueIndex >= Dialogue.Num()) + if (DialogueIndex >= CurrentDialoguePath.Num()) { EndDialogue(); return; @@ -53,11 +53,11 @@ void UDialogueNPC::NextDialogue() void UDialogueNPC::NextCharacter() { - if (DialogueIndex >= Dialogue.Num()) return; + if (DialogueIndex >= CurrentDialoguePath.Num()) return; - if (CurrentDialogue.Len() < Dialogue[DialogueIndex].Len()) + if (CurrentDialogue.Len() < CurrentDialoguePath[DialogueIndex].Len()) { - CurrentDialogue.AppendChar(Dialogue[DialogueIndex][CurrentDialogue.Len()]); + CurrentDialogue.AppendChar(CurrentDialoguePath[DialogueIndex][CurrentDialogue.Len()]); DialogueText->SetText(FText::FromString(CurrentDialogue)); } } @@ -86,6 +86,7 @@ void UDialogueNPC::StartDialogue() DialogueIndex = 1; NPCNameText->SetText(FText::FromString(NPCName)); CurrentDialogue = ""; + CurrentDialoguePath = DialoguePaths[0].Dialogue; GetWorld()->GetTimerManager().SetTimer(TextAnimationTimerHandle, this, &UDialogueNPC::NextCharacter, TextAnimationSpeed, true); } @@ -105,14 +106,42 @@ void UDialogueNPC::EndDialogue() PlayerController->bShowMouseCursor = false; } -TArray UDialogueNPC::AddDialogue(FText TextInput, TArray DialogueArrayInput) +FDialoguePath UDialogueNPC::CreateRootDialoguePath() { - if (TextInput.IsEmpty()) return DialogueArrayInput; - DialogueArrayInput.Add(TextInput.ToString()); - return DialogueArrayInput; + return FDialoguePath(); +} + +FDialoguePath UDialogueNPC::CreateDialoguePath(FDialoguePath ParentDialoguePath) +{ + return FDialoguePath("#" + FString::FromInt(DialoguePaths.Num())); +} + +FDialoguePath UDialogueNPC::CreateDialogueChoice(FDialoguePath PreviousDialoguePath) +{ + return FDialoguePath(); +} + +bool UDialogueNPC::GotoDialoguePath(FString PathId) +{ + for (FDialoguePath DialogPath : DialoguePaths) + { + if (DialogPath.Dialogue[0] == PathId) + { + CurrentDialoguePath = DialogPath.Dialogue; + return true; + } + } + return false; +} + +FDialoguePath UDialogueNPC::AddDialogue(FText TextInput, FDialoguePath DialoguePath) +{ + if (TextInput.IsEmpty()) return DialoguePath; + DialoguePath.Dialogue.Add(TextInput.ToString()); + return DialoguePath; } void UDialogueNPC::GetFinalDialogue(TArray DialogueArray) { - Dialogue = DialogueArray; + DialoguePaths.Add(FDialoguePath(DialogueArray)); } diff --git a/Source/the_twilight_abyss/Dialogue/DialogueNPC.h b/Source/the_twilight_abyss/Dialogue/DialogueNPC.h index eeb8276..4b6f2f9 100644 --- a/Source/the_twilight_abyss/Dialogue/DialogueNPC.h +++ b/Source/the_twilight_abyss/Dialogue/DialogueNPC.h @@ -16,6 +16,30 @@ enum class EChoices : uint8 Choice3 UMETA(DisplayName="Choice 3"), }; +USTRUCT(BlueprintType) +struct FDialoguePath +{ + GENERATED_BODY() + + UPROPERTY() + TArray Dialogue; + + FDialoguePath() + { + Dialogue.Add("#ROOT"); + } + + FDialoguePath(FString Id) + { + Dialogue.Add(Id); + } + + explicit FDialoguePath(TArray Dialogue) + { + this->Dialogue = Dialogue; + } +}; + UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent)) class THE_TWILIGHT_ABYSS_API UDialogueNPC : public UActorComponent { @@ -29,7 +53,9 @@ public: FString NPCName; UPROPERTY() - TArray Dialogue; + TArray DialoguePaths; + + TArray CurrentDialoguePath; UPROPERTY(EditAnywhere) float TextAnimationSpeed = 0.05f; @@ -75,7 +101,19 @@ public: void EndDialogue(); UFUNCTION(BlueprintPure) - TArray AddDialogue(FText TextInput, TArray DialogueArrayInput); + FDialoguePath CreateRootDialoguePath(); + + UFUNCTION() + FDialoguePath CreateDialoguePath(FDialoguePath ParentDialoguePath); + + UFUNCTION(BlueprintPure) + FDialoguePath CreateDialogueChoice(FDialoguePath PreviousDialoguePath); + + UFUNCTION() + bool GotoDialoguePath(FString PathId); + + UFUNCTION(BlueprintPure) + FDialoguePath AddDialogue(FText TextInput, FDialoguePath DialoguePath); UFUNCTION(BlueprintCallable) void GetFinalDialogue(TArray DialogueArray); diff --git a/Source/the_twilight_abyss/PlayerTemp/TempCharacter.cpp b/Source/the_twilight_abyss/PlayerTemp/TempCharacter.cpp index 6710218..4cd5c2c 100644 --- a/Source/the_twilight_abyss/PlayerTemp/TempCharacter.cpp +++ b/Source/the_twilight_abyss/PlayerTemp/TempCharacter.cpp @@ -22,7 +22,6 @@ ATempCharacter::ATempCharacter() GoldBalance = GoldBalance; Health = Health; this->GetCharacterMovement()->GetNavAgentPropertiesRef().bCanCrouch = true; - } // Called when the game starts or when spawned @@ -36,8 +35,11 @@ void ATempCharacter::BeginPlay() //MAKE SURE POST PROCESSING IS IN THE SCENE OR GAME WILL CRASH UGameplayStatics::GetAllActorsOfClass(GetWorld(), APostProcessVolume::StaticClass(), AllActorsInScene); - PostProcessVolume = Cast(AllActorsInScene[0]); - + if (ensureMsgf(AllActorsInScene.Num() > 0, TEXT("No Post Processing Volume in scene"))) + { + PostProcessVolume = Cast(AllActorsInScene[0]); + } + Enemy = TEXT("Enemy"); UGameplayStatics::GetAllActorsWithTag(GetWorld(), Enemy, AIActors); @@ -49,6 +51,7 @@ void ATempCharacter::ForwardInput(float Axis) { AddMovementInput(UKismetMathLibrary::GetForwardVector(FRotator(0, GetControlRotation().Yaw, 0)) * Axis); } + //Binds the input we made in the setup player component to the right vector void ATempCharacter::RightMoveInput(float Axis) { @@ -61,7 +64,7 @@ void ATempCharacter::Sneak() if (bIsCrouched) { UnCrouch(); - PostProcessVolume->Settings.VignetteIntensity = 0.0f; + if (PostProcessVolume != nullptr) PostProcessVolume->Settings.VignetteIntensity = 0.0f; for (AActor* Actor : AIActors) { USphereComponent* SphereComponent = Actor->FindComponentByClass(); @@ -82,9 +85,8 @@ void ATempCharacter::Sneak() SphereComponent->SetSphereRadius(15.0f); } } - PostProcessVolume->Settings.VignetteIntensity = 0.8f; + if (PostProcessVolume != nullptr) PostProcessVolume->Settings.VignetteIntensity = 0.8f; } - } @@ -115,7 +117,6 @@ void ATempCharacter::KeyPressed() } - // Line trace logic void ATempCharacter::LineTraceLogic() { @@ -128,37 +129,37 @@ void ATempCharacter::LineTraceLogic() FCollisionQueryParams TraceParams; TraceParams.AddIgnoredActor(this); - + bHit = GetWorld()->LineTraceSingleByChannel(OutHit, Start, End, ECC_Visibility, TraceParams); if (bHit) { //we store the GetItem function from InventoryComponent into ItemArray variable - - if(OutHit.GetActor() == nullptr) + + if (OutHit.GetActor() == nullptr) { return; } - if(OutHit.GetActor()->FindComponentByClass()) + if (OutHit.GetActor()->FindComponentByClass()) { UE_LOG(LogTemp, Display, TEXT("Hit Merchant")); auto ItemArray = OutHit.GetActor()->FindComponentByClass()->GetItem(0); - if(GoldBalance >= ItemArray->ItemCostPrice) + if (GoldBalance >= ItemArray->ItemCostPrice) { GoldBalance -= ItemArray->ItemCostPrice; Inventory->AddItem(ItemArray); UE_LOG(LogTemp, Display, TEXT("Item Purchased")); } - if(GoldBalance <= 0) + if (GoldBalance <= 0) { UE_LOG(LogTemp, Display, TEXT("Not Enough Gold")); } - if(OutHit.GetActor()->ActorHasTag(Ammo)) + if (OutHit.GetActor()->ActorHasTag(Ammo)) { OutHit.GetActor()->Destroy(); } } // if the actor hit has the interaction component/script then it will activate the code - + if (AInteraction* MyInteractable = Cast(OutHit.GetActor())) { if (MyInteractable->ShopDialogWidget->IsVisible()) @@ -207,7 +208,7 @@ void ATempCharacter::InputDisabler() APlayerController* PlayerController = GetWorld()->GetFirstPlayerController(); PlayerController->SetInputMode(FInputModeUIOnly()); PlayerController->bShowMouseCursor = true; - + disableTab = true; if (ThisCamera != nullptr) { @@ -229,7 +230,7 @@ void ATempCharacter::InputEnabler() APlayerController* PlayerController = GetWorld()->GetFirstPlayerController(); PlayerController->SetInputMode(FInputModeGameOnly()); PlayerController->bShowMouseCursor = false; - + UE_LOG(LogTemp, Display, TEXT("Enabling Inputs")); disableTab = true; TraceDistance = 300; @@ -244,7 +245,7 @@ void ATempCharacter::InputEnabler() void ATempCharacter::UseItem(class UBaseItem* Item) { - if(Item) + if (Item) { Item->Use(this); Item->OnUse(this); //OnUse is a Blueprint Version @@ -257,7 +258,3 @@ void ATempCharacter::BuyItem() TraceDistance = 1000; LineTraceLogic(); } - - - - diff --git a/Source/the_twilight_abyss/PlayerTemp/TempCharacter.h b/Source/the_twilight_abyss/PlayerTemp/TempCharacter.h index 57675b2..f9d57fb 100644 --- a/Source/the_twilight_abyss/PlayerTemp/TempCharacter.h +++ b/Source/the_twilight_abyss/PlayerTemp/TempCharacter.h @@ -95,4 +95,6 @@ public: FName Ammo; + UPROPERTY(BlueprintReadWrite) + float ReactionSpeed = 100.0f; }; diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/HoldToInitCombat.cpp b/Source/the_twilight_abyss/TurnBasedCombatV2/HoldToInitCombat.cpp index 8b2a14f..a4253a2 100644 --- a/Source/the_twilight_abyss/TurnBasedCombatV2/HoldToInitCombat.cpp +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/HoldToInitCombat.cpp @@ -30,9 +30,7 @@ void UHoldToInitCombat::BeginPlay() InitCombatWidget = CreateWidget(GetWorld(), InitCombatWidgetClass); UInputComponent* PlayerInputComponent = GetWorld()->GetFirstPlayerController()->InputComponent; - //Bind Right Mouse Button to the function OnRightClickDown PlayerInputComponent->BindAction("RightClick", IE_Pressed, this, &UHoldToInitCombat::OnRightClickDown); - //Bind Right Mouse Button to the function OnRightClickUp PlayerInputComponent->BindAction("RightClick", IE_Released, this, &UHoldToInitCombat::OnRightClickUp); } @@ -42,7 +40,6 @@ void UHoldToInitCombat::TickComponent(float DeltaTime, ELevelTick TickType, FAct { Super::TickComponent(DeltaTime, TickType, ThisTickFunction); - // //If the player is holding down the right mouse button for 3 seconds, then the player will enter combat mode // if (bRightClickDown && RightClickDownTime < 0.1f) // { // RightClickDownTime += DeltaTime; @@ -73,9 +70,7 @@ void UHoldToInitCombat::OnRightClickDown() if (GunEffect) { - //Get Player Actor const AActor* PlayerActor = GetWorld()->GetFirstPlayerController()->GetPawn(); - //Get Static Mesh Location on the player actor const UStaticMeshComponent* GunComponent = Cast(PlayerActor->GetComponentsByTag(UPrimitiveComponent::StaticClass(), FName("Gun"))[0]); const FVector GunLocationOffset = GunComponent->GetSocketTransform("Muzzle").TransformPosition(FVector(-100, 0, 0)); UNiagaraFunctionLibrary::SpawnSystemAtLocation(GetWorld(), GunEffect, GunLocationOffset, PlayerActor->GetActorRotation()); diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffect.cpp b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffect.cpp new file mode 100644 index 0000000..036547b --- /dev/null +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffect.cpp @@ -0,0 +1,41 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "StatusEffect.h" + +#include "StatusSystem.h" +#include "Kismet/GameplayStatics.h" +#include "Components/TextBlock.h" + +void UStatusEffect::Invoke(AActor* Character, float TimeOfInit) +{ + GetWorld()->GetTimerManager().SetTimer(ExpiryTimerHandle, [this, Character, TimeOfInit] { CheckForExpiry(TimeOfInit, Character); }, 1, true, 0); +} + +void UStatusEffect::OnExpiry(AActor* Character) +{ + GetWorld()->GetTimerManager().ClearTimer(ExpiryTimerHandle); + UStatusSystem* StatusSystem = Cast(Character->GetComponentByClass(UStatusSystem::StaticClass())); + if (StatusSystem->GetActiveStatusEffect(this).StatusIcon == nullptr) return; + StatusSystem->GetActiveStatusEffect(this).StatusIcon->RemoveFromParent(); + StatusSystem->RemoveStatusEffect(this); +} + +void UStatusEffect::OnPlayerTurn(AActor* Character) +{ + return; +} + +void UStatusEffect::OnEnemyTurn(AActor* Character) +{ + return; +} + +void UStatusEffect::CheckForExpiry(const float TimeOfExpiry, AActor* Character) +{ + if (TimeOfExpiry <= UGameplayStatics::GetRealTimeSeconds(GetWorld())) OnExpiry(Character); + UStatusSystem* StatusSystem = Cast(Character->GetComponentByClass(UStatusSystem::StaticClass())); + if (StatusSystem->GetActiveStatusEffect(this).StatusIcon == nullptr) return; + UTextBlock* StatusText = Cast(StatusSystem->GetActiveStatusEffect(this).StatusIcon->GetWidgetFromName(TEXT("DurationText"))); + StatusText->SetText(FText::FromString(FString::FromInt(TimeOfExpiry - UGameplayStatics::GetRealTimeSeconds(GetWorld())))); +} diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffect.h b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffect.h new file mode 100644 index 0000000..317bc56 --- /dev/null +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffect.h @@ -0,0 +1,44 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "UObject/NoExportTypes.h" +#include "StatusEffect.generated.h" + +/** + * + */ +UCLASS(Abstract, Blueprintable) +class THE_TWILIGHT_ABYSS_API UStatusEffect : public UObject +{ + GENERATED_BODY() + +public: + UPROPERTY(EditAnywhere, BlueprintReadWrite) + FString Name; + UPROPERTY(EditAnywhere, BlueprintReadWrite) + FString Description; + UPROPERTY(EditAnywhere, BlueprintReadWrite) + float BaseDuration; + UPROPERTY(EditAnywhere, BlueprintReadWrite) + UTexture2D* Icon; + + UFUNCTION() + virtual void Invoke(AActor* Character, float TimeOfExpiry); + + UFUNCTION() + virtual void OnExpiry(AActor* Character); + + UFUNCTION() + virtual void OnPlayerTurn(AActor* Character); + + UFUNCTION() + virtual void OnEnemyTurn(AActor* Character); + +protected: + UPROPERTY() + FTimerHandle ExpiryTimerHandle; + UFUNCTION() + void CheckForExpiry(float TimeOfExpiry, AActor* Character); +}; diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/HealOverTime.cpp b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/HealOverTime.cpp new file mode 100644 index 0000000..4e6c2cc --- /dev/null +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/HealOverTime.cpp @@ -0,0 +1,30 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "HealOverTime.h" + +#include "the_twilight_abyss/PlayerTemp/TempCharacter.h" + +void UHealOverTime::Heal(AActor* Character, const float Amount) const +{ + if (ATempCharacter* CastedCharacter = Cast(Character); CastedCharacter->Health < 100) + { + CastedCharacter->Health += Amount; + } + else + { + CastedCharacter->Health = 100; + } +} + +void UHealOverTime::Invoke(AActor* Character, float TimeOfExpiry) +{ + Super::Invoke(Character, TimeOfExpiry); + GetWorld()->GetTimerManager().SetTimer(HealTimerHandle, [this, Character] { Heal(Character, 1); }, 1, true, 0); +} + +void UHealOverTime::OnExpiry(AActor* Character) +{ + GetWorld()->GetTimerManager().ClearTimer(HealTimerHandle); + Super::OnExpiry(Character); +} diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/HealOverTime.h b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/HealOverTime.h new file mode 100644 index 0000000..74f1850 --- /dev/null +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/HealOverTime.h @@ -0,0 +1,25 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "../StatusEffect.h" +#include "HealOverTime.generated.h" + +/** + * + */ +UCLASS() +class THE_TWILIGHT_ABYSS_API UHealOverTime : public UStatusEffect +{ + GENERATED_BODY() + +protected: + UFUNCTION() + void Heal(AActor* Character, float Amount) const; + +public: + FTimerHandle HealTimerHandle; + virtual void Invoke(AActor* Character, float TimeOfExpiry) override; + virtual void OnExpiry(AActor* Character) override; +}; diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/Thorns.cpp b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/Thorns.cpp new file mode 100644 index 0000000..ae9f142 --- /dev/null +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/Thorns.cpp @@ -0,0 +1,14 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "Thorns.h" + +void UThorns::Invoke(AActor* Character, float TimeOfExpiry) +{ + Super::Invoke(Character, TimeOfExpiry); +} + +void UThorns::OnExpiry(AActor* Character) +{ + Super::OnExpiry(Character); +} diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/Thorns.h b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/Thorns.h new file mode 100644 index 0000000..9abc89c --- /dev/null +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusEffects/Thorns.h @@ -0,0 +1,20 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "../StatusEffect.h" +#include "Thorns.generated.h" + +/** + * + */ +UCLASS() +class THE_TWILIGHT_ABYSS_API UThorns : public UStatusEffect +{ + GENERATED_BODY() + +public: + virtual void Invoke(AActor* Character, float TimeOfExpiry) override; + virtual void OnExpiry(AActor* Character) override; +}; diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/StatusSystem.cpp b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusSystem.cpp new file mode 100644 index 0000000..d3138dc --- /dev/null +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusSystem.cpp @@ -0,0 +1,76 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "StatusSystem.h" +#include + +#include "Blueprint/UserWidget.h" +#include "Components/Image.h" +#include "Components/TextBlock.h" + +// Sets default values for this component's properties +UStatusSystem::UStatusSystem() +{ + // Set this component to be initialized when the game starts, and to be ticked every frame. You can turn these features + // off to improve performance if you don't need them. + PrimaryComponentTick.bCanEverTick = true; + static ConstructorHelpers::FClassFinder HUDStatusIndicatorsWidgetClassFinder(TEXT("/Game/Blueprints/Status_UI/StatusIndicator")); + HUDStatusIndicatorsWidget = HUDStatusIndicatorsWidgetClassFinder.Class; + static ConstructorHelpers::FClassFinder HUDStatusIconWidgetClassFinder(TEXT("/Game/Blueprints/Status_UI/StatusIcon")); + HUDStatusIconWidget = HUDStatusIconWidgetClassFinder.Class; +} + + +// Called when the game starts +void UStatusSystem::BeginPlay() +{ + Super::BeginPlay(); + + HUDStatusIndicators = CreateWidget(GetWorld(), HUDStatusIndicatorsWidget); + HUDStatusIndicators->AddToViewport(); + StatusIconsBox = Cast(HUDStatusIndicators->GetWidgetFromName(TEXT("StatusIndicators"))); +} + + +// Called every frame +void UStatusSystem::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) +{ + Super::TickComponent(DeltaTime, TickType, ThisTickFunction); +} + +void UStatusSystem::AddStatusEffect(UStatusEffect* StatusEffect, const float DurationMultiplier, const bool Invoke) +{ + FActiveStatusEffect NewStatusEffect; + NewStatusEffect.StatusEffect = StatusEffect; + NewStatusEffect.TimeInitiated = UGameplayStatics::GetRealTimeSeconds(GetWorld()); + NewStatusEffect.TimeTillExpiry = UGameplayStatics::GetRealTimeSeconds(GetWorld()) + StatusEffect->BaseDuration * DurationMultiplier; + NewStatusEffect.StatusIcon = CreateWidget(GetWorld(), HUDStatusIconWidget); + UImage* StatusIconImage = Cast(NewStatusEffect.StatusIcon->GetWidgetFromName(TEXT("StatusIconImage"))); + StatusIconImage->SetBrushFromTexture(StatusEffect->Icon); + StatusIconsBox->AddChild(NewStatusEffect.StatusIcon); + if (Invoke) NewStatusEffect.StatusEffect->Invoke(GetOwner(), NewStatusEffect.TimeTillExpiry); + + ActiveStatusEffects.Add(NewStatusEffect); +} + +void UStatusSystem::RemoveStatusEffect(UStatusEffect* StatusEffect) +{ + if (ActiveStatusEffects.Contains(FActiveStatusEffect{0, 0, StatusEffect, nullptr})) + { + ActiveStatusEffects.Remove(FActiveStatusEffect{0, 0, StatusEffect, nullptr}); + } + else + { + UE_LOG(LogTemp, Warning, TEXT("StatusEffect not found in ActiveStatusEffects")); + } +} + +FActiveStatusEffect UStatusSystem::GetActiveStatusEffect(UStatusEffect* StatusEffect) +{ + if (ActiveStatusEffects.Contains(FActiveStatusEffect{0, 0, StatusEffect, nullptr})) + { + return ActiveStatusEffects[ActiveStatusEffects.Find(FActiveStatusEffect{0, 0, StatusEffect, nullptr})]; + } + UE_LOG(LogTemp, Warning, TEXT("StatusEffect not found in ActiveStatusEffects")); + return FActiveStatusEffect(); +} diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/StatusSystem.h b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusSystem.h new file mode 100644 index 0000000..1076de3 --- /dev/null +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/StatusSystem.h @@ -0,0 +1,70 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Components/ActorComponent.h" +#include "StatusEffect.h" +#include "Components/WrapBox.h" +#include "StatusSystem.generated.h" + +USTRUCT() +struct FActiveStatusEffect +{ + GENERATED_BODY() + + UPROPERTY() + float TimeInitiated; + UPROPERTY() + float TimeTillExpiry; + + UPROPERTY() + UStatusEffect* StatusEffect; + + UPROPERTY() + UUserWidget* StatusIcon; + + bool operator==(const FActiveStatusEffect& Comp) const + { + return StatusEffect == Comp.StatusEffect; + } +}; + +UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) +class THE_TWILIGHT_ABYSS_API UStatusSystem : public UActorComponent +{ + GENERATED_BODY() + +public: + // Sets default values for this component's properties + UStatusSystem(); + + UPROPERTY() + TSubclassOf HUDStatusIndicatorsWidget; + UPROPERTY() + TSubclassOf HUDStatusIconWidget; + UPROPERTY() + UUserWidget* HUDStatusIndicators; + UPROPERTY() + UWrapBox* StatusIconsBox; + + UPROPERTY() + TArray ActiveStatusEffects; + +protected: + // Called when the game starts + virtual void BeginPlay() override; + +public: + // Called every frame + virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override; + + UFUNCTION() + void AddStatusEffect(UStatusEffect* StatusEffect, float DurationMultiplier = 1.0f, bool Invoke = true); + + UFUNCTION() + void RemoveStatusEffect(UStatusEffect* StatusEffect); + + UFUNCTION() + FActiveStatusEffect GetActiveStatusEffect(UStatusEffect* StatusEffect); +}; diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp b/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp index b2c29ff..fa527c2 100644 --- a/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.cpp @@ -4,6 +4,7 @@ #include "TurnBaseCombatV2.h" #include "CoreMinimal.h" #include "AIController.h" +#include "StatusSystem.h" #include "Blueprint/UserWidget.h" #include "BehaviorTree/BlackboardComponent.h" #include "Components/TextBlock.h" @@ -17,9 +18,10 @@ ATurnBaseCombatV2::ATurnBaseCombatV2() { if (HUDWidget == nullptr) { - // Load the HUD widget from the specified path static ConstructorHelpers::FClassFinder HUDWidgetClass(TEXT("/Game/Blueprints/Combat_UI/Combat_UI")); HUDWidget = HUDWidgetClass.Class; + static ConstructorHelpers::FClassFinder StatusEffectThornsClassFinder(TEXT("/Game/Blueprints/StatusEffects/BP_Thorns")); + ThornsStatusEffect = StatusEffectThornsClassFinder.Class; } } @@ -27,7 +29,7 @@ void ATurnBaseCombatV2::StartCombat(AActor* Enemy) { if (Enemy == nullptr) return; UBlackboardComponent* EnemyBlackboard = Cast(Enemy->GetInstigatorController())->GetBlackboardComponent(); - + if (EnemyBlackboard->GetValueAsBool("IsInCombat")) return; EnemyBlackboard->SetValueAsBool("IsInCombat", true); FProperty* HealthProperty = Enemy->GetClass()->FindPropertyByName(FName("Health")); @@ -39,8 +41,10 @@ void ATurnBaseCombatV2::StartCombat(AActor* Enemy) HUD->AddToViewport(); EnemyActor = Enemy; - IronResource = 10; - SulfurResource = 10; + ProbertiumResource = 10; + EisResource = 10; + AzosResource = 10; + IroquoidResource = 10; //Disable Character Movement if (ACharacter* PlayerCharacter = Cast(GetWorld()->GetFirstPlayerController()->GetPawn())) @@ -51,7 +55,7 @@ void ATurnBaseCombatV2::StartCombat(AActor* Enemy) APlayerController* PlayerController = GetWorld()->GetFirstPlayerController(); PlayerController->SetInputMode(FInputModeUIOnly()); PlayerController->bShowMouseCursor = true; - + CurrentComboString = ""; UpdateComboString(CurrentComboString); RevertActionPoints(); @@ -62,7 +66,11 @@ void ATurnBaseCombatV2::StartCombat(AActor* Enemy) void ATurnBaseCombatV2::EndCombat() { - //Remove the HUD from the viewport + for (UStatusEffect* StatusEffect : StatusEffects) + { + StatusEffect->OnExpiry(PlayerActor); + } + HUD->RemoveFromParent(); APawn* PlayerPawn = Cast(GetWorld()->GetFirstPlayerController()->GetPawn()); PlayerPawn->bUseControllerRotationYaw = true; @@ -80,12 +88,12 @@ void ATurnBaseCombatV2::EndCombat() void ATurnBaseCombatV2::FKeyPressed() { - FButtonOnClick(); + PButtonOnClick(); } void ATurnBaseCombatV2::WKeyPressed() { - WButtonOnClick(); + EButtonOnClick(); } void ATurnBaseCombatV2::BeginPlay() @@ -109,16 +117,22 @@ void ATurnBaseCombatV2::BeginPlay() BattleLogTextBlock = Cast(HUD->GetWidgetFromName("BattleLog")); PlayerHealthBar = Cast(HUD->GetWidgetFromName("PlayerHealthBar")); EnemyHealthBar = Cast(HUD->GetWidgetFromName("EnemyHealthBar")); - IronResourceBar = Cast(HUD->GetWidgetFromName("IronResourceBar")); - SulfurResourceBar = Cast(HUD->GetWidgetFromName("SulfurResourceBar")); + ProbertiumResourceBar = Cast(HUD->GetWidgetFromName("ProbertiumResourceBar")); + EisResourceBar = Cast(HUD->GetWidgetFromName("EisResourceBar")); + AzosResourceBar = Cast(HUD->GetWidgetFromName("AzosResourceBar")); + IroquoidResourceBar = Cast(HUD->GetWidgetFromName("IroquoidResourceBar")); CastButton = Cast(HUD->GetWidgetFromName("CastButton")); - FButton = Cast(HUD->GetWidgetFromName("FButton")); - WButton = Cast(HUD->GetWidgetFromName("WButton")); + PButton = Cast(HUD->GetWidgetFromName("PButton")); + EButton = Cast(HUD->GetWidgetFromName("EButton")); + AButton = Cast(HUD->GetWidgetFromName("AButton")); + IButton = Cast(HUD->GetWidgetFromName("IButton")); BackspaceButton = Cast(HUD->GetWidgetFromName("BackspaceButton")); RunButton = Cast(HUD->GetWidgetFromName("RunButton")); CastButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::CastButtonOnClick); - FButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::FButtonOnClick); - WButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::WButtonOnClick); + PButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::PButtonOnClick); + EButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::EButtonOnClick); + AButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::AButtonOnClick); + IButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::IButtonOnClick); BackspaceButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::BackspaceButtonOnClick); RunButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::RunButtonOnClick); } @@ -128,16 +142,23 @@ void ATurnBaseCombatV2::ExecuteCast(FString Combo) if (!IsValidCombo(Combo)) { GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Invalid Combo")); - //For each character in the current combo add back the resource for (int i = 0; i < Combo.Len(); i++) { - if (Combo[i] == 'F') + if (Combo[i] == 'P') { - IronResource += 1; + ProbertiumResource += 1; } - else if (Combo[i] == 'W') + else if (Combo[i] == 'E') { - SulfurResource += 1; + EisResource += 1; + } + else if (Combo[i] == 'A') + { + AzosResource += 1; + } + else if (Combo[i] == 'I') + { + IroquoidResource += 1; } } CurrentComboString = ""; @@ -147,10 +168,19 @@ void ATurnBaseCombatV2::ExecuteCast(FString Combo) UpdateResourceBars(); return; } + if (IsSpecialCombo(Combo)) + { + UStatusSystem* StatusSystem = Cast(PlayerActor->GetComponentByClass(UStatusSystem::StaticClass())); + if (Combo == "AAE") + { + UStatusEffect* TempThornsStatusEffect = NewObject(PlayerActor, ThornsStatusEffect); + StatusSystem->AddStatusEffect(TempThornsStatusEffect, 1, false); + StatusEffects.Add(TempThornsStatusEffect); + } + } if (GunEffect) { - //Get Static Mesh Location on the player actor const UStaticMeshComponent* GunComponent = Cast(PlayerActor->GetComponentsByTag(UPrimitiveComponent::StaticClass(), FName("Gun"))[0]); const FVector GunLocationOffset = GunComponent->GetSocketTransform("Muzzle").TransformPosition(FVector(-100, 0, 0)); UNiagaraFunctionLibrary::SpawnSystemAtLocation(GetWorld(), GunEffect, GunLocationOffset, PlayerActor->GetActorRotation()); @@ -167,14 +197,17 @@ void ATurnBaseCombatV2::ExecuteCast(FString Combo) // Player Turn DamageEnemy(*ValidCombos.Find(Combo)); GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Green, FString::Printf(TEXT("Enemy Damaged %d"), *ValidCombos.Find(Combo))); + OnPlayerTurn.Broadcast(PlayerActor, EnemyActor); break; case false: // Enemy Turn DamagePlayer(*ValidCombos.Find(Combo)); GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Green, FString::Printf(TEXT("Player Damaged %d"), *ValidCombos.Find(Combo))); + OnEnemyTurn.Broadcast(EnemyActor, PlayerActor); break; } - //End Combat if either the player or enemy is dead + + //Ends Combat if either the player or enemy is dead if (*EnemyHealth <= 0) { EndCombat(); @@ -228,18 +261,23 @@ void ATurnBaseCombatV2::UpdateProgressBars() const EnemyHealthBar->SetPercent(*EnemyHealth / 100.0f); } -bool ATurnBaseCombatV2::IsValidCombo(FString Combo) const +bool ATurnBaseCombatV2::IsValidCombo(const FString Combo) const { return ValidCombos.Contains(Combo); } +bool ATurnBaseCombatV2::IsSpecialCombo(const FString Combo) const +{ + return SpecialCombos.Contains(Combo); +} + void ATurnBaseCombatV2::SwitchTurn() { //TurnIndicatorTextBlock->SetText(FText::FromString(bIsPlayerTurn ? "Enemy Turn" : "Player Turn")); //bIsPlayerTurn = !bIsPlayerTurn; TurnIndicatorTextBlock->SetText(FText::FromString("Enemy Turn")); ToggleButtons(); - //wait for 2 seconds + FTimerHandle UnusedHandle; GetWorldTimerManager().SetTimer(UnusedHandle, this, &ATurnBaseCombatV2::EnemyTurn, 2.0f, false); @@ -251,41 +289,79 @@ void ATurnBaseCombatV2::CastButtonOnClick() ExecuteCast(CurrentComboString); } -void ATurnBaseCombatV2::FButtonOnClick() +void ATurnBaseCombatV2::PButtonOnClick() { if (ActiveActionPoints >= DefaultActionPoints) { GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("No More Action Points")); return; } - if (IronResource <= 0) + if (ProbertiumResource <= 0) { - GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("No More Iron")); + GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("No More Probertium")); return; } UseActionPoint(); - CurrentComboString.AppendChar('F'); + CurrentComboString.AppendChar('P'); UpdateComboString(CurrentComboString); - IronResource -= 1; + ProbertiumResource -= 1; UpdateResourceBars(); } -void ATurnBaseCombatV2::WButtonOnClick() +void ATurnBaseCombatV2::EButtonOnClick() { if (ActiveActionPoints >= DefaultActionPoints) { GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("No More Action Points")); return; } - if (SulfurResource <= 0) + if (EisResource <= 0) { - GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("No More Sulfur")); + GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("No More Eis")); return; } UseActionPoint(); - CurrentComboString.AppendChar('W'); + CurrentComboString.AppendChar('E'); UpdateComboString(CurrentComboString); - SulfurResource -= 1; + EisResource -= 1; + UpdateResourceBars(); +} + +void ATurnBaseCombatV2::AButtonOnClick() +{ + if (ActiveActionPoints >= DefaultActionPoints) + { + GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("No More Action Points")); + return; + } + if (AzosResource <= 0) + { + GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("No More Azos")); + return; + } + UseActionPoint(); + CurrentComboString.AppendChar('A'); + UpdateComboString(CurrentComboString); + AzosResource -= 1; + UpdateResourceBars(); +} + +void ATurnBaseCombatV2::IButtonOnClick() +{ + if (ActiveActionPoints >= DefaultActionPoints) + { + GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("No More Action Points")); + return; + } + if (IroquoidResource <= 0) + { + GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("No More Iroquoid")); + return; + } + UseActionPoint(); + CurrentComboString.AppendChar('I'); + UpdateComboString(CurrentComboString); + IroquoidResource -= 1; UpdateResourceBars(); } @@ -297,13 +373,21 @@ void ATurnBaseCombatV2::BackspaceButtonOnClick() return; } ReuseActionPoint(); - if (CurrentComboString.Right(1) == "F") + if (CurrentComboString.Right(1) == "P") { - IronResource += 1; + ProbertiumResource += 1; } - else if (CurrentComboString.Right(1) == "W") + else if (CurrentComboString.Right(1) == "E") { - SulfurResource += 1; + EisResource += 1; + } + else if (CurrentComboString.Right(1) == "A") + { + AzosResource += 1; + } + else if (CurrentComboString.Right(1) == "I") + { + IroquoidResource += 1; } CurrentComboString.RemoveAt(CurrentComboString.Len() - 1); UpdateComboString(CurrentComboString); @@ -313,7 +397,7 @@ void ATurnBaseCombatV2::BackspaceButtonOnClick() void ATurnBaseCombatV2::RunButtonOnClick() { UBlackboardComponent* EnemyBlackboard = Cast(EnemyActor->GetInstigatorController())->GetBlackboardComponent(); - + EnemyBlackboard->SetValueAsBool("IsInCombat", false); EndCombat(); } @@ -351,14 +435,18 @@ void ATurnBaseCombatV2::UpdateBattleLog() void ATurnBaseCombatV2::UpdateResourceBars() const { - IronResourceBar->SetPercent(IronResource / 10.0f); - SulfurResourceBar->SetPercent(SulfurResource / 10.0f); + ProbertiumResourceBar->SetPercent(ProbertiumResource / 10.0f); + EisResourceBar->SetPercent(EisResource / 10.0f); + AzosResourceBar->SetPercent(AzosResource / 10.0f); + IroquoidResourceBar->SetPercent(IroquoidResource / 10.0f); } void ATurnBaseCombatV2::ToggleButtons() const { - FButton->SetIsEnabled(!FButton->GetIsEnabled()); - WButton->SetIsEnabled(!WButton->GetIsEnabled()); + PButton->SetIsEnabled(!PButton->GetIsEnabled()); + EButton->SetIsEnabled(!EButton->GetIsEnabled()); + AButton->SetIsEnabled(!AButton->GetIsEnabled()); + IButton->SetIsEnabled(!IButton->GetIsEnabled()); BackspaceButton->SetIsEnabled(!BackspaceButton->GetIsEnabled()); CastButton->SetIsEnabled(!CastButton->GetIsEnabled()); RunButton->SetIsEnabled(!RunButton->GetIsEnabled()); diff --git a/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.h b/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.h index 283ef1e..4a339a2 100644 --- a/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.h +++ b/Source/the_twilight_abyss/TurnBasedCombatV2/TurnBaseCombatV2.h @@ -6,9 +6,11 @@ #include "Components/Button.h" #include "Components/ProgressBar.h" #include "Components/TextBlock.h" +#include "StatusEffect.h" #include "NiagaraComponent.h" #include "NiagaraFunctionLibrary.h" #include "GameFramework/GameStateBase.h" +#include "StatusEffects/Thorns.h" #include "TurnBaseCombatV2.generated.h" class UNiagaraSystem; @@ -27,10 +29,15 @@ public: int DefaultActionPoints = 3; UPROPERTY(EditDefaultsOnly) int ActiveActionPoints = 0; + UPROPERTY(EditDefaultsOnly) - int IronResource = 10; // F + int ProbertiumResource = 10; UPROPERTY(EditDefaultsOnly) - int SulfurResource = 10; // W + int EisResource = 10; + UPROPERTY(EditDefaultsOnly) + int AzosResource = 10; + UPROPERTY(EditDefaultsOnly) + int IroquoidResource = 10; UPROPERTY(EditDefaultsOnly) UNiagaraSystem* GunEffect; @@ -51,11 +58,34 @@ public: UPROPERTY(EditAnywhere) TMap ValidCombos = { - {"F", 10}, - {"W", 10}, - {"WW", 15}, - {"FW", 20}, - {"FFW", 30} + {"P", 5}, + {"PP", 15}, + {"PPP", 20}, + {"E", 5}, + {"EE", 15}, + {"EEE", 20}, + {"A", 5}, + {"AA", 15}, + {"AAA", 20}, + {"I", 5}, + {"II", 15}, + {"III", 20}, + {"IA", 15}, + {"IIA", 20}, + {"EP", 15}, + {"EEP", 20}, + {"AE", 15}, + {"AAE", 20}, + {"PI", 15}, + {"PPI", 20} + }; + UPROPERTY(EditAnywhere) + TMap SpecialCombos = + { + //{"IIA", "ReduceActSpeed"}, + //{"EEP", "AreaOfEffect"}, + {"AAE", "Thorns"}, + {"PPI", "DamageOverTime"} }; FString BattleLog; @@ -69,6 +99,11 @@ public: UFUNCTION(BlueprintCallable) void WKeyPressed(); + DECLARE_EVENT_TwoParams(ATurnBaseCombatV2, FOnPlayerTurn, AActor*, AActor*); + DECLARE_EVENT_TwoParams(ATurnBaseCombatV2, FOnEnemyTurn, AActor*, AActor*); + FOnPlayerTurn OnPlayerTurn; + FOnEnemyTurn OnEnemyTurn; + protected: virtual void BeginPlay() override; void ExecuteCast(FString Combo); @@ -81,6 +116,13 @@ protected: private: bool IsValidCombo(FString Combo) const; + bool IsSpecialCombo(FString Combo) const; + + UPROPERTY() + TSubclassOf ThornsStatusEffect; + + UPROPERTY() + TArray StatusEffects; UPROPERTY(VisibleAnywhere) bool bIsPlayerTurn = true; @@ -92,40 +134,41 @@ private: UPROPERTY(VisibleAnywhere) UTextBlock* TurnIndicatorTextBlock; - UPROPERTY(VisibleAnywhere) UTextBlock* CurrentComboTextBlock; - UPROPERTY(VisibleAnywhere) UTextBlock* BattleLogTextBlock; - UPROPERTY(VisibleAnywhere) UTextBlock* ActionPointsTextBlock; UPROPERTY(VisibleAnywhere) UProgressBar* PlayerHealthBar; - UPROPERTY(VisibleAnywhere) UProgressBar* EnemyHealthBar; UPROPERTY(VisibleAnywhere) - UProgressBar* IronResourceBar; - + UProgressBar* ProbertiumResourceBar; UPROPERTY(VisibleAnywhere) - UProgressBar* SulfurResourceBar; + UProgressBar* EisResourceBar; + UPROPERTY(VisibleAnywhere) + UProgressBar* AzosResourceBar; + UPROPERTY(VisibleAnywhere) + UProgressBar* IroquoidResourceBar; UPROPERTY(VisibleAnywhere) UButton* CastButton; UPROPERTY(VisibleAnywhere) - UButton* FButton; - + UButton* PButton; UPROPERTY(VisibleAnywhere) - UButton* WButton; + UButton* EButton; + UPROPERTY(VisibleAnywhere) + UButton* AButton; + UPROPERTY(VisibleAnywhere) + UButton* IButton; UPROPERTY(VisibleAnywhere) UButton* BackspaceButton; - UPROPERTY(VisibleAnywhere) UButton* RunButton; @@ -133,14 +176,16 @@ private: void CastButtonOnClick(); UFUNCTION() - void FButtonOnClick(); - + void PButtonOnClick(); UFUNCTION() - void WButtonOnClick(); + void EButtonOnClick(); + UFUNCTION() + void AButtonOnClick(); + UFUNCTION() + void IButtonOnClick(); UFUNCTION() void BackspaceButtonOnClick(); - UFUNCTION() void RunButtonOnClick(); diff --git a/UI designs/Beastiary Symbol.png b/UI designs/Beastiary Symbol.png new file mode 100644 index 0000000..4c84bf7 --- /dev/null +++ b/UI designs/Beastiary Symbol.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc23b0352f473b00631b6e36f143dc37bbd2549b35a573bec90378ea6fdd2eb7 +size 356498 diff --git a/UI designs/Combos Symbol.png b/UI designs/Combos Symbol.png new file mode 100644 index 0000000..1767bf0 --- /dev/null +++ b/UI designs/Combos Symbol.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff5a61745fe485d2a6fa9e7d936c2fdc449bb1141d22d3b7553ce0d757c8a97c +size 135451 diff --git a/UI designs/Gear Symbol.png b/UI designs/Gear Symbol.png new file mode 100644 index 0000000..4efa97b --- /dev/null +++ b/UI designs/Gear Symbol.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cab8e0b298924e605ec529f6d1a8d2adaff2ce4133915195811b05c60567de3 +size 61280 diff --git a/UI designs/Gun elements in circles.psd b/UI designs/Gun elements in circles.psd new file mode 100644 index 0000000..898b0a8 --- /dev/null +++ b/UI designs/Gun elements in circles.psd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0435c5314c736decfbb3ec46f9269489220839d63ee3a755901d041d25138bc +size 1711396 diff --git a/UI designs/Inventory Symbol.png b/UI designs/Inventory Symbol.png new file mode 100644 index 0000000..35178e0 --- /dev/null +++ b/UI designs/Inventory Symbol.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40469e465932aafa5fd3144147a4d3b193de9be693ccf69e202ff9528934350e +size 82967 diff --git a/UI designs/Map Symbol.png b/UI designs/Map Symbol.png new file mode 100644 index 0000000..7d2fe0e --- /dev/null +++ b/UI designs/Map Symbol.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1986875d9ddedd2901eb2cb8b6bf29864870bc15ad1565f36242037c565e2523 +size 98174 diff --git a/UI designs/Settings Symbol.png b/UI designs/Settings Symbol.png new file mode 100644 index 0000000..8a439ec --- /dev/null +++ b/UI designs/Settings Symbol.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ccb369c6bf70d973aa03f2294f94b70ad2e08afc0454aa4afaf7e5e2384f77f +size 101013 diff --git a/UI designs/UI book design, map and bookmark.pur b/UI designs/UI book design, map and bookmark.pur new file mode 100644 index 0000000..fb69020 Binary files /dev/null and b/UI designs/UI book design, map and bookmark.pur differ diff --git a/UI designs/book designs.psd b/UI designs/book designs.psd new file mode 100644 index 0000000..13b82d4 --- /dev/null +++ b/UI designs/book designs.psd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e66ac771d7f7335d346e6ecd4b6f5e9a83d78012189a9bcd2c9bebc4fafd3b7 +size 3206520 diff --git a/UI designs/final designs of book.psd b/UI designs/final designs of book.psd new file mode 100644 index 0000000..773d62a --- /dev/null +++ b/UI designs/final designs of book.psd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8cc262e862a2d695aaa509b7e768e4a36ea1dfd6850e68e9abcb864bd6ff32d +size 3064995 diff --git a/UI designs/game symbols designs.psd b/UI designs/game symbols designs.psd new file mode 100644 index 0000000..9618726 --- /dev/null +++ b/UI designs/game symbols designs.psd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d2f7796e2472e71342fdf5346d74016f820e84e9cedfa046438884586981175 +size 969178 diff --git a/UI designs/gun elements outline.psd b/UI designs/gun elements outline.psd new file mode 100644 index 0000000..9cfee0a --- /dev/null +++ b/UI designs/gun elements outline.psd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f238f05aa15182121d9cd8e9bcefc50974bd90b031ad880f2995a669277ac5e +size 1442079 diff --git a/UI designs/new book designs.psd b/UI designs/new book designs.psd new file mode 100644 index 0000000..599feb7 --- /dev/null +++ b/UI designs/new book designs.psd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22c06c817ecda9028a6e4410867cba396822ddc2ce3e20dcd51e72b535f1695e +size 3871459 diff --git a/UI designs/sketchy symbols.psd b/UI designs/sketchy symbols.psd new file mode 100644 index 0000000..83fedc4 --- /dev/null +++ b/UI designs/sketchy symbols.psd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d158b24535f3e0155efaf9189a059a987a5fde48ba6b4c3671697a65399ee5f +size 422048 diff --git a/UI designs/symbol for on the book.psd b/UI designs/symbol for on the book.psd new file mode 100644 index 0000000..3e4a629 --- /dev/null +++ b/UI designs/symbol for on the book.psd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c72b985a29734b9dc10839ded4debb90875a18189049fdf9cc481d87550f8c8e +size 839420 diff --git a/UI designs/symbols edited.psd b/UI designs/symbols edited.psd new file mode 100644 index 0000000..564b601 --- /dev/null +++ b/UI designs/symbols edited.psd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83cc974e2b72e040031691cb974b0f3c1149cdab3ba1c28744caf3d035872b3c +size 1852242 diff --git a/readme.md b/readme.md index da7878c..a31cf1b 100644 --- a/readme.md +++ b/readme.md @@ -5,3 +5,7 @@ ### Character Dialogue https://docs.google.com/spreadsheets/d/13iVCQuveBiaihpREnY145OZi5QT-1sseNoI0A5v8D1o/edit?usp=sharing + +### Bestiary lore book + +https://docs.google.com/document/d/1jvDYRwQlCNFKgY6uCOwbyIQsDW3oOkqERXwN_QHcjD8/edit?usp=sharing diff --git a/the_twilight_abyss.uproject b/the_twilight_abyss.uproject index 5d45481..97a9688 100644 --- a/the_twilight_abyss.uproject +++ b/the_twilight_abyss.uproject @@ -10,7 +10,8 @@ "LoadingPhase": "Default", "AdditionalDependencies": [ "Engine", - "UMG" + "UMG", + "CoreUObject" ] } ], diff --git a/the_twilight_abyss.uproject.DotSettings b/the_twilight_abyss.uproject.DotSettings new file mode 100644 index 0000000..2323d1b --- /dev/null +++ b/the_twilight_abyss.uproject.DotSettings @@ -0,0 +1,4 @@ + + True + True + True \ No newline at end of file