DRG-Femboy-Voice/Source/FSD/Private/PatrolBot.cpp
2025-04-15 12:39:31 -07:00

155 lines
5 KiB
C++
Executable file

#include "PatrolBot.h"
#include "Perception/PawnSensingComponent.h"
#include "Components/AudioComponent.h"
#include "Particles/ParticleSystemComponent.h"
#include "Components/SphereComponent.h"
#include "AvoidCeilingComponent.h"
#include "DamageComponent.h"
#include "EnemyComponent.h"
#include "HackingUsableComponent.h"
#include "Net/UnrealNetwork.h"
#include "PawnAlertComponent.h"
#include "PlayerImpactCooldownComponent.h"
#include "ProjectileAttackComponent.h"
void APatrolBot::SetIsPatrolling(bool patroling) {
}
void APatrolBot::SetHacked() {
}
void APatrolBot::SetFiringRockets(bool firing) {
}
void APatrolBot::ReviveDrone() {
}
void APatrolBot::OnRep_State() {
}
void APatrolBot::OnRep_IsLockedOn() {
}
void APatrolBot::OnRep_FiringRockets() {
}
void APatrolBot::OnRep_ControlState(EPatrolBotControlState oldState) {
}
void APatrolBot::OnMovementStateChanged(EDeepMovementState NewState) {
}
void APatrolBot::OnDroneAlerted() {
}
void APatrolBot::OnDeath(UHealthComponentBase* aHealthComponent) {
}
void APatrolBot::OnCollided(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult) {
}
void APatrolBot::Jumped_Implementation() {
}
bool APatrolBot::IsHacked() const {
return false;
}
void APatrolBot::ImpactSound_Implementation() {
}
void APatrolBot::EndFireRockets() {
}
void APatrolBot::DisableDrone() {
}
void APatrolBot::All_SetLaserBeamActive_Implementation(bool Active) {
}
void APatrolBot::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const {
Super::GetLifetimeReplicatedProps(OutLifetimeProps);
DOREPLIFETIME(APatrolBot, IsLockedOn);
DOREPLIFETIME(APatrolBot, State);
DOREPLIFETIME(APatrolBot, ControlState);
DOREPLIFETIME(APatrolBot, FiringRockets);
DOREPLIFETIME(APatrolBot, Alerted);
DOREPLIFETIME(APatrolBot, CurrentTarget);
}
APatrolBot::APatrolBot() {
this->HackingUsable = CreateDefaultSubobject<UHackingUsableComponent>(TEXT("HackingUsable"));
this->PawnSensing = CreateDefaultSubobject<UPawnSensingComponent>(TEXT("PawnSensing"));
this->CollisionSphere = CreateDefaultSubobject<USphereComponent>(TEXT("CollisionSphere"));
this->NearTargetSphere = NULL;
this->LaserBeam = CreateDefaultSubobject<UParticleSystemComponent>(TEXT("LaserBeamIndicator"));
this->TearingGroundParticles = CreateDefaultSubobject<UParticleSystemComponent>(TEXT("TearingGroundParticles"));
this->EnemyComponent = CreateDefaultSubobject<UEnemyComponent>(TEXT("EnemyComponent"));
this->Damage = CreateDefaultSubobject<UDamageComponent>(TEXT("Damage"));
this->BumpDamage = CreateDefaultSubobject<UDamageComponent>(TEXT("BumpDamage"));
this->Alert = CreateDefaultSubobject<UPawnAlertComponent>(TEXT("Alert"));
this->ImpactCooldown = CreateDefaultSubobject<UPlayerImpactCooldownComponent>(TEXT("ImpactCooldown"));
this->CeilingAvoidance = CreateDefaultSubobject<UAvoidCeilingComponent>(TEXT("CeilingAvoidance"));
this->RollingAudio = CreateDefaultSubobject<UAudioComponent>(TEXT("RollingAudioComponent"));
this->FlyingAudio = CreateDefaultSubobject<UAudioComponent>(TEXT("FlyingAudioComponent"));
this->RollingRangedAttack = CreateDefaultSubobject<UProjectileAttackComponent>(TEXT("RangedAttack"));
this->FlyingRangedAttack = CreateDefaultSubobject<UProjectileAttackComponent>(TEXT("FlyingRangedAttack"));
this->MissileAttack = CreateDefaultSubobject<UProjectileAttackComponent>(TEXT("MissileAttack"));
this->MaxMotionSoundVelThresholdFlying = 400.00f;
this->MaxMotionSoundVelThreshold = 400.00f;
this->MaxTurningMotionSoundVelThreshold = 400.00f;
this->DebugAudio = false;
this->HackedAttackMultiplier = 0.50f;
this->IsLockedOn = false;
this->DelayAfterLockOn = 0.50f;
this->ImpactCue = NULL;
this->JumpSound = NULL;
this->StartupAccelerationSound = NULL;
this->LaunchPower = 0.00f;
this->SpawnRocketsTime = 5.00f;
this->State = EPatrolBotState::Rolling;
this->ControlState = EPatrolBotControlState::Hostile;
this->HackedAttackSpeedMultiplier = 0.80f;
this->LaserPenetrationDistance = 10.00f;
this->MinTurretAngle = -30.00f;
this->MaxTurretAngle = 50.00f;
this->SpawnRocketsChance = 0.50f;
this->GunRange = 0.00f;
this->RollingAttackCooldown = 0.00f;
this->FlyingAttackCooldown = 0.00f;
this->TurretLerpSpeed = 3.00f;
this->AimDownwardsOffset = 40.00f;
this->AccelerationThreshold = 0.00f;
this->LowSpeedThreshold = 50.00f;
this->RollSettings = NULL;
this->JumpSettings = NULL;
this->SpawnRocketsSettings = NULL;
this->CanJump = false;
this->JumpForce = 0.00f;
this->StartFlyingTimer = 0.50f;
this->MinRollingTime = 0.00f;
this->MaxRollingTime = 0.00f;
this->MinFlyingTime = 0.00f;
this->MaxFlyingTime = 0.00f;
this->SinSpeed = 0.50f;
this->SinSize = 50.00f;
this->FlyingDampOmega = 4.00f;
this->RollingDampOmega = 20.00f;
this->FiringRockets = false;
this->Alerted = false;
this->CurrentTarget = NULL;
}