Upload from upload_mods.ps1
This commit is contained in:
110
Scripts/EAI/Inactive/EAILookCompanion.cs
Normal file
110
Scripts/EAI/Inactive/EAILookCompanion.cs
Normal file
@@ -0,0 +1,110 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Scripting;
|
||||
|
||||
[Preserve]
|
||||
public class EAILookCompanion : EAIBase
|
||||
{
|
||||
public EAILookCompanion()
|
||||
{
|
||||
this.MutexBits = 1;
|
||||
}
|
||||
|
||||
public override bool CanExecute()
|
||||
{
|
||||
if (this.theEntity.Buffs.GetCustomVar("onMission") == 1f)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
//Log.Out("EAILookCompanion-CanExecute START");
|
||||
|
||||
if (this.theEntity.Buffs.GetCustomVar("$Leader") == 0f)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool stopAttacking = this.theEntity.Buffs.HasBuff("buffNPCModStopAttacking") ||
|
||||
this.theEntity.Buffs.HasBuff("FuriousRamsayStandStill");
|
||||
|
||||
if (stopAttacking)
|
||||
{
|
||||
//Log.Out("EAILookCompanion-CanExecute STOP ATTACKING OR STAND STILL");
|
||||
this.theEntity.SetRevengeTarget(null);
|
||||
this.theEntity.SetAttackTarget(null, 0);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this.theEntity.GetAttackTarget() != null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return this.manager.lookTime > 0f;
|
||||
}
|
||||
|
||||
public override void Start()
|
||||
{
|
||||
this.waitTicks = (int)(this.manager.lookTime * 20f);
|
||||
this.manager.lookTime = 0f;
|
||||
this.theEntity.GetEntitySenses().Clear();
|
||||
this.viewTicks = 0;
|
||||
this.theEntity.Jumping = false;
|
||||
this.theEntity.moveHelper.Stop();
|
||||
}
|
||||
|
||||
public override bool Continue()
|
||||
{
|
||||
if (this.theEntity.Buffs.GetCustomVar("onMission") == 1f)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool stopAttacking = this.theEntity.Buffs.HasBuff("buffNPCModStopAttacking") ||
|
||||
this.theEntity.Buffs.HasBuff("FuriousRamsayStandStill");
|
||||
|
||||
if (stopAttacking)
|
||||
{
|
||||
//Log.Out("EAILookCompanion-CanExecute STOP ATTACKING OR STAND STILL");
|
||||
this.theEntity.SetRevengeTarget(null);
|
||||
this.theEntity.SetAttackTarget(null, 0);
|
||||
|
||||
return false;
|
||||
}
|
||||
//Log.Out("EAILookCompanion-Continue START");
|
||||
|
||||
if (this.theEntity.bodyDamage.CurrentStun != EnumEntityStunType.None)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
this.waitTicks--;
|
||||
if (this.waitTicks <= 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
this.viewTicks--;
|
||||
if (this.viewTicks <= 0)
|
||||
{
|
||||
this.viewTicks = 40;
|
||||
Vector3 headPosition = this.theEntity.getHeadPosition();
|
||||
Vector3 vector = this.theEntity.GetForwardVector();
|
||||
vector = Quaternion.Euler(base.RandomFloat * 60f - 30f, base.RandomFloat * 120f - 60f, 0f) * vector;
|
||||
this.theEntity.SetLookPosition(headPosition + vector);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void Reset()
|
||||
{
|
||||
this.theEntity.SetLookPosition(Vector3.zero);
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("{0}, wait {1}", base.ToString(), ((float)this.waitTicks / 20f).ToCultureInvariantString());
|
||||
}
|
||||
|
||||
private int waitTicks;
|
||||
private int viewTicks;
|
||||
}
|
||||
Reference in New Issue
Block a user