@drincs/nqtr 0.2.1 → 0.2.2
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/{StageProps-CkXejAbn.d.mts → StageProps-D002cyay.d.mts} +30 -2
- package/dist/{StageProps-BFsiCaZT.d.ts → StageProps-DleWO-vf.d.ts} +30 -2
- package/dist/classes/Commitment.d.mts +2 -2
- package/dist/classes/Commitment.d.ts +2 -2
- package/dist/classes/index.d.mts +4 -4
- package/dist/classes/index.d.ts +4 -4
- package/dist/classes/index.js +1 -131
- package/dist/classes/index.js.map +1 -1
- package/dist/classes/index.mjs +3 -132
- package/dist/classes/index.mjs.map +1 -1
- package/dist/classes/navigation/ActivityRoom.d.mts +2 -2
- package/dist/classes/navigation/ActivityRoom.d.ts +2 -2
- package/dist/classes/navigation/Location.d.mts +3 -3
- package/dist/classes/navigation/Location.d.ts +3 -3
- package/dist/classes/navigation/Map.d.mts +3 -3
- package/dist/classes/navigation/Map.d.ts +3 -3
- package/dist/classes/navigation/Room.d.mts +1 -1
- package/dist/classes/navigation/Room.d.ts +1 -1
- package/dist/classes/navigation/Room.js +43 -43
- package/dist/classes/navigation/Room.js.map +1 -1
- package/dist/classes/navigation/Room.mjs +43 -43
- package/dist/classes/navigation/Room.mjs.map +1 -1
- package/dist/classes/quest/Quest.d.mts +1 -1
- package/dist/classes/quest/Quest.d.ts +1 -1
- package/dist/classes/quest/Quest.js +107 -25
- package/dist/classes/quest/Quest.js.map +1 -1
- package/dist/classes/quest/Quest.mjs +107 -25
- package/dist/classes/quest/Quest.mjs.map +1 -1
- package/dist/classes/quest/Stage.d.mts +1 -1
- package/dist/classes/quest/Stage.d.ts +1 -1
- package/dist/classes/quest/Stage.js +34 -9
- package/dist/classes/quest/Stage.js.map +1 -1
- package/dist/classes/quest/Stage.mjs +34 -9
- package/dist/classes/quest/Stage.mjs.map +1 -1
- package/dist/decorators/ActivityDecorator.d.mts +10 -11
- package/dist/decorators/ActivityDecorator.d.ts +10 -11
- package/dist/decorators/ActivityDecorator.js +384 -9
- package/dist/decorators/ActivityDecorator.js.map +1 -1
- package/dist/decorators/ActivityDecorator.mjs +384 -9
- package/dist/decorators/ActivityDecorator.mjs.map +1 -1
- package/dist/decorators/CommitmentDecorator.d.mts +3 -3
- package/dist/decorators/CommitmentDecorator.d.ts +3 -3
- package/dist/decorators/QuestDecorator.d.mts +4 -3
- package/dist/decorators/QuestDecorator.d.ts +4 -3
- package/dist/decorators/QuestDecorator.js +107 -25
- package/dist/decorators/QuestDecorator.js.map +1 -1
- package/dist/decorators/QuestDecorator.mjs +107 -25
- package/dist/decorators/QuestDecorator.mjs.map +1 -1
- package/dist/decorators/RoomDecorator.d.mts +3 -3
- package/dist/decorators/RoomDecorator.d.ts +3 -3
- package/dist/decorators/index.d.mts +3 -3
- package/dist/decorators/index.d.ts +3 -3
- package/dist/decorators/index.js +328 -115
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/index.mjs +329 -116
- package/dist/decorators/index.mjs.map +1 -1
- package/dist/functions/ActivityFunctions.d.mts +3 -3
- package/dist/functions/ActivityFunctions.d.ts +3 -3
- package/dist/functions/ActivityFunctions.js.map +1 -1
- package/dist/functions/ActivityFunctions.mjs.map +1 -1
- package/dist/functions/NavigationFunctions.d.mts +3 -3
- package/dist/functions/NavigationFunctions.d.ts +3 -3
- package/dist/functions/NavigationFunctions.js.map +1 -1
- package/dist/functions/NavigationFunctions.mjs.map +1 -1
- package/dist/functions/QuestFunctions.d.mts +8 -0
- package/dist/functions/QuestFunctions.d.ts +8 -0
- package/dist/functions/QuestFunctions.js +21 -0
- package/dist/functions/QuestFunctions.js.map +1 -0
- package/dist/functions/QuestFunctions.mjs +19 -0
- package/dist/functions/QuestFunctions.mjs.map +1 -0
- package/dist/functions/RoutineFunctions.d.mts +3 -3
- package/dist/functions/RoutineFunctions.d.ts +3 -3
- package/dist/functions/index.d.mts +4 -3
- package/dist/functions/index.d.ts +4 -3
- package/dist/functions/index.js +13 -0
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/index.mjs +13 -1
- package/dist/functions/index.mjs.map +1 -1
- package/dist/index.d.mts +6 -5
- package/dist/index.d.ts +6 -5
- package/dist/index.js +254 -165
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +254 -165
- package/dist/index.mjs.map +1 -1
- package/dist/interface/CommitmentProps.d.mts +2 -2
- package/dist/interface/CommitmentProps.d.ts +2 -2
- package/dist/interface/RoomProps.d.mts +2 -2
- package/dist/interface/RoomProps.d.ts +2 -2
- package/dist/interface/index.d.mts +3 -3
- package/dist/interface/index.d.ts +3 -3
- package/dist/interface/navigation/LocationProps.d.mts +3 -3
- package/dist/interface/navigation/LocationProps.d.ts +3 -3
- package/dist/interface/navigation/MapProps.d.mts +3 -3
- package/dist/interface/navigation/MapProps.d.ts +3 -3
- package/dist/interface/quest/QuestProps.d.mts +1 -1
- package/dist/interface/quest/QuestProps.d.ts +1 -1
- package/dist/interface/quest/StageProps.d.mts +1 -1
- package/dist/interface/quest/StageProps.d.ts +1 -1
- package/dist/types/QuestsRequired.d.mts +1 -1
- package/dist/types/QuestsRequired.d.ts +1 -1
- package/dist/types/index.d.mts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/package.json +1 -1
- package/dist/{Commitment-BJTIpBQ5.d.ts → Commitment-D3LPSbFX.d.ts} +2 -2
- package/dist/{Commitment-CtNWnNQX.d.mts → Commitment-Eox2652k.d.mts} +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GameStorageManager,
|
|
1
|
+
import { GameStorageManager, StoredClassModel, getFlag } from '@drincs/pixi-vn';
|
|
2
2
|
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
@@ -259,136 +259,7 @@ var TimeManager = class _TimeManager {
|
|
|
259
259
|
}
|
|
260
260
|
};
|
|
261
261
|
|
|
262
|
-
// src/classes/
|
|
263
|
-
var ActivityModel = class {
|
|
264
|
-
/**
|
|
265
|
-
* @param id The activity id, that must be unique.
|
|
266
|
-
* @param onRun The function that is called when the activity is runned. Have 2 parameters: the runned activity and the yourParams object, that is an object with the parameters that you want to pass to the onRun function.
|
|
267
|
-
* @param props The activity properties.
|
|
268
|
-
*/
|
|
269
|
-
constructor(id, onRun, props) {
|
|
270
|
-
this._id = id;
|
|
271
|
-
this._name = props.name;
|
|
272
|
-
this._fromHour = props.fromHour;
|
|
273
|
-
this._toHour = props.toHour;
|
|
274
|
-
this._fromDay = props.fromDay;
|
|
275
|
-
this._toDay = props.toDay;
|
|
276
|
-
this._disabled = props.disabled || false;
|
|
277
|
-
this._hidden = props.hidden || false;
|
|
278
|
-
this._renderIcon = props.renderIcon;
|
|
279
|
-
this._onRun = onRun;
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* The activity id, that is unique.
|
|
283
|
-
*/
|
|
284
|
-
get id() {
|
|
285
|
-
return this._id;
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* The name
|
|
289
|
-
*/
|
|
290
|
-
get name() {
|
|
291
|
-
return this._name;
|
|
292
|
-
}
|
|
293
|
-
/**
|
|
294
|
-
* The hour when the activity starts. If the activity is not started yet, it will be hidden.
|
|
295
|
-
*/
|
|
296
|
-
get fromHour() {
|
|
297
|
-
return this._fromHour;
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* The hour when the activity ends. If the activity is ended yet, it will be hidden.
|
|
301
|
-
*/
|
|
302
|
-
get toHour() {
|
|
303
|
-
return this._toHour;
|
|
304
|
-
}
|
|
305
|
-
/**
|
|
306
|
-
* The day when the activity starts. If the activity is not started yet, it will be hidden.
|
|
307
|
-
*/
|
|
308
|
-
get fromDay() {
|
|
309
|
-
return this._fromDay;
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* The day when the activity ends. If the activity is ended yet, it will be deleted or hidden.
|
|
313
|
-
*/
|
|
314
|
-
get toDay() {
|
|
315
|
-
return this._toDay;
|
|
316
|
-
}
|
|
317
|
-
/**
|
|
318
|
-
* Whether is disabled.
|
|
319
|
-
*/
|
|
320
|
-
get disabled() {
|
|
321
|
-
if (typeof this._disabled === "string") {
|
|
322
|
-
return getFlag(this._disabled);
|
|
323
|
-
}
|
|
324
|
-
return this._disabled;
|
|
325
|
-
}
|
|
326
|
-
/**
|
|
327
|
-
* Whether is hidden. If the activity is not started yet, it will be hidden.
|
|
328
|
-
*/
|
|
329
|
-
get hidden() {
|
|
330
|
-
if (this.fromDay && this.fromDay > TimeManager.currentDay) {
|
|
331
|
-
return true;
|
|
332
|
-
}
|
|
333
|
-
if (!this.isDeadline) {
|
|
334
|
-
return true;
|
|
335
|
-
}
|
|
336
|
-
if (typeof this._hidden === "string") {
|
|
337
|
-
return getFlag(this._hidden);
|
|
338
|
-
}
|
|
339
|
-
return this._hidden;
|
|
340
|
-
}
|
|
341
|
-
/**
|
|
342
|
-
* The function for rendering the icon of the activity.
|
|
343
|
-
*/
|
|
344
|
-
get renderIcon() {
|
|
345
|
-
let render = this._renderIcon;
|
|
346
|
-
if (render === void 0) {
|
|
347
|
-
return void 0;
|
|
348
|
-
}
|
|
349
|
-
if (typeof render === "function") {
|
|
350
|
-
return (props) => {
|
|
351
|
-
return render(this, props);
|
|
352
|
-
};
|
|
353
|
-
}
|
|
354
|
-
return (props) => render;
|
|
355
|
-
}
|
|
356
|
-
get _initialOnRun() {
|
|
357
|
-
return this._onRun;
|
|
358
|
-
}
|
|
359
|
-
/**
|
|
360
|
-
* The function that is called when the activity is runned.
|
|
361
|
-
*/
|
|
362
|
-
get run() {
|
|
363
|
-
return (props) => this._onRun(this, props);
|
|
364
|
-
}
|
|
365
|
-
/**
|
|
366
|
-
* Whether the activity is a deadline.
|
|
367
|
-
* @returns Whether the activity is a deadline.
|
|
368
|
-
*/
|
|
369
|
-
isDeadline() {
|
|
370
|
-
if (this.toDay && this.toDay <= TimeManager.currentDay) {
|
|
371
|
-
return true;
|
|
372
|
-
}
|
|
373
|
-
return false;
|
|
374
|
-
}
|
|
375
|
-
/**
|
|
376
|
-
* Export the activity properties.
|
|
377
|
-
* @returns The activity properties.
|
|
378
|
-
*/
|
|
379
|
-
export() {
|
|
380
|
-
return {
|
|
381
|
-
name: this._name,
|
|
382
|
-
fromHour: this._fromHour,
|
|
383
|
-
toHour: this._toHour,
|
|
384
|
-
fromDay: this._fromDay,
|
|
385
|
-
toDay: this._toDay,
|
|
386
|
-
disabled: this._disabled,
|
|
387
|
-
hidden: this._hidden,
|
|
388
|
-
renderIcon: this._renderIcon
|
|
389
|
-
};
|
|
390
|
-
}
|
|
391
|
-
};
|
|
262
|
+
// src/classes/Commitment.ts
|
|
392
263
|
var COMMITMENT_CATEGORY = "__nqtr-commitment__";
|
|
393
264
|
var CommitmentBaseModel = class extends StoredClassModel {
|
|
394
265
|
/**
|
|
@@ -1008,18 +879,145 @@ var MapBaseModel = class extends StoredClassModel {
|
|
|
1008
879
|
return getLocationsByMap(this);
|
|
1009
880
|
}
|
|
1010
881
|
};
|
|
882
|
+
var ActivityModel = class {
|
|
883
|
+
/**
|
|
884
|
+
* @param id The activity id, that must be unique.
|
|
885
|
+
* @param onRun The function that is called when the activity is runned. Have 2 parameters: the runned activity and the yourParams object, that is an object with the parameters that you want to pass to the onRun function.
|
|
886
|
+
* @param props The activity properties.
|
|
887
|
+
*/
|
|
888
|
+
constructor(id, onRun, props) {
|
|
889
|
+
this._id = id;
|
|
890
|
+
this._name = props.name;
|
|
891
|
+
this._fromHour = props.fromHour;
|
|
892
|
+
this._toHour = props.toHour;
|
|
893
|
+
this._fromDay = props.fromDay;
|
|
894
|
+
this._toDay = props.toDay;
|
|
895
|
+
this._disabled = props.disabled || false;
|
|
896
|
+
this._hidden = props.hidden || false;
|
|
897
|
+
this._renderIcon = props.renderIcon;
|
|
898
|
+
this._onRun = onRun;
|
|
899
|
+
}
|
|
900
|
+
/**
|
|
901
|
+
* The activity id, that is unique.
|
|
902
|
+
*/
|
|
903
|
+
get id() {
|
|
904
|
+
return this._id;
|
|
905
|
+
}
|
|
906
|
+
/**
|
|
907
|
+
* The name
|
|
908
|
+
*/
|
|
909
|
+
get name() {
|
|
910
|
+
return this._name;
|
|
911
|
+
}
|
|
912
|
+
/**
|
|
913
|
+
* The hour when the activity starts. If the activity is not started yet, it will be hidden.
|
|
914
|
+
*/
|
|
915
|
+
get fromHour() {
|
|
916
|
+
return this._fromHour;
|
|
917
|
+
}
|
|
918
|
+
/**
|
|
919
|
+
* The hour when the activity ends. If the activity is ended yet, it will be hidden.
|
|
920
|
+
*/
|
|
921
|
+
get toHour() {
|
|
922
|
+
return this._toHour;
|
|
923
|
+
}
|
|
924
|
+
/**
|
|
925
|
+
* The day when the activity starts. If the activity is not started yet, it will be hidden.
|
|
926
|
+
*/
|
|
927
|
+
get fromDay() {
|
|
928
|
+
return this._fromDay;
|
|
929
|
+
}
|
|
930
|
+
/**
|
|
931
|
+
* The day when the activity ends. If the activity is ended yet, it will be deleted or hidden.
|
|
932
|
+
*/
|
|
933
|
+
get toDay() {
|
|
934
|
+
return this._toDay;
|
|
935
|
+
}
|
|
936
|
+
/**
|
|
937
|
+
* Whether is disabled.
|
|
938
|
+
*/
|
|
939
|
+
get disabled() {
|
|
940
|
+
if (typeof this._disabled === "string") {
|
|
941
|
+
return getFlag(this._disabled);
|
|
942
|
+
}
|
|
943
|
+
return this._disabled;
|
|
944
|
+
}
|
|
945
|
+
/**
|
|
946
|
+
* Whether is hidden. If the activity is not started yet, it will be hidden.
|
|
947
|
+
*/
|
|
948
|
+
get hidden() {
|
|
949
|
+
if (this.fromDay && this.fromDay > TimeManager.currentDay) {
|
|
950
|
+
return true;
|
|
951
|
+
}
|
|
952
|
+
if (!this.isDeadline) {
|
|
953
|
+
return true;
|
|
954
|
+
}
|
|
955
|
+
if (typeof this._hidden === "string") {
|
|
956
|
+
return getFlag(this._hidden);
|
|
957
|
+
}
|
|
958
|
+
return this._hidden;
|
|
959
|
+
}
|
|
960
|
+
/**
|
|
961
|
+
* The function for rendering the icon of the activity.
|
|
962
|
+
*/
|
|
963
|
+
get renderIcon() {
|
|
964
|
+
let render = this._renderIcon;
|
|
965
|
+
if (render === void 0) {
|
|
966
|
+
return void 0;
|
|
967
|
+
}
|
|
968
|
+
if (typeof render === "function") {
|
|
969
|
+
return (props) => {
|
|
970
|
+
return render(this, props);
|
|
971
|
+
};
|
|
972
|
+
}
|
|
973
|
+
return (props) => render;
|
|
974
|
+
}
|
|
975
|
+
get _initialOnRun() {
|
|
976
|
+
return this._onRun;
|
|
977
|
+
}
|
|
978
|
+
/**
|
|
979
|
+
* The function that is called when the activity is runned.
|
|
980
|
+
*/
|
|
981
|
+
get run() {
|
|
982
|
+
return (props) => this._onRun(this, props);
|
|
983
|
+
}
|
|
984
|
+
/**
|
|
985
|
+
* Whether the activity is a deadline.
|
|
986
|
+
* @returns Whether the activity is a deadline.
|
|
987
|
+
*/
|
|
988
|
+
isDeadline() {
|
|
989
|
+
if (this.toDay && this.toDay <= TimeManager.currentDay) {
|
|
990
|
+
return true;
|
|
991
|
+
}
|
|
992
|
+
return false;
|
|
993
|
+
}
|
|
994
|
+
/**
|
|
995
|
+
* Export the activity properties.
|
|
996
|
+
* @returns The activity properties.
|
|
997
|
+
*/
|
|
998
|
+
export() {
|
|
999
|
+
return {
|
|
1000
|
+
name: this._name,
|
|
1001
|
+
fromHour: this._fromHour,
|
|
1002
|
+
toHour: this._toHour,
|
|
1003
|
+
fromDay: this._fromDay,
|
|
1004
|
+
toDay: this._toDay,
|
|
1005
|
+
disabled: this._disabled,
|
|
1006
|
+
hidden: this._hidden,
|
|
1007
|
+
renderIcon: this._renderIcon
|
|
1008
|
+
};
|
|
1009
|
+
}
|
|
1010
|
+
};
|
|
1011
1011
|
|
|
1012
1012
|
// src/decorators/ActivityDecorator.ts
|
|
1013
1013
|
var registeredActivities = {};
|
|
1014
|
-
function
|
|
1015
|
-
if (
|
|
1016
|
-
|
|
1017
|
-
return;
|
|
1018
|
-
}
|
|
1019
|
-
if (registeredActivities[activity.id]) {
|
|
1020
|
-
console.warn(`[NQTR] Activity id ${activity.id} already exists, it will be overwritten`);
|
|
1014
|
+
function newActivity(id, onRun, props) {
|
|
1015
|
+
if (registeredActivities[id]) {
|
|
1016
|
+
console.warn(`[NQTR] Activity ${id} already exists, it will be overwritten`);
|
|
1021
1017
|
}
|
|
1022
|
-
|
|
1018
|
+
let activity = new ActivityModel(id, onRun, props);
|
|
1019
|
+
registeredActivities[id] = activity;
|
|
1020
|
+
return activity;
|
|
1023
1021
|
}
|
|
1024
1022
|
function getActivityById(id) {
|
|
1025
1023
|
try {
|
|
@@ -1298,17 +1296,29 @@ var StageQuest = class extends Stage {
|
|
|
1298
1296
|
if (storedCompleted) {
|
|
1299
1297
|
return storedCompleted;
|
|
1300
1298
|
}
|
|
1301
|
-
if (
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1299
|
+
if (this.flags.length > 0 && this.goals.length > 0) {
|
|
1300
|
+
if (!this.flags.every((flag) => getFlag(flag.flag))) {
|
|
1301
|
+
return false;
|
|
1302
|
+
}
|
|
1303
|
+
if (!this.goals.every((goal) => goal.completed)) {
|
|
1304
|
+
return false;
|
|
1305
|
+
}
|
|
1306
|
+
return true;
|
|
1306
1307
|
}
|
|
1307
|
-
return
|
|
1308
|
+
return false;
|
|
1308
1309
|
}
|
|
1309
1310
|
set completed(value) {
|
|
1310
1311
|
this.setStorageProperty("completed", value);
|
|
1311
1312
|
}
|
|
1313
|
+
/**
|
|
1314
|
+
* If the stage is started.
|
|
1315
|
+
*/
|
|
1316
|
+
get started() {
|
|
1317
|
+
return this.getStorageProperty("started") || false;
|
|
1318
|
+
}
|
|
1319
|
+
set started(value) {
|
|
1320
|
+
this.setStorageProperty("started", value);
|
|
1321
|
+
}
|
|
1312
1322
|
/**
|
|
1313
1323
|
* The list of goals that the player needs to complete to finish the stage.
|
|
1314
1324
|
*/
|
|
@@ -1358,13 +1368,26 @@ var StageQuest = class extends Stage {
|
|
|
1358
1368
|
return true;
|
|
1359
1369
|
}
|
|
1360
1370
|
/**
|
|
1361
|
-
*
|
|
1371
|
+
* Inizialize the stage. **This function should be called only by the Quest class.**
|
|
1362
1372
|
*/
|
|
1363
|
-
|
|
1373
|
+
inizialize() {
|
|
1364
1374
|
if (this.daysRequiredToStart > 0) {
|
|
1365
1375
|
this.prevStageEndDay = TimeManager.currentDay;
|
|
1376
|
+
console.log(`[NQTR] Stage ${this.id} will start on day ${this.startDay}`);
|
|
1377
|
+
}
|
|
1378
|
+
}
|
|
1379
|
+
/**
|
|
1380
|
+
* The function that will be called when the stage starts.
|
|
1381
|
+
*/
|
|
1382
|
+
start(props) {
|
|
1383
|
+
if (this.canStart) {
|
|
1384
|
+
this.started = true;
|
|
1385
|
+
if (this.onStart) {
|
|
1386
|
+
this.onStart(props);
|
|
1387
|
+
}
|
|
1388
|
+
} else {
|
|
1389
|
+
console.warn(`[NQTR] Stage ${this.id} can't start`);
|
|
1366
1390
|
}
|
|
1367
|
-
return super.onStart;
|
|
1368
1391
|
}
|
|
1369
1392
|
};
|
|
1370
1393
|
|
|
@@ -1465,7 +1488,10 @@ var Quest = class extends StoredClassModel {
|
|
|
1465
1488
|
* If the quest is completed.
|
|
1466
1489
|
*/
|
|
1467
1490
|
get completed() {
|
|
1468
|
-
|
|
1491
|
+
if (this.currentStageIndex === void 0) {
|
|
1492
|
+
return false;
|
|
1493
|
+
}
|
|
1494
|
+
return this.currentStageIndex > this.stages.length - 1;
|
|
1469
1495
|
}
|
|
1470
1496
|
/**
|
|
1471
1497
|
* Start the quest.
|
|
@@ -1483,14 +1509,15 @@ var Quest = class extends StoredClassModel {
|
|
|
1483
1509
|
}
|
|
1484
1510
|
this.currentStageIndex = 0;
|
|
1485
1511
|
let currentStage = this.currentStage;
|
|
1486
|
-
if (currentStage && currentStage.
|
|
1487
|
-
return currentStage.
|
|
1512
|
+
if (currentStage && currentStage.start) {
|
|
1513
|
+
return currentStage.start(props);
|
|
1488
1514
|
} else {
|
|
1489
1515
|
console.error(`[NQTR] Quest ${this.id} has no start stage`);
|
|
1490
1516
|
}
|
|
1491
1517
|
}
|
|
1492
1518
|
/**
|
|
1493
|
-
*
|
|
1519
|
+
* Go to the next stage if the current stage is completed.
|
|
1520
|
+
* If you want to force the change of stage, use goNextStage.
|
|
1494
1521
|
* @param startProps The properties for the start stage. If you not want to pass any property, you can pass an {}.
|
|
1495
1522
|
* @param endProps The properties for the end stage. If you not want to pass any property, you can pass an {}.
|
|
1496
1523
|
* @returns true if the stage was changed, false otherwise.
|
|
@@ -1503,25 +1530,78 @@ var Quest = class extends StoredClassModel {
|
|
|
1503
1530
|
return false;
|
|
1504
1531
|
}
|
|
1505
1532
|
let currentStage = this.currentStage;
|
|
1506
|
-
|
|
1507
|
-
if (!currentStage || currentStageIndex === void 0) {
|
|
1533
|
+
if (!currentStage) {
|
|
1508
1534
|
console.error(`[NQTR] Quest ${this.id} has no current stage`);
|
|
1509
1535
|
return false;
|
|
1510
1536
|
}
|
|
1511
1537
|
if (currentStage.completed) {
|
|
1512
|
-
|
|
1513
|
-
currentStageIndex = nextStageIndex;
|
|
1514
|
-
let nextStage = this.currentStage;
|
|
1515
|
-
if (currentStage && currentStage.onEnd) {
|
|
1516
|
-
currentStage.onEnd(endProps);
|
|
1517
|
-
}
|
|
1518
|
-
if (nextStage && nextStage.onStart) {
|
|
1519
|
-
nextStage.onStart(startProps);
|
|
1520
|
-
}
|
|
1521
|
-
return true;
|
|
1538
|
+
return this.goNextStage(startProps, endProps);
|
|
1522
1539
|
}
|
|
1523
1540
|
return false;
|
|
1524
1541
|
}
|
|
1542
|
+
/**
|
|
1543
|
+
* Complete the current stage and go to the next stage.
|
|
1544
|
+
* If you want to go to the next stage only if the current stage is completed, use tryToGoNextStage.
|
|
1545
|
+
* @param startProps The properties for the start stage. If you not want to pass any property, you can pass an {}.
|
|
1546
|
+
* @param endProps The properties for the end stage. If you not want to pass any property, you can pass an {}.
|
|
1547
|
+
* @returns true if the stage was changed, false otherwise.
|
|
1548
|
+
*/
|
|
1549
|
+
completeCurrentStageAndGoNext(startProps, endProps) {
|
|
1550
|
+
let currentStage = this.currentStage;
|
|
1551
|
+
if (!currentStage) {
|
|
1552
|
+
console.error(`[NQTR] Quest ${this.id} has no current stage`);
|
|
1553
|
+
return false;
|
|
1554
|
+
}
|
|
1555
|
+
currentStage.completed = true;
|
|
1556
|
+
return this.goNextStage(startProps, endProps);
|
|
1557
|
+
}
|
|
1558
|
+
/**
|
|
1559
|
+
* Go to the next stage without checking if the current stage is completed.
|
|
1560
|
+
* If you want to go to the next stage only if the current stage is completed, use tryToGoNextStage.
|
|
1561
|
+
* @param startProps
|
|
1562
|
+
* @param endProps
|
|
1563
|
+
* @returns returns true if the stage was changed, false otherwise.
|
|
1564
|
+
*/
|
|
1565
|
+
goNextStage(startProps, endProps) {
|
|
1566
|
+
if (!this.started) {
|
|
1567
|
+
console.warn(`[NQTR] Quest ${this.id} is not started`);
|
|
1568
|
+
return false;
|
|
1569
|
+
}
|
|
1570
|
+
if (this.completed) {
|
|
1571
|
+
console.warn(`[NQTR] Quest ${this.id} is already completed`);
|
|
1572
|
+
return false;
|
|
1573
|
+
}
|
|
1574
|
+
let prevStage = this.currentStage;
|
|
1575
|
+
let currentStageIndex = this.currentStageIndex;
|
|
1576
|
+
if (!prevStage || currentStageIndex === void 0) {
|
|
1577
|
+
console.error(`[NQTR] Quest ${this.id} has no current stage`);
|
|
1578
|
+
return false;
|
|
1579
|
+
}
|
|
1580
|
+
this.currentStageIndex = currentStageIndex + 1;
|
|
1581
|
+
if (prevStage && prevStage.onEnd) {
|
|
1582
|
+
prevStage.onEnd(endProps);
|
|
1583
|
+
}
|
|
1584
|
+
let nextCurrentStage = this.currentStage;
|
|
1585
|
+
if (nextCurrentStage) {
|
|
1586
|
+
nextCurrentStage.inizialize();
|
|
1587
|
+
}
|
|
1588
|
+
return true;
|
|
1589
|
+
}
|
|
1590
|
+
get currentStageMustStart() {
|
|
1591
|
+
let currentStage = this.currentStage;
|
|
1592
|
+
if (!currentStage) {
|
|
1593
|
+
return false;
|
|
1594
|
+
}
|
|
1595
|
+
return !currentStage.started && currentStage.canStart && !currentStage.completed;
|
|
1596
|
+
}
|
|
1597
|
+
startCurrentStage(props) {
|
|
1598
|
+
let newCurrentStage = this.currentStage;
|
|
1599
|
+
if (newCurrentStage && this.currentStageMustStart) {
|
|
1600
|
+
newCurrentStage.start(props);
|
|
1601
|
+
} else {
|
|
1602
|
+
console.warn(`[NQTR] Quest ${this.id} can't start the current stage`);
|
|
1603
|
+
}
|
|
1604
|
+
}
|
|
1525
1605
|
};
|
|
1526
1606
|
|
|
1527
1607
|
// src/decorators/QuestDecorator.ts
|
|
@@ -1893,6 +1973,15 @@ function currentActivities() {
|
|
|
1893
1973
|
return currentRoom.activities.filter((activity) => !activity.hidden);
|
|
1894
1974
|
}
|
|
1895
1975
|
|
|
1896
|
-
|
|
1976
|
+
// src/functions/QuestFunctions.ts
|
|
1977
|
+
function startMustStartStageQuests(props) {
|
|
1978
|
+
Object.entries(registeredQuests).forEach(([_, quest]) => {
|
|
1979
|
+
if (quest.currentStageMustStart) {
|
|
1980
|
+
quest.startCurrentStage(props);
|
|
1981
|
+
}
|
|
1982
|
+
});
|
|
1983
|
+
}
|
|
1984
|
+
|
|
1985
|
+
export { ActivityRoom, CommitmentBaseModel, Goal, LocationBaseModel, MapBaseModel, RoomBaseModel, Stage, TimeManager, addCommitment, clearExpiredActivities, clearExpiredRoutine, currentActivities, getActivityById, getAllLocations, getAllMaps, getCommitmentByCharacter, getCommitmentById, getCueerntMap, getCurrenrLocation, getCurrentRoom, getCurrentRoutine, getQuestById, getRoomById, newActivity, newQuest, removeCommitment, saveCommitment, saveRoom, setCurrentRoom, setFixedRoutine, startMustStartStageQuests };
|
|
1897
1986
|
//# sourceMappingURL=out.js.map
|
|
1898
1987
|
//# sourceMappingURL=index.mjs.map
|