@drincs/nqtr 0.2.13 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/RoomInterface-C7Sg80EF.d.mts +79 -0
- package/dist/RoomInterface-D7qXKwBI.d.ts +79 -0
- package/dist/StageInterface-DmLgfrk4.d.mts +162 -0
- package/dist/StageInterface-DmLgfrk4.d.ts +162 -0
- package/dist/classes/ActivityBaseModel.d.mts +63 -0
- package/dist/classes/ActivityBaseModel.d.ts +63 -0
- package/dist/classes/ActivityBaseModel.js +2 -0
- package/dist/classes/ActivityBaseModel.js.map +1 -0
- package/dist/classes/ActivityBaseModel.mjs +2 -0
- package/dist/classes/ActivityBaseModel.mjs.map +1 -0
- package/dist/classes/ActivityStoredClass.d.mts +27 -0
- package/dist/classes/ActivityStoredClass.d.ts +27 -0
- package/dist/classes/ActivityStoredClass.js +2 -0
- package/dist/classes/ActivityStoredClass.js.map +1 -0
- package/dist/classes/ActivityStoredClass.mjs +2 -0
- package/dist/classes/ActivityStoredClass.mjs.map +1 -0
- package/dist/classes/CommitmentBaseModel.d.mts +65 -0
- package/dist/classes/CommitmentBaseModel.d.ts +65 -0
- package/dist/classes/CommitmentBaseModel.js +2 -0
- package/dist/classes/CommitmentBaseModel.js.map +1 -0
- package/dist/classes/CommitmentBaseModel.mjs +2 -0
- package/dist/classes/CommitmentBaseModel.mjs.map +1 -0
- package/dist/classes/CommitmentStoredClass.d.mts +29 -0
- package/dist/classes/CommitmentStoredClass.d.ts +29 -0
- package/dist/classes/CommitmentStoredClass.js +2 -0
- package/dist/classes/CommitmentStoredClass.js.map +1 -0
- package/dist/classes/CommitmentStoredClass.mjs +2 -0
- package/dist/classes/CommitmentStoredClass.mjs.map +1 -0
- package/dist/classes/index.d.mts +27 -8
- package/dist/classes/index.d.ts +27 -8
- package/dist/classes/index.js +1 -1
- package/dist/classes/index.js.map +1 -1
- package/dist/classes/index.mjs +1 -1
- package/dist/classes/index.mjs.map +1 -1
- package/dist/classes/navigation/LocationBaseModel.d.mts +54 -0
- package/dist/classes/navigation/LocationBaseModel.d.ts +54 -0
- package/dist/classes/navigation/LocationBaseModel.js +2 -0
- package/dist/classes/navigation/LocationBaseModel.js.map +1 -0
- package/dist/classes/navigation/LocationBaseModel.mjs +2 -0
- package/dist/classes/navigation/LocationBaseModel.mjs.map +1 -0
- package/dist/classes/navigation/LocationStoredClass.d.mts +23 -0
- package/dist/classes/navigation/LocationStoredClass.d.ts +23 -0
- package/dist/classes/navigation/LocationStoredClass.js +2 -0
- package/dist/classes/navigation/LocationStoredClass.js.map +1 -0
- package/dist/classes/navigation/LocationStoredClass.mjs +2 -0
- package/dist/classes/navigation/LocationStoredClass.mjs.map +1 -0
- package/dist/classes/navigation/MapBaseModel.d.mts +41 -0
- package/dist/classes/navigation/MapBaseModel.d.ts +41 -0
- package/dist/classes/navigation/MapBaseModel.js +2 -0
- package/dist/classes/navigation/MapBaseModel.js.map +1 -0
- package/dist/classes/navigation/MapBaseModel.mjs +2 -0
- package/dist/classes/navigation/MapBaseModel.mjs.map +1 -0
- package/dist/classes/navigation/MapStoredClass.d.mts +14 -0
- package/dist/classes/navigation/MapStoredClass.d.ts +14 -0
- package/dist/classes/navigation/MapStoredClass.js +2 -0
- package/dist/classes/navigation/MapStoredClass.js.map +1 -0
- package/dist/classes/navigation/MapStoredClass.mjs +2 -0
- package/dist/classes/navigation/MapStoredClass.mjs.map +1 -0
- package/dist/classes/navigation/NavigationAbstractClass.d.mts +48 -0
- package/dist/classes/navigation/NavigationAbstractClass.d.ts +48 -0
- package/dist/classes/navigation/NavigationAbstractClass.js +2 -0
- package/dist/classes/navigation/NavigationAbstractClass.js.map +1 -0
- package/dist/classes/navigation/NavigationAbstractClass.mjs +2 -0
- package/dist/classes/navigation/NavigationAbstractClass.mjs.map +1 -0
- package/dist/classes/navigation/RoomBaseModel.d.mts +67 -0
- package/dist/classes/navigation/RoomBaseModel.d.ts +67 -0
- package/dist/classes/navigation/RoomBaseModel.js +2 -0
- package/dist/classes/navigation/RoomBaseModel.js.map +1 -0
- package/dist/classes/navigation/RoomBaseModel.mjs +2 -0
- package/dist/classes/navigation/RoomBaseModel.mjs.map +1 -0
- package/dist/classes/navigation/RoomStoredClass.d.mts +23 -0
- package/dist/classes/navigation/RoomStoredClass.d.ts +23 -0
- package/dist/classes/navigation/RoomStoredClass.js +2 -0
- package/dist/classes/navigation/RoomStoredClass.js.map +1 -0
- package/dist/classes/navigation/RoomStoredClass.mjs +2 -0
- package/dist/classes/navigation/RoomStoredClass.mjs.map +1 -0
- package/dist/classes/quest/QuestBaseModel.d.mts +36 -0
- package/dist/classes/quest/QuestBaseModel.d.ts +36 -0
- package/dist/classes/quest/QuestBaseModel.js +2 -0
- package/dist/classes/quest/QuestBaseModel.js.map +1 -0
- package/dist/classes/quest/QuestBaseModel.mjs +2 -0
- package/dist/classes/quest/QuestBaseModel.mjs.map +1 -0
- package/dist/classes/quest/QuestStoredClass.d.mts +37 -0
- package/dist/classes/quest/QuestStoredClass.d.ts +37 -0
- package/dist/classes/quest/QuestStoredClass.js +2 -0
- package/dist/classes/quest/QuestStoredClass.js.map +1 -0
- package/dist/classes/quest/QuestStoredClass.mjs +2 -0
- package/dist/classes/quest/QuestStoredClass.mjs.map +1 -0
- package/dist/classes/quest/StageBaseModel.d.mts +50 -0
- package/dist/classes/quest/StageBaseModel.d.ts +50 -0
- package/dist/classes/quest/StageBaseModel.js +2 -0
- package/dist/classes/quest/StageBaseModel.js.map +1 -0
- package/dist/classes/quest/StageBaseModel.mjs +2 -0
- package/dist/classes/quest/StageBaseModel.mjs.map +1 -0
- package/dist/classes/quest/StageStoredClass.d.mts +46 -0
- package/dist/classes/quest/StageStoredClass.d.ts +46 -0
- package/dist/classes/quest/StageStoredClass.js +2 -0
- package/dist/classes/quest/StageStoredClass.js.map +1 -0
- package/dist/classes/quest/StageStoredClass.mjs +2 -0
- package/dist/classes/quest/StageStoredClass.mjs.map +1 -0
- package/dist/decorators/ActivityDecorator.d.mts +5 -15
- package/dist/decorators/ActivityDecorator.d.ts +5 -15
- package/dist/decorators/ActivityDecorator.js +1 -1
- package/dist/decorators/ActivityDecorator.js.map +1 -1
- package/dist/decorators/ActivityDecorator.mjs +1 -1
- package/dist/decorators/ActivityDecorator.mjs.map +1 -1
- package/dist/decorators/CommitmentDecorator.d.mts +8 -36
- package/dist/decorators/CommitmentDecorator.d.ts +8 -36
- package/dist/decorators/CommitmentDecorator.js +1 -1
- package/dist/decorators/CommitmentDecorator.js.map +1 -1
- package/dist/decorators/CommitmentDecorator.mjs +1 -1
- package/dist/decorators/CommitmentDecorator.mjs.map +1 -1
- package/dist/decorators/QuestDecorator.d.mts +6 -16
- package/dist/decorators/QuestDecorator.d.ts +6 -16
- package/dist/decorators/QuestDecorator.js +1 -1
- package/dist/decorators/QuestDecorator.js.map +1 -1
- package/dist/decorators/QuestDecorator.mjs +1 -1
- package/dist/decorators/QuestDecorator.mjs.map +1 -1
- package/dist/decorators/RoomDecorator.d.mts +7 -31
- package/dist/decorators/RoomDecorator.d.ts +7 -31
- package/dist/decorators/RoomDecorator.js +1 -1
- package/dist/decorators/RoomDecorator.js.map +1 -1
- package/dist/decorators/RoomDecorator.mjs +1 -1
- package/dist/decorators/RoomDecorator.mjs.map +1 -1
- package/dist/decorators/index.d.mts +8 -13
- package/dist/decorators/index.d.ts +8 -13
- package/dist/decorators/index.js +1 -1
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/index.mjs +1 -1
- package/dist/decorators/index.mjs.map +1 -1
- package/dist/functions/index.d.mts +2 -12
- package/dist/functions/index.d.ts +2 -12
- package/dist/functions/index.js +1 -1
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/index.mjs +1 -1
- package/dist/functions/index.mjs.map +1 -1
- package/dist/index.d.mts +49 -47
- package/dist/index.d.ts +49 -47
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/interface/ActivityInterface.d.mts +40 -0
- package/dist/interface/ActivityInterface.d.ts +40 -0
- package/dist/interface/ActivityInterface.js +2 -0
- package/dist/interface/ActivityInterface.js.map +1 -0
- package/dist/interface/ActivityInterface.mjs +2 -0
- package/dist/interface/ActivityInterface.mjs.map +1 -0
- package/dist/interface/ActivityProps.d.mts +48 -3
- package/dist/interface/ActivityProps.d.ts +48 -3
- package/dist/interface/CommitmentInterface.d.mts +6 -0
- package/dist/interface/CommitmentInterface.d.ts +6 -0
- package/dist/interface/CommitmentInterface.js +2 -0
- package/dist/interface/CommitmentInterface.js.map +1 -0
- package/dist/interface/CommitmentInterface.mjs +2 -0
- package/dist/interface/CommitmentInterface.mjs.map +1 -0
- package/dist/interface/CommitmentProps.d.mts +77 -6
- package/dist/interface/CommitmentProps.d.ts +77 -6
- package/dist/interface/index.d.mts +12 -8
- package/dist/interface/index.d.ts +12 -8
- package/dist/interface/navigation/LocationBaseModelProps.d.mts +32 -0
- package/dist/interface/navigation/LocationBaseModelProps.d.ts +32 -0
- package/dist/interface/navigation/LocationBaseModelProps.js +2 -0
- package/dist/interface/navigation/LocationBaseModelProps.js.map +1 -0
- package/dist/interface/navigation/LocationBaseModelProps.mjs +2 -0
- package/dist/interface/navigation/LocationBaseModelProps.mjs.map +1 -0
- package/dist/interface/navigation/LocationInterface.d.mts +6 -0
- package/dist/interface/navigation/LocationInterface.d.ts +6 -0
- package/dist/interface/navigation/LocationInterface.js +2 -0
- package/dist/interface/navigation/{LocationProps.js.map → LocationInterface.js.map} +1 -1
- package/dist/interface/navigation/LocationInterface.mjs +2 -0
- package/dist/interface/navigation/LocationInterface.mjs.map +1 -0
- package/dist/interface/navigation/MapBaseModelProps.d.mts +22 -0
- package/dist/interface/navigation/MapBaseModelProps.d.ts +22 -0
- package/dist/interface/navigation/MapBaseModelProps.js +2 -0
- package/dist/interface/navigation/MapBaseModelProps.js.map +1 -0
- package/dist/interface/navigation/MapBaseModelProps.mjs +2 -0
- package/dist/interface/navigation/MapBaseModelProps.mjs.map +1 -0
- package/dist/interface/navigation/MapInterface.d.mts +6 -0
- package/dist/interface/navigation/MapInterface.d.ts +6 -0
- package/dist/interface/navigation/MapInterface.js +2 -0
- package/dist/interface/navigation/MapInterface.js.map +1 -0
- package/dist/interface/navigation/MapInterface.mjs +2 -0
- package/dist/interface/navigation/MapInterface.mjs.map +1 -0
- package/dist/interface/navigation/NavigationAbstractClass.d.mts +54 -0
- package/dist/interface/navigation/NavigationAbstractClass.d.ts +54 -0
- package/dist/interface/navigation/NavigationAbstractClass.js +2 -0
- package/dist/interface/navigation/NavigationAbstractClass.js.map +1 -0
- package/dist/interface/navigation/NavigationAbstractClass.mjs +2 -0
- package/dist/interface/navigation/NavigationAbstractClass.mjs.map +1 -0
- package/dist/interface/navigation/RoomBaseModelProps.d.mts +37 -0
- package/dist/interface/navigation/RoomBaseModelProps.d.ts +37 -0
- package/dist/interface/navigation/RoomBaseModelProps.js +2 -0
- package/dist/interface/navigation/RoomBaseModelProps.js.map +1 -0
- package/dist/interface/navigation/RoomBaseModelProps.mjs +2 -0
- package/dist/interface/navigation/RoomBaseModelProps.mjs.map +1 -0
- package/dist/interface/navigation/RoomInterface.d.mts +6 -0
- package/dist/interface/navigation/RoomInterface.d.ts +6 -0
- package/dist/interface/navigation/RoomInterface.js +2 -0
- package/dist/interface/navigation/RoomInterface.js.map +1 -0
- package/dist/interface/navigation/RoomInterface.mjs +2 -0
- package/dist/interface/navigation/RoomInterface.mjs.map +1 -0
- package/dist/interface/quest/QuestInterface.d.mts +2 -0
- package/dist/interface/quest/QuestInterface.d.ts +2 -0
- package/dist/interface/quest/QuestInterface.js +2 -0
- package/dist/interface/quest/QuestInterface.js.map +1 -0
- package/dist/interface/quest/QuestInterface.mjs +2 -0
- package/dist/interface/quest/QuestInterface.mjs.map +1 -0
- package/dist/interface/quest/QuestProps.d.mts +39 -6
- package/dist/interface/quest/QuestProps.d.ts +39 -6
- package/dist/interface/quest/StageInterface.d.mts +2 -0
- package/dist/interface/quest/StageInterface.d.ts +2 -0
- package/dist/interface/quest/StageInterface.js +2 -0
- package/dist/interface/quest/StageInterface.js.map +1 -0
- package/dist/interface/quest/StageInterface.mjs +2 -0
- package/dist/interface/quest/StageInterface.mjs.map +1 -0
- package/dist/interface/quest/StageProps.d.mts +60 -6
- package/dist/interface/quest/StageProps.d.ts +60 -6
- package/dist/managers/NavigatorManager.d.mts +22 -0
- package/dist/managers/NavigatorManager.d.ts +22 -0
- package/dist/managers/NavigatorManager.js +2 -0
- package/dist/managers/NavigatorManager.js.map +1 -0
- package/dist/managers/NavigatorManager.mjs +2 -0
- package/dist/managers/NavigatorManager.mjs.map +1 -0
- package/dist/managers/QuestManager.d.mts +17 -0
- package/dist/managers/QuestManager.d.ts +17 -0
- package/dist/managers/QuestManager.js +2 -0
- package/dist/managers/QuestManager.js.map +1 -0
- package/dist/managers/QuestManager.mjs +2 -0
- package/dist/managers/QuestManager.mjs.map +1 -0
- package/dist/managers/RoutineManager.d.mts +59 -0
- package/dist/managers/RoutineManager.d.ts +59 -0
- package/dist/managers/RoutineManager.js +2 -0
- package/dist/managers/RoutineManager.js.map +1 -0
- package/dist/managers/RoutineManager.mjs +2 -0
- package/dist/managers/RoutineManager.mjs.map +1 -0
- package/dist/managers/TimeManager.d.mts +2 -11
- package/dist/managers/TimeManager.d.ts +2 -11
- package/dist/managers/TimeManager.js +1 -1
- package/dist/managers/TimeManager.js.map +1 -1
- package/dist/managers/TimeManager.mjs +1 -1
- package/dist/managers/TimeManager.mjs.map +1 -1
- package/dist/managers/TimeManagerSettings.d.mts +13 -0
- package/dist/managers/TimeManagerSettings.d.ts +13 -0
- package/dist/managers/TimeManagerSettings.js +2 -0
- package/dist/managers/TimeManagerSettings.js.map +1 -0
- package/dist/managers/TimeManagerSettings.mjs +2 -0
- package/dist/managers/TimeManagerSettings.mjs.map +1 -0
- package/dist/managers/index.d.mts +14 -1
- package/dist/managers/index.d.ts +14 -1
- package/dist/managers/index.js +1 -1
- package/dist/managers/index.js.map +1 -1
- package/dist/managers/index.mjs +1 -1
- package/dist/managers/index.mjs.map +1 -1
- package/dist/override/ActivityInterface.d.mts +28 -0
- package/dist/override/ActivityInterface.d.ts +28 -0
- package/dist/override/ActivityInterface.js +2 -0
- package/dist/override/ActivityInterface.js.map +1 -0
- package/dist/override/ActivityInterface.mjs +2 -0
- package/dist/override/ActivityInterface.mjs.map +1 -0
- package/dist/override/CommitmentInterface.d.mts +24 -0
- package/dist/override/CommitmentInterface.d.ts +24 -0
- package/dist/override/CommitmentInterface.js +2 -0
- package/dist/override/CommitmentInterface.js.map +1 -0
- package/dist/override/CommitmentInterface.mjs +2 -0
- package/dist/override/CommitmentInterface.mjs.map +1 -0
- package/dist/override/LocationInterface.d.mts +29 -0
- package/dist/override/LocationInterface.d.ts +29 -0
- package/dist/override/LocationInterface.js +2 -0
- package/dist/{interface/navigation/LocationProps.mjs.map → override/LocationInterface.js.map} +1 -1
- package/dist/override/LocationInterface.mjs +2 -0
- package/dist/override/LocationInterface.mjs.map +1 -0
- package/dist/override/MapInterface.d.mts +12 -0
- package/dist/override/MapInterface.d.ts +12 -0
- package/dist/override/MapInterface.js +2 -0
- package/dist/override/MapInterface.js.map +1 -0
- package/dist/override/MapInterface.mjs +2 -0
- package/dist/override/MapInterface.mjs.map +1 -0
- package/dist/override/QuestInterface.d.mts +24 -0
- package/dist/override/QuestInterface.d.ts +24 -0
- package/dist/override/QuestInterface.js +2 -0
- package/dist/override/QuestInterface.js.map +1 -0
- package/dist/override/QuestInterface.mjs +2 -0
- package/dist/override/QuestInterface.mjs.map +1 -0
- package/dist/override/RoomInterface.d.mts +33 -0
- package/dist/override/RoomInterface.d.ts +33 -0
- package/dist/override/RoomInterface.js +2 -0
- package/dist/override/RoomInterface.js.map +1 -0
- package/dist/override/RoomInterface.mjs +2 -0
- package/dist/override/RoomInterface.mjs.map +1 -0
- package/dist/override/StageInterface.d.mts +34 -0
- package/dist/override/StageInterface.d.ts +34 -0
- package/dist/override/StageInterface.js +2 -0
- package/dist/override/StageInterface.js.map +1 -0
- package/dist/override/StageInterface.mjs +2 -0
- package/dist/override/StageInterface.mjs.map +1 -0
- package/dist/override/index.d.mts +8 -4
- package/dist/override/index.d.ts +8 -4
- package/dist/types/OnRunEvent.d.mts +8 -0
- package/dist/types/OnRunEvent.d.ts +8 -0
- package/dist/types/OnRunEvent.js +2 -0
- package/dist/types/{OnRunActivityEvent.js.map → OnRunEvent.js.map} +1 -1
- package/dist/types/OnRunEvent.mjs +2 -0
- package/dist/types/{OnRunActivityEvent.mjs.map → OnRunEvent.mjs.map} +1 -1
- package/dist/types/QuestsRequired.d.mts +1 -5
- package/dist/types/QuestsRequired.d.ts +1 -5
- package/dist/types/index.d.mts +1 -5
- package/dist/types/index.d.ts +1 -5
- package/package.json +3 -4
- package/dist/ActivityProps-LWY7Zucl.d.ts +0 -124
- package/dist/ActivityProps-WgXDAYbc.d.mts +0 -124
- package/dist/Commitment-BujJuTv8.d.mts +0 -586
- package/dist/Commitment-DFYAApxl.d.ts +0 -586
- package/dist/StageProps-CqgBUi3e.d.mts +0 -326
- package/dist/StageProps-DghO7WaT.d.ts +0 -326
- package/dist/classes/Activity.d.mts +0 -112
- package/dist/classes/Activity.d.ts +0 -112
- package/dist/classes/Activity.js +0 -2
- package/dist/classes/Activity.js.map +0 -1
- package/dist/classes/Activity.mjs +0 -2
- package/dist/classes/Activity.mjs.map +0 -1
- package/dist/classes/ActivityStoredAbstract.d.mts +0 -3
- package/dist/classes/ActivityStoredAbstract.d.ts +0 -3
- package/dist/classes/ActivityStoredAbstract.js +0 -2
- package/dist/classes/ActivityStoredAbstract.js.map +0 -1
- package/dist/classes/ActivityStoredAbstract.mjs +0 -2
- package/dist/classes/ActivityStoredAbstract.mjs.map +0 -1
- package/dist/classes/Commitment.d.mts +0 -8
- package/dist/classes/Commitment.d.ts +0 -8
- package/dist/classes/Commitment.js +0 -2
- package/dist/classes/Commitment.js.map +0 -1
- package/dist/classes/Commitment.mjs +0 -2
- package/dist/classes/Commitment.mjs.map +0 -1
- package/dist/classes/navigation/ActivityRoom.d.mts +0 -8
- package/dist/classes/navigation/ActivityRoom.d.ts +0 -8
- package/dist/classes/navigation/ActivityRoom.js +0 -2
- package/dist/classes/navigation/ActivityRoom.js.map +0 -1
- package/dist/classes/navigation/ActivityRoom.mjs +0 -2
- package/dist/classes/navigation/ActivityRoom.mjs.map +0 -1
- package/dist/classes/navigation/Location.d.mts +0 -8
- package/dist/classes/navigation/Location.d.ts +0 -8
- package/dist/classes/navigation/Location.js +0 -2
- package/dist/classes/navigation/Location.js.map +0 -1
- package/dist/classes/navigation/Location.mjs +0 -2
- package/dist/classes/navigation/Location.mjs.map +0 -1
- package/dist/classes/navigation/Map.d.mts +0 -8
- package/dist/classes/navigation/Map.d.ts +0 -8
- package/dist/classes/navigation/Map.js +0 -2
- package/dist/classes/navigation/Map.js.map +0 -1
- package/dist/classes/navigation/Map.mjs +0 -2
- package/dist/classes/navigation/Map.mjs.map +0 -1
- package/dist/classes/navigation/Room.d.mts +0 -8
- package/dist/classes/navigation/Room.d.ts +0 -8
- package/dist/classes/navigation/Room.js +0 -2
- package/dist/classes/navigation/Room.js.map +0 -1
- package/dist/classes/navigation/Room.mjs +0 -2
- package/dist/classes/navigation/Room.mjs.map +0 -1
- package/dist/classes/quest/Goal.d.mts +0 -46
- package/dist/classes/quest/Goal.d.ts +0 -46
- package/dist/classes/quest/Goal.js +0 -2
- package/dist/classes/quest/Goal.js.map +0 -1
- package/dist/classes/quest/Goal.mjs +0 -2
- package/dist/classes/quest/Goal.mjs.map +0 -1
- package/dist/classes/quest/Quest.d.mts +0 -6
- package/dist/classes/quest/Quest.d.ts +0 -6
- package/dist/classes/quest/Quest.js +0 -2
- package/dist/classes/quest/Quest.js.map +0 -1
- package/dist/classes/quest/Quest.mjs +0 -2
- package/dist/classes/quest/Quest.mjs.map +0 -1
- package/dist/classes/quest/Stage.d.mts +0 -6
- package/dist/classes/quest/Stage.d.ts +0 -6
- package/dist/classes/quest/Stage.js +0 -2
- package/dist/classes/quest/Stage.js.map +0 -1
- package/dist/classes/quest/Stage.mjs +0 -2
- package/dist/classes/quest/Stage.mjs.map +0 -1
- package/dist/functions/ActivityFunctions.d.mts +0 -20
- package/dist/functions/ActivityFunctions.d.ts +0 -20
- package/dist/functions/ActivityFunctions.js +0 -2
- package/dist/functions/ActivityFunctions.js.map +0 -1
- package/dist/functions/ActivityFunctions.mjs +0 -2
- package/dist/functions/ActivityFunctions.mjs.map +0 -1
- package/dist/functions/NavigationFunctions.d.mts +0 -32
- package/dist/functions/NavigationFunctions.d.ts +0 -32
- package/dist/functions/NavigationFunctions.js +0 -2
- package/dist/functions/NavigationFunctions.js.map +0 -1
- package/dist/functions/NavigationFunctions.mjs +0 -2
- package/dist/functions/NavigationFunctions.mjs.map +0 -1
- package/dist/functions/QuestFunctions.d.mts +0 -8
- package/dist/functions/QuestFunctions.d.ts +0 -8
- package/dist/functions/QuestFunctions.js +0 -2
- package/dist/functions/QuestFunctions.js.map +0 -1
- package/dist/functions/QuestFunctions.mjs +0 -2
- package/dist/functions/QuestFunctions.mjs.map +0 -1
- package/dist/functions/RoutineFunctions.d.mts +0 -36
- package/dist/functions/RoutineFunctions.d.ts +0 -36
- package/dist/functions/RoutineFunctions.js +0 -2
- package/dist/functions/RoutineFunctions.js.map +0 -1
- package/dist/functions/RoutineFunctions.mjs +0 -2
- package/dist/functions/RoutineFunctions.mjs.map +0 -1
- package/dist/interface/RoomActivityMemory.d.mts +0 -9
- package/dist/interface/RoomActivityMemory.d.ts +0 -9
- package/dist/interface/RoomActivityMemory.js +0 -2
- package/dist/interface/RoomActivityMemory.js.map +0 -1
- package/dist/interface/RoomActivityMemory.mjs +0 -2
- package/dist/interface/RoomActivityMemory.mjs.map +0 -1
- package/dist/interface/RoomProps.d.mts +0 -8
- package/dist/interface/RoomProps.d.ts +0 -8
- package/dist/interface/RoomProps.js +0 -2
- package/dist/interface/RoomProps.js.map +0 -1
- package/dist/interface/RoomProps.mjs +0 -2
- package/dist/interface/RoomProps.mjs.map +0 -1
- package/dist/interface/navigation/LocationProps.d.mts +0 -8
- package/dist/interface/navigation/LocationProps.d.ts +0 -8
- package/dist/interface/navigation/LocationProps.js +0 -2
- package/dist/interface/navigation/LocationProps.mjs +0 -2
- package/dist/interface/navigation/MapProps.d.mts +0 -8
- package/dist/interface/navigation/MapProps.d.ts +0 -8
- package/dist/interface/navigation/MapProps.js +0 -2
- package/dist/interface/navigation/MapProps.js.map +0 -1
- package/dist/interface/navigation/MapProps.mjs +0 -2
- package/dist/interface/navigation/MapProps.mjs.map +0 -1
- package/dist/interface/quest/GoalProps.d.mts +0 -19
- package/dist/interface/quest/GoalProps.d.ts +0 -19
- package/dist/interface/quest/GoalProps.js +0 -2
- package/dist/interface/quest/GoalProps.js.map +0 -1
- package/dist/interface/quest/GoalProps.mjs +0 -2
- package/dist/interface/quest/GoalProps.mjs.map +0 -1
- package/dist/override/GraphicItemType.d.mts +0 -17
- package/dist/override/GraphicItemType.d.ts +0 -17
- package/dist/override/GraphicItemType.js +0 -2
- package/dist/override/GraphicItemType.js.map +0 -1
- package/dist/override/GraphicItemType.mjs +0 -2
- package/dist/override/GraphicItemType.mjs.map +0 -1
- package/dist/override/NeighboringMapsInterface.d.mts +0 -21
- package/dist/override/NeighboringMapsInterface.d.ts +0 -21
- package/dist/override/NeighboringMapsInterface.js +0 -2
- package/dist/override/NeighboringMapsInterface.js.map +0 -1
- package/dist/override/NeighboringMapsInterface.mjs +0 -2
- package/dist/override/NeighboringMapsInterface.mjs.map +0 -1
- package/dist/types/OnRunActivityEvent.d.mts +0 -8
- package/dist/types/OnRunActivityEvent.d.ts +0 -8
- package/dist/types/OnRunActivityEvent.js +0 -2
- package/dist/types/OnRunActivityEvent.mjs +0 -2
- package/dist/types/OnRunCommitmentEvent.d.mts +0 -8
- package/dist/types/OnRunCommitmentEvent.d.ts +0 -8
- package/dist/types/OnRunCommitmentEvent.js +0 -2
- package/dist/types/OnRunCommitmentEvent.js.map +0 -1
- package/dist/types/OnRunCommitmentEvent.mjs +0 -2
- package/dist/types/OnRunCommitmentEvent.mjs.map +0 -1
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { d as RoomBaseModel, b as LocationBaseModel, c as MapBaseModel } from '../Commitment-BujJuTv8.mjs';
|
|
2
|
-
import '@drincs/nqtr/dist/override';
|
|
3
|
-
import '@drincs/pixi-vn';
|
|
4
|
-
import '../ActivityProps-WgXDAYbc.mjs';
|
|
5
|
-
import '../types/OnRunActivityEvent.mjs';
|
|
6
|
-
import '../classes/Activity.mjs';
|
|
7
|
-
import '../types/ExecutionType.mjs';
|
|
8
|
-
import '../types/OnRunCommitmentEvent.mjs';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Set the current room.
|
|
12
|
-
* @param room The room to set as current room.
|
|
13
|
-
* @returns
|
|
14
|
-
*/
|
|
15
|
-
declare function setCurrentRoom<TRoom extends RoomBaseModel = RoomBaseModel>(room: TRoom | LocationBaseModel): void;
|
|
16
|
-
/**
|
|
17
|
-
* Get the current room.
|
|
18
|
-
* @returns The current room or undefined if not set.
|
|
19
|
-
*/
|
|
20
|
-
declare function getCurrentRoom<TRoom extends RoomBaseModel = RoomBaseModel>(): TRoom | undefined;
|
|
21
|
-
/**
|
|
22
|
-
* Get the current location.
|
|
23
|
-
* @returns The current location or undefined if not set.
|
|
24
|
-
*/
|
|
25
|
-
declare function getCurrenrLocation<TLocation extends LocationBaseModel = LocationBaseModel>(): TLocation | undefined;
|
|
26
|
-
/**
|
|
27
|
-
* Get the current map.
|
|
28
|
-
* @returns The current map or undefined if not set.
|
|
29
|
-
*/
|
|
30
|
-
declare function getCurrentMap<TMap extends MapBaseModel = MapBaseModel>(): TMap | undefined;
|
|
31
|
-
|
|
32
|
-
export { getCurrenrLocation, getCurrentMap, getCurrentRoom, setCurrentRoom };
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { d as RoomBaseModel, b as LocationBaseModel, c as MapBaseModel } from '../Commitment-DFYAApxl.js';
|
|
2
|
-
import '@drincs/nqtr/dist/override';
|
|
3
|
-
import '@drincs/pixi-vn';
|
|
4
|
-
import '../ActivityProps-LWY7Zucl.js';
|
|
5
|
-
import '../types/OnRunActivityEvent.js';
|
|
6
|
-
import '../classes/Activity.js';
|
|
7
|
-
import '../types/ExecutionType.js';
|
|
8
|
-
import '../types/OnRunCommitmentEvent.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Set the current room.
|
|
12
|
-
* @param room The room to set as current room.
|
|
13
|
-
* @returns
|
|
14
|
-
*/
|
|
15
|
-
declare function setCurrentRoom<TRoom extends RoomBaseModel = RoomBaseModel>(room: TRoom | LocationBaseModel): void;
|
|
16
|
-
/**
|
|
17
|
-
* Get the current room.
|
|
18
|
-
* @returns The current room or undefined if not set.
|
|
19
|
-
*/
|
|
20
|
-
declare function getCurrentRoom<TRoom extends RoomBaseModel = RoomBaseModel>(): TRoom | undefined;
|
|
21
|
-
/**
|
|
22
|
-
* Get the current location.
|
|
23
|
-
* @returns The current location or undefined if not set.
|
|
24
|
-
*/
|
|
25
|
-
declare function getCurrenrLocation<TLocation extends LocationBaseModel = LocationBaseModel>(): TLocation | undefined;
|
|
26
|
-
/**
|
|
27
|
-
* Get the current map.
|
|
28
|
-
* @returns The current map or undefined if not set.
|
|
29
|
-
*/
|
|
30
|
-
declare function getCurrentMap<TMap extends MapBaseModel = MapBaseModel>(): TMap | undefined;
|
|
31
|
-
|
|
32
|
-
export { getCurrenrLocation, getCurrentMap, getCurrentRoom, setCurrentRoom };
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var pixiVn=require('@drincs/pixi-vn');var l={};function m(r){try{let e=l[r];if(!e){console.error(`[NQTR] Room ${r} not found`);return}return e}catch(e){console.error(`[NQTR] Error while getting Room ${r}`,e);return}}function p(r){return Object.values(l).filter(e=>e.location.id===r.id)}var T="__nqtr-location__",s=class extends pixiVn.StoredClassModel{constructor(e,t,i={}){super(T,e),this.defaultName=i.name||"",this.defaultDisabled=i.disabled||false,this.defaultHidden=i.hidden||false,this._renderIcon=i.renderIcon,this._map=t;}defaultName;get name(){return this.getStorageProperty("name")||this.defaultName}set name(e){this.setStorageProperty("name",e);}defaultDisabled;get disabled(){let e=this.getStorageProperty("disabled")||this.defaultDisabled;return typeof e=="string"?pixiVn.getFlag(e):e}set disabled(e){this.setStorageProperty("disabled",e);}defaultHidden;get hidden(){let e=this.getStorageProperty("hidden")||this.defaultHidden;return typeof e=="string"?pixiVn.getFlag(e):e}set hidden(e){this.setStorageProperty("hidden",e);}_renderIcon;get renderIcon(){let e=this._renderIcon;if(e!==undefined)return typeof e=="function"?t=>e(this,t):t=>e}_map;get map(){return this._map}getEntrance(){let e=this.getRooms();if(e.length===0){console.error(`[NQTR] The location ${this.id} has no rooms`);return}return e.find(t=>t.isEntrance)||e[0]}getRooms(){return p(this)}};var c="___nqtr-current_room_memory___";function It(r){if(r instanceof s){let e=r.getEntrance();if(!e){console.error(`[NQTR] The location ${r.id} has no entrance room`);return}r=e;}else if(!m(r.id)){console.error(`[NQTR] The room ${r.id} is not registered, so it can't be set as current room`);return}pixiVn.storage.setVariable(c,r.id);}function g(){let r=pixiVn.storage.getVariable(c);if(!r){console.error("[NQTR] The current room has not yet been set");return}let e=m(r);if(!e){console.error(`[NQTR] Current room ${r} not found`);return}return e}function R(){let r=g();if(r)return r.location}function Dt(){let r=R();if(r)return r.map}exports.getCurrenrLocation=R;exports.getCurrentMap=Dt;exports.getCurrentRoom=g;exports.setCurrentRoom=It;//# sourceMappingURL=NavigationFunctions.js.map
|
|
2
|
-
//# sourceMappingURL=NavigationFunctions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/decorators/RoomDecorator.ts","../../src/classes/navigation/Location.ts","../../src/classes/navigation/Map.ts","../../src/functions/NavigationFunctions.ts"],"names":["registeredRooms","getRoomById","id","room","getRoomsByLocation","location","LOCATION_CATEGORY","LocationBaseModel","StoredClassModel","map","props","value","getFlag","render","rooms","CURRENT_ROOM_MEMORY_KEY","setCurrentRoom","entrance","storage","getCurrentRoom","roomId","getCurrenrLocation","getCurrentMap"],"mappings":"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","file":"NavigationFunctions.js","sourcesContent":["import { LocationBaseModel, MapBaseModel, RoomBaseModel } from \"../classes\"\n\nexport const registeredRooms: { [id: string]: RoomBaseModel } = {}\n\n/**\n * Save a room in the registered rooms. If the room already exists, it will be overwritten.\n * @param room The room to save.\n * @returns \n * @example\n * ```ts\n * saveRoom([mcRoom, aliceRoom, annRoom, bathroom, lounge, terrace, gymRoom]);\n * ```\n */\nexport function saveRoom<TRoom extends RoomBaseModel = RoomBaseModel>(room: TRoom | TRoom[]) {\n if (Array.isArray(room)) {\n room.forEach(c => saveRoom(c))\n return\n }\n if (registeredRooms[room.id]) {\n console.warn(`[NQTR] Room id ${room.id} already exists, it will be overwritten`)\n }\n registeredRooms[room.id] = room\n}\n\n/**\n * Get a room by its id.\n * @param id The id of the room.\n * @returns The room or undefined if not found.\n */\nexport function getRoomById<TRoom extends RoomBaseModel = RoomBaseModel>(id: string): TRoom | undefined {\n try {\n let room = registeredRooms[id]\n if (!room) {\n console.error(`[NQTR] Room ${id} not found`)\n return\n }\n return room as TRoom\n }\n catch (e) {\n console.error(`[NQTR] Error while getting Room ${id}`, e)\n return\n }\n}\n\n/**\n * Get all rooms in a location.\n * @param location The location where the rooms are.\n * @returns The rooms in the location.\n */\nexport function getRoomsByLocation<TRoom extends RoomBaseModel = RoomBaseModel>(location: LocationBaseModel): TRoom[] {\n return Object.values(registeredRooms).filter(room => room.location.id === location.id) as TRoom[]\n}\n\n/**\n * Get all locations in the registered rooms.\n * @returns All locations in the registered rooms.\n */\nexport function getAllLocations<TLocation extends LocationBaseModel = LocationBaseModel>(): TLocation[] {\n let result: { [id: string]: TLocation } = {}\n Object.values(registeredRooms).forEach(room => {\n result[room.location.id] = room.location as TLocation\n })\n return Object.values(result)\n}\n\n/**\n * Get all locations in a map.\n * @param map The map where the locations are.\n * @returns The locations in the map.\n */\nexport function getLocationsByMap<TLocation extends LocationBaseModel = LocationBaseModel>(map: MapBaseModel): TLocation[] {\n return getAllLocations<TLocation>().filter(location => location.map.id === map.id) as TLocation[]\n}\n\n/**\n * Get all maps in the registered rooms.\n * @returns All maps in the registered rooms.\n */\nexport function getAllMaps<TMap extends MapBaseModel = MapBaseModel>(): TMap[] {\n let result: { [id: string]: TMap } = {}\n Object.values(registeredRooms).forEach(room => {\n result[room.location.map.id] = room.location.map as TMap\n })\n return Object.values(result)\n}\n","import { GraphicItemType, OnRenderGraphicItemProps } from \"@drincs/nqtr/dist/override\";\nimport { getFlag, StoredClassModel } from \"@drincs/pixi-vn\";\nimport { getRoomsByLocation } from \"../../decorators/RoomDecorator\";\nimport { LocationProps } from \"../../interface\";\nimport MapBaseModel from \"./Map\";\nimport RoomBaseModel from \"./Room\";\n\nconst LOCATION_CATEGORY = \"__nqtr-location__\"\n\n/**\n * The base model of a location. I suggest you extend this class to create your own location model.\n * @example\n * ```typescript\n * export const mcHome = new LocationBaseModel('mc_home', mainMap, {\n * name: 'MC Home',\n * icon: \"https://icon.jpg\",\n * });\n * ```\n */\nexport default class LocationBaseModel<TMap extends MapBaseModel = MapBaseModel> extends StoredClassModel {\n /**\n * @param id The id of the location, it must be unique.\n * @param map The map where the location is.\n * @param props The properties of the location.\n */\n constructor(id: string, map: TMap, props: LocationProps<TMap> = {}) {\n super(LOCATION_CATEGORY, id)\n this.defaultName = props.name || \"\"\n this.defaultDisabled = props.disabled || false\n this.defaultHidden = props.hidden || false\n this._renderIcon = props.renderIcon\n this._map = map\n }\n\n private defaultName: string\n /**\n * The name of the location.\n * If you set undefined, it will return the initial value of name.\n */\n get name(): string {\n return this.getStorageProperty<string>(\"name\") || this.defaultName\n }\n set name(value: string | undefined) {\n this.setStorageProperty(\"name\", value)\n }\n\n private defaultDisabled: boolean | string\n /**\n * Whether is disabled. If it is a string, it is a Pixi'VN flag name.\n */\n get disabled(): boolean {\n let value = this.getStorageProperty<boolean>(\"disabled\") || this.defaultDisabled\n if (typeof value === \"string\") {\n return getFlag(value)\n }\n return value\n }\n set disabled(value: boolean | string) {\n this.setStorageProperty(\"disabled\", value)\n }\n\n private defaultHidden: boolean | string\n /**\n * Whether is hidden. If it is a string, it is a Pixi'VN flag name.\n */\n get hidden(): boolean {\n let value = this.getStorageProperty<boolean>(\"hidden\") || this.defaultHidden\n if (typeof value === \"string\") {\n return getFlag(value)\n }\n return value\n }\n set hidden(value: boolean | string) {\n this.setStorageProperty(\"hidden\", value)\n }\n\n private _renderIcon?: GraphicItemType | ((location: LocationBaseModel<TMap>, props: OnRenderGraphicItemProps) => GraphicItemType)\n /**\n * The function for rendering the icon of the location.\n */\n get renderIcon(): ((props: OnRenderGraphicItemProps) => GraphicItemType) | undefined {\n let render = this._renderIcon\n if (render === undefined) {\n return undefined\n }\n if (typeof render === \"function\") {\n return (props: OnRenderGraphicItemProps) => {\n return render(this, props)\n }\n }\n return (props: OnRenderGraphicItemProps) => render\n }\n\n private _map: TMap\n /**\n * The map where the location is.\n */\n get map(): TMap {\n return this._map\n }\n\n /**\n * Get the entrance room of the location.\n * You can cast the room to a specific type that extends RoomBaseModel.\n * @returns The entrance room or the first room if there is no entrance.\n * @example\n * ```typescript\n * const entranceHome = new RoomBaseModel(\"entrance-home\", home, { isEntrance: true })\n * saveRoom(entranceHome)\n * const home = new LocationBaseModel(\"home\", map, { name: \"Home\" })\n * \n * const entrance = home.getEntrance() // entrance === entranceHome\n * ```\n */\n getEntrance<TRoom extends RoomBaseModel = RoomBaseModel>(): TRoom | undefined {\n let rooms = this.getRooms<TRoom>()\n if (rooms.length === 0) {\n console.error(`[NQTR] The location ${this.id} has no rooms`)\n return\n }\n return rooms.find(room => room.isEntrance) || rooms[0]\n }\n\n /**\n * Get all rooms in the location.\n * You can cast the rooms to a specific type that extends RoomBaseModel.\n * @returns The rooms in the location.\n */\n getRooms<TRoom extends RoomBaseModel = RoomBaseModel>(): TRoom[] {\n return getRoomsByLocation<TRoom>(this)\n }\n}\n","import { GraphicItemType, NeighboringMapsInterface, OnRenderGraphicItemProps } from \"@drincs/nqtr/dist/override\"\nimport { getFlag, StoredClassModel } from \"@drincs/pixi-vn\"\nimport { getLocationsByMap } from \"../../decorators/RoomDecorator\"\nimport { MapProps } from \"../../interface\"\nimport LocationBaseModel from \"./Location\"\n\nconst MAP_CATEGORY = \"__nqtr-map__\"\n\n/**\n * The base model of a map. I suggest you extend this class to create your own map model.\n * @example\n * ```typescript\n * export const mainMap = new MapBaseModel('main_map', {\n * name: 'Main Map',\n * image: \"https://image.jpg\",\n * neighboringMaps: {\n * \"north\": \"atlanta_map_id\",\n * \"south\": \"miami_map_id\",\n * \"east\": \"new_york_map_id\",\n * \"west\": \"los_angeles_map_id\"\n * }\n * });\n * ```\n */\nexport default class MapBaseModel extends StoredClassModel {\n /**\n * @param id The id of the map, it must be unique.\n * @param props The properties of the map. \n */\n constructor(id: string, props: MapProps = {}) {\n super(MAP_CATEGORY, id)\n this.defaultName = props.name || \"\"\n this._renderImage = props.renderImage\n this.defaultDisabled = props.disabled || false\n this.defaultHidden = props.hidden || false\n this._neighboringMaps = props.neighboringMaps\n }\n\n private defaultName: string\n /**\n * The name of the map.\n * If you set undefined, it will return the initial value of name.\n */\n get name(): string {\n return this.getStorageProperty<string>(\"name\") || this.defaultName\n }\n set name(value: string | undefined) {\n this.setStorageProperty(\"name\", value)\n }\n\n private _renderImage?: GraphicItemType | ((map: MapBaseModel, props: OnRenderGraphicItemProps) => GraphicItemType)\n /**\n * The function for rendering the image of the map.\n */\n get renderImage(): ((props: OnRenderGraphicItemProps) => GraphicItemType) | undefined {\n let render = this._renderImage\n if (render === undefined) {\n return undefined\n }\n if (typeof render === \"function\") {\n return (props: OnRenderGraphicItemProps) => {\n return render(this, props)\n }\n }\n return (props: OnRenderGraphicItemProps) => render\n }\n\n private defaultDisabled: boolean | string\n /**\n * Whether is disabled. If it is a string, it is a Pixi'VN flag name.\n */\n get disabled(): boolean {\n let value = this.getStorageProperty<boolean>(\"disabled\") || this.defaultDisabled\n if (typeof value === \"string\") {\n return getFlag(value)\n }\n return value\n }\n set disabled(value: boolean | string) {\n this.setStorageProperty(\"disabled\", value)\n }\n\n private defaultHidden: boolean | string\n /**\n * Whether is hidden. If it is a string, it is a Pixi'VN flag name.\n */\n get hidden(): boolean {\n let value = this.getStorageProperty<boolean>(\"hidden\") || this.defaultHidden\n if (typeof value === \"string\") {\n return getFlag(value)\n }\n return value\n }\n set hidden(value: boolean | string) {\n this.setStorageProperty(\"hidden\", value)\n }\n\n private _neighboringMaps?: NeighboringMapsInterface\n /**\n * The neighboring maps that are available in this map.\n * @example\n * ```ts\n * {\n * \"north\": \"atlanta_map_id\",\n * \"south\": \"miami_map_id\",\n * \"east\": \"new_york_map_id\",\n * \"west\": \"los_angeles_map_id\"\n * }\n * ```\n */\n get neighboringMaps(): NeighboringMapsInterface {\n return this._neighboringMaps || {}\n }\n set neighboringMaps(value: NeighboringMapsInterface | undefined) {\n this._neighboringMaps = value\n }\n\n /**\n * Get all locations in the map.\n * @returns The locations in the map.\n */\n getLocations<TLocation extends LocationBaseModel = LocationBaseModel>(): TLocation[] {\n return getLocationsByMap<TLocation>(this)\n }\n}\n","import { storage } from \"@drincs/pixi-vn\";\nimport { LocationBaseModel, MapBaseModel, RoomBaseModel } from \"../classes\";\nimport { getRoomById } from \"../decorators/RoomDecorator\";\n\nconst CURRENT_ROOM_MEMORY_KEY = '___nqtr-current_room_memory___';\n\n/**\n * Set the current room.\n * @param room The room to set as current room.\n * @returns\n */\nexport function setCurrentRoom<TRoom extends RoomBaseModel = RoomBaseModel>(room: TRoom | LocationBaseModel) {\n if (room instanceof LocationBaseModel) {\n let entrance = room.getEntrance<TRoom>();\n if (!entrance) {\n console.error(`[NQTR] The location ${room.id} has no entrance room`);\n return;\n }\n room = entrance;\n }\n else {\n let roomRegistrated = getRoomById(room.id);\n if (!roomRegistrated) {\n console.error(`[NQTR] The room ${room.id} is not registered, so it can't be set as current room`);\n return;\n }\n }\n storage.setVariable(CURRENT_ROOM_MEMORY_KEY, room.id);\n}\n\n/**\n * Get the current room.\n * @returns The current room or undefined if not set.\n */\nexport function getCurrentRoom<TRoom extends RoomBaseModel = RoomBaseModel>(): TRoom | undefined {\n let roomId = storage.getVariable<string>(CURRENT_ROOM_MEMORY_KEY);\n if (!roomId) {\n console.error(`[NQTR] The current room has not yet been set`);\n return\n }\n let room = getRoomById<TRoom>(roomId);\n if (!room) {\n console.error(`[NQTR] Current room ${roomId} not found`);\n return\n }\n return room\n}\n\n/**\n * Get the current location.\n * @returns The current location or undefined if not set.\n */\nexport function getCurrenrLocation<TLocation extends LocationBaseModel = LocationBaseModel>(): TLocation | undefined {\n let room = getCurrentRoom<RoomBaseModel<TLocation>>();\n if (!room) {\n return\n }\n return room.location\n}\n\n/**\n * Get the current map.\n * @returns The current map or undefined if not set.\n */\nexport function getCurrentMap<TMap extends MapBaseModel = MapBaseModel>(): TMap | undefined {\n let location = getCurrenrLocation<LocationBaseModel<TMap>>();\n if (!location) {\n return\n }\n return location.map\n}\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {storage,StoredClassModel,getFlag}from'@drincs/pixi-vn';var l={};function m(r){try{let e=l[r];if(!e){console.error(`[NQTR] Room ${r} not found`);return}return e}catch(e){console.error(`[NQTR] Error while getting Room ${r}`,e);return}}function p(r){return Object.values(l).filter(e=>e.location.id===r.id)}var T="__nqtr-location__",s=class extends StoredClassModel{constructor(e,t,i={}){super(T,e),this.defaultName=i.name||"",this.defaultDisabled=i.disabled||false,this.defaultHidden=i.hidden||false,this._renderIcon=i.renderIcon,this._map=t;}defaultName;get name(){return this.getStorageProperty("name")||this.defaultName}set name(e){this.setStorageProperty("name",e);}defaultDisabled;get disabled(){let e=this.getStorageProperty("disabled")||this.defaultDisabled;return typeof e=="string"?getFlag(e):e}set disabled(e){this.setStorageProperty("disabled",e);}defaultHidden;get hidden(){let e=this.getStorageProperty("hidden")||this.defaultHidden;return typeof e=="string"?getFlag(e):e}set hidden(e){this.setStorageProperty("hidden",e);}_renderIcon;get renderIcon(){let e=this._renderIcon;if(e!==undefined)return typeof e=="function"?t=>e(this,t):t=>e}_map;get map(){return this._map}getEntrance(){let e=this.getRooms();if(e.length===0){console.error(`[NQTR] The location ${this.id} has no rooms`);return}return e.find(t=>t.isEntrance)||e[0]}getRooms(){return p(this)}};var c="___nqtr-current_room_memory___";function It(r){if(r instanceof s){let e=r.getEntrance();if(!e){console.error(`[NQTR] The location ${r.id} has no entrance room`);return}r=e;}else if(!m(r.id)){console.error(`[NQTR] The room ${r.id} is not registered, so it can't be set as current room`);return}storage.setVariable(c,r.id);}function g(){let r=storage.getVariable(c);if(!r){console.error("[NQTR] The current room has not yet been set");return}let e=m(r);if(!e){console.error(`[NQTR] Current room ${r} not found`);return}return e}function R(){let r=g();if(r)return r.location}function Dt(){let r=R();if(r)return r.map}export{R as getCurrenrLocation,Dt as getCurrentMap,g as getCurrentRoom,It as setCurrentRoom};//# sourceMappingURL=NavigationFunctions.mjs.map
|
|
2
|
-
//# sourceMappingURL=NavigationFunctions.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/decorators/RoomDecorator.ts","../../src/classes/navigation/Location.ts","../../src/classes/navigation/Map.ts","../../src/functions/NavigationFunctions.ts"],"names":["registeredRooms","getRoomById","id","room","getRoomsByLocation","location","LOCATION_CATEGORY","LocationBaseModel","StoredClassModel","map","props","value","getFlag","render","rooms","CURRENT_ROOM_MEMORY_KEY","setCurrentRoom","entrance","storage","getCurrentRoom","roomId","getCurrenrLocation","getCurrentMap"],"mappings":"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","file":"NavigationFunctions.mjs","sourcesContent":["import { LocationBaseModel, MapBaseModel, RoomBaseModel } from \"../classes\"\n\nexport const registeredRooms: { [id: string]: RoomBaseModel } = {}\n\n/**\n * Save a room in the registered rooms. If the room already exists, it will be overwritten.\n * @param room The room to save.\n * @returns \n * @example\n * ```ts\n * saveRoom([mcRoom, aliceRoom, annRoom, bathroom, lounge, terrace, gymRoom]);\n * ```\n */\nexport function saveRoom<TRoom extends RoomBaseModel = RoomBaseModel>(room: TRoom | TRoom[]) {\n if (Array.isArray(room)) {\n room.forEach(c => saveRoom(c))\n return\n }\n if (registeredRooms[room.id]) {\n console.warn(`[NQTR] Room id ${room.id} already exists, it will be overwritten`)\n }\n registeredRooms[room.id] = room\n}\n\n/**\n * Get a room by its id.\n * @param id The id of the room.\n * @returns The room or undefined if not found.\n */\nexport function getRoomById<TRoom extends RoomBaseModel = RoomBaseModel>(id: string): TRoom | undefined {\n try {\n let room = registeredRooms[id]\n if (!room) {\n console.error(`[NQTR] Room ${id} not found`)\n return\n }\n return room as TRoom\n }\n catch (e) {\n console.error(`[NQTR] Error while getting Room ${id}`, e)\n return\n }\n}\n\n/**\n * Get all rooms in a location.\n * @param location The location where the rooms are.\n * @returns The rooms in the location.\n */\nexport function getRoomsByLocation<TRoom extends RoomBaseModel = RoomBaseModel>(location: LocationBaseModel): TRoom[] {\n return Object.values(registeredRooms).filter(room => room.location.id === location.id) as TRoom[]\n}\n\n/**\n * Get all locations in the registered rooms.\n * @returns All locations in the registered rooms.\n */\nexport function getAllLocations<TLocation extends LocationBaseModel = LocationBaseModel>(): TLocation[] {\n let result: { [id: string]: TLocation } = {}\n Object.values(registeredRooms).forEach(room => {\n result[room.location.id] = room.location as TLocation\n })\n return Object.values(result)\n}\n\n/**\n * Get all locations in a map.\n * @param map The map where the locations are.\n * @returns The locations in the map.\n */\nexport function getLocationsByMap<TLocation extends LocationBaseModel = LocationBaseModel>(map: MapBaseModel): TLocation[] {\n return getAllLocations<TLocation>().filter(location => location.map.id === map.id) as TLocation[]\n}\n\n/**\n * Get all maps in the registered rooms.\n * @returns All maps in the registered rooms.\n */\nexport function getAllMaps<TMap extends MapBaseModel = MapBaseModel>(): TMap[] {\n let result: { [id: string]: TMap } = {}\n Object.values(registeredRooms).forEach(room => {\n result[room.location.map.id] = room.location.map as TMap\n })\n return Object.values(result)\n}\n","import { GraphicItemType, OnRenderGraphicItemProps } from \"@drincs/nqtr/dist/override\";\nimport { getFlag, StoredClassModel } from \"@drincs/pixi-vn\";\nimport { getRoomsByLocation } from \"../../decorators/RoomDecorator\";\nimport { LocationProps } from \"../../interface\";\nimport MapBaseModel from \"./Map\";\nimport RoomBaseModel from \"./Room\";\n\nconst LOCATION_CATEGORY = \"__nqtr-location__\"\n\n/**\n * The base model of a location. I suggest you extend this class to create your own location model.\n * @example\n * ```typescript\n * export const mcHome = new LocationBaseModel('mc_home', mainMap, {\n * name: 'MC Home',\n * icon: \"https://icon.jpg\",\n * });\n * ```\n */\nexport default class LocationBaseModel<TMap extends MapBaseModel = MapBaseModel> extends StoredClassModel {\n /**\n * @param id The id of the location, it must be unique.\n * @param map The map where the location is.\n * @param props The properties of the location.\n */\n constructor(id: string, map: TMap, props: LocationProps<TMap> = {}) {\n super(LOCATION_CATEGORY, id)\n this.defaultName = props.name || \"\"\n this.defaultDisabled = props.disabled || false\n this.defaultHidden = props.hidden || false\n this._renderIcon = props.renderIcon\n this._map = map\n }\n\n private defaultName: string\n /**\n * The name of the location.\n * If you set undefined, it will return the initial value of name.\n */\n get name(): string {\n return this.getStorageProperty<string>(\"name\") || this.defaultName\n }\n set name(value: string | undefined) {\n this.setStorageProperty(\"name\", value)\n }\n\n private defaultDisabled: boolean | string\n /**\n * Whether is disabled. If it is a string, it is a Pixi'VN flag name.\n */\n get disabled(): boolean {\n let value = this.getStorageProperty<boolean>(\"disabled\") || this.defaultDisabled\n if (typeof value === \"string\") {\n return getFlag(value)\n }\n return value\n }\n set disabled(value: boolean | string) {\n this.setStorageProperty(\"disabled\", value)\n }\n\n private defaultHidden: boolean | string\n /**\n * Whether is hidden. If it is a string, it is a Pixi'VN flag name.\n */\n get hidden(): boolean {\n let value = this.getStorageProperty<boolean>(\"hidden\") || this.defaultHidden\n if (typeof value === \"string\") {\n return getFlag(value)\n }\n return value\n }\n set hidden(value: boolean | string) {\n this.setStorageProperty(\"hidden\", value)\n }\n\n private _renderIcon?: GraphicItemType | ((location: LocationBaseModel<TMap>, props: OnRenderGraphicItemProps) => GraphicItemType)\n /**\n * The function for rendering the icon of the location.\n */\n get renderIcon(): ((props: OnRenderGraphicItemProps) => GraphicItemType) | undefined {\n let render = this._renderIcon\n if (render === undefined) {\n return undefined\n }\n if (typeof render === \"function\") {\n return (props: OnRenderGraphicItemProps) => {\n return render(this, props)\n }\n }\n return (props: OnRenderGraphicItemProps) => render\n }\n\n private _map: TMap\n /**\n * The map where the location is.\n */\n get map(): TMap {\n return this._map\n }\n\n /**\n * Get the entrance room of the location.\n * You can cast the room to a specific type that extends RoomBaseModel.\n * @returns The entrance room or the first room if there is no entrance.\n * @example\n * ```typescript\n * const entranceHome = new RoomBaseModel(\"entrance-home\", home, { isEntrance: true })\n * saveRoom(entranceHome)\n * const home = new LocationBaseModel(\"home\", map, { name: \"Home\" })\n * \n * const entrance = home.getEntrance() // entrance === entranceHome\n * ```\n */\n getEntrance<TRoom extends RoomBaseModel = RoomBaseModel>(): TRoom | undefined {\n let rooms = this.getRooms<TRoom>()\n if (rooms.length === 0) {\n console.error(`[NQTR] The location ${this.id} has no rooms`)\n return\n }\n return rooms.find(room => room.isEntrance) || rooms[0]\n }\n\n /**\n * Get all rooms in the location.\n * You can cast the rooms to a specific type that extends RoomBaseModel.\n * @returns The rooms in the location.\n */\n getRooms<TRoom extends RoomBaseModel = RoomBaseModel>(): TRoom[] {\n return getRoomsByLocation<TRoom>(this)\n }\n}\n","import { GraphicItemType, NeighboringMapsInterface, OnRenderGraphicItemProps } from \"@drincs/nqtr/dist/override\"\nimport { getFlag, StoredClassModel } from \"@drincs/pixi-vn\"\nimport { getLocationsByMap } from \"../../decorators/RoomDecorator\"\nimport { MapProps } from \"../../interface\"\nimport LocationBaseModel from \"./Location\"\n\nconst MAP_CATEGORY = \"__nqtr-map__\"\n\n/**\n * The base model of a map. I suggest you extend this class to create your own map model.\n * @example\n * ```typescript\n * export const mainMap = new MapBaseModel('main_map', {\n * name: 'Main Map',\n * image: \"https://image.jpg\",\n * neighboringMaps: {\n * \"north\": \"atlanta_map_id\",\n * \"south\": \"miami_map_id\",\n * \"east\": \"new_york_map_id\",\n * \"west\": \"los_angeles_map_id\"\n * }\n * });\n * ```\n */\nexport default class MapBaseModel extends StoredClassModel {\n /**\n * @param id The id of the map, it must be unique.\n * @param props The properties of the map. \n */\n constructor(id: string, props: MapProps = {}) {\n super(MAP_CATEGORY, id)\n this.defaultName = props.name || \"\"\n this._renderImage = props.renderImage\n this.defaultDisabled = props.disabled || false\n this.defaultHidden = props.hidden || false\n this._neighboringMaps = props.neighboringMaps\n }\n\n private defaultName: string\n /**\n * The name of the map.\n * If you set undefined, it will return the initial value of name.\n */\n get name(): string {\n return this.getStorageProperty<string>(\"name\") || this.defaultName\n }\n set name(value: string | undefined) {\n this.setStorageProperty(\"name\", value)\n }\n\n private _renderImage?: GraphicItemType | ((map: MapBaseModel, props: OnRenderGraphicItemProps) => GraphicItemType)\n /**\n * The function for rendering the image of the map.\n */\n get renderImage(): ((props: OnRenderGraphicItemProps) => GraphicItemType) | undefined {\n let render = this._renderImage\n if (render === undefined) {\n return undefined\n }\n if (typeof render === \"function\") {\n return (props: OnRenderGraphicItemProps) => {\n return render(this, props)\n }\n }\n return (props: OnRenderGraphicItemProps) => render\n }\n\n private defaultDisabled: boolean | string\n /**\n * Whether is disabled. If it is a string, it is a Pixi'VN flag name.\n */\n get disabled(): boolean {\n let value = this.getStorageProperty<boolean>(\"disabled\") || this.defaultDisabled\n if (typeof value === \"string\") {\n return getFlag(value)\n }\n return value\n }\n set disabled(value: boolean | string) {\n this.setStorageProperty(\"disabled\", value)\n }\n\n private defaultHidden: boolean | string\n /**\n * Whether is hidden. If it is a string, it is a Pixi'VN flag name.\n */\n get hidden(): boolean {\n let value = this.getStorageProperty<boolean>(\"hidden\") || this.defaultHidden\n if (typeof value === \"string\") {\n return getFlag(value)\n }\n return value\n }\n set hidden(value: boolean | string) {\n this.setStorageProperty(\"hidden\", value)\n }\n\n private _neighboringMaps?: NeighboringMapsInterface\n /**\n * The neighboring maps that are available in this map.\n * @example\n * ```ts\n * {\n * \"north\": \"atlanta_map_id\",\n * \"south\": \"miami_map_id\",\n * \"east\": \"new_york_map_id\",\n * \"west\": \"los_angeles_map_id\"\n * }\n * ```\n */\n get neighboringMaps(): NeighboringMapsInterface {\n return this._neighboringMaps || {}\n }\n set neighboringMaps(value: NeighboringMapsInterface | undefined) {\n this._neighboringMaps = value\n }\n\n /**\n * Get all locations in the map.\n * @returns The locations in the map.\n */\n getLocations<TLocation extends LocationBaseModel = LocationBaseModel>(): TLocation[] {\n return getLocationsByMap<TLocation>(this)\n }\n}\n","import { storage } from \"@drincs/pixi-vn\";\nimport { LocationBaseModel, MapBaseModel, RoomBaseModel } from \"../classes\";\nimport { getRoomById } from \"../decorators/RoomDecorator\";\n\nconst CURRENT_ROOM_MEMORY_KEY = '___nqtr-current_room_memory___';\n\n/**\n * Set the current room.\n * @param room The room to set as current room.\n * @returns\n */\nexport function setCurrentRoom<TRoom extends RoomBaseModel = RoomBaseModel>(room: TRoom | LocationBaseModel) {\n if (room instanceof LocationBaseModel) {\n let entrance = room.getEntrance<TRoom>();\n if (!entrance) {\n console.error(`[NQTR] The location ${room.id} has no entrance room`);\n return;\n }\n room = entrance;\n }\n else {\n let roomRegistrated = getRoomById(room.id);\n if (!roomRegistrated) {\n console.error(`[NQTR] The room ${room.id} is not registered, so it can't be set as current room`);\n return;\n }\n }\n storage.setVariable(CURRENT_ROOM_MEMORY_KEY, room.id);\n}\n\n/**\n * Get the current room.\n * @returns The current room or undefined if not set.\n */\nexport function getCurrentRoom<TRoom extends RoomBaseModel = RoomBaseModel>(): TRoom | undefined {\n let roomId = storage.getVariable<string>(CURRENT_ROOM_MEMORY_KEY);\n if (!roomId) {\n console.error(`[NQTR] The current room has not yet been set`);\n return\n }\n let room = getRoomById<TRoom>(roomId);\n if (!room) {\n console.error(`[NQTR] Current room ${roomId} not found`);\n return\n }\n return room\n}\n\n/**\n * Get the current location.\n * @returns The current location or undefined if not set.\n */\nexport function getCurrenrLocation<TLocation extends LocationBaseModel = LocationBaseModel>(): TLocation | undefined {\n let room = getCurrentRoom<RoomBaseModel<TLocation>>();\n if (!room) {\n return\n }\n return room.location\n}\n\n/**\n * Get the current map.\n * @returns The current map or undefined if not set.\n */\nexport function getCurrentMap<TMap extends MapBaseModel = MapBaseModel>(): TMap | undefined {\n let location = getCurrenrLocation<LocationBaseModel<TMap>>();\n if (!location) {\n return\n }\n return location.map\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/decorators/QuestDecorator.ts","../../src/functions/QuestFunctions.ts"],"names":["registeredQuests","startMustStartStageQuests","props","_","quest"],"mappings":"wCAIO,IAAMA,CAA4C,CAAA,ECElD,CAAA,SAASC,EAA0BC,CAA6B,CAAA,CACnE,MAAO,CAAA,OAAA,CAAQF,CAAgB,CAAE,CAAA,OAAA,CAAQ,CAAC,CAACG,EAAGC,CAAK,CAAA,GAAM,CACjDA,CAAAA,CAAM,uBACNA,CAAM,CAAA,iBAAA,CAAkBF,CAAK,EAErC,CAAC,EACL","file":"QuestFunctions.js","sourcesContent":["import { Stage } from \"../classes\"\nimport Quest from \"../classes/quest/Quest\"\nimport { QuestProps } from \"../interface\"\n\nexport const registeredQuests: { [id: string]: Quest } = {}\n\n/**\n * Creates a new quest and registers it in the system.\n * **This function must be called at least once at system startup to register the quest, otherwise the system cannot be used.**\n * @param id The id of the quest, it must be unique\n * @param stages The stages of the quest\n * @param props The quest properties\n * @returns The created quest\n */\nexport function newQuest(id: string, stages: Stage[], props: QuestProps): Quest {\n if (registeredQuests[id]) {\n console.warn(`[NQTR] Quest ${id} already exists, it will be overwritten`)\n }\n let quest = new Quest(id, stages, props)\n registeredQuests[id] = quest\n return quest\n}\n\n/**\n * Get a quest by its id.\n * @param id The id of the quest.\n * @returns The quest or undefined if not found.\n */\nexport function getQuestById(id: string): Quest | undefined {\n try {\n let quest = registeredQuests[id]\n if (!quest) {\n console.error(`[NQTR] Quest ${id} not found`)\n return\n }\n return quest\n }\n catch (e) {\n console.error(`[NQTR] Error while getting Quest ${id}`, e)\n return\n }\n}\n\n/**\n * Get all registered quests and started.\n * @returns All registered quests.\n */\nexport function getAllStartedQuests(): Quest[] {\n return Object.values(registeredQuests).filter(quest => quest.started)\n}\n","import { OnStartEndStageQuest } from \"@drincs/nqtr/dist/override\";\nimport { registeredQuests } from \"../decorators/QuestDecorator\";\n\n/**\n * Start the quests that must start on the current stage.\n */\nexport function startMustStartStageQuests(props: OnStartEndStageQuest) {\n Object.entries(registeredQuests).forEach(([_, quest]) => {\n if (quest.currentStageMustStart) {\n quest.startCurrentStage(props)\n }\n })\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/decorators/QuestDecorator.ts","../../src/functions/QuestFunctions.ts"],"names":["registeredQuests","startMustStartStageQuests","props","_","quest"],"mappings":"wBAIO,IAAMA,CAA4C,CAAA,ECElD,CAAA,SAASC,EAA0BC,CAA6B,CAAA,CACnE,MAAO,CAAA,OAAA,CAAQF,CAAgB,CAAE,CAAA,OAAA,CAAQ,CAAC,CAACG,EAAGC,CAAK,CAAA,GAAM,CACjDA,CAAAA,CAAM,uBACNA,CAAM,CAAA,iBAAA,CAAkBF,CAAK,EAErC,CAAC,EACL","file":"QuestFunctions.mjs","sourcesContent":["import { Stage } from \"../classes\"\nimport Quest from \"../classes/quest/Quest\"\nimport { QuestProps } from \"../interface\"\n\nexport const registeredQuests: { [id: string]: Quest } = {}\n\n/**\n * Creates a new quest and registers it in the system.\n * **This function must be called at least once at system startup to register the quest, otherwise the system cannot be used.**\n * @param id The id of the quest, it must be unique\n * @param stages The stages of the quest\n * @param props The quest properties\n * @returns The created quest\n */\nexport function newQuest(id: string, stages: Stage[], props: QuestProps): Quest {\n if (registeredQuests[id]) {\n console.warn(`[NQTR] Quest ${id} already exists, it will be overwritten`)\n }\n let quest = new Quest(id, stages, props)\n registeredQuests[id] = quest\n return quest\n}\n\n/**\n * Get a quest by its id.\n * @param id The id of the quest.\n * @returns The quest or undefined if not found.\n */\nexport function getQuestById(id: string): Quest | undefined {\n try {\n let quest = registeredQuests[id]\n if (!quest) {\n console.error(`[NQTR] Quest ${id} not found`)\n return\n }\n return quest\n }\n catch (e) {\n console.error(`[NQTR] Error while getting Quest ${id}`, e)\n return\n }\n}\n\n/**\n * Get all registered quests and started.\n * @returns All registered quests.\n */\nexport function getAllStartedQuests(): Quest[] {\n return Object.values(registeredQuests).filter(quest => quest.started)\n}\n","import { OnStartEndStageQuest } from \"@drincs/nqtr/dist/override\";\nimport { registeredQuests } from \"../decorators/QuestDecorator\";\n\n/**\n * Start the quests that must start on the current stage.\n */\nexport function startMustStartStageQuests(props: OnStartEndStageQuest) {\n Object.entries(registeredQuests).forEach(([_, quest]) => {\n if (quest.currentStageMustStart) {\n quest.startCurrentStage(props)\n }\n })\n}\n"]}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { CharacterInterface } from '@drincs/pixi-vn';
|
|
2
|
-
import { a as CommitmentBaseModel } from '../Commitment-BujJuTv8.mjs';
|
|
3
|
-
import '@drincs/nqtr/dist/override';
|
|
4
|
-
import '../ActivityProps-WgXDAYbc.mjs';
|
|
5
|
-
import '../types/OnRunActivityEvent.mjs';
|
|
6
|
-
import '../classes/Activity.mjs';
|
|
7
|
-
import '../types/ExecutionType.mjs';
|
|
8
|
-
import '../types/OnRunCommitmentEvent.mjs';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Clear all the expired commitments.
|
|
12
|
-
*/
|
|
13
|
-
declare function clearExpiredRoutine(): void;
|
|
14
|
-
/**
|
|
15
|
-
* Get the current commitments. The hidden commitments are not included.
|
|
16
|
-
* In case there is a character who has two or more commitments at the same time, will be selected the commitment with the highest priority.
|
|
17
|
-
* Higher priority commitments are calculated using the following steps:
|
|
18
|
-
* 1. The commitments that have Commitments BaseModel.priority set to a higher value will be selected first.
|
|
19
|
-
* 2. If there are commitments with the same priority, the commitments that are not fixed will be selected first.
|
|
20
|
-
* 3. If there are commitments with the same priority and the same fixed status, priority will be given to the commitment with a lower index.
|
|
21
|
-
* @returns The current commitments.
|
|
22
|
-
*/
|
|
23
|
-
declare function getCurrentRoutine<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(): TCommitment[];
|
|
24
|
-
/**
|
|
25
|
-
* Get the current room routine. The hidden commitments are not included.
|
|
26
|
-
* @returns The current room routine.
|
|
27
|
-
*/
|
|
28
|
-
declare function getCurrentRoomRoutine<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(): TCommitment[];
|
|
29
|
-
/**
|
|
30
|
-
* Get the character commitment.
|
|
31
|
-
* @param character The character.
|
|
32
|
-
* @returns The commitment or undefined if not found.
|
|
33
|
-
*/
|
|
34
|
-
declare function getCommitmentByCharacter<TCommitment extends CommitmentBaseModel = CommitmentBaseModel, TCharacter extends CharacterInterface = CharacterInterface>(character: TCharacter): TCommitment | undefined;
|
|
35
|
-
|
|
36
|
-
export { clearExpiredRoutine, getCommitmentByCharacter, getCurrentRoomRoutine, getCurrentRoutine };
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { CharacterInterface } from '@drincs/pixi-vn';
|
|
2
|
-
import { a as CommitmentBaseModel } from '../Commitment-DFYAApxl.js';
|
|
3
|
-
import '@drincs/nqtr/dist/override';
|
|
4
|
-
import '../ActivityProps-LWY7Zucl.js';
|
|
5
|
-
import '../types/OnRunActivityEvent.js';
|
|
6
|
-
import '../classes/Activity.js';
|
|
7
|
-
import '../types/ExecutionType.js';
|
|
8
|
-
import '../types/OnRunCommitmentEvent.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Clear all the expired commitments.
|
|
12
|
-
*/
|
|
13
|
-
declare function clearExpiredRoutine(): void;
|
|
14
|
-
/**
|
|
15
|
-
* Get the current commitments. The hidden commitments are not included.
|
|
16
|
-
* In case there is a character who has two or more commitments at the same time, will be selected the commitment with the highest priority.
|
|
17
|
-
* Higher priority commitments are calculated using the following steps:
|
|
18
|
-
* 1. The commitments that have Commitments BaseModel.priority set to a higher value will be selected first.
|
|
19
|
-
* 2. If there are commitments with the same priority, the commitments that are not fixed will be selected first.
|
|
20
|
-
* 3. If there are commitments with the same priority and the same fixed status, priority will be given to the commitment with a lower index.
|
|
21
|
-
* @returns The current commitments.
|
|
22
|
-
*/
|
|
23
|
-
declare function getCurrentRoutine<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(): TCommitment[];
|
|
24
|
-
/**
|
|
25
|
-
* Get the current room routine. The hidden commitments are not included.
|
|
26
|
-
* @returns The current room routine.
|
|
27
|
-
*/
|
|
28
|
-
declare function getCurrentRoomRoutine<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(): TCommitment[];
|
|
29
|
-
/**
|
|
30
|
-
* Get the character commitment.
|
|
31
|
-
* @param character The character.
|
|
32
|
-
* @returns The commitment or undefined if not found.
|
|
33
|
-
*/
|
|
34
|
-
declare function getCommitmentByCharacter<TCommitment extends CommitmentBaseModel = CommitmentBaseModel, TCharacter extends CharacterInterface = CharacterInterface>(character: TCharacter): TCommitment | undefined;
|
|
35
|
-
|
|
36
|
-
export { clearExpiredRoutine, getCommitmentByCharacter, getCurrentRoomRoutine, getCurrentRoutine };
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var pixiVn=require('@drincs/pixi-vn');var y="___nqtr-temporary_commitment___",d={},T={};function l(r){try{let e=d[r];if(!e){console.error(`[NQTR] Commitment ${r} not found`);return}return e}catch(e){console.error(`[NQTR] Error while getting Commitment ${r}`,e);return}}function p(){return Object.values(T)}function h(){let r=pixiVn.storage.getVariable(y);return r?r.map(t=>l(t)).filter(t=>t!==undefined):[]}var v={};function m(r){try{let e=v[r];if(!e){console.error(`[NQTR] Room ${r} not found`);return}return e}catch(e){console.error(`[NQTR] Error while getting Room ${r}`,e);return}}var D="___nqtr-current_room_memory___";function f(){let r=pixiVn.storage.getVariable(D);if(!r){console.error("[NQTR] The current room has not yet been set");return}let e=m(r);if(!e){console.error(`[NQTR] Current room ${r} not found`);return}return e}function It(){Object.entries(d).forEach(([r,e])=>{e.isExpired()&&delete d[e.id];});}function g(){let r={};return h().reverse().forEach(e=>{e.hidden||(e.characters.length>0?e.characters.every(i=>!r[i.id]||e.priority>r[i.id].priority)&&e.characters.forEach(i=>{r[i.id]=e;}):console.error(`[NQTR] The commitment ${e.id} has no characters assigned`));}),p().reverse().forEach(e=>{e.hidden||(e.characters.length>0?e.characters.every(i=>!r[i.id]||e.priority>r[i.id].priority)&&e.characters.forEach(i=>{r[i.id]=e;}):console.error(`[NQTR] The commitment ${e.id} has no characters assigned`));}),Object.values(r)}function Dt(){let r=f();return r?r.getRoutine():[]}function Mt(r){g().forEach(e=>{if(e.characters.map(t=>t.id).includes(r.id))return e});}exports.clearExpiredRoutine=It;exports.getCommitmentByCharacter=Mt;exports.getCurrentRoomRoutine=Dt;exports.getCurrentRoutine=g;//# sourceMappingURL=RoutineFunctions.js.map
|
|
2
|
-
//# sourceMappingURL=RoutineFunctions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/decorators/CommitmentDecorator.ts","../../src/decorators/RoomDecorator.ts","../../src/functions/NavigationFunctions.ts","../../src/functions/RoutineFunctions.ts"],"names":["TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY","registeredCommitments","fixedCommitments","getCommitmentById","id","commitment","getFixedRoutine","getTemporaryCommitments","commitmentsIds","storage","registeredRooms","getRoomById","room","CURRENT_ROOM_MEMORY_KEY","getCurrentRoom","roomId","clearExpiredRoutine","_","getCurrentRoutine","character_commitments","c","ch","getCurrentRoomRoutine","getCommitmentByCharacter","character"],"mappings":"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","file":"RoutineFunctions.js","sourcesContent":["import { storage } from \"@drincs/pixi-vn\"\nimport CommitmentBaseModel from \"../classes/Commitment\"\n\nconst TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY = \"___nqtr-temporary_commitment___\"\nexport const registeredCommitments: { [id: string]: CommitmentBaseModel } = {}\nexport const fixedCommitments: { [id: string]: CommitmentBaseModel } = {}\n\n/**\n * Save a commitment in the registered commitments. If the commitment already exists, it will be overwritten.\n * @param commitment The commitment or commitments to save.\n * @returns \n */\nexport function saveCommitment<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(commitment: TCommitment | TCommitment[]) {\n if (Array.isArray(commitment)) {\n commitment.forEach(c => saveCommitment(c))\n return\n }\n if (registeredCommitments[commitment.id]) {\n console.warn(`[NQTR] Commitment id ${commitment.id} already exists, it will be overwritten`)\n }\n registeredCommitments[commitment.id] = commitment\n}\n\n/**\n * Get a commitment by its id.\n * @param id The id of the commitment.\n * @returns The commitment or undefined if not found.\n */\nexport function getCommitmentById<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(id: string): TCommitment | undefined {\n try {\n let commitment = registeredCommitments[id]\n if (!commitment) {\n console.error(`[NQTR] Commitment ${id} not found`)\n return\n }\n return commitment as TCommitment\n }\n catch (e) {\n console.error(`[NQTR] Error while getting Commitment ${id}`, e)\n return\n }\n}\n\n/**\n * Set a commitment as fixed, it will be always available. They cannot be deleted or edit during the game session.\n * @param commitment The commitment or commitments to set as fixed.\n */\nexport function setFixedRoutine<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(commitments: TCommitment[] | TCommitment) {\n if (Array.isArray(commitments)) {\n commitments.forEach(c => setFixedRoutine(c))\n return\n }\n if (fixedCommitments[commitments.id]) {\n console.warn(`[NQTR] Commitment id ${commitments.id} already exists, it will be overwritten`)\n }\n fixedCommitments[commitments.id] = commitments\n}\n\n/**\n * This feature adds the commitments during the game session.\n * @param commitment The commitment or commitments to add.\n */\nexport function addCommitment<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(commitment: TCommitment[] | TCommitment) {\n if (!Array.isArray(commitment)) {\n commitment = [commitment]\n }\n let commitmentsIds = commitment.map(commitment => {\n let commitmentTest = getCommitmentById(commitment.id)\n if (!commitmentTest) {\n console.warn(`[NQTR] Commitment ${commitment.id} not found, it will be ignored`)\n return undefined\n }\n return commitment.id\n }).filter(id => id !== undefined)\n\n storage.setVariable(TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY, commitmentsIds)\n}\n\n/**\n * Remove the commitments added during the game session.\n * @param commitment The commitment or commitments to remove.\n * @returns \n */\nexport function removeCommitment<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(commitment: TCommitment[] | TCommitment) {\n if (!Array.isArray(commitment)) {\n commitment = [commitment]\n }\n let commitmentsIds = commitment.map(commitment => {\n return commitment.id\n })\n\n let currentCommitments = storage.getVariable<string[]>(TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY)\n if (!currentCommitments) {\n return\n }\n currentCommitments = currentCommitments.filter(id => !commitmentsIds.includes(id))\n storage.setVariable(TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY, currentCommitments)\n}\n\n/**\n * Get the fixed commitments by its id.\n * @returns The fixed commitments.\n */\nexport function getFixedRoutine<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(): TCommitment[] {\n return Object.values(fixedCommitments) as TCommitment[]\n}\n\n/**\n * Get the temporary commitments by its id.\n * @returns The temporary commitments.\n */\nexport function getTemporaryCommitments<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(): TCommitment[] {\n let commitmentsIds = storage.getVariable<string[]>(TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY)\n if (!commitmentsIds) {\n return []\n }\n let commitments = commitmentsIds.map(id => getCommitmentById<TCommitment>(id)).filter(commitment => commitment !== undefined)\n return commitments as TCommitment[]\n}\n","import { LocationBaseModel, MapBaseModel, RoomBaseModel } from \"../classes\"\n\nexport const registeredRooms: { [id: string]: RoomBaseModel } = {}\n\n/**\n * Save a room in the registered rooms. If the room already exists, it will be overwritten.\n * @param room The room to save.\n * @returns \n * @example\n * ```ts\n * saveRoom([mcRoom, aliceRoom, annRoom, bathroom, lounge, terrace, gymRoom]);\n * ```\n */\nexport function saveRoom<TRoom extends RoomBaseModel = RoomBaseModel>(room: TRoom | TRoom[]) {\n if (Array.isArray(room)) {\n room.forEach(c => saveRoom(c))\n return\n }\n if (registeredRooms[room.id]) {\n console.warn(`[NQTR] Room id ${room.id} already exists, it will be overwritten`)\n }\n registeredRooms[room.id] = room\n}\n\n/**\n * Get a room by its id.\n * @param id The id of the room.\n * @returns The room or undefined if not found.\n */\nexport function getRoomById<TRoom extends RoomBaseModel = RoomBaseModel>(id: string): TRoom | undefined {\n try {\n let room = registeredRooms[id]\n if (!room) {\n console.error(`[NQTR] Room ${id} not found`)\n return\n }\n return room as TRoom\n }\n catch (e) {\n console.error(`[NQTR] Error while getting Room ${id}`, e)\n return\n }\n}\n\n/**\n * Get all rooms in a location.\n * @param location The location where the rooms are.\n * @returns The rooms in the location.\n */\nexport function getRoomsByLocation<TRoom extends RoomBaseModel = RoomBaseModel>(location: LocationBaseModel): TRoom[] {\n return Object.values(registeredRooms).filter(room => room.location.id === location.id) as TRoom[]\n}\n\n/**\n * Get all locations in the registered rooms.\n * @returns All locations in the registered rooms.\n */\nexport function getAllLocations<TLocation extends LocationBaseModel = LocationBaseModel>(): TLocation[] {\n let result: { [id: string]: TLocation } = {}\n Object.values(registeredRooms).forEach(room => {\n result[room.location.id] = room.location as TLocation\n })\n return Object.values(result)\n}\n\n/**\n * Get all locations in a map.\n * @param map The map where the locations are.\n * @returns The locations in the map.\n */\nexport function getLocationsByMap<TLocation extends LocationBaseModel = LocationBaseModel>(map: MapBaseModel): TLocation[] {\n return getAllLocations<TLocation>().filter(location => location.map.id === map.id) as TLocation[]\n}\n\n/**\n * Get all maps in the registered rooms.\n * @returns All maps in the registered rooms.\n */\nexport function getAllMaps<TMap extends MapBaseModel = MapBaseModel>(): TMap[] {\n let result: { [id: string]: TMap } = {}\n Object.values(registeredRooms).forEach(room => {\n result[room.location.map.id] = room.location.map as TMap\n })\n return Object.values(result)\n}\n","import { storage } from \"@drincs/pixi-vn\";\nimport { LocationBaseModel, MapBaseModel, RoomBaseModel } from \"../classes\";\nimport { getRoomById } from \"../decorators/RoomDecorator\";\n\nconst CURRENT_ROOM_MEMORY_KEY = '___nqtr-current_room_memory___';\n\n/**\n * Set the current room.\n * @param room The room to set as current room.\n * @returns\n */\nexport function setCurrentRoom<TRoom extends RoomBaseModel = RoomBaseModel>(room: TRoom | LocationBaseModel) {\n if (room instanceof LocationBaseModel) {\n let entrance = room.getEntrance<TRoom>();\n if (!entrance) {\n console.error(`[NQTR] The location ${room.id} has no entrance room`);\n return;\n }\n room = entrance;\n }\n else {\n let roomRegistrated = getRoomById(room.id);\n if (!roomRegistrated) {\n console.error(`[NQTR] The room ${room.id} is not registered, so it can't be set as current room`);\n return;\n }\n }\n storage.setVariable(CURRENT_ROOM_MEMORY_KEY, room.id);\n}\n\n/**\n * Get the current room.\n * @returns The current room or undefined if not set.\n */\nexport function getCurrentRoom<TRoom extends RoomBaseModel = RoomBaseModel>(): TRoom | undefined {\n let roomId = storage.getVariable<string>(CURRENT_ROOM_MEMORY_KEY);\n if (!roomId) {\n console.error(`[NQTR] The current room has not yet been set`);\n return\n }\n let room = getRoomById<TRoom>(roomId);\n if (!room) {\n console.error(`[NQTR] Current room ${roomId} not found`);\n return\n }\n return room\n}\n\n/**\n * Get the current location.\n * @returns The current location or undefined if not set.\n */\nexport function getCurrenrLocation<TLocation extends LocationBaseModel = LocationBaseModel>(): TLocation | undefined {\n let room = getCurrentRoom<RoomBaseModel<TLocation>>();\n if (!room) {\n return\n }\n return room.location\n}\n\n/**\n * Get the current map.\n * @returns The current map or undefined if not set.\n */\nexport function getCurrentMap<TMap extends MapBaseModel = MapBaseModel>(): TMap | undefined {\n let location = getCurrenrLocation<LocationBaseModel<TMap>>();\n if (!location) {\n return\n }\n return location.map\n}\n","import { CharacterInterface } from \"@drincs/pixi-vn\";\nimport CommitmentBaseModel from \"../classes/Commitment\";\nimport { getFixedRoutine, getTemporaryCommitments, registeredCommitments } from \"../decorators/CommitmentDecorator\";\nimport { getCurrentRoom } from \"./NavigationFunctions\";\n\n/**\n * Clear all the expired commitments.\n */\nexport function clearExpiredRoutine() {\n Object.entries(registeredCommitments).forEach(([_, commitment]) => {\n if (commitment.isExpired()) {\n delete registeredCommitments[commitment.id]\n }\n })\n}\n\n/**\n * Get the current commitments. The hidden commitments are not included.\n * In case there is a character who has two or more commitments at the same time, will be selected the commitment with the highest priority.\n * Higher priority commitments are calculated using the following steps:\n * 1. The commitments that have Commitments BaseModel.priority set to a higher value will be selected first.\n * 2. If there are commitments with the same priority, the commitments that are not fixed will be selected first.\n * 3. If there are commitments with the same priority and the same fixed status, priority will be given to the commitment with a lower index.\n * @returns The current commitments.\n */\nexport function getCurrentRoutine<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(): TCommitment[] {\n let character_commitments: { [character: string]: TCommitment } = {}\n getTemporaryCommitments<TCommitment>().reverse().forEach(c => {\n if (!c.hidden) {\n if (c.characters.length > 0) {\n // all the characters don't already have commitments or the commitment has a higher priority\n let allAvailable = c.characters.every(ch => !character_commitments[ch.id] || c.priority > character_commitments[ch.id].priority)\n if (allAvailable) {\n c.characters.forEach(ch => {\n character_commitments[ch.id] = c\n })\n }\n }\n else {\n console.error(`[NQTR] The commitment ${c.id} has no characters assigned`)\n }\n }\n })\n getFixedRoutine<TCommitment>().reverse().forEach(c => {\n if (!c.hidden) {\n if (c.characters.length > 0) {\n // all the characters don't already have commitments or the commitment has a higher priority\n let allAvailable = c.characters.every(ch => !character_commitments[ch.id] || c.priority > character_commitments[ch.id].priority)\n if (allAvailable) {\n c.characters.forEach(ch => {\n character_commitments[ch.id] = c\n })\n }\n }\n else {\n console.error(`[NQTR] The commitment ${c.id} has no characters assigned`)\n }\n }\n })\n return Object.values(character_commitments)\n}\n\n/**\n * Get the current room routine. The hidden commitments are not included.\n * @returns The current room routine.\n */\nexport function getCurrentRoomRoutine<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(): TCommitment[] {\n let room = getCurrentRoom()\n if (!room) {\n return []\n }\n return room.getRoutine()\n}\n\n/**\n * Get the character commitment.\n * @param character The character.\n * @returns The commitment or undefined if not found.\n */\nexport function getCommitmentByCharacter<TCommitment extends CommitmentBaseModel = CommitmentBaseModel, TCharacter extends CharacterInterface = CharacterInterface>(character: TCharacter): TCommitment | undefined {\n getCurrentRoutine().forEach(c => {\n if (c.characters.map(ch => ch.id).includes(character.id)) {\n return c\n }\n })\n return undefined\n}\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {storage}from'@drincs/pixi-vn';var y="___nqtr-temporary_commitment___",d={},T={};function l(r){try{let e=d[r];if(!e){console.error(`[NQTR] Commitment ${r} not found`);return}return e}catch(e){console.error(`[NQTR] Error while getting Commitment ${r}`,e);return}}function p(){return Object.values(T)}function h(){let r=storage.getVariable(y);return r?r.map(t=>l(t)).filter(t=>t!==undefined):[]}var v={};function m(r){try{let e=v[r];if(!e){console.error(`[NQTR] Room ${r} not found`);return}return e}catch(e){console.error(`[NQTR] Error while getting Room ${r}`,e);return}}var D="___nqtr-current_room_memory___";function f(){let r=storage.getVariable(D);if(!r){console.error("[NQTR] The current room has not yet been set");return}let e=m(r);if(!e){console.error(`[NQTR] Current room ${r} not found`);return}return e}function It(){Object.entries(d).forEach(([r,e])=>{e.isExpired()&&delete d[e.id];});}function g(){let r={};return h().reverse().forEach(e=>{e.hidden||(e.characters.length>0?e.characters.every(i=>!r[i.id]||e.priority>r[i.id].priority)&&e.characters.forEach(i=>{r[i.id]=e;}):console.error(`[NQTR] The commitment ${e.id} has no characters assigned`));}),p().reverse().forEach(e=>{e.hidden||(e.characters.length>0?e.characters.every(i=>!r[i.id]||e.priority>r[i.id].priority)&&e.characters.forEach(i=>{r[i.id]=e;}):console.error(`[NQTR] The commitment ${e.id} has no characters assigned`));}),Object.values(r)}function Dt(){let r=f();return r?r.getRoutine():[]}function Mt(r){g().forEach(e=>{if(e.characters.map(t=>t.id).includes(r.id))return e});}export{It as clearExpiredRoutine,Mt as getCommitmentByCharacter,Dt as getCurrentRoomRoutine,g as getCurrentRoutine};//# sourceMappingURL=RoutineFunctions.mjs.map
|
|
2
|
-
//# sourceMappingURL=RoutineFunctions.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/decorators/CommitmentDecorator.ts","../../src/decorators/RoomDecorator.ts","../../src/functions/NavigationFunctions.ts","../../src/functions/RoutineFunctions.ts"],"names":["TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY","registeredCommitments","fixedCommitments","getCommitmentById","id","commitment","getFixedRoutine","getTemporaryCommitments","commitmentsIds","storage","registeredRooms","getRoomById","room","CURRENT_ROOM_MEMORY_KEY","getCurrentRoom","roomId","clearExpiredRoutine","_","getCurrentRoutine","character_commitments","c","ch","getCurrentRoomRoutine","getCommitmentByCharacter","character"],"mappings":"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","file":"RoutineFunctions.mjs","sourcesContent":["import { storage } from \"@drincs/pixi-vn\"\nimport CommitmentBaseModel from \"../classes/Commitment\"\n\nconst TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY = \"___nqtr-temporary_commitment___\"\nexport const registeredCommitments: { [id: string]: CommitmentBaseModel } = {}\nexport const fixedCommitments: { [id: string]: CommitmentBaseModel } = {}\n\n/**\n * Save a commitment in the registered commitments. If the commitment already exists, it will be overwritten.\n * @param commitment The commitment or commitments to save.\n * @returns \n */\nexport function saveCommitment<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(commitment: TCommitment | TCommitment[]) {\n if (Array.isArray(commitment)) {\n commitment.forEach(c => saveCommitment(c))\n return\n }\n if (registeredCommitments[commitment.id]) {\n console.warn(`[NQTR] Commitment id ${commitment.id} already exists, it will be overwritten`)\n }\n registeredCommitments[commitment.id] = commitment\n}\n\n/**\n * Get a commitment by its id.\n * @param id The id of the commitment.\n * @returns The commitment or undefined if not found.\n */\nexport function getCommitmentById<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(id: string): TCommitment | undefined {\n try {\n let commitment = registeredCommitments[id]\n if (!commitment) {\n console.error(`[NQTR] Commitment ${id} not found`)\n return\n }\n return commitment as TCommitment\n }\n catch (e) {\n console.error(`[NQTR] Error while getting Commitment ${id}`, e)\n return\n }\n}\n\n/**\n * Set a commitment as fixed, it will be always available. They cannot be deleted or edit during the game session.\n * @param commitment The commitment or commitments to set as fixed.\n */\nexport function setFixedRoutine<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(commitments: TCommitment[] | TCommitment) {\n if (Array.isArray(commitments)) {\n commitments.forEach(c => setFixedRoutine(c))\n return\n }\n if (fixedCommitments[commitments.id]) {\n console.warn(`[NQTR] Commitment id ${commitments.id} already exists, it will be overwritten`)\n }\n fixedCommitments[commitments.id] = commitments\n}\n\n/**\n * This feature adds the commitments during the game session.\n * @param commitment The commitment or commitments to add.\n */\nexport function addCommitment<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(commitment: TCommitment[] | TCommitment) {\n if (!Array.isArray(commitment)) {\n commitment = [commitment]\n }\n let commitmentsIds = commitment.map(commitment => {\n let commitmentTest = getCommitmentById(commitment.id)\n if (!commitmentTest) {\n console.warn(`[NQTR] Commitment ${commitment.id} not found, it will be ignored`)\n return undefined\n }\n return commitment.id\n }).filter(id => id !== undefined)\n\n storage.setVariable(TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY, commitmentsIds)\n}\n\n/**\n * Remove the commitments added during the game session.\n * @param commitment The commitment or commitments to remove.\n * @returns \n */\nexport function removeCommitment<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(commitment: TCommitment[] | TCommitment) {\n if (!Array.isArray(commitment)) {\n commitment = [commitment]\n }\n let commitmentsIds = commitment.map(commitment => {\n return commitment.id\n })\n\n let currentCommitments = storage.getVariable<string[]>(TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY)\n if (!currentCommitments) {\n return\n }\n currentCommitments = currentCommitments.filter(id => !commitmentsIds.includes(id))\n storage.setVariable(TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY, currentCommitments)\n}\n\n/**\n * Get the fixed commitments by its id.\n * @returns The fixed commitments.\n */\nexport function getFixedRoutine<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(): TCommitment[] {\n return Object.values(fixedCommitments) as TCommitment[]\n}\n\n/**\n * Get the temporary commitments by its id.\n * @returns The temporary commitments.\n */\nexport function getTemporaryCommitments<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(): TCommitment[] {\n let commitmentsIds = storage.getVariable<string[]>(TEMPORARY_COMMITMENT_CATEGORY_MEMORY_KEY)\n if (!commitmentsIds) {\n return []\n }\n let commitments = commitmentsIds.map(id => getCommitmentById<TCommitment>(id)).filter(commitment => commitment !== undefined)\n return commitments as TCommitment[]\n}\n","import { LocationBaseModel, MapBaseModel, RoomBaseModel } from \"../classes\"\n\nexport const registeredRooms: { [id: string]: RoomBaseModel } = {}\n\n/**\n * Save a room in the registered rooms. If the room already exists, it will be overwritten.\n * @param room The room to save.\n * @returns \n * @example\n * ```ts\n * saveRoom([mcRoom, aliceRoom, annRoom, bathroom, lounge, terrace, gymRoom]);\n * ```\n */\nexport function saveRoom<TRoom extends RoomBaseModel = RoomBaseModel>(room: TRoom | TRoom[]) {\n if (Array.isArray(room)) {\n room.forEach(c => saveRoom(c))\n return\n }\n if (registeredRooms[room.id]) {\n console.warn(`[NQTR] Room id ${room.id} already exists, it will be overwritten`)\n }\n registeredRooms[room.id] = room\n}\n\n/**\n * Get a room by its id.\n * @param id The id of the room.\n * @returns The room or undefined if not found.\n */\nexport function getRoomById<TRoom extends RoomBaseModel = RoomBaseModel>(id: string): TRoom | undefined {\n try {\n let room = registeredRooms[id]\n if (!room) {\n console.error(`[NQTR] Room ${id} not found`)\n return\n }\n return room as TRoom\n }\n catch (e) {\n console.error(`[NQTR] Error while getting Room ${id}`, e)\n return\n }\n}\n\n/**\n * Get all rooms in a location.\n * @param location The location where the rooms are.\n * @returns The rooms in the location.\n */\nexport function getRoomsByLocation<TRoom extends RoomBaseModel = RoomBaseModel>(location: LocationBaseModel): TRoom[] {\n return Object.values(registeredRooms).filter(room => room.location.id === location.id) as TRoom[]\n}\n\n/**\n * Get all locations in the registered rooms.\n * @returns All locations in the registered rooms.\n */\nexport function getAllLocations<TLocation extends LocationBaseModel = LocationBaseModel>(): TLocation[] {\n let result: { [id: string]: TLocation } = {}\n Object.values(registeredRooms).forEach(room => {\n result[room.location.id] = room.location as TLocation\n })\n return Object.values(result)\n}\n\n/**\n * Get all locations in a map.\n * @param map The map where the locations are.\n * @returns The locations in the map.\n */\nexport function getLocationsByMap<TLocation extends LocationBaseModel = LocationBaseModel>(map: MapBaseModel): TLocation[] {\n return getAllLocations<TLocation>().filter(location => location.map.id === map.id) as TLocation[]\n}\n\n/**\n * Get all maps in the registered rooms.\n * @returns All maps in the registered rooms.\n */\nexport function getAllMaps<TMap extends MapBaseModel = MapBaseModel>(): TMap[] {\n let result: { [id: string]: TMap } = {}\n Object.values(registeredRooms).forEach(room => {\n result[room.location.map.id] = room.location.map as TMap\n })\n return Object.values(result)\n}\n","import { storage } from \"@drincs/pixi-vn\";\nimport { LocationBaseModel, MapBaseModel, RoomBaseModel } from \"../classes\";\nimport { getRoomById } from \"../decorators/RoomDecorator\";\n\nconst CURRENT_ROOM_MEMORY_KEY = '___nqtr-current_room_memory___';\n\n/**\n * Set the current room.\n * @param room The room to set as current room.\n * @returns\n */\nexport function setCurrentRoom<TRoom extends RoomBaseModel = RoomBaseModel>(room: TRoom | LocationBaseModel) {\n if (room instanceof LocationBaseModel) {\n let entrance = room.getEntrance<TRoom>();\n if (!entrance) {\n console.error(`[NQTR] The location ${room.id} has no entrance room`);\n return;\n }\n room = entrance;\n }\n else {\n let roomRegistrated = getRoomById(room.id);\n if (!roomRegistrated) {\n console.error(`[NQTR] The room ${room.id} is not registered, so it can't be set as current room`);\n return;\n }\n }\n storage.setVariable(CURRENT_ROOM_MEMORY_KEY, room.id);\n}\n\n/**\n * Get the current room.\n * @returns The current room or undefined if not set.\n */\nexport function getCurrentRoom<TRoom extends RoomBaseModel = RoomBaseModel>(): TRoom | undefined {\n let roomId = storage.getVariable<string>(CURRENT_ROOM_MEMORY_KEY);\n if (!roomId) {\n console.error(`[NQTR] The current room has not yet been set`);\n return\n }\n let room = getRoomById<TRoom>(roomId);\n if (!room) {\n console.error(`[NQTR] Current room ${roomId} not found`);\n return\n }\n return room\n}\n\n/**\n * Get the current location.\n * @returns The current location or undefined if not set.\n */\nexport function getCurrenrLocation<TLocation extends LocationBaseModel = LocationBaseModel>(): TLocation | undefined {\n let room = getCurrentRoom<RoomBaseModel<TLocation>>();\n if (!room) {\n return\n }\n return room.location\n}\n\n/**\n * Get the current map.\n * @returns The current map or undefined if not set.\n */\nexport function getCurrentMap<TMap extends MapBaseModel = MapBaseModel>(): TMap | undefined {\n let location = getCurrenrLocation<LocationBaseModel<TMap>>();\n if (!location) {\n return\n }\n return location.map\n}\n","import { CharacterInterface } from \"@drincs/pixi-vn\";\nimport CommitmentBaseModel from \"../classes/Commitment\";\nimport { getFixedRoutine, getTemporaryCommitments, registeredCommitments } from \"../decorators/CommitmentDecorator\";\nimport { getCurrentRoom } from \"./NavigationFunctions\";\n\n/**\n * Clear all the expired commitments.\n */\nexport function clearExpiredRoutine() {\n Object.entries(registeredCommitments).forEach(([_, commitment]) => {\n if (commitment.isExpired()) {\n delete registeredCommitments[commitment.id]\n }\n })\n}\n\n/**\n * Get the current commitments. The hidden commitments are not included.\n * In case there is a character who has two or more commitments at the same time, will be selected the commitment with the highest priority.\n * Higher priority commitments are calculated using the following steps:\n * 1. The commitments that have Commitments BaseModel.priority set to a higher value will be selected first.\n * 2. If there are commitments with the same priority, the commitments that are not fixed will be selected first.\n * 3. If there are commitments with the same priority and the same fixed status, priority will be given to the commitment with a lower index.\n * @returns The current commitments.\n */\nexport function getCurrentRoutine<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(): TCommitment[] {\n let character_commitments: { [character: string]: TCommitment } = {}\n getTemporaryCommitments<TCommitment>().reverse().forEach(c => {\n if (!c.hidden) {\n if (c.characters.length > 0) {\n // all the characters don't already have commitments or the commitment has a higher priority\n let allAvailable = c.characters.every(ch => !character_commitments[ch.id] || c.priority > character_commitments[ch.id].priority)\n if (allAvailable) {\n c.characters.forEach(ch => {\n character_commitments[ch.id] = c\n })\n }\n }\n else {\n console.error(`[NQTR] The commitment ${c.id} has no characters assigned`)\n }\n }\n })\n getFixedRoutine<TCommitment>().reverse().forEach(c => {\n if (!c.hidden) {\n if (c.characters.length > 0) {\n // all the characters don't already have commitments or the commitment has a higher priority\n let allAvailable = c.characters.every(ch => !character_commitments[ch.id] || c.priority > character_commitments[ch.id].priority)\n if (allAvailable) {\n c.characters.forEach(ch => {\n character_commitments[ch.id] = c\n })\n }\n }\n else {\n console.error(`[NQTR] The commitment ${c.id} has no characters assigned`)\n }\n }\n })\n return Object.values(character_commitments)\n}\n\n/**\n * Get the current room routine. The hidden commitments are not included.\n * @returns The current room routine.\n */\nexport function getCurrentRoomRoutine<TCommitment extends CommitmentBaseModel = CommitmentBaseModel>(): TCommitment[] {\n let room = getCurrentRoom()\n if (!room) {\n return []\n }\n return room.getRoutine()\n}\n\n/**\n * Get the character commitment.\n * @param character The character.\n * @returns The commitment or undefined if not found.\n */\nexport function getCommitmentByCharacter<TCommitment extends CommitmentBaseModel = CommitmentBaseModel, TCharacter extends CharacterInterface = CharacterInterface>(character: TCharacter): TCommitment | undefined {\n getCurrentRoutine().forEach(c => {\n if (c.characters.map(ch => ch.id).includes(character.id)) {\n return c\n }\n })\n return undefined\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"RoomActivityMemory.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"RoomActivityMemory.mjs"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import '@drincs/nqtr/dist/override';
|
|
2
|
-
export { R as default } from '../Commitment-BujJuTv8.mjs';
|
|
3
|
-
import '../classes/Activity.mjs';
|
|
4
|
-
import '@drincs/pixi-vn';
|
|
5
|
-
import '../ActivityProps-WgXDAYbc.mjs';
|
|
6
|
-
import '../types/OnRunActivityEvent.mjs';
|
|
7
|
-
import '../types/ExecutionType.mjs';
|
|
8
|
-
import '../types/OnRunCommitmentEvent.mjs';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import '@drincs/nqtr/dist/override';
|
|
2
|
-
export { R as default } from '../Commitment-DFYAApxl.js';
|
|
3
|
-
import '../classes/Activity.js';
|
|
4
|
-
import '@drincs/pixi-vn';
|
|
5
|
-
import '../ActivityProps-LWY7Zucl.js';
|
|
6
|
-
import '../types/OnRunActivityEvent.js';
|
|
7
|
-
import '../types/ExecutionType.js';
|
|
8
|
-
import '../types/OnRunCommitmentEvent.js';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"RoomProps.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"RoomProps.mjs"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import '@drincs/nqtr/dist/override';
|
|
2
|
-
export { L as default } from '../../Commitment-BujJuTv8.mjs';
|
|
3
|
-
import '@drincs/pixi-vn';
|
|
4
|
-
import '../../ActivityProps-WgXDAYbc.mjs';
|
|
5
|
-
import '../../types/OnRunActivityEvent.mjs';
|
|
6
|
-
import '../../classes/Activity.mjs';
|
|
7
|
-
import '../../types/ExecutionType.mjs';
|
|
8
|
-
import '../../types/OnRunCommitmentEvent.mjs';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import '@drincs/nqtr/dist/override';
|
|
2
|
-
export { L as default } from '../../Commitment-DFYAApxl.js';
|
|
3
|
-
import '@drincs/pixi-vn';
|
|
4
|
-
import '../../ActivityProps-LWY7Zucl.js';
|
|
5
|
-
import '../../types/OnRunActivityEvent.js';
|
|
6
|
-
import '../../classes/Activity.js';
|
|
7
|
-
import '../../types/ExecutionType.js';
|
|
8
|
-
import '../../types/OnRunCommitmentEvent.js';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import '@drincs/nqtr/dist/override';
|
|
2
|
-
export { M as default } from '../../Commitment-BujJuTv8.mjs';
|
|
3
|
-
import '@drincs/pixi-vn';
|
|
4
|
-
import '../../ActivityProps-WgXDAYbc.mjs';
|
|
5
|
-
import '../../types/OnRunActivityEvent.mjs';
|
|
6
|
-
import '../../classes/Activity.mjs';
|
|
7
|
-
import '../../types/ExecutionType.mjs';
|
|
8
|
-
import '../../types/OnRunCommitmentEvent.mjs';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import '@drincs/nqtr/dist/override';
|
|
2
|
-
export { M as default } from '../../Commitment-DFYAApxl.js';
|
|
3
|
-
import '@drincs/pixi-vn';
|
|
4
|
-
import '../../ActivityProps-LWY7Zucl.js';
|
|
5
|
-
import '../../types/OnRunActivityEvent.js';
|
|
6
|
-
import '../../classes/Activity.js';
|
|
7
|
-
import '../../types/ExecutionType.js';
|
|
8
|
-
import '../../types/OnRunCommitmentEvent.js';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"MapProps.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"MapProps.mjs"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
interface GoalProps {
|
|
2
|
-
/**
|
|
3
|
-
* The description of the goal.
|
|
4
|
-
* @default ""
|
|
5
|
-
*/
|
|
6
|
-
description: string;
|
|
7
|
-
/**
|
|
8
|
-
* The value that the goal needs to be completed.
|
|
9
|
-
* @default 1
|
|
10
|
-
*/
|
|
11
|
-
need?: number;
|
|
12
|
-
/**
|
|
13
|
-
* The value that the goal already has.
|
|
14
|
-
* @default 0
|
|
15
|
-
*/
|
|
16
|
-
have?: number;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export type { GoalProps as default };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
interface GoalProps {
|
|
2
|
-
/**
|
|
3
|
-
* The description of the goal.
|
|
4
|
-
* @default ""
|
|
5
|
-
*/
|
|
6
|
-
description: string;
|
|
7
|
-
/**
|
|
8
|
-
* The value that the goal needs to be completed.
|
|
9
|
-
* @default 1
|
|
10
|
-
*/
|
|
11
|
-
need?: number;
|
|
12
|
-
/**
|
|
13
|
-
* The value that the goal already has.
|
|
14
|
-
* @default 0
|
|
15
|
-
*/
|
|
16
|
-
have?: number;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export type { GoalProps as default };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"GoalProps.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"GoalProps.mjs"}
|