From c48d69b742a63262dcc2f9ac7037b0ca5f2f0ad1 Mon Sep 17 00:00:00 2001 From: Neloreck Date: Fri, 25 Aug 2023 23:14:05 +0300 Subject: [PATCH] Moved action planner types to ai/types. --- .../core/managers/debug/DebugManager.ts | 3 +- src/engine/core/objects/ai/index.ts | 1 + .../ai/setup/motivation_planner.test.ts | 8 +- .../objects/ai/setup/motivation_planner.ts | 8 +- .../ai/setup/state/animation_planner.test.ts | 6 +- .../ai/setup/state/animation_planner.ts | 2 +- .../ai/setup/state/animstate_planner.test.ts | 7 +- .../ai/setup/state/animstate_planner.ts | 2 +- .../ai/setup/state/body_state_planner.test.ts | 8 +- .../ai/setup/state/body_state_planner.ts | 2 +- .../ai/setup/state/direction_planner.test.ts | 6 +- .../ai/setup/state/direction_planner.ts | 2 +- .../ai/setup/state/locked_planner.test.ts | 6 +- .../objects/ai/setup/state/locked_planner.ts | 2 +- .../ai/setup/state/mental_planner.test.ts | 6 +- .../objects/ai/setup/state/mental_planner.ts | 2 +- .../ai/setup/state/movement_planner.test.ts | 6 +- .../ai/setup/state/movement_planner.ts | 2 +- .../setup/state/smart_cover_planner.test.ts | 6 +- .../ai/setup/state/smart_cover_planner.ts | 2 +- .../ai/setup/state/state_evaluator.test.ts | 6 +- .../ai/setup/state/state_evaluators.ts | 2 +- .../ai/setup/state/weapon_planner.test.ts | 6 +- .../objects/ai/setup/state/weapon_planner.ts | 2 +- .../objects/ai/setup/state_planner.test.ts | 3 +- .../core/objects/ai/setup/state_planner.ts | 2 +- .../ai/types/categories.ts} | 2 +- src/engine/core/objects/ai/types/index.ts | 5 + .../ai/types/motivator_actions.test.ts} | 4 +- .../ai/types/motivator_actions.ts} | 2 +- .../ai/types/motivator_evaluators.test.ts} | 4 +- .../ai/types/motivator_evaluators.ts} | 2 +- .../objects/ai/types/state_actions.test.ts | 14 ++ .../core/objects/ai/types/state_actions.ts | 54 ++++++++ .../objects/ai/types/state_evaluators.test.ts | 14 ++ .../core/objects/ai/types/state_evaluators.ts | 67 ++++++++++ .../core/objects/animation/state_types.ts | 123 ------------------ .../core/objects/state/StalkerStateManager.ts | 3 +- .../objects/state/state/EvaluatorStateEnd.ts | 2 +- .../state/state/EvaluatorStateIdleAlife.ts | 4 +- .../state/state/EvaluatorStateIdleCombat.ts | 4 +- .../state/state/EvaluatorStateIdleItems.ts | 4 +- .../state/state/EvaluatorStateLocked.ts | 2 +- src/engine/core/schemes/abuse/SchemeAbuse.ts | 16 +-- .../core/schemes/animpoint/SchemeAnimpoint.ts | 3 +- src/engine/core/schemes/base/id/index.ts | 3 - src/engine/core/schemes/base/index.ts | 1 - .../core/schemes/camper/SchemeCamper.ts | 3 +- .../camper/evaluators/EvaluatorCloseCombat.ts | 2 +- .../core/schemes/combat/SchemeCombat.ts | 3 +- .../combat_camper/SchemeCombatCamper.ts | 3 +- .../combat_zombied/SchemeCombatZombied.ts | 3 +- .../core/schemes/companion/SchemeCompanion.ts | 3 +- .../corpse_detection/SchemeCorpseDetection.ts | 3 +- src/engine/core/schemes/cover/SchemeCover.ts | 3 +- .../schemes/help_wounded/SchemeHelpWounded.ts | 3 +- src/engine/core/schemes/meet/SchemeMeet.ts | 3 +- .../core/schemes/patrol/SchemePatrol.ts | 3 +- .../core/schemes/remark/SchemeRemark.ts | 3 +- .../core/schemes/sleeper/SchemeSleeper.ts | 3 +- .../schemes/smartcover/SchemeSmartCover.ts | 2 +- .../core/schemes/walker/SchemeWalker.ts | 3 +- .../core/schemes/wounded/SchemeWounded.ts | 15 +-- .../core/utils/object/object_check.test.ts | 2 +- src/engine/core/utils/object/object_check.ts | 2 +- .../core/utils/object/object_state.test.ts | 2 +- src/engine/core/utils/object/object_state.ts | 2 +- .../core/utils/scheme/scheme_setup.test.ts | 3 +- src/engine/core/utils/scheme/scheme_setup.ts | 3 +- 69 files changed, 267 insertions(+), 246 deletions(-) rename src/engine/core/{schemes/base/id/category_ids.ts => objects/ai/types/categories.ts} (86%) create mode 100644 src/engine/core/objects/ai/types/index.ts rename src/engine/core/{schemes/base/id/action_ids.test.ts => objects/ai/types/motivator_actions.test.ts} (71%) rename src/engine/core/{schemes/base/id/action_ids.ts => objects/ai/types/motivator_actions.ts} (97%) rename src/engine/core/{schemes/base/id/evaluator_ids.test.ts => objects/ai/types/motivator_evaluators.test.ts} (70%) rename src/engine/core/{schemes/base/id/evaluator_ids.ts => objects/ai/types/motivator_evaluators.ts} (97%) create mode 100644 src/engine/core/objects/ai/types/state_actions.test.ts create mode 100644 src/engine/core/objects/ai/types/state_actions.ts create mode 100644 src/engine/core/objects/ai/types/state_evaluators.test.ts create mode 100644 src/engine/core/objects/ai/types/state_evaluators.ts delete mode 100644 src/engine/core/schemes/base/id/index.ts diff --git a/src/engine/core/managers/debug/DebugManager.ts b/src/engine/core/managers/debug/DebugManager.ts index 63b3f0db3..6a26ba9bf 100644 --- a/src/engine/core/managers/debug/DebugManager.ts +++ b/src/engine/core/managers/debug/DebugManager.ts @@ -2,9 +2,8 @@ import { alife, cast_planner, relation_registry, stalker_ids } from "xray16"; import { IRegistryObjectState, registry } from "@/engine/core/database"; import { AbstractCoreManager } from "@/engine/core/managers/base/AbstractCoreManager"; -import { EStateActionId } from "@/engine/core/objects/animation"; +import { EActionId, EStateActionId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; -import { EActionId } from "@/engine/core/schemes"; import { gameTimeToString } from "@/engine/core/utils/game/game_time"; import { LuaLogger } from "@/engine/core/utils/logging"; import { getObjectActiveWeaponSlot } from "@/engine/core/utils/object"; diff --git a/src/engine/core/objects/ai/index.ts b/src/engine/core/objects/ai/index.ts index 9c40b99e7..c2ff92d0d 100644 --- a/src/engine/core/objects/ai/index.ts +++ b/src/engine/core/objects/ai/index.ts @@ -1 +1,2 @@ export * from "@/engine/core/objects/ai/setup"; +export * from "@/engine/core/objects/ai/types"; diff --git a/src/engine/core/objects/ai/setup/motivation_planner.test.ts b/src/engine/core/objects/ai/setup/motivation_planner.test.ts index 7386f9f56..b4f906da2 100644 --- a/src/engine/core/objects/ai/setup/motivation_planner.test.ts +++ b/src/engine/core/objects/ai/setup/motivation_planner.test.ts @@ -1,6 +1,7 @@ import { describe, expect, it } from "@jest/globals"; import { setupStalkerMotivationPlanner } from "@/engine/core/objects/ai/setup/motivation_planner"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; import { EAnimationType } from "@/engine/core/objects/animation/animation_types"; import { StalkerAnimationManager } from "@/engine/core/objects/state/StalkerAnimationManager"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; @@ -8,7 +9,6 @@ import { EvaluatorStateIdleAlife } from "@/engine/core/objects/state/state/Evalu import { EvaluatorStateIdleCombat } from "@/engine/core/objects/state/state/EvaluatorStateIdleCombat"; import { EvaluatorStateIdleItems } from "@/engine/core/objects/state/state/EvaluatorStateIdleItems"; import { EvaluatorStateLogicActive } from "@/engine/core/objects/state/state/EvaluatorStateLogicActive"; -import { EActionId, EEvaluatorId } from "@/engine/core/schemes"; import { ActionPlanner, ClientObject } from "@/engine/lib/types"; import { checkPlannerAction } from "@/fixtures/engine"; import { MockActionPlanner, mockClientGameObject } from "@/fixtures/xray"; @@ -44,14 +44,14 @@ describe("motivation_planner setup util", () => { checkPlannerAction( planner.action(EActionId.STATE_TO_IDLE_COMBAT), - "ToIdleCombat", + "ActionToIdleCombat", [[EEvaluatorId.IS_STATE_IDLE_COMBAT, false]], [[EEvaluatorId.IS_STATE_IDLE_COMBAT, true]] ); checkPlannerAction( planner.action(EActionId.STATE_TO_IDLE_ITEMS), - "ToIdleItems", + "ActionToIdleItems", [ [EEvaluatorId.IS_STATE_IDLE_ITEMS, false], [mockStalkerIds.property_items, true], @@ -62,7 +62,7 @@ describe("motivation_planner setup util", () => { checkPlannerAction( planner.action(EActionId.STATE_TO_IDLE_ALIFE), - "ToIdleAlife", + "ActionToIdleAlife", [ [mockStalkerIds.property_alive, true], [mockStalkerIds.property_enemy, false], diff --git a/src/engine/core/objects/ai/setup/motivation_planner.ts b/src/engine/core/objects/ai/setup/motivation_planner.ts index d257b757e..29f93c9d7 100644 --- a/src/engine/core/objects/ai/setup/motivation_planner.ts +++ b/src/engine/core/objects/ai/setup/motivation_planner.ts @@ -1,12 +1,12 @@ import { stalker_ids, world_property } from "xray16"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state"; import { ActionStateToIdle } from "@/engine/core/objects/state/state/ActionStateToIdle"; import { EvaluatorStateIdleAlife } from "@/engine/core/objects/state/state/EvaluatorStateIdleAlife"; import { EvaluatorStateIdleCombat } from "@/engine/core/objects/state/state/EvaluatorStateIdleCombat"; import { EvaluatorStateIdleItems } from "@/engine/core/objects/state/state/EvaluatorStateIdleItems"; import { EvaluatorStateLogicActive } from "@/engine/core/objects/state/state/EvaluatorStateLogicActive"; -import { EActionId, EEvaluatorId } from "@/engine/core/schemes"; import { LuaLogger } from "@/engine/core/utils/logging"; import { ActionPlanner } from "@/engine/lib/types"; @@ -25,14 +25,14 @@ export function setupStalkerMotivationPlanner(planner: ActionPlanner, stateManag planner.add_evaluator(EEvaluatorId.IS_STATE_IDLE_ITEMS, new EvaluatorStateIdleItems(stateManager)); planner.add_evaluator(EEvaluatorId.IS_STATE_LOGIC_ACTIVE, new EvaluatorStateLogicActive(stateManager)); - const actionCombatStateToIdle: ActionStateToIdle = new ActionStateToIdle(stateManager, "ToIdleCombat"); + const actionCombatStateToIdle: ActionStateToIdle = new ActionStateToIdle(stateManager, "ActionToIdleCombat"); actionCombatStateToIdle.add_precondition(new world_property(EEvaluatorId.IS_STATE_IDLE_COMBAT, false)); actionCombatStateToIdle.add_effect(new world_property(EEvaluatorId.IS_STATE_IDLE_COMBAT, true)); planner.add_action(EActionId.STATE_TO_IDLE_COMBAT, actionCombatStateToIdle); - const actionItemsToIdle: ActionStateToIdle = new ActionStateToIdle(stateManager, "ToIdleItems"); + const actionItemsToIdle: ActionStateToIdle = new ActionStateToIdle(stateManager, "ActionToIdleItems"); actionItemsToIdle.add_precondition(new world_property(EEvaluatorId.IS_STATE_IDLE_ITEMS, false)); actionItemsToIdle.add_precondition(new world_property(stalker_ids.property_items, true)); @@ -41,7 +41,7 @@ export function setupStalkerMotivationPlanner(planner: ActionPlanner, stateManag planner.add_action(EActionId.STATE_TO_IDLE_ITEMS, actionItemsToIdle); - const actionAlifeToIdle: ActionStateToIdle = new ActionStateToIdle(stateManager, "ToIdleAlife"); + const actionAlifeToIdle: ActionStateToIdle = new ActionStateToIdle(stateManager, "ActionToIdleAlife"); actionAlifeToIdle.add_precondition(new world_property(stalker_ids.property_alive, true)); actionAlifeToIdle.add_precondition(new world_property(stalker_ids.property_enemy, false)); diff --git a/src/engine/core/objects/ai/setup/state/animation_planner.test.ts b/src/engine/core/objects/ai/setup/state/animation_planner.test.ts index 4325707d1..2666ce8c8 100644 --- a/src/engine/core/objects/ai/setup/state/animation_planner.test.ts +++ b/src/engine/core/objects/ai/setup/state/animation_planner.test.ts @@ -1,7 +1,7 @@ import { describe, it } from "@jest/globals"; -import { setupStalkerStatePlanner } from "@/engine/core/objects/ai"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; +import { setupStalkerAnimationStatePlanner } from "@/engine/core/objects/ai/setup/state/animation_planner"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { ActionAnimationStart, ActionAnimationStop } from "@/engine/core/objects/state/animation"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; import { ActionPlanner, ClientObject } from "@/engine/lib/types"; @@ -14,7 +14,7 @@ describe("setup_state_manager util", () => { const stateManager: StalkerStateManager = new StalkerStateManager(object); const planner: ActionPlanner = stateManager.planner; - setupStalkerStatePlanner(planner, stateManager); + setupStalkerAnimationStatePlanner(planner, stateManager); checkPlannerAction( planner.action(EStateActionId.ANIMATION_START), diff --git a/src/engine/core/objects/ai/setup/state/animation_planner.ts b/src/engine/core/objects/ai/setup/state/animation_planner.ts index afcadc476..b95a4975e 100644 --- a/src/engine/core/objects/ai/setup/state/animation_planner.ts +++ b/src/engine/core/objects/ai/setup/state/animation_planner.ts @@ -1,6 +1,6 @@ import { world_property } from "xray16"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state"; import { ActionAnimationStart, ActionAnimationStop } from "@/engine/core/objects/state/animation"; import { ActionStateLocked } from "@/engine/core/objects/state/state"; diff --git a/src/engine/core/objects/ai/setup/state/animstate_planner.test.ts b/src/engine/core/objects/ai/setup/state/animstate_planner.test.ts index 815578ac8..e582346ee 100644 --- a/src/engine/core/objects/ai/setup/state/animstate_planner.test.ts +++ b/src/engine/core/objects/ai/setup/state/animstate_planner.test.ts @@ -1,8 +1,7 @@ import { describe, it } from "@jest/globals"; -import { setupStalkerStatePlanner } from "@/engine/core/objects/ai"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; -import { ActionAnimationStart, ActionAnimationStop } from "@/engine/core/objects/state/animation"; +import { setupStalkerAnimstateStatePlanner } from "@/engine/core/objects/ai/setup/state/animstate_planner"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { ActionAnimstateStart, ActionAnimstateStop } from "@/engine/core/objects/state/animstate"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; import { ActionPlanner, ClientObject } from "@/engine/lib/types"; @@ -15,7 +14,7 @@ describe("animation_planner util", () => { const stateManager: StalkerStateManager = new StalkerStateManager(object); const planner: ActionPlanner = stateManager.planner; - setupStalkerStatePlanner(planner, stateManager); + setupStalkerAnimstateStatePlanner(planner, stateManager); checkPlannerAction( planner.action(EStateActionId.ANIMSTATE_START), diff --git a/src/engine/core/objects/ai/setup/state/animstate_planner.ts b/src/engine/core/objects/ai/setup/state/animstate_planner.ts index 7581cc830..2bce00ae9 100644 --- a/src/engine/core/objects/ai/setup/state/animstate_planner.ts +++ b/src/engine/core/objects/ai/setup/state/animstate_planner.ts @@ -1,6 +1,6 @@ import { world_property } from "xray16"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state"; import { ActionAnimstateStart, ActionAnimstateStop } from "@/engine/core/objects/state/animstate"; import { ActionStateLocked } from "@/engine/core/objects/state/state"; diff --git a/src/engine/core/objects/ai/setup/state/body_state_planner.test.ts b/src/engine/core/objects/ai/setup/state/body_state_planner.test.ts index fc0008460..015eb298c 100644 --- a/src/engine/core/objects/ai/setup/state/body_state_planner.test.ts +++ b/src/engine/core/objects/ai/setup/state/body_state_planner.test.ts @@ -1,9 +1,7 @@ import { describe, it } from "@jest/globals"; -import { setupStalkerStatePlanner } from "@/engine/core/objects/ai"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; -import { ActionAnimationStart, ActionAnimationStop } from "@/engine/core/objects/state/animation"; -import { ActionAnimstateStart, ActionAnimstateStop } from "@/engine/core/objects/state/animstate"; +import { setupStalkerBodyStatePlanner } from "@/engine/core/objects/ai/setup/state/body_state_planner"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { ActionBodyStateCrouch, ActionBodyStateCrouchDanger, @@ -21,7 +19,7 @@ describe("body_state_planner util", () => { const stateManager: StalkerStateManager = new StalkerStateManager(object); const planner: ActionPlanner = stateManager.planner; - setupStalkerStatePlanner(planner, stateManager); + setupStalkerBodyStatePlanner(planner, stateManager); checkPlannerAction( planner.action(EStateActionId.BODYSTATE_CROUCH), diff --git a/src/engine/core/objects/ai/setup/state/body_state_planner.ts b/src/engine/core/objects/ai/setup/state/body_state_planner.ts index 47daf43ff..e14e169a7 100644 --- a/src/engine/core/objects/ai/setup/state/body_state_planner.ts +++ b/src/engine/core/objects/ai/setup/state/body_state_planner.ts @@ -1,6 +1,6 @@ import { world_property } from "xray16"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state"; import { ActionBodyStateCrouch, diff --git a/src/engine/core/objects/ai/setup/state/direction_planner.test.ts b/src/engine/core/objects/ai/setup/state/direction_planner.test.ts index d3f293cd4..38ccf878f 100644 --- a/src/engine/core/objects/ai/setup/state/direction_planner.test.ts +++ b/src/engine/core/objects/ai/setup/state/direction_planner.test.ts @@ -1,7 +1,7 @@ import { describe, it } from "@jest/globals"; -import { setupStalkerStatePlanner } from "@/engine/core/objects/ai"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; +import { setupStalkerDirectionStatePlanner } from "@/engine/core/objects/ai/setup/state/direction_planner"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { ActionDirectionSearch, ActionDirectionTurn } from "@/engine/core/objects/state/direction"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; import { ActionPlanner, ClientObject } from "@/engine/lib/types"; @@ -14,7 +14,7 @@ describe("direction_planner util", () => { const stateManager: StalkerStateManager = new StalkerStateManager(object); const planner: ActionPlanner = stateManager.planner; - setupStalkerStatePlanner(planner, stateManager); + setupStalkerDirectionStatePlanner(planner, stateManager); checkPlannerAction( planner.action(EStateActionId.DIRECTION_TURN), diff --git a/src/engine/core/objects/ai/setup/state/direction_planner.ts b/src/engine/core/objects/ai/setup/state/direction_planner.ts index e31c2374c..7c7d4671c 100644 --- a/src/engine/core/objects/ai/setup/state/direction_planner.ts +++ b/src/engine/core/objects/ai/setup/state/direction_planner.ts @@ -1,6 +1,6 @@ import { world_property } from "xray16"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state"; import { ActionDirectionSearch, ActionDirectionTurn } from "@/engine/core/objects/state/direction"; import { ActionPlanner } from "@/engine/lib/types"; diff --git a/src/engine/core/objects/ai/setup/state/locked_planner.test.ts b/src/engine/core/objects/ai/setup/state/locked_planner.test.ts index 3e853e955..7246a1f2d 100644 --- a/src/engine/core/objects/ai/setup/state/locked_planner.test.ts +++ b/src/engine/core/objects/ai/setup/state/locked_planner.test.ts @@ -1,7 +1,7 @@ import { describe, it } from "@jest/globals"; -import { setupStalkerStatePlanner } from "@/engine/core/objects/ai"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; +import { setupStalkerLockedStatePlanner } from "@/engine/core/objects/ai/setup/state/locked_planner"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; import { ActionPlanner, ClientObject } from "@/engine/lib/types"; import { checkPlannerAction } from "@/fixtures/engine"; @@ -13,7 +13,7 @@ describe("locked_planner util", () => { const stateManager: StalkerStateManager = new StalkerStateManager(object); const planner: ActionPlanner = stateManager.planner; - setupStalkerStatePlanner(planner, stateManager); + setupStalkerLockedStatePlanner(planner, stateManager); checkPlannerAction( planner.action(EStateActionId.LOCKED), diff --git a/src/engine/core/objects/ai/setup/state/locked_planner.ts b/src/engine/core/objects/ai/setup/state/locked_planner.ts index 36787a0f4..c72a19dff 100644 --- a/src/engine/core/objects/ai/setup/state/locked_planner.ts +++ b/src/engine/core/objects/ai/setup/state/locked_planner.ts @@ -1,6 +1,6 @@ import { world_property } from "xray16"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state"; import { ActionStateLocked } from "@/engine/core/objects/state/state"; import { ActionPlanner } from "@/engine/lib/types"; diff --git a/src/engine/core/objects/ai/setup/state/mental_planner.test.ts b/src/engine/core/objects/ai/setup/state/mental_planner.test.ts index fab253a03..26a7bdac2 100644 --- a/src/engine/core/objects/ai/setup/state/mental_planner.test.ts +++ b/src/engine/core/objects/ai/setup/state/mental_planner.test.ts @@ -1,7 +1,7 @@ import { describe, it } from "@jest/globals"; -import { setupStalkerStatePlanner } from "@/engine/core/objects/ai"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; +import { setupStalkerMentalStatePlanner } from "@/engine/core/objects/ai/setup/state/mental_planner"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { ActionMentalDanger, ActionMentalFree, ActionMentalPanic } from "@/engine/core/objects/state/mental"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; import { ActionPlanner, ClientObject } from "@/engine/lib/types"; @@ -14,7 +14,7 @@ describe("mental_planner util", () => { const stateManager: StalkerStateManager = new StalkerStateManager(object); const planner: ActionPlanner = stateManager.planner; - setupStalkerStatePlanner(planner, stateManager); + setupStalkerMentalStatePlanner(planner, stateManager); checkPlannerAction( planner.action(EStateActionId.MENTAL_FREE), diff --git a/src/engine/core/objects/ai/setup/state/mental_planner.ts b/src/engine/core/objects/ai/setup/state/mental_planner.ts index 3ad159dd4..979cd7e29 100644 --- a/src/engine/core/objects/ai/setup/state/mental_planner.ts +++ b/src/engine/core/objects/ai/setup/state/mental_planner.ts @@ -1,6 +1,6 @@ import { world_property } from "xray16"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state"; import { ActionMentalDanger, ActionMentalFree, ActionMentalPanic } from "@/engine/core/objects/state/mental"; import { ActionPlanner } from "@/engine/lib/types"; diff --git a/src/engine/core/objects/ai/setup/state/movement_planner.test.ts b/src/engine/core/objects/ai/setup/state/movement_planner.test.ts index d9d96c3b3..422666357 100644 --- a/src/engine/core/objects/ai/setup/state/movement_planner.test.ts +++ b/src/engine/core/objects/ai/setup/state/movement_planner.test.ts @@ -1,7 +1,7 @@ import { describe, it } from "@jest/globals"; -import { setupStalkerStatePlanner } from "@/engine/core/objects/ai"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; +import { setupStalkerMovementStatePlanner } from "@/engine/core/objects/ai/setup/state/movement_planner"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { ActionMovementRun, ActionMovementRunSearch, @@ -24,7 +24,7 @@ describe("movement_planner util", () => { const stateManager: StalkerStateManager = new StalkerStateManager(object); const planner: ActionPlanner = stateManager.planner; - setupStalkerStatePlanner(planner, stateManager); + setupStalkerMovementStatePlanner(planner, stateManager); checkPlannerAction( planner.action(EStateActionId.MOVEMENT_WALK), diff --git a/src/engine/core/objects/ai/setup/state/movement_planner.ts b/src/engine/core/objects/ai/setup/state/movement_planner.ts index b630ebe62..31bf0cb90 100644 --- a/src/engine/core/objects/ai/setup/state/movement_planner.ts +++ b/src/engine/core/objects/ai/setup/state/movement_planner.ts @@ -1,6 +1,6 @@ import { world_property } from "xray16"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state"; import { ActionMovementRun, diff --git a/src/engine/core/objects/ai/setup/state/smart_cover_planner.test.ts b/src/engine/core/objects/ai/setup/state/smart_cover_planner.test.ts index c5dc2e0cb..69fdd25cf 100644 --- a/src/engine/core/objects/ai/setup/state/smart_cover_planner.test.ts +++ b/src/engine/core/objects/ai/setup/state/smart_cover_planner.test.ts @@ -1,7 +1,7 @@ import { describe, it } from "@jest/globals"; -import { setupStalkerStatePlanner } from "@/engine/core/objects/ai"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; +import { setupStalkerSmartCoverStatePlanner } from "@/engine/core/objects/ai/setup/state/smart_cover_planner"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { ActionSmartCoverEnter, ActionSmartCoverExit } from "@/engine/core/objects/state/smart_cover"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; import { ActionPlanner, ClientObject } from "@/engine/lib/types"; @@ -14,7 +14,7 @@ describe("smart_cover_planner util", () => { const stateManager: StalkerStateManager = new StalkerStateManager(object); const planner: ActionPlanner = stateManager.planner; - setupStalkerStatePlanner(planner, stateManager); + setupStalkerSmartCoverStatePlanner(planner, stateManager); checkPlannerAction( planner.action(EStateActionId.SMARTCOVER_ENTER), diff --git a/src/engine/core/objects/ai/setup/state/smart_cover_planner.ts b/src/engine/core/objects/ai/setup/state/smart_cover_planner.ts index 3f11542d5..5da08aeb5 100644 --- a/src/engine/core/objects/ai/setup/state/smart_cover_planner.ts +++ b/src/engine/core/objects/ai/setup/state/smart_cover_planner.ts @@ -1,6 +1,6 @@ import { world_property } from "xray16"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state"; import { ActionSmartCoverEnter, ActionSmartCoverExit } from "@/engine/core/objects/state/smart_cover"; import { ActionStateLocked } from "@/engine/core/objects/state/state"; diff --git a/src/engine/core/objects/ai/setup/state/state_evaluator.test.ts b/src/engine/core/objects/ai/setup/state/state_evaluator.test.ts index 443bd328b..e826ffb34 100644 --- a/src/engine/core/objects/ai/setup/state/state_evaluator.test.ts +++ b/src/engine/core/objects/ai/setup/state/state_evaluator.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from "@jest/globals"; -import { setupStalkerStatePlanner } from "@/engine/core/objects/ai"; -import { EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; +import { setupStalkerStateEvaluators } from "@/engine/core/objects/ai/setup/state/state_evaluators"; +import { EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { EvaluatorAnimation, EvaluatorAnimationLocked, @@ -70,7 +70,7 @@ describe("state_evaluator util", () => { const stateManager: StalkerStateManager = new StalkerStateManager(object); const planner: ActionPlanner = stateManager.planner; - setupStalkerStatePlanner(planner, stateManager); + setupStalkerStateEvaluators(planner, stateManager); expect(Object.keys((planner as unknown as MockActionPlanner).evaluators)).toHaveLength(43); diff --git a/src/engine/core/objects/ai/setup/state/state_evaluators.ts b/src/engine/core/objects/ai/setup/state/state_evaluators.ts index d5c1a5a43..ecc7f2c5b 100644 --- a/src/engine/core/objects/ai/setup/state/state_evaluators.ts +++ b/src/engine/core/objects/ai/setup/state/state_evaluators.ts @@ -1,4 +1,4 @@ -import { EStateEvaluatorId } from "@/engine/core/objects/animation"; +import { EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state"; import { EvaluatorAnimation, diff --git a/src/engine/core/objects/ai/setup/state/weapon_planner.test.ts b/src/engine/core/objects/ai/setup/state/weapon_planner.test.ts index 4807375f5..c13292a1a 100644 --- a/src/engine/core/objects/ai/setup/state/weapon_planner.test.ts +++ b/src/engine/core/objects/ai/setup/state/weapon_planner.test.ts @@ -1,7 +1,7 @@ import { describe, it } from "@jest/globals"; -import { setupStalkerStatePlanner } from "@/engine/core/objects/ai"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; +import { setupStalkerWeaponStatePlanner } from "@/engine/core/objects/ai/setup/state/weapon_planner"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; import { ActionWeaponDrop, @@ -19,7 +19,7 @@ describe("weapon_planner util", () => { const stateManager: StalkerStateManager = new StalkerStateManager(object); const planner: ActionPlanner = stateManager.planner; - setupStalkerStatePlanner(planner, stateManager); + setupStalkerWeaponStatePlanner(planner, stateManager); checkPlannerAction( planner.action(EStateActionId.WEAPON_UNSTRAPP), diff --git a/src/engine/core/objects/ai/setup/state/weapon_planner.ts b/src/engine/core/objects/ai/setup/state/weapon_planner.ts index 03553a9b5..027240a72 100644 --- a/src/engine/core/objects/ai/setup/state/weapon_planner.ts +++ b/src/engine/core/objects/ai/setup/state/weapon_planner.ts @@ -1,6 +1,6 @@ import { world_property } from "xray16"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state"; import { ActionWeaponDrop, diff --git a/src/engine/core/objects/ai/setup/state_planner.test.ts b/src/engine/core/objects/ai/setup/state_planner.test.ts index eaf662f7e..c1f7fb537 100644 --- a/src/engine/core/objects/ai/setup/state_planner.test.ts +++ b/src/engine/core/objects/ai/setup/state_planner.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, jest } from "@jest/globals"; -import { setupStalkerStatePlanner } from "@/engine/core/objects/ai"; +import { EStateActionId, EStateEvaluatorId, setupStalkerStatePlanner } from "@/engine/core/objects/ai"; import { setupStalkerAnimationStatePlanner, setupStalkerAnimstateStatePlanner, @@ -13,7 +13,6 @@ import { setupStalkerStateEvaluators, setupStalkerWeaponStatePlanner, } from "@/engine/core/objects/ai/setup/state"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; import { ActionStateEnd } from "@/engine/core/objects/state/state"; import { ActionPlanner, ClientObject } from "@/engine/lib/types"; diff --git a/src/engine/core/objects/ai/setup/state_planner.ts b/src/engine/core/objects/ai/setup/state_planner.ts index 1c4e20def..14a05e276 100644 --- a/src/engine/core/objects/ai/setup/state_planner.ts +++ b/src/engine/core/objects/ai/setup/state_planner.ts @@ -12,7 +12,7 @@ import { setupStalkerStateEvaluators, setupStalkerWeaponStatePlanner, } from "@/engine/core/objects/ai/setup/state"; -import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/animation"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state"; import { ActionStateEnd } from "@/engine/core/objects/state/state"; import { LuaLogger } from "@/engine/core/utils/logging"; diff --git a/src/engine/core/schemes/base/id/category_ids.ts b/src/engine/core/objects/ai/types/categories.ts similarity index 86% rename from src/engine/core/schemes/base/id/category_ids.ts rename to src/engine/core/objects/ai/types/categories.ts index 09c55aa57..75a9ed01d 100644 --- a/src/engine/core/schemes/base/id/category_ids.ts +++ b/src/engine/core/objects/ai/types/categories.ts @@ -1,6 +1,6 @@ import { stalker_ids } from "xray16"; -import { EActionId } from "@/engine/core/schemes/base/id/action_ids"; +import { EActionId } from "@/engine/core/objects/ai/types/motivator_actions"; import { TNumberId } from "@/engine/lib/types"; /** diff --git a/src/engine/core/objects/ai/types/index.ts b/src/engine/core/objects/ai/types/index.ts new file mode 100644 index 000000000..a5bb113d3 --- /dev/null +++ b/src/engine/core/objects/ai/types/index.ts @@ -0,0 +1,5 @@ +export * from "@/engine/core/objects/ai/types/categories"; +export * from "@/engine/core/objects/ai/types/motivator_actions"; +export * from "@/engine/core/objects/ai/types/motivator_evaluators"; +export * from "@/engine/core/objects/ai/types/state_actions"; +export * from "@/engine/core/objects/ai/types/state_evaluators"; diff --git a/src/engine/core/schemes/base/id/action_ids.test.ts b/src/engine/core/objects/ai/types/motivator_actions.test.ts similarity index 71% rename from src/engine/core/schemes/base/id/action_ids.test.ts rename to src/engine/core/objects/ai/types/motivator_actions.test.ts index d557336ef..601941d63 100644 --- a/src/engine/core/schemes/base/id/action_ids.test.ts +++ b/src/engine/core/objects/ai/types/motivator_actions.test.ts @@ -1,8 +1,8 @@ import { describe, expect, it } from "@jest/globals"; -import { EActionId } from "@/engine/core/schemes/base/id/action_ids"; +import { EActionId } from "@/engine/core/objects/ai/types"; -describe("'action_ids' constants integrity", () => { +describe("'motivator_actions' constants integrity", () => { it("should contain only unique identifier values", () => { const existing: Set = new Set(); diff --git a/src/engine/core/schemes/base/id/action_ids.ts b/src/engine/core/objects/ai/types/motivator_actions.ts similarity index 97% rename from src/engine/core/schemes/base/id/action_ids.ts rename to src/engine/core/objects/ai/types/motivator_actions.ts index 1b9f12e1c..168273b28 100644 --- a/src/engine/core/schemes/base/id/action_ids.ts +++ b/src/engine/core/objects/ai/types/motivator_actions.ts @@ -9,7 +9,7 @@ import { TNumberId } from "@/engine/lib/types"; const BASE: TNumberId = stalker_ids.action_script || 92; /** - * todo; + * Action IDs of motivation action planner. */ export enum EActionId { GATHER_ITEMS = stalker_ids.action_gather_items, // 2 diff --git a/src/engine/core/schemes/base/id/evaluator_ids.test.ts b/src/engine/core/objects/ai/types/motivator_evaluators.test.ts similarity index 70% rename from src/engine/core/schemes/base/id/evaluator_ids.test.ts rename to src/engine/core/objects/ai/types/motivator_evaluators.test.ts index f4757bca3..e916257bb 100644 --- a/src/engine/core/schemes/base/id/evaluator_ids.test.ts +++ b/src/engine/core/objects/ai/types/motivator_evaluators.test.ts @@ -1,8 +1,8 @@ import { describe, expect, it } from "@jest/globals"; -import { EEvaluatorId } from "@/engine/core/schemes/base/id/evaluator_ids"; +import { EEvaluatorId } from "@/engine/core/objects/ai/types"; -describe("'evaluator_ids' constants integrity", () => { +describe("'motivator_evaluators' constants integrity", () => { it("should contain only unique identifier values", () => { const existing: Set = new Set(); diff --git a/src/engine/core/schemes/base/id/evaluator_ids.ts b/src/engine/core/objects/ai/types/motivator_evaluators.ts similarity index 97% rename from src/engine/core/schemes/base/id/evaluator_ids.ts rename to src/engine/core/objects/ai/types/motivator_evaluators.ts index d473d66d9..06ff083c6 100644 --- a/src/engine/core/schemes/base/id/evaluator_ids.ts +++ b/src/engine/core/objects/ai/types/motivator_evaluators.ts @@ -9,7 +9,7 @@ import { TNumberId } from "@/engine/lib/types"; const BASE: TNumberId = stalker_ids.property_script || 74; /** - * todo; + * Evaluators IDs of goap motivation planner. */ export enum EEvaluatorId { // Whether any corpse to loot exists nearby. diff --git a/src/engine/core/objects/ai/types/state_actions.test.ts b/src/engine/core/objects/ai/types/state_actions.test.ts new file mode 100644 index 000000000..3a7a96866 --- /dev/null +++ b/src/engine/core/objects/ai/types/state_actions.test.ts @@ -0,0 +1,14 @@ +import { describe, expect, it } from "@jest/globals"; + +import { EStateActionId } from "@/engine/core/objects/ai"; + +describe("'state_actions' constants integrity", () => { + it("should contain only unique identifier values", () => { + const existing: Set = new Set(); + + Object.values(EStateActionId).forEach((value) => { + expect(existing.has(value)).toBeFalsy(); + existing.add(value); + }); + }); +}); diff --git a/src/engine/core/objects/ai/types/state_actions.ts b/src/engine/core/objects/ai/types/state_actions.ts new file mode 100644 index 000000000..1c51be4f8 --- /dev/null +++ b/src/engine/core/objects/ai/types/state_actions.ts @@ -0,0 +1,54 @@ +/** + * Action IDs of state manager actions. + */ +export enum EStateActionId { + END = 1, + LOCKED = 2, + LOCKED_EXTERNAL = 3, + LOCKED_ANIMATION = 4, + LOCKED_ANIMSTATE = 5, + LOCKED_SMARTCOVER = 6, + + WEAPON_STRAPP = 11, + WEAPON_UNSTRAPP = 12, + WEAPON_NONE = 13, + WEAPON_FIRE = 14, + WEAPON_DROP = 15, + + MOVEMENT = 21, + MOVEMENT_WALK = 22, + MOVEMENT_RUN = 23, + MOVEMENT_STAND = 24, + MOVEMENT_WALK_TURN = 25, + MOVEMENT_WALK_SEARCH = 26, + MOVEMENT_STAND_TURN = 27, + MOVEMENT_STAND_SEARCH = 28, + MOVEMENT_RUN_TURN = 29, + MOVEMENT_RUN_SEARCH = 30, + + MENTAL_FREE = 31, + MENTAL_DANGER = 32, + MENTAL_PANIC = 33, + + BODYSTATE_CROUCH = 41, + BODYSTATE_STANDING = 42, + BODYSTATE_CROUCH_DANGER = 43, + BODYSTATE_STANDING_FREE = 44, + + DIRECTION_TURN = 51, + DIRECTION_SEARCH = 52, + + ANIMSTATE_START = 61, + ANIMSTATE_STOP = 62, + + ANIMATION_START = 71, + ANIMATION_STOP = 72, + + WALK_TURN = 75, + WALK_SEARCH = 76, + STAND_TURN = 77, + STAND_SEARCH = 78, + + SMARTCOVER_ENTER = 80, + SMARTCOVER_EXIT = 81, +} diff --git a/src/engine/core/objects/ai/types/state_evaluators.test.ts b/src/engine/core/objects/ai/types/state_evaluators.test.ts new file mode 100644 index 000000000..53ea9cd9d --- /dev/null +++ b/src/engine/core/objects/ai/types/state_evaluators.test.ts @@ -0,0 +1,14 @@ +import { describe, expect, it } from "@jest/globals"; + +import { EStateEvaluatorId } from "@/engine/core/objects/ai/types"; + +describe("'state_evaluators' constants integrity", () => { + it("should contain only unique identifier values", () => { + const existing: Set = new Set(); + + Object.values(EStateEvaluatorId).forEach((value) => { + expect(existing.has(value)).toBeFalsy(); + existing.add(value); + }); + }); +}); diff --git a/src/engine/core/objects/ai/types/state_evaluators.ts b/src/engine/core/objects/ai/types/state_evaluators.ts new file mode 100644 index 000000000..830d5a2ef --- /dev/null +++ b/src/engine/core/objects/ai/types/state_evaluators.ts @@ -0,0 +1,67 @@ +/** + * IDs of state planner evaluators. + */ +export enum EStateEvaluatorId { + END = 1, + // Whether state is locked and cannot be changed (weapon animation happening, turning body) + LOCKED = 2, + // Whether state is locked by alife/combat activity. + LOCKED_EXTERNAL = 3, + + // -- WEAPON + WEAPON = 11, + WEAPON_LOCKED = 12, + WEAPON_STRAPPED = 13, + WEAPON_STRAPPED_NOW = 14, + WEAPON_UNSTRAPPED = 15, + WEAPON_UNSTRAPPED_NOW = 16, + WEAPON_NONE = 17, + WEAPON_NONE_NOW = 18, + WEAPON_DROP = 19, + WEAPON_FIRE = 20, + + // -- MOVEMENT + MOVEMENT = 21, + MOVEMENT_WALK = 22, + MOVEMENT_RUN = 23, + MOVEMENT_STAND = 24, + MOVEMENT_STAND_NOW = 25, + + // -- MENTAL STATES + MENTAL = 31, + MENTAL_FREE = 32, + MENTAL_FREE_NOW = 33, + MENTAL_DANGER = 34, + MENTAL_DANGER_NOW = 35, + MENTAL_PANIC = 36, + MENTAL_PANIC_NOW = 37, + + // -- BODYSTATES + BODYSTATE = 41, + BODYSTATE_CROUCH = 42, + BODYSTATE_STANDING = 43, + BODYSTATE_CROUCH_NOW = 44, + BODYSTATE_STANDING_NOW = 45, + + // -- DIRECTION + DIRECTION = 51, + DIRECTION_SEARCH = 52, + + // -- ANIMSTATE + ANIMSTATE = 61, + ANIMSTATE_LOCKED = 62, + ANIMSTATE_IDLE_NOW = 64, + ANIMSTATE_PLAY_NOW = 66, + + // -- ANIMATION + ANIMATION = 81, + ANIMATION_LOCKED = 82, + ANIMATION_PLAY_NOW = 84, + ANIMATION_NONE_NOW = 86, + + // -- SMARTCOVER + SMARTCOVER_NEED = 90, + SMARTCOVER = 91, + IN_SMARTCOVER = 92, + // -- smartcover_locked] = 92, +} diff --git a/src/engine/core/objects/animation/state_types.ts b/src/engine/core/objects/animation/state_types.ts index de9a82103..a6f4d9bfd 100644 --- a/src/engine/core/objects/animation/state_types.ts +++ b/src/engine/core/objects/animation/state_types.ts @@ -16,129 +16,6 @@ import type { Vector, } from "@/engine/lib/types"; -/** - * Action IDs of state manager evaluators. - */ -export enum EStateEvaluatorId { - END = 1, - // Whether state is locked and cannot be changed (weapon animation happening, turning body) - LOCKED = 2, - // Whether state is locked by alife/combat activity. - LOCKED_EXTERNAL = 3, - - // -- WEAPON - WEAPON = 11, - WEAPON_LOCKED = 12, - WEAPON_STRAPPED = 13, - WEAPON_STRAPPED_NOW = 14, - WEAPON_UNSTRAPPED = 15, - WEAPON_UNSTRAPPED_NOW = 16, - WEAPON_NONE = 17, - WEAPON_NONE_NOW = 18, - WEAPON_DROP = 19, - WEAPON_FIRE = 20, - - // -- MOVEMENT - MOVEMENT = 21, - MOVEMENT_WALK = 22, - MOVEMENT_RUN = 23, - MOVEMENT_STAND = 24, - MOVEMENT_STAND_NOW = 25, - - // -- MENTAL STATES - MENTAL = 31, - MENTAL_FREE = 32, - MENTAL_FREE_NOW = 33, - MENTAL_DANGER = 34, - MENTAL_DANGER_NOW = 35, - MENTAL_PANIC = 36, - MENTAL_PANIC_NOW = 37, - - // -- BODYSTATES - BODYSTATE = 41, - BODYSTATE_CROUCH = 42, - BODYSTATE_STANDING = 43, - BODYSTATE_CROUCH_NOW = 44, - BODYSTATE_STANDING_NOW = 45, - - // -- DIRECTION - DIRECTION = 51, - DIRECTION_SEARCH = 52, - - // -- ANIMSTATE - ANIMSTATE = 61, - ANIMSTATE_LOCKED = 62, - ANIMSTATE_IDLE_NOW = 64, - ANIMSTATE_PLAY_NOW = 66, - - // -- ANIMATION - ANIMATION = 81, - ANIMATION_LOCKED = 82, - ANIMATION_PLAY_NOW = 84, - ANIMATION_NONE_NOW = 86, - - // -- SMARTCOVER - SMARTCOVER_NEED = 90, - SMARTCOVER = 91, - IN_SMARTCOVER = 92, - // -- smartcover_locked] = 92, -} - -/** - * Action IDs of state manager actions. - */ -export enum EStateActionId { - END = 1, - LOCKED = 2, - LOCKED_EXTERNAL = 3, - LOCKED_ANIMATION = 4, - LOCKED_ANIMSTATE = 5, - LOCKED_SMARTCOVER = 6, - - WEAPON_STRAPP = 11, - WEAPON_UNSTRAPP = 12, - WEAPON_NONE = 13, - WEAPON_FIRE = 14, - WEAPON_DROP = 15, - - MOVEMENT = 21, - MOVEMENT_WALK = 22, - MOVEMENT_RUN = 23, - MOVEMENT_STAND = 24, - MOVEMENT_WALK_TURN = 25, - MOVEMENT_WALK_SEARCH = 26, - MOVEMENT_STAND_TURN = 27, - MOVEMENT_STAND_SEARCH = 28, - MOVEMENT_RUN_TURN = 29, - MOVEMENT_RUN_SEARCH = 30, - - MENTAL_FREE = 31, - MENTAL_DANGER = 32, - MENTAL_PANIC = 33, - - BODYSTATE_CROUCH = 41, - BODYSTATE_STANDING = 42, - BODYSTATE_CROUCH_DANGER = 43, - BODYSTATE_STANDING_FREE = 44, - - DIRECTION_TURN = 51, - DIRECTION_SEARCH = 52, - - ANIMSTATE_START = 61, - ANIMSTATE_STOP = 62, - - ANIMATION_START = 71, - ANIMATION_STOP = 72, - - WALK_TURN = 75, - WALK_SEARCH = 76, - STAND_TURN = 77, - STAND_SEARCH = 78, - - SMARTCOVER_ENTER = 80, - SMARTCOVER_EXIT = 81, -} - /** * todo; */ diff --git a/src/engine/core/objects/state/StalkerStateManager.ts b/src/engine/core/objects/state/StalkerStateManager.ts index a2a36bf92..88c9160cb 100644 --- a/src/engine/core/objects/state/StalkerStateManager.ts +++ b/src/engine/core/objects/state/StalkerStateManager.ts @@ -1,10 +1,9 @@ import { action_planner, level, look, object, time_global } from "xray16"; +import { EStateActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { EAnimationType, EWeaponAnimation } from "@/engine/core/objects/animation/animation_types"; import { EStalkerState, - EStateActionId, - EStateEvaluatorId, ILookTargetDescriptor, IStateManagerCallbackDescriptor, ITargetStateDescriptorExtras, diff --git a/src/engine/core/objects/state/state/EvaluatorStateEnd.ts b/src/engine/core/objects/state/state/EvaluatorStateEnd.ts index 9ade5e1ad..389e0c46d 100644 --- a/src/engine/core/objects/state/state/EvaluatorStateEnd.ts +++ b/src/engine/core/objects/state/state/EvaluatorStateEnd.ts @@ -1,7 +1,7 @@ import { action_planner, LuabindClass, property_evaluator } from "xray16"; +import { COMBAT_ACTION_IDS, EActionId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; -import { COMBAT_ACTION_IDS, EActionId } from "@/engine/core/schemes"; import { LuaLogger } from "@/engine/core/utils/logging"; import { Optional, TNumberId } from "@/engine/lib/types"; diff --git a/src/engine/core/objects/state/state/EvaluatorStateIdleAlife.ts b/src/engine/core/objects/state/state/EvaluatorStateIdleAlife.ts index 48b53a522..7b2c4fe72 100644 --- a/src/engine/core/objects/state/state/EvaluatorStateIdleAlife.ts +++ b/src/engine/core/objects/state/state/EvaluatorStateIdleAlife.ts @@ -1,8 +1,8 @@ import { LuabindClass, property_evaluator } from "xray16"; -import { EStalkerState, EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; +import { EActionId, EStateEvaluatorId, NO_IDLE_ALIFE_IDS } from "@/engine/core/objects/ai/types"; +import { EStalkerState } from "@/engine/core/objects/animation/state_types"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; -import { EActionId, NO_IDLE_ALIFE_IDS } from "@/engine/core/schemes/base"; import { LuaLogger } from "@/engine/core/utils/logging"; import { ActionPlanner, Optional, TNumberId } from "@/engine/lib/types"; diff --git a/src/engine/core/objects/state/state/EvaluatorStateIdleCombat.ts b/src/engine/core/objects/state/state/EvaluatorStateIdleCombat.ts index 2bcaced79..4fb17dd46 100644 --- a/src/engine/core/objects/state/state/EvaluatorStateIdleCombat.ts +++ b/src/engine/core/objects/state/state/EvaluatorStateIdleCombat.ts @@ -1,8 +1,8 @@ import { LuabindClass, property_evaluator } from "xray16"; -import { EStalkerState, EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; +import { COMBAT_ACTION_IDS, EActionId, EStateEvaluatorId } from "@/engine/core/objects/ai/types"; +import { EStalkerState } from "@/engine/core/objects/animation/state_types"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; -import { COMBAT_ACTION_IDS, EActionId } from "@/engine/core/schemes"; import { LuaLogger } from "@/engine/core/utils/logging"; import { ActionPlanner, Optional, TNumberId } from "@/engine/lib/types"; diff --git a/src/engine/core/objects/state/state/EvaluatorStateIdleItems.ts b/src/engine/core/objects/state/state/EvaluatorStateIdleItems.ts index 3ca8bb7e4..6e4245c8e 100644 --- a/src/engine/core/objects/state/state/EvaluatorStateIdleItems.ts +++ b/src/engine/core/objects/state/state/EvaluatorStateIdleItems.ts @@ -1,8 +1,8 @@ import { LuabindClass, property_evaluator } from "xray16"; -import { EStalkerState, EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; +import { EStateEvaluatorId, NO_IDLE_ALIFE_IDS } from "@/engine/core/objects/ai/types"; +import { EStalkerState } from "@/engine/core/objects/animation/state_types"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; -import { NO_IDLE_ALIFE_IDS } from "@/engine/core/schemes"; import { LuaLogger } from "@/engine/core/utils/logging"; import { ActionPlanner, Optional, TNumberId } from "@/engine/lib/types"; diff --git a/src/engine/core/objects/state/state/EvaluatorStateLocked.ts b/src/engine/core/objects/state/state/EvaluatorStateLocked.ts index 32bd98e9d..5d8a1e808 100644 --- a/src/engine/core/objects/state/state/EvaluatorStateLocked.ts +++ b/src/engine/core/objects/state/state/EvaluatorStateLocked.ts @@ -1,6 +1,6 @@ import { LuabindClass, property_evaluator } from "xray16"; -import { EStateEvaluatorId } from "@/engine/core/objects/animation/state_types"; +import { EStateEvaluatorId } from "@/engine/core/objects/ai/types"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; import { LuaLogger } from "@/engine/core/utils/logging"; diff --git a/src/engine/core/schemes/abuse/SchemeAbuse.ts b/src/engine/core/schemes/abuse/SchemeAbuse.ts index f7a408476..db435c5b2 100644 --- a/src/engine/core/schemes/abuse/SchemeAbuse.ts +++ b/src/engine/core/schemes/abuse/SchemeAbuse.ts @@ -1,22 +1,14 @@ import { stalker_ids, world_property } from "xray16"; -import { IRegistryObjectState, registry } from "@/engine/core/database"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { IRegistryObjectState } from "@/engine/core/database"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; +import { AbstractScheme } from "@/engine/core/schemes"; import { AbuseManager } from "@/engine/core/schemes/abuse/AbuseManager"; import { ActionAbuseHit } from "@/engine/core/schemes/abuse/actions/ActionAbuseHit"; import { EvaluatorAbuse } from "@/engine/core/schemes/abuse/evaluators/EvaluatorAbuse"; import { ISchemeAbuseState } from "@/engine/core/schemes/abuse/ISchemeAbuseState"; import { LuaLogger } from "@/engine/core/utils/logging"; -import { - ActionPlanner, - ClientObject, - EScheme, - ESchemeType, - IniFile, - Optional, - TCount, - TSection, -} from "@/engine/lib/types"; +import { ActionPlanner, ClientObject, EScheme, ESchemeType, IniFile, TSection } from "@/engine/lib/types"; const logger: LuaLogger = new LuaLogger($filename); diff --git a/src/engine/core/schemes/animpoint/SchemeAnimpoint.ts b/src/engine/core/schemes/animpoint/SchemeAnimpoint.ts index a2588d7df..e2f6c5b7b 100644 --- a/src/engine/core/schemes/animpoint/SchemeAnimpoint.ts +++ b/src/engine/core/schemes/animpoint/SchemeAnimpoint.ts @@ -1,7 +1,8 @@ import { stalker_ids, world_property } from "xray16"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; import { EStalkerState } from "@/engine/core/objects/animation"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { AbstractScheme } from "@/engine/core/schemes"; import { ActionAnimpoint, ActionReachAnimpoint } from "@/engine/core/schemes/animpoint/actions"; import { AnimpointManager } from "@/engine/core/schemes/animpoint/AnimpointManager"; import { EvaluatorNeedAnimpoint, EvaluatorReachAnimpoint } from "@/engine/core/schemes/animpoint/evaluators"; diff --git a/src/engine/core/schemes/base/id/index.ts b/src/engine/core/schemes/base/id/index.ts deleted file mode 100644 index 45fe8a977..000000000 --- a/src/engine/core/schemes/base/id/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "@/engine/core/schemes/base/id/action_ids"; -export * from "@/engine/core/schemes/base/id/evaluator_ids"; -export * from "@/engine/core/schemes/base/id/category_ids"; diff --git a/src/engine/core/schemes/base/index.ts b/src/engine/core/schemes/base/index.ts index 09744dfac..0887592a1 100644 --- a/src/engine/core/schemes/base/index.ts +++ b/src/engine/core/schemes/base/index.ts @@ -2,4 +2,3 @@ export * from "@/engine/core/schemes/base/AbstractScheme"; export * from "@/engine/core/schemes/base/AbstractSchemeManager"; export * from "@/engine/core/schemes/base/types"; export * from "@/engine/core/schemes/base/ObjectRestrictionsManager"; -export * from "@/engine/core/schemes/base/id"; diff --git a/src/engine/core/schemes/camper/SchemeCamper.ts b/src/engine/core/schemes/camper/SchemeCamper.ts index e292b3bbc..640e8aa3d 100644 --- a/src/engine/core/schemes/camper/SchemeCamper.ts +++ b/src/engine/core/schemes/camper/SchemeCamper.ts @@ -1,7 +1,8 @@ import { stalker_ids, world_property } from "xray16"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; import { EStalkerState } from "@/engine/core/objects/animation"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { AbstractScheme } from "@/engine/core/schemes"; import { ActionCamperPatrol } from "@/engine/core/schemes/camper/actions"; import { EvaluatorCloseCombat, EvaluatorEnd } from "@/engine/core/schemes/camper/evaluators"; import { ISchemeCamperState } from "@/engine/core/schemes/camper/ISchemeCamperState"; diff --git a/src/engine/core/schemes/camper/evaluators/EvaluatorCloseCombat.ts b/src/engine/core/schemes/camper/evaluators/EvaluatorCloseCombat.ts index d9ef9edd5..75aa3d8d6 100644 --- a/src/engine/core/schemes/camper/evaluators/EvaluatorCloseCombat.ts +++ b/src/engine/core/schemes/camper/evaluators/EvaluatorCloseCombat.ts @@ -1,6 +1,6 @@ import { LuabindClass, property_evaluator, stalker_ids, time_global } from "xray16"; -import { EEvaluatorId } from "@/engine/core/schemes/base"; +import { EEvaluatorId } from "@/engine/core/objects/ai/types"; import { ISchemeCamperState } from "@/engine/core/schemes/camper/ISchemeCamperState"; import { LuaLogger } from "@/engine/core/utils/logging"; import { isActiveSection } from "@/engine/core/utils/scheme"; diff --git a/src/engine/core/schemes/combat/SchemeCombat.ts b/src/engine/core/schemes/combat/SchemeCombat.ts index a934fc4cd..5ad73757f 100644 --- a/src/engine/core/schemes/combat/SchemeCombat.ts +++ b/src/engine/core/schemes/combat/SchemeCombat.ts @@ -1,7 +1,8 @@ import { stalker_ids, world_property } from "xray16"; import { IRegistryObjectState, registry } from "@/engine/core/database"; -import { AbstractScheme, EEvaluatorId } from "@/engine/core/schemes"; +import { EEvaluatorId } from "@/engine/core/objects/ai/types"; +import { AbstractScheme } from "@/engine/core/schemes"; import { EvaluatorCheckCombat } from "@/engine/core/schemes/combat/evaluators/EvaluatorCheckCombat"; import { ISchemeCombatState } from "@/engine/core/schemes/combat/ISchemeCombatState"; import { SchemeCombatCamper } from "@/engine/core/schemes/combat_camper/SchemeCombatCamper"; diff --git a/src/engine/core/schemes/combat_camper/SchemeCombatCamper.ts b/src/engine/core/schemes/combat_camper/SchemeCombatCamper.ts index fd5298949..55576ec52 100644 --- a/src/engine/core/schemes/combat_camper/SchemeCombatCamper.ts +++ b/src/engine/core/schemes/combat_camper/SchemeCombatCamper.ts @@ -1,6 +1,7 @@ import { stalker_ids, world_property } from "xray16"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai"; +import { AbstractScheme } from "@/engine/core/schemes"; import { ISchemeCombatState } from "@/engine/core/schemes/combat"; import { ActionLookAround, ActionShoot } from "@/engine/core/schemes/combat_camper/actions"; import { EvaluatorCombatCamper, EvaluatorSee } from "@/engine/core/schemes/combat_camper/evaluator"; diff --git a/src/engine/core/schemes/combat_zombied/SchemeCombatZombied.ts b/src/engine/core/schemes/combat_zombied/SchemeCombatZombied.ts index 9e1f7a4f9..6a5caba30 100644 --- a/src/engine/core/schemes/combat_zombied/SchemeCombatZombied.ts +++ b/src/engine/core/schemes/combat_zombied/SchemeCombatZombied.ts @@ -1,6 +1,7 @@ import { stalker_ids, world_property } from "xray16"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; +import { AbstractScheme } from "@/engine/core/schemes"; import { ISchemeCombatState } from "@/engine/core/schemes/combat"; import { ActionZombieGoToDanger, ActionZombieShoot } from "@/engine/core/schemes/combat_zombied/actions"; import { EvaluatorCombatZombied } from "@/engine/core/schemes/combat_zombied/evaluators"; diff --git a/src/engine/core/schemes/companion/SchemeCompanion.ts b/src/engine/core/schemes/companion/SchemeCompanion.ts index 8fc4c6f3e..5eee9c6e2 100644 --- a/src/engine/core/schemes/companion/SchemeCompanion.ts +++ b/src/engine/core/schemes/companion/SchemeCompanion.ts @@ -1,6 +1,7 @@ import { stalker_ids, world_property } from "xray16"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; +import { AbstractScheme } from "@/engine/core/schemes"; import { ActionCompanionActivity } from "@/engine/core/schemes/companion/actions"; import { EvaluatorNeedCompanion } from "@/engine/core/schemes/companion/evaluators"; import { ISchemeCompanionState } from "@/engine/core/schemes/companion/ISchemeCompanionState"; diff --git a/src/engine/core/schemes/corpse_detection/SchemeCorpseDetection.ts b/src/engine/core/schemes/corpse_detection/SchemeCorpseDetection.ts index 445ca3569..96afd22b7 100644 --- a/src/engine/core/schemes/corpse_detection/SchemeCorpseDetection.ts +++ b/src/engine/core/schemes/corpse_detection/SchemeCorpseDetection.ts @@ -1,7 +1,8 @@ import { stalker_ids, world_property } from "xray16"; import { IRegistryObjectState } from "@/engine/core/database"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; +import { AbstractScheme } from "@/engine/core/schemes"; import { ActionSearchCorpse } from "@/engine/core/schemes/corpse_detection/actions"; import { EvaluatorCorpseDetect } from "@/engine/core/schemes/corpse_detection/evaluators"; import { ISchemeCorpseDetectionState } from "@/engine/core/schemes/corpse_detection/ISchemeCorpseDetectionState"; diff --git a/src/engine/core/schemes/cover/SchemeCover.ts b/src/engine/core/schemes/cover/SchemeCover.ts index 19011aef3..821cd03ff 100644 --- a/src/engine/core/schemes/cover/SchemeCover.ts +++ b/src/engine/core/schemes/cover/SchemeCover.ts @@ -1,6 +1,7 @@ import { stalker_ids, world_property } from "xray16"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; +import { AbstractScheme } from "@/engine/core/schemes"; import { ActionCover } from "@/engine/core/schemes/cover/actions"; import { EvaluatorNeedCover } from "@/engine/core/schemes/cover/evaluators"; import { ISchemeCoverState } from "@/engine/core/schemes/cover/ISchemeCoverState"; diff --git a/src/engine/core/schemes/help_wounded/SchemeHelpWounded.ts b/src/engine/core/schemes/help_wounded/SchemeHelpWounded.ts index 8d59a14c8..ca938feec 100644 --- a/src/engine/core/schemes/help_wounded/SchemeHelpWounded.ts +++ b/src/engine/core/schemes/help_wounded/SchemeHelpWounded.ts @@ -1,7 +1,8 @@ import { stalker_ids, world_property } from "xray16"; import { IRegistryObjectState } from "@/engine/core/database"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; +import { AbstractScheme } from "@/engine/core/schemes"; import { ActionHelpWounded } from "@/engine/core/schemes/help_wounded/actions"; import { EvaluatorWoundedExist } from "@/engine/core/schemes/help_wounded/evaluators"; import { ISchemeHelpWoundedState } from "@/engine/core/schemes/help_wounded/ISchemeHelpWoundedState"; diff --git a/src/engine/core/schemes/meet/SchemeMeet.ts b/src/engine/core/schemes/meet/SchemeMeet.ts index a4e6a4635..fde1793e0 100644 --- a/src/engine/core/schemes/meet/SchemeMeet.ts +++ b/src/engine/core/schemes/meet/SchemeMeet.ts @@ -1,7 +1,8 @@ import { stalker_ids, world_property } from "xray16"; import { IRegistryObjectState } from "@/engine/core/database"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; +import { AbstractScheme } from "@/engine/core/schemes"; import { ActionMeetWait } from "@/engine/core/schemes/meet/actions"; import { EvaluatorContact } from "@/engine/core/schemes/meet/evaluators"; import { ISchemeMeetState } from "@/engine/core/schemes/meet/ISchemeMeetState"; diff --git a/src/engine/core/schemes/patrol/SchemePatrol.ts b/src/engine/core/schemes/patrol/SchemePatrol.ts index c12b80332..0382889cf 100644 --- a/src/engine/core/schemes/patrol/SchemePatrol.ts +++ b/src/engine/core/schemes/patrol/SchemePatrol.ts @@ -1,8 +1,9 @@ import { stalker_ids, world_property } from "xray16"; import { registry } from "@/engine/core/database"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; import { Squad } from "@/engine/core/objects/server/squad/Squad"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { AbstractScheme } from "@/engine/core/schemes"; import { ActionCommander, ActionPatrol } from "@/engine/core/schemes/patrol/actions"; import { EvaluatorPatrolComm, EvaluatorPatrolEnd } from "@/engine/core/schemes/patrol/evaluators"; import { ISchemePatrolState } from "@/engine/core/schemes/patrol/ISchemePatrolState"; diff --git a/src/engine/core/schemes/remark/SchemeRemark.ts b/src/engine/core/schemes/remark/SchemeRemark.ts index 2a2f9a097..d99331f76 100644 --- a/src/engine/core/schemes/remark/SchemeRemark.ts +++ b/src/engine/core/schemes/remark/SchemeRemark.ts @@ -1,6 +1,7 @@ import { stalker_ids, world_property } from "xray16"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; +import { AbstractScheme } from "@/engine/core/schemes"; import { ActionRemarkActivity } from "@/engine/core/schemes/remark/actions/ActionRemarkActivity"; import { EvaluatorNeedRemark } from "@/engine/core/schemes/remark/evaluators/EvaluatorNeedRemark"; import { ISchemeRemarkState } from "@/engine/core/schemes/remark/ISchemeRemarkState"; diff --git a/src/engine/core/schemes/sleeper/SchemeSleeper.ts b/src/engine/core/schemes/sleeper/SchemeSleeper.ts index 302b35d5a..24d07f908 100644 --- a/src/engine/core/schemes/sleeper/SchemeSleeper.ts +++ b/src/engine/core/schemes/sleeper/SchemeSleeper.ts @@ -1,6 +1,7 @@ import { stalker_ids, world_property } from "xray16"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; +import { AbstractScheme } from "@/engine/core/schemes"; import { ActionSleeperActivity } from "@/engine/core/schemes/sleeper/actions/ActionSleeperActivity"; import { EvaluatorNeedSleep } from "@/engine/core/schemes/sleeper/evaluators/EvaluatorNeedSleep"; import { ISchemeSleeperState } from "@/engine/core/schemes/sleeper/ISchemeSleeperState"; diff --git a/src/engine/core/schemes/smartcover/SchemeSmartCover.ts b/src/engine/core/schemes/smartcover/SchemeSmartCover.ts index f89304e91..cbdec9062 100644 --- a/src/engine/core/schemes/smartcover/SchemeSmartCover.ts +++ b/src/engine/core/schemes/smartcover/SchemeSmartCover.ts @@ -1,7 +1,7 @@ import { stalker_ids, world_property } from "xray16"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; import { AbstractScheme } from "@/engine/core/schemes/base/AbstractScheme"; -import { EActionId, EEvaluatorId } from "@/engine/core/schemes/base/id"; import { ActionSmartCoverActivity } from "@/engine/core/schemes/smartcover/actions"; import { EvaluatorNeedSmartCover, EvaluatorUseSmartCoverInCombat } from "@/engine/core/schemes/smartcover/evaluators"; import { ISchemeSmartCoverState } from "@/engine/core/schemes/smartcover/ISchemeSmartCoverState"; diff --git a/src/engine/core/schemes/walker/SchemeWalker.ts b/src/engine/core/schemes/walker/SchemeWalker.ts index 2bdb4d078..b10891fee 100644 --- a/src/engine/core/schemes/walker/SchemeWalker.ts +++ b/src/engine/core/schemes/walker/SchemeWalker.ts @@ -1,6 +1,7 @@ import { level, stalker_ids, world_property } from "xray16"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; +import { AbstractScheme } from "@/engine/core/schemes/base"; import { ActionWalkerActivity } from "@/engine/core/schemes/walker/actions"; import { EvaluatorNeedWalker } from "@/engine/core/schemes/walker/evaluators"; import { ISchemeWalkerState } from "@/engine/core/schemes/walker/ISchemeWalkerState"; diff --git a/src/engine/core/schemes/wounded/SchemeWounded.ts b/src/engine/core/schemes/wounded/SchemeWounded.ts index 7a2115352..205f13d09 100644 --- a/src/engine/core/schemes/wounded/SchemeWounded.ts +++ b/src/engine/core/schemes/wounded/SchemeWounded.ts @@ -1,7 +1,8 @@ import { stalker_ids, world_property } from "xray16"; import { IRegistryObjectState } from "@/engine/core/database"; -import { AbstractScheme, EActionId, EEvaluatorId } from "@/engine/core/schemes"; +import { EActionId, EEvaluatorId } from "@/engine/core/objects/ai/types"; +import { AbstractScheme } from "@/engine/core/schemes"; import { ActionWounded } from "@/engine/core/schemes/wounded/actions"; import { EvaluatorCanFight, EvaluatorWounded } from "@/engine/core/schemes/wounded/evaluators"; import { ISchemeWoundedState } from "@/engine/core/schemes/wounded/ISchemeWoundedState"; @@ -11,17 +12,7 @@ import { LuaLogger } from "@/engine/core/utils/logging"; import { getObjectCommunity } from "@/engine/core/utils/object/object_get"; import { communities, TCommunity } from "@/engine/lib/constants/communities"; import { NIL } from "@/engine/lib/constants/words"; -import { - ActionPlanner, - AnyObject, - ClientObject, - IniFile, - LuaArray, - Maybe, - Optional, - TDistance, - TNumberId, -} from "@/engine/lib/types"; +import { ActionPlanner, AnyObject, ClientObject, IniFile, LuaArray, Optional, TDistance } from "@/engine/lib/types"; import { EScheme, ESchemeType, TSection } from "@/engine/lib/types/scheme"; const woundedByState: Record = { diff --git a/src/engine/core/utils/object/object_check.test.ts b/src/engine/core/utils/object/object_check.test.ts index 20bd8837e..b7cc6dbf1 100644 --- a/src/engine/core/utils/object/object_check.test.ts +++ b/src/engine/core/utils/object/object_check.test.ts @@ -3,8 +3,8 @@ import { stalker_ids } from "xray16"; import { registerActor, registerStoryLink, registry } from "@/engine/core/database"; import { Squad } from "@/engine/core/objects"; +import { EActionId } from "@/engine/core/objects/ai/types"; import { LoopedSound } from "@/engine/core/objects/sounds/playable_sounds"; -import { EActionId } from "@/engine/core/schemes"; import { isActorSeenByObject, isImmuneToSurgeObject, diff --git a/src/engine/core/utils/object/object_check.ts b/src/engine/core/utils/object/object_check.ts index 9f909f496..249df2635 100644 --- a/src/engine/core/utils/object/object_check.ts +++ b/src/engine/core/utils/object/object_check.ts @@ -2,7 +2,7 @@ import { alife, level, stalker_ids } from "xray16"; import { getObjectIdByStoryId, registry } from "@/engine/core/database"; import { Squad } from "@/engine/core/objects"; -import { EActionId } from "@/engine/core/schemes"; +import { EActionId } from "@/engine/core/objects/ai"; import { LuaLogger } from "@/engine/core/utils/logging"; import { isStalker } from "@/engine/core/utils/object/object_class"; import { surgeConfig } from "@/engine/lib/configs/SurgeConfig"; diff --git a/src/engine/core/utils/object/object_state.test.ts b/src/engine/core/utils/object/object_state.test.ts index cd96d746a..6f89d2955 100644 --- a/src/engine/core/utils/object/object_state.test.ts +++ b/src/engine/core/utils/object/object_state.test.ts @@ -1,10 +1,10 @@ import { describe, expect, it, jest } from "@jest/globals"; import { IRegistryObjectState, registerObject } from "@/engine/core/database"; +import { EActionId } from "@/engine/core/objects/ai/types"; import { EAnimationType, EStalkerState } from "@/engine/core/objects/animation"; import { StalkerAnimationManager } from "@/engine/core/objects/state/StalkerAnimationManager"; import { StalkerStateManager } from "@/engine/core/objects/state/StalkerStateManager"; -import { EActionId } from "@/engine/core/schemes"; import { ISchemeWoundedState } from "@/engine/core/schemes/wounded"; import { WoundManager } from "@/engine/core/schemes/wounded/WoundManager"; import { isObjectAsleep, isObjectMeeting, isObjectWounded } from "@/engine/core/utils/object/object_state"; diff --git a/src/engine/core/utils/object/object_state.ts b/src/engine/core/utils/object/object_state.ts index 2e64b4228..cce57c4b4 100644 --- a/src/engine/core/utils/object/object_state.ts +++ b/src/engine/core/utils/object/object_state.ts @@ -1,6 +1,6 @@ import { IRegistryObjectState, registry } from "@/engine/core/database"; +import { EActionId } from "@/engine/core/objects/ai/types"; import { EStalkerState } from "@/engine/core/objects/animation/state_types"; -import { EActionId } from "@/engine/core/schemes/base"; import { ISchemeWoundedState } from "@/engine/core/schemes/wounded"; import { NIL } from "@/engine/lib/constants/words"; import { ActionPlanner, ClientObject, EScheme, Optional, TNumberId } from "@/engine/lib/types"; diff --git a/src/engine/core/utils/scheme/scheme_setup.test.ts b/src/engine/core/utils/scheme/scheme_setup.test.ts index b496c14db..e29b727ef 100644 --- a/src/engine/core/utils/scheme/scheme_setup.test.ts +++ b/src/engine/core/utils/scheme/scheme_setup.test.ts @@ -2,7 +2,8 @@ import { beforeEach, describe, expect, it, jest } from "@jest/globals"; import { stalker_ids } from "xray16"; import { registry } from "@/engine/core/database"; -import { EEvaluatorId, TAbstractSchemeConstructor } from "@/engine/core/schemes/base"; +import { EEvaluatorId } from "@/engine/core/objects/ai/types"; +import { TAbstractSchemeConstructor } from "@/engine/core/schemes/base"; import { SchemeCombat } from "@/engine/core/schemes/combat"; import { SchemeCombatIgnore } from "@/engine/core/schemes/combat_ignore"; import { SchemeHit } from "@/engine/core/schemes/hit"; diff --git a/src/engine/core/utils/scheme/scheme_setup.ts b/src/engine/core/utils/scheme/scheme_setup.ts index e8f54f2c7..6e854cea8 100644 --- a/src/engine/core/utils/scheme/scheme_setup.ts +++ b/src/engine/core/utils/scheme/scheme_setup.ts @@ -1,7 +1,8 @@ import { stalker_ids, world_property } from "xray16"; import { registry } from "@/engine/core/database"; -import { EEvaluatorId, TAbstractSchemeConstructor } from "@/engine/core/schemes"; +import { EEvaluatorId } from "@/engine/core/objects/ai/types"; +import { TAbstractSchemeConstructor } from "@/engine/core/schemes/base"; import { assert } from "@/engine/core/utils/assertion"; import { LuaLogger } from "@/engine/core/utils/logging"; import { ActionBase, ClientObject, EScheme, ESchemeType, LuaArray } from "@/engine/lib/types";