Attempted Change to Recoil Timing for Weapons
This commit is contained in:
parent
e03c19e421
commit
f427b07bb9
BIN
EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_BaseAssaultRifle.uasset
(Stored with Git LFS)
BIN
EndlessVendetta/Content/FirstPerson/Blueprints/BaseWeapons/AssaultRifles/BP_BaseAssaultRifle.uasset
(Stored with Git LFS)
Binary file not shown.
@ -23,6 +23,9 @@ ABaseWeaponClass::ABaseWeaponClass()
|
|||||||
void ABaseWeaponClass::BeginPlay()
|
void ABaseWeaponClass::BeginPlay()
|
||||||
{
|
{
|
||||||
Super::BeginPlay();
|
Super::BeginPlay();
|
||||||
|
|
||||||
|
collisionParams.AddIgnoredActor(playerInWorld);
|
||||||
|
collisionParams.AddIgnoredActor(this);
|
||||||
|
|
||||||
// Attempt to find the player character
|
// Attempt to find the player character
|
||||||
APlayerController* PlayerController = UGameplayStatics::GetPlayerController(this, 0);
|
APlayerController* PlayerController = UGameplayStatics::GetPlayerController(this, 0);
|
||||||
@ -88,8 +91,9 @@ void ABaseWeaponClass::ApplyRecoil(float DeltaTime)
|
|||||||
float amplitude = RecoilCurve->GetFloatValue(recoilTime); //get current value of curve in time
|
float amplitude = RecoilCurve->GetFloatValue(recoilTime); //get current value of curve in time
|
||||||
recoilTime += DeltaTime;
|
recoilTime += DeltaTime;
|
||||||
if (bulletCountShoot <= 3) playerInWorld->AddControllerPitchInput(GetRecoilPitch(amplitude, recoilTime));
|
if (bulletCountShoot <= 3) playerInWorld->AddControllerPitchInput(GetRecoilPitch(amplitude, recoilTime));
|
||||||
traceEnd = traceStart + (UKismetMathLibrary::GetForwardVector(playerInWorld->GetControlRotation() * GetRecoilPitch(amplitude, recoilTime)));
|
newTraceEnd = traceStart + (UKismetMathLibrary::GetForwardVector(playerInWorld->GetControlRotation() * GetRecoilPitch(amplitude, recoilTime)));
|
||||||
//UE_LOG(LogTemp, Warning, TEXT("Controller pitch: Pitch: %f Yaw: %f, Roll: %f"), playerInWorld->GetControlRotation().Pitch, playerInWorld->GetControlRotation().Yaw, playerInWorld->GetControlRotation().Roll);
|
GetWorld()->LineTraceSingleByChannel(outHit, traceStart, newTraceEnd, ECC_Visibility, collisionParams);
|
||||||
|
UE_LOG(LogTemp, Warning, TEXT("traceEnd: %s"), *traceEnd.ToString());
|
||||||
playerInWorld->AddControllerYawInput(GetRecoilYaw(amplitude, recoilTime));
|
playerInWorld->AddControllerYawInput(GetRecoilYaw(amplitude, recoilTime));
|
||||||
//UE_LOG(LogTemp, Warning, TEXT("recoilTime: %f"), recoilTime);
|
//UE_LOG(LogTemp, Warning, TEXT("recoilTime: %f"), recoilTime);
|
||||||
UpdateSamples(amplitude, recoilTime);
|
UpdateSamples(amplitude, recoilTime);
|
||||||
@ -150,15 +154,12 @@ void ABaseWeaponClass::Fire()
|
|||||||
//do damage fallof based off distance
|
//do damage fallof based off distance
|
||||||
traceStart = GunStartArrow->GetComponentLocation();
|
traceStart = GunStartArrow->GetComponentLocation();
|
||||||
traceEnd = traceStart + (GunStartArrow->GetForwardVector() * BulletDistance);
|
traceEnd = traceStart + (GunStartArrow->GetForwardVector() * BulletDistance);
|
||||||
FCollisionQueryParams collisionParams;
|
|
||||||
collisionParams.AddIgnoredActor(playerInWorld);
|
|
||||||
collisionParams.AddIgnoredActor(this);
|
|
||||||
/*RecoilVerticalLimit(outHit);*/
|
/*RecoilVerticalLimit(outHit);*/
|
||||||
if (GetWorldTimerManager().IsTimerActive(timerHandle))
|
if (GetWorldTimerManager().IsTimerActive(timerHandle))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
GetWorld()->LineTraceSingleByChannel(outHit, traceStart, traceEnd, ECC_Visibility, collisionParams);
|
if (bulletCountShoot <= 3) GetWorld()->LineTraceSingleByChannel(outHit, traceStart, traceEnd, ECC_Visibility, collisionParams);
|
||||||
//Debug line to see where the trace hit
|
//Debug line to see where the trace hit
|
||||||
DrawDebugLine(this->GetWorld(), traceStart, traceEnd, FColor::Red, false, 5.0f, 0U, 2.5f);
|
DrawDebugLine(this->GetWorld(), traceStart, traceEnd, FColor::Red, false, 5.0f, 0U, 2.5f);
|
||||||
playerControllerRef->PlayerCameraManager->StartCameraShake(CameraShakeClass, 1);
|
playerControllerRef->PlayerCameraManager->StartCameraShake(CameraShakeClass, 1);
|
||||||
|
@ -116,6 +116,8 @@ public:
|
|||||||
FHitResult outHit;
|
FHitResult outHit;
|
||||||
FVector traceStart;
|
FVector traceStart;
|
||||||
FVector traceEnd;
|
FVector traceEnd;
|
||||||
|
FVector newTraceEnd;
|
||||||
|
FCollisionQueryParams collisionParams;
|
||||||
|
|
||||||
//UFUNCTION(BlueprintCallable, Category = "Weapons")
|
//UFUNCTION(BlueprintCallable, Category = "Weapons")
|
||||||
//void RecoilVerticalLimit(FHitResult Outhit);
|
//void RecoilVerticalLimit(FHitResult Outhit);
|
||||||
|
Loading…
Reference in New Issue
Block a user