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
|
else
|
||||||
{
|
{
|
||||||
// Defaults — all traits at 0.5
|
// Defaults — all traits at 0.5
|
||||||
for (uint8 i = 0; i <= static_cast<uint8>(EPS_AI_Behavior_TraitAxis::Discipline); ++i)
|
RuntimeTraits.Add(EPS_AI_Behavior_TraitAxis::Courage, 0.5f);
|
||||||
{
|
RuntimeTraits.Add(EPS_AI_Behavior_TraitAxis::Aggressivity, 0.5f);
|
||||||
RuntimeTraits.Add(static_cast<EPS_AI_Behavior_TraitAxis>(i), 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."),
|
UE_LOG(LogPS_AI_Behavior, Warning, TEXT("[%s] No PersonalityProfile assigned — using default traits."),
|
||||||
*GetOwner()->GetName());
|
*GetOwner()->GetName());
|
||||||
}
|
}
|
||||||
@ -100,7 +99,7 @@ EPS_AI_Behavior_State UPS_AI_Behavior_PersonalityComponent::EvaluateReaction() c
|
|||||||
return EPS_AI_Behavior_State::Fleeing;
|
return EPS_AI_Behavior_State::Fleeing;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PerceivedThreatLevel >= EffectiveAttackThresh && Aggressivity > 0.3f)
|
if (PerceivedThreatLevel >= EffectiveAttackThresh && Aggressivity > 0.0f)
|
||||||
{
|
{
|
||||||
return EPS_AI_Behavior_State::Combat;
|
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
|
// Initialize all trait axes to a neutral 0.5
|
||||||
TraitScores.Add(EPS_AI_Behavior_TraitAxis::Courage, 0.5f);
|
TraitScores.Add(EPS_AI_Behavior_TraitAxis::Courage, 0.5f);
|
||||||
TraitScores.Add(EPS_AI_Behavior_TraitAxis::Aggressivity, 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::Caution, 0.5f);
|
||||||
TraitScores.Add(EPS_AI_Behavior_TraitAxis::Discipline, 0.5f);
|
|
||||||
|
|
||||||
// Default target priority: Protector first, then Player, then Civilian
|
// Default target priority: Protector first, then Player, then Civilian
|
||||||
TargetPriority.Add(EPS_AI_Behavior_TargetType::Protector);
|
TargetPriority.Add(EPS_AI_Behavior_TargetType::Protector);
|
||||||
|
|||||||
@ -94,11 +94,9 @@ enum class EPS_AI_Behavior_CombatSubState : uint8
|
|||||||
UENUM(BlueprintType)
|
UENUM(BlueprintType)
|
||||||
enum class EPS_AI_Behavior_TraitAxis : uint8
|
enum class EPS_AI_Behavior_TraitAxis : uint8
|
||||||
{
|
{
|
||||||
Courage UMETA(DisplayName = "Courage", ToolTip = "0 = coward, 1 = fearless"),
|
Courage UMETA(DisplayName = "Courage", ToolTip = "0 = coward, 1 = fearless. Gates flee threshold and cover advancement."),
|
||||||
Aggressivity UMETA(DisplayName = "Aggressivity", ToolTip = "0 = peaceful, 1 = violent"),
|
Aggressivity UMETA(DisplayName = "Aggressivity", ToolTip = "0 = peaceful, 1 = violent. Drives attack threshold and Combat/Cover time ratio."),
|
||||||
Loyalty UMETA(DisplayName = "Loyalty", ToolTip = "0 = selfish, 1 = devoted"),
|
Caution UMETA(DisplayName = "Caution", ToolTip = "0 = reckless, 1 = prudent. Drives flee threshold, cover duration, and spline threat avoidance."),
|
||||||
Caution UMETA(DisplayName = "Caution", ToolTip = "0 = reckless, 1 = prudent"),
|
|
||||||
Discipline UMETA(DisplayName = "Discipline", ToolTip = "0 = undisciplined, 1 = disciplined"),
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// ─── TeamId Encoding ────────────────────────────────────────────────────────
|
// ─── TeamId Encoding ────────────────────────────────────────────────────────
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user