Add Niagara System to Lightning Ring
This commit is contained in:
parent
692bd2d38e
commit
a0cb52c17e
BIN
Content/Weapons/LightningRing/BP_LightningRingWeapon.uasset
(Stored with Git LFS)
BIN
Content/Weapons/LightningRing/BP_LightningRingWeapon.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
Content/Weapons/LightningRing/NS_LIghtningRingEffect.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Weapons/LightningRing/NS_LIghtningRingEffect.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -2,11 +2,10 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "LightningRingWeapon.h"
|
#include "LightningRingWeapon.h"
|
||||||
#include "Components/SphereComponent.h"
|
|
||||||
#include "Kismet/GameplayStatics.h"
|
#include "Kismet/GameplayStatics.h"
|
||||||
#include "Kismet/KismetSystemLibrary.h"
|
#include "Kismet/KismetSystemLibrary.h"
|
||||||
#include "vampires/EnemyCharacter.h"
|
#include "vampires/EnemyCharacter.h"
|
||||||
#include "vampires/HealthComponent.h"
|
#include "NiagaraFunctionLibrary.h"
|
||||||
|
|
||||||
ALightningRingWeapon::ALightningRingWeapon()
|
ALightningRingWeapon::ALightningRingWeapon()
|
||||||
{
|
{
|
||||||
@ -31,7 +30,7 @@ void ALightningRingWeapon::FireWeaponAction_Implementation()
|
|||||||
TArray<TEnumAsByte<EObjectTypeQuery>> traceObjectTypes;
|
TArray<TEnumAsByte<EObjectTypeQuery>> traceObjectTypes;
|
||||||
traceObjectTypes.Add(UEngineTypes::ConvertToObjectType(ECC_Pawn));
|
traceObjectTypes.Add(UEngineTypes::ConvertToObjectType(ECC_Pawn));
|
||||||
|
|
||||||
TArray<AActor*> actorsToIgnore = TArray<AActor*>({ GetOwner() });
|
TArray<AActor*> actorsToIgnore = TArray<AActor*>({GetOwner()});
|
||||||
|
|
||||||
TArray<AActor*> hitResults;
|
TArray<AActor*> hitResults;
|
||||||
|
|
||||||
@ -43,6 +42,13 @@ void ALightningRingWeapon::FireWeaponAction_Implementation()
|
|||||||
actorsToIgnore,
|
actorsToIgnore,
|
||||||
hitResults);
|
hitResults);
|
||||||
|
|
||||||
|
if (LightningEffectSystem)
|
||||||
|
{
|
||||||
|
float scale = FMath::FloorToFloat((CurrentLevel + 2.0f) / 2.0f);
|
||||||
|
UNiagaraFunctionLibrary::SpawnSystemAtLocation(this, LightningEffectSystem, target->GetActorLocation(),
|
||||||
|
GetActorRotation(), FVector(scale));
|
||||||
|
}
|
||||||
|
|
||||||
for (AActor* EnemyHitResult : hitResults)
|
for (AActor* EnemyHitResult : hitResults)
|
||||||
{
|
{
|
||||||
UGameplayStatics::ApplyDamage(EnemyHitResult, Damage, nullptr, this, nullptr);
|
UGameplayStatics::ApplyDamage(EnemyHitResult, Damage, nullptr, this, nullptr);
|
||||||
@ -54,7 +60,10 @@ void ALightningRingWeapon::FireWeaponAction_Implementation()
|
|||||||
|
|
||||||
bool ALightningRingWeapon::UpgradeWeapon_Implementation()
|
bool ALightningRingWeapon::UpgradeWeapon_Implementation()
|
||||||
{
|
{
|
||||||
if (!Super::UpgradeWeapon_Implementation()) return false;
|
if (!Super::UpgradeWeapon_Implementation())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
switch (CurrentLevel)
|
switch (CurrentLevel)
|
||||||
{
|
{
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#include "../Weapon.h"
|
#include "../Weapon.h"
|
||||||
#include "LightningRingWeapon.generated.h"
|
#include "LightningRingWeapon.generated.h"
|
||||||
|
|
||||||
|
class UNiagaraSystem;
|
||||||
class AEnemyCharacter;
|
class AEnemyCharacter;
|
||||||
class USphereComponent;
|
class USphereComponent;
|
||||||
/**
|
/**
|
||||||
@ -17,13 +18,15 @@ class VAMPIRES_API ALightningRingWeapon : public AWeapon
|
|||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
int LightningBolts = 1;
|
int LightningBolts = 1;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
float LightingBoltRadius = 200.0f;
|
float LightingBoltRadius = 200.0f;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
||||||
|
TObjectPtr<UNiagaraSystem> LightningEffectSystem;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ALightningRingWeapon();
|
ALightningRingWeapon();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user