OK, well I traced through the code and the behavior tree on the Minotaur and playing his GotHit animation revolves around the damageReceived variable.
So perhaps the first thing to determine is if that variable is getting set. The easiest thing would probably be to attach a debugger and set a breakpoint in the AIDamageReceiver. If you haven’t done that before I can run you through it.
If you want to skip the debugger, you could just add a Debug.Log statement in Sentio/Minotaur/Components/AIDamageReceiver:
...
public override void Update()
{
if (HealthElement != null)
{
MaxHealth = HealthElement.MaxHealth;
MinHealth = HealthElement.MinHealth;
CurrentHealth = HealthElement.CurrentHealth;
}
CurrentHealth = Mathf.Min(MaxHealth, Mathf.Max(MinHealth, CurrentHealth - CurrentDamage));
if (HealthElement != null)
{
HealthElement.CurrentHealth = CurrentHealth;
if (CurrentDamage > 0)
{
// Right here
Debug.Log("Took Damage " + CurrentDamage);
HealthElement.AI.WorkingMemory.SetItem<bool>("damageReceived", true);
HealthElement.AI.WorkingMemory.SetItem<bool>("healingReceived", false);
HealthElement.AI.WorkingMemory.SetItem<float>("damageAmount", CurrentDamage);
HealthElement.AI.WorkingMemory.SetItem<float>("healingAmount", 0f);
}
...
So if that debug message is getting output (or the breakpoint is getting hit), then the problem has to be in the behavior tree, which means we’ll have to go to the behavior tree debugger to see what is happening. We’ll try that if the above is working properly.