mirror of
https://github.com/FriendshipIsEpic/FiE-Game.git
synced 2024-11-30 08:57:59 +01:00
79 lines
2.7 KiB
C#
79 lines
2.7 KiB
C#
|
using Fie.Enemies.HoovesRaces.QueenChrysalis;
|
||
|
using Fie.Object;
|
||
|
using UnityEngine;
|
||
|
|
||
|
namespace Fie.AI
|
||
|
{
|
||
|
public class FieAITaskQueenChrysalisIdle : FieAITaskBase
|
||
|
{
|
||
|
public override bool Task(FieAITaskController manager)
|
||
|
{
|
||
|
FieQueenChrysalis fieQueenChrysalis = manager.ownerCharacter as FieQueenChrysalis;
|
||
|
if (fieQueenChrysalis == null)
|
||
|
{
|
||
|
return true;
|
||
|
}
|
||
|
if (fieQueenChrysalis.canAbleToCallMinion)
|
||
|
{
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysallisCallingMinion)] = 100;
|
||
|
return true;
|
||
|
}
|
||
|
if (manager.ownerCharacter.groundState == FieObjectGroundState.Flying)
|
||
|
{
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisAirRaid)] = 100;
|
||
|
if (fieQueenChrysalis.detector.lockonTargetObject != null)
|
||
|
{
|
||
|
float num = Vector3.Distance(fieQueenChrysalis.detector.lockonTargetObject.centerTransform.position, fieQueenChrysalis.centerTransform.position);
|
||
|
if (num < 1.25f)
|
||
|
{
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisDoubleSlash)] = 500;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisDoubleSlash)] = 100;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
FieAITaskController.FieAIFrontAndBackPoint frontAndBackPoint = manager.GetFrontAndBackPoint();
|
||
|
if (frontAndBackPoint.backDistance > 0f)
|
||
|
{
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisTeleportation)] = 100;
|
||
|
return true;
|
||
|
}
|
||
|
if (fieQueenChrysalis.detector.lockonTargetObject != null)
|
||
|
{
|
||
|
float num2 = Vector3.Distance(fieQueenChrysalis.detector.lockonTargetObject.centerTransform.position, fieQueenChrysalis.centerTransform.position);
|
||
|
if (num2 > 5f)
|
||
|
{
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisTeleportation)] = 100;
|
||
|
return true;
|
||
|
}
|
||
|
if (num2 > 3f)
|
||
|
{
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisTeleportation)] = 200;
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisShot)] = 200;
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisDoubleSlash)] = 100;
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisCrucible)] = 250;
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisIgnite)] = 200;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisTeleportation)] = 50;
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisShot)] = 50;
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisDoubleSlash)] = 400;
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisCrucible)] = 200;
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisIgnite)] = 150;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if (fieQueenChrysalis.healthStats.shield <= 0f)
|
||
|
{
|
||
|
nextStateWeightList[typeof(FieAITaskQueenChrysalisMeteoShower)] = 50 + (int)(100f * (fieQueenChrysalis.healthStats.hitPoint / fieQueenChrysalis.healthStats.maxHitPoint));
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
}
|
||
|
}
|