Added survival mechanic that consumes inventory items if needed.

This commit is contained in:
2026-05-09 12:22:04 +02:00
parent 8a79a3474e
commit 9f32152fb8
11 changed files with 356 additions and 25 deletions
+4 -2
View File
@@ -42,7 +42,9 @@ public class ExploreNode : ProgramNode
Vector3 target = pathPoints[0] - startPosition;
float distance = target.Length();
if (distance < 0.1f * Mathf.Sqrt(GameData.robotSpeed))
float movementSpeed = robot.GetMovementSpeed();
if (distance < 0.1f * Mathf.Sqrt(movementSpeed))
{
robot.Position = pathPoints[0];
Vector3I mapIndex = Pathfinding.GetClosestStartPoint(robot.Position);
@@ -70,7 +72,7 @@ public class ExploreNode : ProgramNode
{
robot.LookAt(robot.GlobalPosition + lookDirection, Vector3.Up);
}
robot.GlobalPosition += direction * (float)delta * GameData.robotSpeed;
robot.GlobalPosition += direction * (float)delta * movementSpeed;
return NodeResult.RUNNING;
}
+4 -2
View File
@@ -24,7 +24,9 @@ public class MoveNode : ProgramNode
Vector3 target = pathPoints[0] - startPosition;
float distance = target.Length();
if (distance < 0.1f)
float movementSpeed = robot.GetMovementSpeed();
if (distance < 0.1f * Mathf.Sqrt(movementSpeed))
{
robot.Position = pathPoints[0];
Vector3I mapIndex = Pathfinding.GetClosestStartPoint(robot.Position);
@@ -51,7 +53,7 @@ public class MoveNode : ProgramNode
{
robot.LookAt(robot.GlobalPosition + lookDirection, Vector3.Up);
}
robot.GlobalPosition += direction * (float)delta * GameData.robotSpeed;
robot.GlobalPosition += direction * (float)delta * movementSpeed;
return NodeResult.RUNNING;
}