Remove unused Loyalty/Discipline traits, lower Aggressivity combat threshold to 0
- Remove Loyalty and Discipline from EPS_AI_Behavior_TraitAxis enum (never used in gameplay) - Clean up PersonalityProfile and PersonalityComponent default trait initialization - Add descriptive tooltips to remaining traits (Courage, Aggressivity, Caution) - Lower Aggressivity combat gate from 0.3 to 0.0 (only Aggressivity=0 prevents combat) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
de3a5310f4
commit
f5897b46cc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -44,10 +44,9 @@ void UPS_AI_Behavior_PersonalityComponent::BeginPlay()
|
||||
else
|
||||
{
|
||||
// Defaults — all traits at 0.5
|
||||
for (uint8 i = 0; i <= static_cast<uint8>(EPS_AI_Behavior_TraitAxis::Discipline); ++i)
|
||||
{
|
||||
RuntimeTraits.Add(static_cast<EPS_AI_Behavior_TraitAxis>(i), 0.5f);
|
||||
}
|
||||
RuntimeTraits.Add(EPS_AI_Behavior_TraitAxis::Courage, 0.5f);
|
||||
RuntimeTraits.Add(EPS_AI_Behavior_TraitAxis::Aggressivity, 0.5f);
|
||||
RuntimeTraits.Add(EPS_AI_Behavior_TraitAxis::Caution, 0.5f);
|
||||
UE_LOG(LogPS_AI_Behavior, Warning, TEXT("[%s] No PersonalityProfile assigned — using default traits."),
|
||||
*GetOwner()->GetName());
|
||||
}
|
||||
@ -100,7 +99,7 @@ EPS_AI_Behavior_State UPS_AI_Behavior_PersonalityComponent::EvaluateReaction() c
|
||||
return EPS_AI_Behavior_State::Fleeing;
|
||||
}
|
||||
|
||||
if (PerceivedThreatLevel >= EffectiveAttackThresh && Aggressivity > 0.3f)
|
||||
if (PerceivedThreatLevel >= EffectiveAttackThresh && Aggressivity > 0.0f)
|
||||
{
|
||||
return EPS_AI_Behavior_State::Combat;
|
||||
}
|
||||
|
||||
@ -7,9 +7,7 @@ UPS_AI_Behavior_PersonalityProfile::UPS_AI_Behavior_PersonalityProfile()
|
||||
// Initialize all trait axes to a neutral 0.5
|
||||
TraitScores.Add(EPS_AI_Behavior_TraitAxis::Courage, 0.5f);
|
||||
TraitScores.Add(EPS_AI_Behavior_TraitAxis::Aggressivity, 0.5f);
|
||||
TraitScores.Add(EPS_AI_Behavior_TraitAxis::Loyalty, 0.5f);
|
||||
TraitScores.Add(EPS_AI_Behavior_TraitAxis::Caution, 0.5f);
|
||||
TraitScores.Add(EPS_AI_Behavior_TraitAxis::Discipline, 0.5f);
|
||||
|
||||
// Default target priority: Protector first, then Player, then Civilian
|
||||
TargetPriority.Add(EPS_AI_Behavior_TargetType::Protector);
|
||||
|
||||
@ -94,11 +94,9 @@ enum class EPS_AI_Behavior_CombatSubState : uint8
|
||||
UENUM(BlueprintType)
|
||||
enum class EPS_AI_Behavior_TraitAxis : uint8
|
||||
{
|
||||
Courage UMETA(DisplayName = "Courage", ToolTip = "0 = coward, 1 = fearless"),
|
||||
Aggressivity UMETA(DisplayName = "Aggressivity", ToolTip = "0 = peaceful, 1 = violent"),
|
||||
Loyalty UMETA(DisplayName = "Loyalty", ToolTip = "0 = selfish, 1 = devoted"),
|
||||
Caution UMETA(DisplayName = "Caution", ToolTip = "0 = reckless, 1 = prudent"),
|
||||
Discipline UMETA(DisplayName = "Discipline", ToolTip = "0 = undisciplined, 1 = disciplined"),
|
||||
Courage UMETA(DisplayName = "Courage", ToolTip = "0 = coward, 1 = fearless. Gates flee threshold and cover advancement."),
|
||||
Aggressivity UMETA(DisplayName = "Aggressivity", ToolTip = "0 = peaceful, 1 = violent. Drives attack threshold and Combat/Cover time ratio."),
|
||||
Caution UMETA(DisplayName = "Caution", ToolTip = "0 = reckless, 1 = prudent. Drives flee threshold, cover duration, and spline threat avoidance."),
|
||||
};
|
||||
|
||||
// ─── TeamId Encoding ────────────────────────────────────────────────────────
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user