diff --git a/EndlessVendetta/Config/DefaultEngine.ini b/EndlessVendetta/Config/DefaultEngine.ini index 89d6c838..505db906 100644 --- a/EndlessVendetta/Config/DefaultEngine.ini +++ b/EndlessVendetta/Config/DefaultEngine.ini @@ -1,7 +1,62 @@ [/Script/Engine.CollisionProfile] -+Profiles=(Name="Projectile",CollisionEnabled=QueryOnly,ObjectTypeName="Projectile",CustomResponses=,HelpMessage="Preset for projectiles",bCanModify=True) -+DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,Name="Projectile",DefaultResponse=ECR_Block,bTraceType=False,bStaticObject=False) -+EditProfiles=(Name="Trigger",CustomResponses=((Channel=Projectile, Response=ECR_Ignore))) +-Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision",bCanModify=False) +-Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ",bCanModify=False) +-Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ",bCanModify=False) +-Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic",Response=ECR_Block),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.",bCanModify=False) +-Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors",bCanModify=False) +-Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors",bCanModify=False) +-Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.",bCanModify=False) +-Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.",bCanModify=False) +-Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="UI",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Block),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) ++Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision") ++Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.") ++Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ") ++Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ") ++Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic"),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.") ++Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.") ++Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors") ++Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors") ++Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.") ++Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.") ++Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.") ++Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.") ++Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.") ++Profiles=(Name="UI",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility"),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="Projectile",CollisionEnabled=QueryOnly,bCanModify=True,ObjectTypeName="Projectile",CustomResponses=,HelpMessage="Preset for projectiles") ++DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,DefaultResponse=ECR_Block,bTraceType=False,bStaticObject=False,Name="Projectile") ++DefaultChannelResponses=(Channel=ECC_GameTraceChannel2,DefaultResponse=ECR_Block,bTraceType=False,bStaticObject=False,Name="Waypoint") ++EditProfiles=(Name="Trigger",CustomResponses=((Channel="Projectile",Response=ECR_Ignore))) +-ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall") +-ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn") +-ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic") +-ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor") +-ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic") ++ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall") ++ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn") ++ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic") ++ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor") ++ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic") +-CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic") +-CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic") +-CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle") +-CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn") ++CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic") ++CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic") ++CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle") ++CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn") [/Script/EngineSettings.GameMapsSettings] EditorStartupMap=/Game/Levels/TrainingFacility.TrainingFacility diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Button.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Button.uasset new file mode 100644 index 00000000..a6aac258 --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Button.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06c1d10c0ae9c282545d7cb0fa8e3f57c0422bfc013efddd9b862ed6b750cbf1 +size 8079 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Mirror.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Mirror.uasset new file mode 100644 index 00000000..e9323d78 --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Mirror.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:001039603d515a2275590ca7e9f5c8b5d04f151911df52be5952e524e62a768c +size 23113 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/SM_Toilet_Button_Low.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/SM_Toilet_Button_Low.uasset new file mode 100644 index 00000000..1064ebab --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/SM_Toilet_Button_Low.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:015c7e340108697b530b6c765281df940528f55231bc0c9ba6932757830840ef +size 21560 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/SM_Toilet_Seat_Low.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/SM_Toilet_Seat_Low.uasset new file mode 100644 index 00000000..a3b1dc09 --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/SM_Toilet_Seat_Low.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:905cd7474a033deaf0af950c1bf3f98f15a40f8f0add6b1fac4d054440391bfb +size 23961 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/SM_Toilet_Toilet_Low1.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/SM_Toilet_Toilet_Low1.uasset new file mode 100644 index 00000000..4c78149b --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/SM_Toilet_Toilet_Low1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e144ca56ad2e65433ce9ddf54594b6cafd8fd709848703eb84c4194d281886cc +size 164255 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Seat.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Seat.uasset new file mode 100644 index 00000000..a2a6b046 --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Seat.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52b1986a1e5fe508ca3c161423d2e991260fa229145719c32596b703020c9410 +size 8074 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Shower_Export.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Shower_Export.uasset new file mode 100644 index 00000000..8af25233 --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Shower_Export.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21116a8d95beb64c1308b3cdfe44b942b47c7a351442fb1d4ef590f355cdf4f7 +size 95535 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Sink_Export.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Sink_Export.uasset new file mode 100644 index 00000000..b7285322 --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Sink_Export.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d836513a7bbec906d9f4ce2f8518e2862b74d75fc5bc738b6b495015f935364f +size 51749 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Tap_Export.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Tap_Export.uasset new file mode 100644 index 00000000..5095cc21 --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Tap_Export.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf58f7020f4d029056da97041cc4d29089edbea2e6dc81e4669aa030df1fafff +size 29568 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Toilet.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Toilet.uasset new file mode 100644 index 00000000..64d89846 --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/Toilet.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca3c45925c925cc4bb179a872a2cf157f76117fee5c192a7e3dfe93ff7e4f784 +size 8078 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/lambert1.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/lambert1.uasset new file mode 100644 index 00000000..b0314815 --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/lambert1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a3c1c643022c43b138f2a071856fb60c1df1c511c6e6c8862984a7010e002a1 +size 8095 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/standardSurface5.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/standardSurface5.uasset new file mode 100644 index 00000000..fe5e845c --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Bathroom/standardSurface5.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc55b1a8b638c9ccc397b98b396c092a0e084603e68bcd10fb1729379c47852b +size 8146 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Sm_Door.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Sm_Door.uasset new file mode 100644 index 00000000..5df5287d --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Sm_Door.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8a14865171c5b65c7d8be0d46726353e8104e68683cd99357126260b55698a5 +size 34850 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/Doors/Doors_01-04_low_Doors_BaseColor.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/Doors/Doors_01-04_low_Doors_BaseColor.uasset new file mode 100644 index 00000000..10b802a1 --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/Doors/Doors_01-04_low_Doors_BaseColor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:448c48a8287fd90a9fd71800a7087eb6e1b2bc627a3521c26bda980738caea6b +size 598632 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/Doors/Doors_01-04_low_Doors_Normal.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/Doors/Doors_01-04_low_Doors_Normal.uasset new file mode 100644 index 00000000..15a294ab --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/Doors/Doors_01-04_low_Doors_Normal.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0644617ac381f191d6d72c9f86a889517c158c167463ef38789daa06aebdc4ed +size 1028057 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/Doors/Doors_01-04_low_Doors_OcclusionRoughnessMetallic.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/Doors/Doors_01-04_low_Doors_OcclusionRoughnessMetallic.uasset new file mode 100644 index 00000000..c5a08250 --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/Doors/Doors_01-04_low_Doors_OcclusionRoughnessMetallic.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a253f3ea6a930a7b0f7ddc5c246a4df6a1a39a45825e1e9acc6a6364da29e51 +size 352971 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/Doors/M_Door.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/Doors/M_Door.uasset new file mode 100644 index 00000000..587c6cfc --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/Doors/M_Door.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:785ddd52d577ca4e0781a0d587f7695a0bb3a9832de221d94667ba39da4d4028 +size 17199 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/M_Carpet.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/M_Carpet.uasset index 15ffec2e..372c7525 100644 --- a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/M_Carpet.uasset +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/M_Carpet.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:76986ee4471d33ce4239f900ec8ba81ca2d514c500a19633881965ad5904067a -size 11672 +oid sha256:f0c03bea7638b90df30171066477cf6ea55b8320336f4770b18916b20a6689e2 +size 11875 diff --git a/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/M_Door_Inst.uasset b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/M_Door_Inst.uasset new file mode 100644 index 00000000..3245e65a --- /dev/null +++ b/EndlessVendetta/Content/Assets/Objects/Tutorial-Level/Textures/M_Door_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:591da916ae121f8e2b05185761a6bcf5f90c338c053fe2976e3f7d72f257ff1a +size 12748 diff --git a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/BountySimulation/CP_ElimTutorialTarget.uasset b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/BountySimulation/CP_ElimTutorialTarget.uasset index 5883a4f1..6f3dcce1 100644 --- a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/BountySimulation/CP_ElimTutorialTarget.uasset +++ b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/BountySimulation/CP_ElimTutorialTarget.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:727b8060f6720e1de8c6cc5aa95de4e3d2c18b4b6df469c5f1661679379f3054 -size 143152 +oid sha256:eafef3871610bf15d90d680c56e28c40ec4e54d5b735a02ae83706187362aed0 +size 144071 diff --git a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/BountySimulation/CP_EnterBountySimulationFacility.uasset b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/BountySimulation/CP_EnterBountySimulationFacility.uasset index a42c2499..597ba32f 100644 --- a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/BountySimulation/CP_EnterBountySimulationFacility.uasset +++ b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/BountySimulation/CP_EnterBountySimulationFacility.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09f78d33c2a88b48b438f3382f6db685a54203b9036a09f80f768b17e0c9d77d -size 74030 +oid sha256:cb5d6652ffbeb2dffe9d2c7bf7250396d62c63f29b58fafce029a1ee444d976a +size 74754 diff --git a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/BountySimulation/CP_ExitBountySimulationFacility.uasset b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/BountySimulation/CP_ExitBountySimulationFacility.uasset index 478f5860..82b10472 100644 --- a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/BountySimulation/CP_ExitBountySimulationFacility.uasset +++ b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/BountySimulation/CP_ExitBountySimulationFacility.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e7b67b89169f8856643fa54ad3ee70088d8e57278dda3eae8a67cebae80fc4d -size 49564 +oid sha256:5f20d01e14668043ceba3f5121d5441f9b10bf53ae9b329a67bc52ca2c23abe5 +size 50569 diff --git a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/CP_ParkourTutorial.uasset b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/CP_ParkourTutorial.uasset index 5d9c77b0..c1b4c121 100644 --- a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/CP_ParkourTutorial.uasset +++ b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/CP_ParkourTutorial.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:760080e3e99953e11230e2d0611fe20c01daa1e6ea7ef3dd4c5923beb8fbc6a9 -size 38487 +oid sha256:20c146ca9121d08cc486f1d15b935101e2faad580974b40b32144f4f3cf466b6 +size 38506 diff --git a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/CP_PickUpWeapon.uasset b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/CP_PickUpWeapon.uasset index 9d450f09..80f6d632 100644 --- a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/CP_PickUpWeapon.uasset +++ b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/CP_PickUpWeapon.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:285081531c73e061d3e6bc5def297852b57b5e3622c3e947cc0b8ceed5752f85 -size 61443 +oid sha256:c983ac6f5ed8e39f4fd28d0d35a06fc6b1d4569f0448a3e6672a1cc664e91175 +size 60950 diff --git a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/FiringRanges/CP_CheckOutCQCRange.uasset b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/FiringRanges/CP_CheckOutCQCRange.uasset index 0fdaf894..b7080ef7 100644 --- a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/FiringRanges/CP_CheckOutCQCRange.uasset +++ b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/FiringRanges/CP_CheckOutCQCRange.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5fccc1eabe3bc902abe338f8980b6f249f2578be80c1c8096a5232a132ba42c6 -size 148461 +oid sha256:9a329b5461ac74c60fb7e33cc1369d9985dfb5cf33c1f85ddf207a36f94e3fb8 +size 147979 diff --git a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/FiringRanges/CP_CheckOutLongRange.uasset b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/FiringRanges/CP_CheckOutLongRange.uasset index 8ed828fc..ffe2f671 100644 --- a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/FiringRanges/CP_CheckOutLongRange.uasset +++ b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/FiringRanges/CP_CheckOutLongRange.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:76ea44d21affaf349e16f27cb6cb3684c9c14ae417f1096846b45711de2a8a3e -size 156411 +oid sha256:e035f7ddd3dcf755fb0ed071ba8d162c3a8b17bb9e5fe788443a35df5a0f5b21 +size 156499 diff --git a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/GadgetTutorial/Combat/CP_CombatTraining.uasset b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/GadgetTutorial/Combat/CP_CombatTraining.uasset index af179740..36b8ab99 100644 --- a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/GadgetTutorial/Combat/CP_CombatTraining.uasset +++ b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/GadgetTutorial/Combat/CP_CombatTraining.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f7376ac38e90dacafa36fd1b16bbf2227d0b577ba5ad53d43ce0d8df47bbf07 -size 46961 +oid sha256:e05c2b2a67900f795bea030cd060cb7ce55f4801f5573c5e4b5ab22ff5aa4198 +size 47609 diff --git a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/GadgetTutorial/Recon/CP_GoDownstairs.uasset b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/GadgetTutorial/Recon/CP_GoDownstairs.uasset index a545465a..0edb31b5 100644 --- a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/GadgetTutorial/Recon/CP_GoDownstairs.uasset +++ b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/GadgetTutorial/Recon/CP_GoDownstairs.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d0cfa2881e250992ba5cc2fff1a9597d00531cb2732df8405f6b53d76ab675a7 -size 38882 +oid sha256:9f83c02b2613872e32f795c91ce190d44c2cfdf83785965105ed43d9e326ec7e +size 38762 diff --git a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/GadgetTutorial/Recon/CP_ReconTraining.uasset b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/GadgetTutorial/Recon/CP_ReconTraining.uasset index c32db353..90dbb721 100644 --- a/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/GadgetTutorial/Recon/CP_ReconTraining.uasset +++ b/EndlessVendetta/Content/BountySystem/TutorialFacility/Checkpoints/GadgetTutorial/Recon/CP_ReconTraining.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:52fa6f6a84ca059b3f9b57959ee3cfa352d0feb833b8a5d1603bae568c4d4d7d -size 46993 +oid sha256:8c6becce8ef63d5920459cc97049122bbd5c56ff7886c49fbbccd06f2f24d8f1 +size 47510 diff --git a/EndlessVendetta/Content/BountySystem/Waypoint/BP_Waypoint.uasset b/EndlessVendetta/Content/BountySystem/Waypoint/BP_Waypoint.uasset index ba8534c6..784cbe0b 100644 --- a/EndlessVendetta/Content/BountySystem/Waypoint/BP_Waypoint.uasset +++ b/EndlessVendetta/Content/BountySystem/Waypoint/BP_Waypoint.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:04143e23cb9403f9ae001e7ab261a6c90a890df16f81eb00c35ae1e7305ed249 -size 49046 +oid sha256:a406c3c753428efd22e472351a913e042fd0653a7430e4ee29ae7149559d92b4 +size 62287 diff --git a/EndlessVendetta/Content/BountySystem/Waypoint/TextBackground.png b/EndlessVendetta/Content/BountySystem/Waypoint/TextBackground.png new file mode 100644 index 00000000..d5781e4c --- /dev/null +++ b/EndlessVendetta/Content/BountySystem/Waypoint/TextBackground.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d3cccd91fdbe7e0090f451048771e56d36dbe24c3cb716b63d99261f414f868 +size 2232177 diff --git a/EndlessVendetta/Content/BountySystem/Waypoint/WBP_MiniWaypoint.uasset b/EndlessVendetta/Content/BountySystem/Waypoint/WBP_MiniWaypoint.uasset new file mode 100644 index 00000000..cd79767a --- /dev/null +++ b/EndlessVendetta/Content/BountySystem/Waypoint/WBP_MiniWaypoint.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:432d04e87414a6a95285b4468bfe64d4631557cef349a37f6e60087e843f85d9 +size 48883 diff --git a/EndlessVendetta/Content/BountySystem/Waypoint/WBP_WaypointWidget.uasset b/EndlessVendetta/Content/BountySystem/Waypoint/WBP_WaypointWidget.uasset index 09b70476..cd5166a9 100644 --- a/EndlessVendetta/Content/BountySystem/Waypoint/WBP_WaypointWidget.uasset +++ b/EndlessVendetta/Content/BountySystem/Waypoint/WBP_WaypointWidget.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3b07b293876d399dfdce186c99573c335e2e2e509856f7a67a2a463569b4f23d -size 30404 +oid sha256:deb3a67c2bba412bab8428522bf65087efd0927529eeafbb678dda460b6993ab +size 30376 diff --git a/EndlessVendetta/Content/BountySystem/Waypoint/WaypointArrow.png b/EndlessVendetta/Content/BountySystem/Waypoint/WaypointArrow.png new file mode 100644 index 00000000..5909a350 --- /dev/null +++ b/EndlessVendetta/Content/BountySystem/Waypoint/WaypointArrow.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9cd8b801f66f1241477554f28ec764079c875e75400bf22dec42494c2807650 +size 44164 diff --git a/EndlessVendetta/Content/BountySystem/Waypoint/WaypointArrow.uasset b/EndlessVendetta/Content/BountySystem/Waypoint/WaypointArrow.uasset new file mode 100644 index 00000000..efc268bd --- /dev/null +++ b/EndlessVendetta/Content/BountySystem/Waypoint/WaypointArrow.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd99b04a977e5fa33f966683ec783006f1289b9ea7cb856f646aafc057293fe6 +size 33619 diff --git a/EndlessVendetta/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset b/EndlessVendetta/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset index 5badf30e..5fb874ed 100644 --- a/EndlessVendetta/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset +++ b/EndlessVendetta/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:06f7d267f6ba414ed498bc56b2186910a305a15dba88ea2d74a4601c84964150 -size 51069 +oid sha256:87aebe0b0ade2372a24d8570aa5634a1d111bfee7a657fb15631ce0569065b4f +size 60696 diff --git a/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_ARTEST1.uasset b/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_ARTEST1.uasset index 895e9e1f..5cd48aa7 100644 --- a/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_ARTEST1.uasset +++ b/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_ARTEST1.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:987a4e9d5c25f997a75e654527036ae30b5f2657db8317e10a8c5d10c28bfe8e -size 40669 +oid sha256:55d9774b1be0067976e247efb9c0924028d8e6f104a2356fc3c244d0ca0bcbab +size 40721 diff --git a/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_BaseAssaultRifle.uasset b/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_BaseAssaultRifle.uasset index db396f72..14593b0f 100644 --- a/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_BaseAssaultRifle.uasset +++ b/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_BaseAssaultRifle.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a5fdbc6cb67c6ec9d80147c3321ff6ad03bc64b283039537ab274631bec01f74 -size 40173 +oid sha256:f9481ef86ac85568b121922e82b67586cd754928de5fa47e2c8ef57066b514b3 +size 40119 diff --git a/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/WBP_WeaponStatsPrompt.uasset b/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/WBP_WeaponStatsPrompt.uasset index 2e99cff0..dde4061d 100644 --- a/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/WBP_WeaponStatsPrompt.uasset +++ b/EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/WBP_WeaponStatsPrompt.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:91ac6fb94624f653a7486d1307aaf136e4a1a81559c15e167eb887e3f8cb5f9a -size 191860 +oid sha256:ead2d32698cc8f6f60af3405fa3b9f5f1452791c2c759e631744a26cebf6749e +size 185820 diff --git a/EndlessVendetta/Content/FirstPerson/Blueprints/WBP_CheckpointCompleted.uasset b/EndlessVendetta/Content/FirstPerson/Blueprints/WBP_CheckpointCompleted.uasset index 3ef7c033..0a4f058e 100644 --- a/EndlessVendetta/Content/FirstPerson/Blueprints/WBP_CheckpointCompleted.uasset +++ b/EndlessVendetta/Content/FirstPerson/Blueprints/WBP_CheckpointCompleted.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:845fc89fb83a130aea8498c87ed41fadd3de14e00ac010bcd5843b5a19c29f8f -size 58154 +oid sha256:1a92359cc39feb0549f88beb0aa498c448b67afac995e88ffa2de837ad2024ec +size 80434 diff --git a/EndlessVendetta/Content/Levels/TrainingFacility.umap b/EndlessVendetta/Content/Levels/TrainingFacility.umap index 37596dba..173d1ed4 100644 --- a/EndlessVendetta/Content/Levels/TrainingFacility.umap +++ b/EndlessVendetta/Content/Levels/TrainingFacility.umap @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:04e19f6714beb76a66600fc3c8ea8e68d8ab2f9102ba687caa263a29e4ea5ae0 -size 637103 +oid sha256:ce3870108ae2fe9758eaa20ecb25f73f4623f2e9acad154d2075db2ca0fc1d0f +size 654898 diff --git a/EndlessVendetta/Content/StarterContent/Architecture/Floor_400x400.uasset b/EndlessVendetta/Content/StarterContent/Architecture/Floor_400x400.uasset index ad6a49b9..c2a34afc 100644 --- a/EndlessVendetta/Content/StarterContent/Architecture/Floor_400x400.uasset +++ b/EndlessVendetta/Content/StarterContent/Architecture/Floor_400x400.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a88dcc894d2b5c3cf7b7ca0762130ea740b038bb41d67d74e0d04458126b9b3b -size 262 +oid sha256:4c0ecf0ac0702cc2bd355ec050232a61c49e10f102448efbeb735a51824adef6 +size 14948 diff --git a/EndlessVendetta/Content/StarterContent/Props/MaterialSphere.uasset b/EndlessVendetta/Content/StarterContent/Props/MaterialSphere.uasset index 56bddfc9..89145d94 100644 --- a/EndlessVendetta/Content/StarterContent/Props/MaterialSphere.uasset +++ b/EndlessVendetta/Content/StarterContent/Props/MaterialSphere.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3a8777c01491888bba9f40eda9d2bed76a611f0e80f75917501ce69c1a321342 -size 47333 +oid sha256:b7943b84a70f66da9ce4c738e5748bd6853c3af285ea2f99a76efa584cb31301 +size 47710 diff --git a/EndlessVendetta/Source/EndlessVendetta/BountySystem/BountyClass.cpp b/EndlessVendetta/Source/EndlessVendetta/BountySystem/BountyClass.cpp index 38d939c9..1170079d 100644 --- a/EndlessVendetta/Source/EndlessVendetta/BountySystem/BountyClass.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/BountySystem/BountyClass.cpp @@ -70,6 +70,7 @@ void ABountyClass::IncrementBountyCheckpoint() BountyCheckpoints[0]->Destroy(); BountyCheckpoints.RemoveAt(0); UE_LOG(LogTemp, Warning, TEXT(" You've Completed the Bounty!! Well done")); + Cast(GetWorld()->GetFirstPlayerController()->GetPawn())->CheckpointCompletedUI(FString("")); return; } @@ -89,6 +90,8 @@ void ABountyClass::IncrementBountyCheckpoint() BountyCheckpoints[0]->SpawnWaypoint(); BountyCheckpoints[0]->CheckpointActivated(); BountyCheckpoints[0]->CompletedCheckpoint.AddDynamic(this, &ABountyClass::IncrementBountyCheckpoint); + + Cast(GetWorld()->GetFirstPlayerController()->GetPawn())->CheckpointCompletedUI(BountyCheckpoints[0]->GetCheckpointTip()); } diff --git a/EndlessVendetta/Source/EndlessVendetta/BountySystem/CheckpointClass.cpp b/EndlessVendetta/Source/EndlessVendetta/BountySystem/CheckpointClass.cpp index 5562a2b8..df618059 100644 --- a/EndlessVendetta/Source/EndlessVendetta/BountySystem/CheckpointClass.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/BountySystem/CheckpointClass.cpp @@ -46,6 +46,7 @@ void ACheckpointClass::Tick(float DeltaTime) void ACheckpointClass::Destroyed() { if (WaypointActor) WaypointActor->Destroy(); + Super::Destroyed(); } diff --git a/EndlessVendetta/Source/EndlessVendetta/BountySystem/CheckpointClass.h b/EndlessVendetta/Source/EndlessVendetta/BountySystem/CheckpointClass.h index 9c0fa9bf..2797e996 100644 --- a/EndlessVendetta/Source/EndlessVendetta/BountySystem/CheckpointClass.h +++ b/EndlessVendetta/Source/EndlessVendetta/BountySystem/CheckpointClass.h @@ -19,6 +19,8 @@ class ENDLESSVENDETTA_API ACheckpointClass : public AActor UPROPERTY(EditDefaultsOnly, Category = "Checkpoint") FString CheckpointDescription; UPROPERTY(EditDefaultsOnly, Category = "Checkpoint") + FString CheckpointTip; + UPROPERTY(EditDefaultsOnly, Category = "Checkpoint") FVector WaypointLoc; UPROPERTY(EditDefaultsOnly, Category = "Checkpoint") UTexture2D* WaypointIcon; @@ -34,7 +36,6 @@ protected: UFUNCTION(BlueprintCallable, Category = "Checkpoint") void BroadcastCompletion() { - Cast(GetWorld()->GetFirstPlayerController()->GetPawn())->CheckpointCompletedUI(); CompletedCheckpoint.Broadcast(); } @@ -61,6 +62,10 @@ public: { return CheckpointDescription; } + FString GetCheckpointTip() + { + return CheckpointTip; + } FVector GetWaypointLoc() { return WaypointLoc; diff --git a/EndlessVendetta/Source/EndlessVendetta/BountySystem/WaypointActor.cpp b/EndlessVendetta/Source/EndlessVendetta/BountySystem/WaypointActor.cpp index 0c9320cb..531fff83 100644 --- a/EndlessVendetta/Source/EndlessVendetta/BountySystem/WaypointActor.cpp +++ b/EndlessVendetta/Source/EndlessVendetta/BountySystem/WaypointActor.cpp @@ -3,6 +3,7 @@ #include "WaypointActor.h" +#include "Engine/EngineTypes.h" #include "EndlessVendetta/EndlessVendettaCharacter.h" // Sets default values @@ -12,33 +13,58 @@ AWaypointActor::AWaypointActor() PrimaryActorTick.bCanEverTick = true; } -// Called when the game starts or when spawned -void AWaypointActor::BeginPlay() +void AWaypointActor::SetupWaypoint_Implementation(UTexture2D* Icon, const FString& Desc) { - SetActorTickEnabled(false); - Super::BeginPlay(); - SetActorTickInterval(0.05); AActor* PlayerActor = Cast(GetWorld()->GetFirstPlayerController()->GetPawn()); PlayersCam = Cast(PlayerActor->GetComponentByClass(UCameraComponent::StaticClass())); ScalingMagnitude = (ScaleAtMaxDist - ScaleAtMinDist) / (MaxDist - MinDist); ScalingY_Intercept = ScaleAtMaxDist - (MaxDist * ScalingMagnitude); - if (PlayersCam) SetActorTickEnabled(true); + + MiniWaypoint = CreateWidget(GetWorld(), MiniWaypointClass); + MiniWaypoint->AddToViewport(0); + MiniWaypoint->WorldLoc = this->GetActorLocation(); + MiniWaypoint->PlayerController = GetWorld()->GetFirstPlayerController(); + MiniWaypoint->SetIcon(Icon); } // Called every frame void AWaypointActor::Tick(float DeltaTime) { Super::Tick(DeltaTime); - - if (!PlayersCam) SetActorTickEnabled(false); + + UpdateScaleAndRotation(); + if (SightCheck()) + { + UpdateVisibility(true); + MiniWaypoint->UpdateVisibility(false); + return; + } + UpdateVisibility(false); + MiniWaypoint->UpdateVisibility(true); +} + +bool AWaypointActor::SightCheck() +{ + FHitResult OutHit; + FCollisionObjectQueryParams ObjectQueryParams; + ObjectQueryParams.AddObjectTypesToQuery(ECollisionChannel::ECC_GameTraceChannel2); + FVector LT_Start = PlayersCam->GetComponentLocation(); + FVector LT_End = LT_Start + (PlayersCam->GetForwardVector() * WaypointFocusDistance); + if (GetWorld()->LineTraceSingleByObjectType(OutHit, LT_Start, LT_End, ObjectQueryParams) && OutHit.GetActor()->GetUniqueID() == this->GetUniqueID()) return true; + return false; +} + +void AWaypointActor::UpdateScaleAndRotation() +{ + if (!PlayersCam) return; FVector WaypointLoc = GetActorLocation(); FVector PlayerCamLoc = PlayersCam->GetComponentLocation(); - + FRotator NewRot = UKismetMathLibrary::FindLookAtRotation(WaypointLoc, PlayerCamLoc); SetActorRotation(NewRot); - + float DistanceToPlayer = FVector::Distance(WaypointLoc, PlayerCamLoc); // S for Scale float S = (DistanceToPlayer * ScalingMagnitude) + ScalingY_Intercept; @@ -46,3 +72,10 @@ void AWaypointActor::Tick(float DeltaTime) SetActorScale3D(FVector(1.f, S, S)); } +void AWaypointActor::Destroyed() +{ + if (IsValid(MiniWaypoint)) MiniWaypoint->RemoveFromParent(); + Super::Destroyed(); +} + + diff --git a/EndlessVendetta/Source/EndlessVendetta/BountySystem/WaypointActor.h b/EndlessVendetta/Source/EndlessVendetta/BountySystem/WaypointActor.h index cc9b5e6a..63538881 100644 --- a/EndlessVendetta/Source/EndlessVendetta/BountySystem/WaypointActor.h +++ b/EndlessVendetta/Source/EndlessVendetta/BountySystem/WaypointActor.h @@ -4,6 +4,7 @@ #include "CoreMinimal.h" #include "Camera/CameraComponent.h" +#include "EndlessVendetta/UserWidgets/MiniWaypoint.h" #include "GameFramework/Actor.h" #include "WaypointActor.generated.h" @@ -13,11 +14,19 @@ class ENDLESSVENDETTA_API AWaypointActor : public AActor GENERATED_BODY() UCameraComponent* PlayersCam; - + float ScalingMagnitude; float ScalingY_Intercept; + UPROPERTY(EditDefaultsOnly, Category = "Waypoint") + float WaypointFocusDistance = 3000; + + UPROPERTY(EditDefaultsOnly, Category = "Waypoint") + TSubclassOf MiniWaypointClass; + + UMiniWaypoint* MiniWaypoint; + UPROPERTY(EditDefaultsOnly, Category = "Waypoint Scaling") float MaxDist = 16000.f; @@ -29,10 +38,16 @@ class ENDLESSVENDETTA_API AWaypointActor : public AActor UPROPERTY(EditDefaultsOnly, Category = "Waypoint Scaling") float ScaleAtMinDist = 0.15; + + void UpdateScaleAndRotation(); + + bool SightCheck(); protected: - // Called when the game starts or when spawned - virtual void BeginPlay() override; + UFUNCTION(BlueprintImplementableEvent) + void UpdateVisibility(bool IsVisible); + + void Destroyed() override; public: // Sets default values for this actor's properties @@ -41,7 +56,7 @@ public: // Called every frame virtual void Tick(float DeltaTime) override; - UFUNCTION(BlueprintImplementableEvent) + UFUNCTION(BlueprintNativeEvent) void SetupWaypoint(UTexture2D* Icon, const FString& Desc); }; diff --git a/EndlessVendetta/Source/EndlessVendetta/EndlessVendettaCharacter.h b/EndlessVendetta/Source/EndlessVendetta/EndlessVendettaCharacter.h index 5538d8e4..9a14b875 100644 --- a/EndlessVendetta/Source/EndlessVendetta/EndlessVendettaCharacter.h +++ b/EndlessVendetta/Source/EndlessVendetta/EndlessVendettaCharacter.h @@ -198,7 +198,7 @@ public: void WeaponSwitcher(AActor* Outhit); UFUNCTION(BlueprintImplementableEvent) - void CheckpointCompletedUI(); + void CheckpointCompletedUI(const FString& CheckpointDesc); // Returns true if successfully changed to a new gadget, can fail if the target gadget to replace is being used bool UpdateGadgetType(TSubclassOf NewGadgetClass); diff --git a/EndlessVendetta/Source/EndlessVendetta/UserWidgets/MiniWaypoint.cpp b/EndlessVendetta/Source/EndlessVendetta/UserWidgets/MiniWaypoint.cpp new file mode 100644 index 00000000..679372cb --- /dev/null +++ b/EndlessVendetta/Source/EndlessVendetta/UserWidgets/MiniWaypoint.cpp @@ -0,0 +1,65 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "MiniWaypoint.h" + + +void UMiniWaypoint::NativeTick(const FGeometry& MyGeometry, float InDeltaTime) +{ + Super::NativeTick(MyGeometry, InDeltaTime); + + if (!IsValid(IconCanvasPanelSlot) || !IsValid(PlayerController)) return; + + FVector2D ScreenLoc; + PlayerController->ProjectWorldLocationToScreen(WorldLoc, ScreenLoc); + + float TargetYaw = (WorldLoc - PlayerController->GetPawn()->GetActorLocation()).Rotation().Yaw; + float PlayerYaw = PlayerController->GetControlRotation().Yaw; + if (TargetYaw < 0 ) TargetYaw += 360; + + ArrowImage->SetRenderTransformAngle(TargetYaw - PlayerYaw); + + // Check if waypoint is outside of players vision frustum + if (FMath::IsNearlyZero(ScreenLoc.X) && FMath::IsNearlyZero(ScreenLoc.Y) && !FMath::IsNearlyZero(IconCanvasPanelSlot->GetPosition().X))//(FMath::IsWithin(ScreenLoc.X, -0.01, 0.01) && FMath::IsWithin(ScreenLoc.Y, -0.01, 0.01)) + { + // Check if waypoint is closer to the players right + bool TargetOnTheRight; + if (PlayerYaw >= TargetYaw) + { + TargetOnTheRight = FMath::Abs(TargetYaw - PlayerYaw) >= 180; + } + else + { + TargetOnTheRight = TargetYaw - PlayerYaw <= 180; + } + + FVector2D NewPos = IconCanvasPanelSlot->GetPosition(); + if ((TargetOnTheRight && NewPos.X < 0) || (!TargetOnTheRight && NewPos.X > 0)) NewPos.X *= -1; + + IconCanvasPanelSlot->SetPosition(NewPos); + return; + } + + FVector2d ViewPortSize; + GEngine->GameViewport->GetViewportSize(ViewPortSize); + float ViewportHalfX = ViewPortSize.X / 2.f; + float ViewportHalfY = ViewPortSize.Y / 2.f; + + // Centers the icon + ScreenLoc.X -= ViewportHalfX; + ScreenLoc.Y -= ViewportHalfY; + + float ViewportMarginX = ViewportHalfX * 0.8f; + float ViewportMarginY = ViewportHalfY * 0.6f; + + ScreenLoc.X = FMath::Clamp(ScreenLoc.X, ViewportMarginX * -1.f, ViewportMarginX); + ScreenLoc.Y = FMath::Clamp(ScreenLoc.Y, ViewportMarginY * -1.f, ViewportMarginY); + + IconCanvasPanelSlot->SetPosition(ScreenLoc); +} + +void UMiniWaypoint::SetIconPanelSlot(UCanvasPanel* IconParent, UImage* ArrowImageComp) +{ + ArrowImage = ArrowImageComp; + IconCanvasPanelSlot = Cast(IconParent->Slot); +} diff --git a/EndlessVendetta/Source/EndlessVendetta/UserWidgets/MiniWaypoint.h b/EndlessVendetta/Source/EndlessVendetta/UserWidgets/MiniWaypoint.h new file mode 100644 index 00000000..9f810bfd --- /dev/null +++ b/EndlessVendetta/Source/EndlessVendetta/UserWidgets/MiniWaypoint.h @@ -0,0 +1,39 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Blueprint/UserWidget.h" +#include "Components/CanvasPanelSlot.h" +#include "Components/CanvasPanel.h" +#include "Components/Image.h" +#include "MiniWaypoint.generated.h" + +/** + * + */ +UCLASS() +class ENDLESSVENDETTA_API UMiniWaypoint : public UUserWidget +{ + GENERATED_BODY() + + void NativeTick(const FGeometry& MyGeometry, float InDeltaTime) override; + + UCanvasPanelSlot* IconCanvasPanelSlot; + UImage* ArrowImage; + +protected: + UFUNCTION(BlueprintCallable) + void SetIconPanelSlot(UCanvasPanel* IconParent, UImage* ArrowImageComp); + +public: + FVector WorldLoc = FVector(0, 0, 0); + APlayerController* PlayerController; + + UFUNCTION(BlueprintImplementableEvent) + void UpdateVisibility(bool IsVisible); + + UFUNCTION(BlueprintImplementableEvent) + void SetIcon(UTexture2D* Icon); + +};