1
0
KF2-Dev-Scripts/KFGame/Classes/KFScout.uc

105 lines
4.0 KiB
Ucode
Raw Normal View History

2020-12-13 15:01:13 +00:00
//=============================================================================
// KFScout
//=============================================================================
// KF2 scout class used when generating AI paths
//=============================================================================
// Killing Floor 2
// Copyright (C) 2012-2013 Tripwire Interactive LLC
//=============================================================================
class KFScout extends Scout
native(AI);
var config bool bReplacePathNodesWithKFPathNodes;
var config bool bDebugReplacePathNodes;
var array< class<KFPawn> > PrototypePawnClasses;
var int PrototypeIndex;
var transient array<KFDoorMarker> KFDoorMarkerList;
var float TestSprintSpeed;
var float TestHiddenGroundSpeed;
var float DefaultMaxFallSpeed;
var float DefaultJumpZ;
cpptext
{
virtual void SetBase(AActor *NewBase, FVector NewFloor = FVector(0,0,1), INT bNotifyActor=1, USkeletalMeshComponent* SkelComp=NULL, FName BoneName=NAME_None );
virtual void SetPrototype();
virtual void InitForPathing( ANavigationPoint* Start, ANavigationPoint* End );
virtual UClass* GetDefaultReachSpecClass();
// To be overridden
virtual FVector GetDefaultForcedPathSize(UReachSpec* Spec)
{
return Super::GetDefaultForcedPathSize(Spec);
}
virtual void SetPathColor(UReachSpec* ReachSpec);
#if WITH_EDITOR
/** Long range reachspecs are evil and pointless, so we won't use them */
virtual void AddLongReachSpecs( INT NumPaths );
/** Good riddance to you, horribly annoying godawful senseless long-range-reachspecs! */
virtual void Exec( const TCHAR* Str );
UBOOL CreateLeapPath( ANavigationPoint* Nav, ANavigationPoint* DestNav, FCheckResult Hit, UBOOL bOnlyChanged );
void AddSpecialPaths( INT NumPaths, UBOOL bOnlyChanged );
virtual void UndefinePaths();
virtual void DefinePaths( UBOOL bReviewPaths, UBOOL bShowMapCheck, UBOOL bUndefinePaths );
#endif
}
DefaultProperties
{
PathSizes.Empty
NavMeshGen_MaxPolyHeight=200.0
//NavMeshGen_MaxPolyHeight=90.0
PrototypePawnClasses(0)=class'KFGame.KFPawn_Monster'
// Note: Human size is also clot size. "Human" is hardcoded all over the engine, so we'll stick with that name
PathSizes(0)=(Desc=ClotsAllSirenStalker,Radius=36,Height=90)
PathSizes(1)=(Desc=Human,Radius=40,Height=90)
PathSizes(2)=(Desc=Crawler,Radius=48,Height=48)
PathSizes(3)=(Desc=GoreFastHusk,Radius=48,Height=90)
PathSizes(4)=(Desc=BloatScrakeFleshPoundHans,Radius=55,Height=90)
PathSizes(5)=(Desc=Max,Radius=120,Height=120)
EdgePathColors(0)=(R=0,G=0,B=255,A=255) // ClotsAllSirenStalkerBlue, blue
EdgePathColors(1)=(R=173,G=255,B=47,A=255) // Human, green yellow (173,255,47)
EdgePathColors(2)=(R=0,G=128,B=0,A=255) // Crawler green (0,255,0)
EdgePathColors(3)=(R=0,G=255,B=0,A=255) // GoreFastHusk lime (0,128,0)
EdgePathColors(4)=(R=255,G=255,B=255) // BloatScrakeFleshPoundHans White (255,255,255)
EdgePathColors(5)=(R=255,G=105,B=180,A=255) // Max (255,105,180); // hot pink
bHightlightOneWayReachSpecs=true // Epic's spelling error!
//TestFallSpeed=600
TestMaxFallSpeed=500
TestGroundSpeed=500.000
TestJumpZ=650.f
// __TW_AIJUMPDEBUG_
MaxStepHeight=70.0
MaxJumpHeight=128.0
//TestFallSpeed=1200
bCanJumpOverWalls=true
DefaultMaxFallSpeed=500.f
DefaultJumpZ=650.f
DefaultReachSpecClass=class'KFGame.KFReachSpec'
NavMeshGen_StepSize=30.0
NavMeshGen_MaxGroundCheckSize=30.0f
NavMeshGen_EntityHalfHeight=72.0
//NavMeshGen_EntityHalfHeight=24.0
NavMeshGen_StartingHeightOffset=65.0
NavMeshGen_MaxDropHeight=250.0
NavMeshGen_MaxStepHeight=40.0
NavMeshGen_VertZDeltaSnapThresh=20.0
NavMeshGen_MinPolyArea=25
NavMeshGen_BorderBackfill_CheckDist=70.0
NavMeshGen_MinMergeDotAreaThreshold=2.0
NavMeshGen_MinMergeDotSmallArea=0.0
NavMeshGen_MinMergeDotLargeArea=0.95
//NavMeshGen_MaxPolyHeight=160.0
NavMeshGen_HeightMergeThreshold=10
NavMeshGen_EdgeMaxDelta=2.0
NavMeshGen_MinEdgeLength=7.0
NavMeshGen_ExpansionDoObstacleMeshSimplification=TRUE
}