43 public virtual void Update(
float dt) {
63 m_componentCreature.ComponentHealth.Injured += delegate(
Injury injury) {
131 if (componentHealth !=
null
132 && componentHealth.
Health == 0f) {
147 if (herdPosition.HasValue
151 float num =
float.NegativeInfinity;
153 for (
int i = 0; i < 30; i++) {
156 for (
int num4 = 255; num4 >= 0; num4--) {
160 Vector3 vector =
new(num2 + 0.5f, num4 + 1.1f, num3 + 0.5f);
179 Vector2 vector =
new(currentPosition.
X, currentPosition.
Z);
180 Vector2 vector2 =
new(safePosition.
X, safePosition.
Z);
184 Vector2 vector3 =
new(position.
X, position.
Z);
187 num += num2 + 3f * num3;
192 Vector2? vector4 = herdPosition.HasValue ?
new Vector2?(
new Vector2(herdPosition.Value.
X, herdPosition.Value.
Z)) :
null;
195 Vector2? vector5 = noiseSourcePosition.HasValue
196 ?
new Vector2?(
new Vector2(noiseSourcePosition.Value.
X, noiseSourcePosition.Value.
Z))
200 if (contents == 18) {
static int Max(int x1, int x2)
virtual bool IsCollidable_(int value)
virtual float ScoreSafePlace(Vector3 currentPosition, Vector3 safePosition, Vector3? herdPosition, Vector3? noiseSourcePosition, int contents)
SubsystemNoise m_subsystemNoise
StateMachine m_stateMachine
ComponentFrame m_attacker
virtual void Update(float dt)
virtual void HearNoise(ComponentBody sourceBody, Vector3 sourcePosition, float loudness)
override float ImportanceLevel
SubsystemTime m_subsystemTime
ComponentPathfinding m_componentPathfinding
virtual void RunAwayFrom(ComponentBody componentBody)
float m_timeToForgetAttacker
virtual Vector3 FindSafePlace()
ComponentHerdBehavior m_componentHerdBehavior
ComponentCreature m_componentCreature
override void Load(ValuesDictionary valuesDictionary, IdToEntityMap idToEntityMap)
SubsystemTerrain m_subsystemTerrain
Vector3? m_lastNoiseSourcePosition
virtual ComponentCreature Attacker
static int ExtractContents(int value)
static int ToCell(float x)
ValuesDictionary ValuesDictionary
static float Distance(Vector2 v1, Vector2 v2)
static float DistanceSquared(Vector3 v1, Vector3 v2)
static float Distance(Segment2 s, Vector2 p)