192 - Shotgun Score Request
This commit is contained in:
parent
067c83583c
commit
87d05490a5
|
@ -36,6 +36,34 @@ void ULagCompensationComponent::ServerScoreRequest_Implementation(ABlasterCharac
|
|||
}
|
||||
}
|
||||
|
||||
void ULagCompensationComponent::ShotgunServerScoreRequest_Implementation(const TArray<ABlasterCharacter*>& HitCharacters, const FVector_NetQuantize& TraceStart,
|
||||
const TArray<FVector_NetQuantize>& HitLocations, float HitTime, AWeapon* DamageCauser)
|
||||
{
|
||||
FShotgunServerSideRewindResult Confirm = ShotgunServerSideRewind(HitCharacters, TraceStart, HitLocations, HitTime);
|
||||
|
||||
for (auto& HitCharacter : HitCharacters)
|
||||
{
|
||||
if (HitCharacter == nullptr || Character == nullptr || HitCharacter->GetPrimaryWeapon() == nullptr) continue;
|
||||
float TotalDamage = 0.f;
|
||||
if (Confirm.Headshots.Contains(HitCharacter))
|
||||
{
|
||||
TotalDamage += Confirm.Headshots[HitCharacter] * Character->GetPrimaryWeapon()->GetDamage();
|
||||
}
|
||||
if (Confirm.BodyShots.Contains(HitCharacter))
|
||||
{
|
||||
TotalDamage += Confirm.BodyShots[HitCharacter] * Character->GetPrimaryWeapon()->GetDamage();
|
||||
}
|
||||
|
||||
UGameplayStatics::ApplyDamage(
|
||||
HitCharacter,
|
||||
TotalDamage,
|
||||
Character->Controller,
|
||||
Character->GetPrimaryWeapon(),
|
||||
UDamageType::StaticClass()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void ULagCompensationComponent::SaveFramePackage()
|
||||
{
|
||||
if (Character == nullptr || !Character->HasAuthority()) return;
|
||||
|
|
|
@ -87,6 +87,22 @@ public:
|
|||
AWeapon* DamageCauser
|
||||
);
|
||||
|
||||
UFUNCTION(Server, Reliable)
|
||||
void ShotgunServerScoreRequest(
|
||||
const TArray<ABlasterCharacter*>& HitCharacters,
|
||||
const FVector_NetQuantize& TraceStart,
|
||||
const TArray<FVector_NetQuantize>& HitLocations,
|
||||
float HitTime,
|
||||
AWeapon* DamageCauser
|
||||
);
|
||||
|
||||
FShotgunServerSideRewindResult ShotgunServerSideRewind(
|
||||
const TArray<ABlasterCharacter*>& HitCharacters,
|
||||
const FVector_NetQuantize& TraceStart,
|
||||
const TArray<FVector_NetQuantize>& HitLocations,
|
||||
float HitTime
|
||||
);
|
||||
|
||||
protected:
|
||||
virtual void BeginPlay() override;
|
||||
void SaveFramePackage();
|
||||
|
@ -106,12 +122,6 @@ protected:
|
|||
|
||||
// Shotgun related stuff
|
||||
|
||||
FShotgunServerSideRewindResult ShotgunServerSideRewind(
|
||||
const TArray<ABlasterCharacter*>& HitCharacters,
|
||||
const FVector_NetQuantize& TraceStart,
|
||||
const TArray<FVector_NetQuantize>& HitLocations,
|
||||
float HitTime
|
||||
);
|
||||
FShotgunServerSideRewindResult ShotgunConfirmHit(
|
||||
const TArray<FFramePackage>& FramePackages,
|
||||
const FVector_NetQuantize& TraceStart,
|
||||
|
|
Loading…
Reference in New Issue