129 - Rocket Projectiles
This commit is contained in:
parent
927ab3aaa1
commit
a835a6fccf
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -455,4 +455,5 @@ void UCombatComponent::OnRep_CarriedAmmo()
|
||||||
void UCombatComponent::InitializeCarriedAmmo()
|
void UCombatComponent::InitializeCarriedAmmo()
|
||||||
{
|
{
|
||||||
CarriedAmmoMap.Emplace(EWeaponType::EWT_AssaultRifle, StartingARAmmo);
|
CarriedAmmoMap.Emplace(EWeaponType::EWT_AssaultRifle, StartingARAmmo);
|
||||||
|
CarriedAmmoMap.Emplace(EWeaponType::EWT_RocketLauncher, StartingRocketAmmo);
|
||||||
}
|
}
|
||||||
|
|
|
@ -123,6 +123,9 @@ private:
|
||||||
UPROPERTY(EditAnywhere)
|
UPROPERTY(EditAnywhere)
|
||||||
int32 StartingARAmmo = 30;
|
int32 StartingARAmmo = 30;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
int32 StartingRocketAmmo = 8;
|
||||||
|
|
||||||
void InitializeCarriedAmmo();
|
void InitializeCarriedAmmo();
|
||||||
|
|
||||||
UPROPERTY(ReplicatedUsing=OnRep_CombatState)
|
UPROPERTY(ReplicatedUsing=OnRep_CombatState)
|
||||||
|
|
|
@ -391,7 +391,7 @@ void ABlasterPlayerController::HandleMatchHasStarted()
|
||||||
BlasterHUD = BlasterHUD == nullptr ? Cast<ABlasterHUD>(GetHUD()) : BlasterHUD;
|
BlasterHUD = BlasterHUD == nullptr ? Cast<ABlasterHUD>(GetHUD()) : BlasterHUD;
|
||||||
if (BlasterHUD)
|
if (BlasterHUD)
|
||||||
{
|
{
|
||||||
BlasterHUD->AddCharacterOverlay();
|
if (BlasterHUD->CharacterOverlay == nullptr) BlasterHUD->AddCharacterOverlay();
|
||||||
if (BlasterHUD->Announcement)
|
if (BlasterHUD->Announcement)
|
||||||
{
|
{
|
||||||
BlasterHUD->Announcement->SetVisibility(ESlateVisibility::Hidden);
|
BlasterHUD->Announcement->SetVisibility(ESlateVisibility::Hidden);
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
|
|
||||||
|
#include "ProjectileRocket.h"
|
||||||
|
|
||||||
|
#include "Kismet/GameplayStatics.h"
|
||||||
|
|
||||||
|
AProjectileRocket::AProjectileRocket()
|
||||||
|
{
|
||||||
|
RocketMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Rocket Mesh"));
|
||||||
|
RocketMesh->SetupAttachment(RootComponent);
|
||||||
|
RocketMesh->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AProjectileRocket::OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit)
|
||||||
|
{
|
||||||
|
APawn* FiringPawn = GetInstigator();
|
||||||
|
if (FiringPawn)
|
||||||
|
{
|
||||||
|
AController* FiringController = FiringPawn->GetController();
|
||||||
|
if (FiringController)
|
||||||
|
{
|
||||||
|
UGameplayStatics::ApplyRadialDamageWithFalloff(
|
||||||
|
this,
|
||||||
|
Damage,
|
||||||
|
10.f,
|
||||||
|
GetActorLocation(),
|
||||||
|
200.f,
|
||||||
|
500.f,
|
||||||
|
1.f,
|
||||||
|
UDamageType::StaticClass(),
|
||||||
|
TArray<AActor*>(),
|
||||||
|
this,
|
||||||
|
FiringController
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Super::OnHit(HitComp, OtherActor, OtherComp, NormalImpulse, Hit);
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "CoreMinimal.h"
|
||||||
|
#include "Projectile.h"
|
||||||
|
#include "ProjectileRocket.generated.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
UCLASS()
|
||||||
|
class BLASTER_API AProjectileRocket : public AProjectile
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
public:
|
||||||
|
AProjectileRocket();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
virtual void OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
UPROPERTY(VisibleAnywhere)
|
||||||
|
UStaticMeshComponent* RocketMesh;
|
||||||
|
};
|
|
@ -4,6 +4,7 @@ UENUM(BlueprintType)
|
||||||
enum class EWeaponType: uint8
|
enum class EWeaponType: uint8
|
||||||
{
|
{
|
||||||
EWT_AssaultRifle UMETA(DisplayName="Assault Rifle"),
|
EWT_AssaultRifle UMETA(DisplayName="Assault Rifle"),
|
||||||
|
EWT_RocketLauncher UMETA(DisplayName="Rocket Launcher"),
|
||||||
|
|
||||||
EWT_MAX UMETA(DisplayName="DefaultMAX")
|
EWT_MAX UMETA(DisplayName="DefaultMAX")
|
||||||
};
|
};
|
Loading…
Reference in New Issue