ekms 7.12.4-beta.0 → 7.12.4-beta.2
Sign up to get free protection for your applications and to get access to all the features.
- package/common/animals.instance.json +52 -0
- package/common/crew.instance.json +280 -0
- package/common/dialogues.js +3 -2
- package/common/dimension.test.json +170 -26
- package/common/dimensionTemplate.instance.json +4 -0
- package/common/edible.instance.json +128 -0
- package/common/emotions.instance.json +4 -0
- package/common/fastfood.instance.json +1199 -921
- package/common/fastfood.js +100 -17
- package/common/fastfood.test.json +36226 -1299
- package/common/formulasTemplate.instance.json +4 -0
- package/common/kirk.instance.json +4 -0
- package/common/length.instance.json +60 -0
- package/common/mathTemplate.instance.json +8 -0
- package/common/ordering.instance.json +8 -0
- package/common/people.instance.json +32 -0
- package/common/pokemon.instance.json +52 -0
- package/common/pressure.instance.json +16 -0
- package/common/properties.instance.json +4 -0
- package/common/reports.instance.json +9 -1
- package/common/reports.js +3 -2
- package/common/spock.instance.json +4 -0
- package/common/stm.js +21 -6
- package/common/temperature.instance.json +16 -0
- package/common/ui.instance.json +4 -0
- package/common/weight.instance.json +48 -0
- package/package.json +2 -2
package/common/fastfood.js
CHANGED
@@ -391,25 +391,27 @@ const template = {
|
|
391
391
|
},
|
392
392
|
{
|
393
393
|
operators: [
|
394
|
-
"([change] (meal/*) (to/1))",
|
394
|
+
"([change] (meal/* || drink/*) (to/1))",
|
395
395
|
],
|
396
396
|
hierarchy: [
|
397
397
|
['meal', 'toAble'],
|
398
|
+
['drink', 'toAble'],
|
398
399
|
],
|
399
400
|
bridges: [
|
400
401
|
{
|
401
402
|
id: "change",
|
402
403
|
isA: ['verby'],
|
404
|
+
localHierarchy: [ ['thisitthat', 'meal'] ],
|
403
405
|
generatorp: ({context, gp}) => `change ${gp(context.from)} to ${gp(context.to)}`,
|
404
406
|
bridge: "{ ...next(operator), from: after[0], to: after[1].toObject }",
|
405
|
-
semantic: ({context, api}) => {
|
407
|
+
semantic: ({context, api, e}) => {
|
406
408
|
const state = api.state
|
409
|
+
const eFrom = e(context.from).evalue
|
410
|
+
const from = state.getIdCombo(eFrom.fromSTM ? eFrom : context.from)
|
411
|
+
const to = state.getIdCombo(context.to)
|
407
412
|
for (const item of api.items()) {
|
408
|
-
const from = state.getIdCombo(context.from)
|
409
|
-
const to = state.getIdCombo(context.to)
|
410
413
|
if (item.id == from.id) {
|
411
|
-
|
412
|
-
api.modify(item, { id: to.id })
|
414
|
+
api.modify(item, { id: to.id, food: context.to })
|
413
415
|
}
|
414
416
|
}
|
415
417
|
}
|
@@ -430,6 +432,35 @@ const template = {
|
|
430
432
|
{ context: [['combo', 2], ['list', 0], ['combo', 1], ['withModification', 1]], ordered: true, choose: [3] },
|
431
433
|
],
|
432
434
|
},
|
435
|
+
{
|
436
|
+
operators: [
|
437
|
+
"([remove|remove,delete,drop,ditch,forget,no] (food/*))",
|
438
|
+
"([reset|reset,restart,clear])",
|
439
|
+
],
|
440
|
+
bridges: [
|
441
|
+
{
|
442
|
+
id: 'remove',
|
443
|
+
isA: ['verby'],
|
444
|
+
bridge: "{ ...next(operator), remove: after[0], postModifiers: ['remove'] }",
|
445
|
+
semantic: ({context, api}) => {
|
446
|
+
const state = api.state
|
447
|
+
for (const item of api.items()) {
|
448
|
+
if (state.match(context.remove, item)) {
|
449
|
+
api.remove(item)
|
450
|
+
}
|
451
|
+
}
|
452
|
+
}
|
453
|
+
},
|
454
|
+
{
|
455
|
+
id: 'reset',
|
456
|
+
isA: ['verby'],
|
457
|
+
bridge: "{ ...next(operator) }",
|
458
|
+
semantic: ({context, api}) => {
|
459
|
+
api.reset()
|
460
|
+
}
|
461
|
+
},
|
462
|
+
],
|
463
|
+
},
|
433
464
|
],
|
434
465
|
}
|
435
466
|
|
@@ -439,37 +470,63 @@ class API {
|
|
439
470
|
this._objects.items = []
|
440
471
|
this._objects.notAvailable = []
|
441
472
|
this._objects.notAvailableModification = []
|
473
|
+
this._objects.item_id_counter = 0
|
442
474
|
}
|
443
475
|
|
444
476
|
show() {
|
445
477
|
this._objects.show = this._objects.items
|
446
478
|
}
|
447
479
|
|
480
|
+
toItem(item_id) {
|
481
|
+
if (Array.isArray(item_id)) {
|
482
|
+
return this._objects.items[item_id[0]].modifications[item_id[1]]
|
483
|
+
} else {
|
484
|
+
return this._objects.items[item_id]
|
485
|
+
}
|
486
|
+
}
|
487
|
+
|
488
|
+
new_item_id() {
|
489
|
+
const item_id = this._objects.item_id_counter
|
490
|
+
this._objects.item_id_counter += 1
|
491
|
+
return item_id
|
492
|
+
}
|
493
|
+
|
448
494
|
// returns an item id so things can be updated if needed
|
449
495
|
add(item) {
|
450
|
-
item.item_id = this.
|
496
|
+
item.item_id = this.new_item_id()
|
451
497
|
if (!item.modifications) {
|
452
498
|
item.modifications = []
|
453
499
|
}
|
500
|
+
item.modifications.forEach((modification, index) => {
|
501
|
+
modification.item_id = [item.item_id, index]
|
502
|
+
})
|
454
503
|
this._objects.items.push(item)
|
455
|
-
|
504
|
+
}
|
505
|
+
|
506
|
+
reset() {
|
507
|
+
this._objects.items = []
|
456
508
|
}
|
457
509
|
|
458
510
|
get(item_id) {
|
459
|
-
return this.
|
511
|
+
return this.toItem(item_id)
|
460
512
|
}
|
461
513
|
|
462
514
|
modify(item, changes) {
|
463
|
-
Object.assign(this.
|
515
|
+
Object.assign(this.toItem(item.item_id), changes)
|
516
|
+
}
|
517
|
+
|
518
|
+
remove(item) {
|
519
|
+
this._objects.items = this._objects.items.filter( (i) => i.item_id !== item.item_id )
|
464
520
|
}
|
465
521
|
|
466
522
|
items() {
|
467
|
-
return this._objects.items
|
523
|
+
return [...this._objects.items]
|
468
524
|
}
|
469
525
|
|
470
526
|
addDrink(item_id, drink) {
|
471
|
-
this.
|
472
|
-
|
527
|
+
const item = this.toItem(item_id)
|
528
|
+
item.modifications.push(drink)
|
529
|
+
item.needsDrink = false
|
473
530
|
}
|
474
531
|
|
475
532
|
say(response) {
|
@@ -663,7 +720,7 @@ class State {
|
|
663
720
|
}
|
664
721
|
combo = true
|
665
722
|
} else if (food.marker == 'combo') {
|
666
|
-
id = food.type
|
723
|
+
id = food.type?.value
|
667
724
|
combo = true
|
668
725
|
} else {
|
669
726
|
id = food.value
|
@@ -677,6 +734,18 @@ class State {
|
|
677
734
|
return { id, combo }
|
678
735
|
}
|
679
736
|
|
737
|
+
match(pattern, item) {
|
738
|
+
Object.assign(pattern, this.getIdCombo(pattern))
|
739
|
+
if (pattern.id == item.id) {
|
740
|
+
return true
|
741
|
+
}
|
742
|
+
if (!pattern.id) {
|
743
|
+
if (pattern.combo == item.combo) {
|
744
|
+
return true
|
745
|
+
}
|
746
|
+
}
|
747
|
+
}
|
748
|
+
|
680
749
|
add(food) {
|
681
750
|
let quantity = 1
|
682
751
|
if (food.quantity) {
|
@@ -748,7 +817,8 @@ class State {
|
|
748
817
|
return
|
749
818
|
}
|
750
819
|
|
751
|
-
|
820
|
+
this.api.add(item)
|
821
|
+
this.api.args.mentioned(food)
|
752
822
|
|
753
823
|
for (const addIt of addsInsteadOfModifications) {
|
754
824
|
this.add(addIt)
|
@@ -788,7 +858,7 @@ const createConfig = (additionalConfig) => {
|
|
788
858
|
},
|
789
859
|
{
|
790
860
|
where: where(),
|
791
|
-
match: ({context, isAListable}) => isAListable(context, 'edible') && context.marker !== 'edible' && !context.same && !context.isResponse,
|
861
|
+
match: ({context, isAListable}) => isAListable(context, 'edible') && context.marker !== 'edible' && !context.same && !context.isResponse && !context.evaluate,
|
792
862
|
apply: ({context, km, api, instance}) => {
|
793
863
|
for (const element of propertyToArray(context)) {
|
794
864
|
km('fastfood').api.state.add(element)
|
@@ -841,10 +911,23 @@ knowledgeModule( {
|
|
841
911
|
checks: {
|
842
912
|
objects: [
|
843
913
|
'show',
|
844
|
-
{
|
914
|
+
{
|
915
|
+
property: 'items',
|
916
|
+
filter: [
|
917
|
+
'combo',
|
918
|
+
'pieces',
|
919
|
+
'size',
|
920
|
+
'item_id',
|
921
|
+
'id',
|
922
|
+
{ property: 'food', filter: [ 'marker', 'value', 'text' ] },
|
923
|
+
{ property: 'modifications', filter: [ 'id', 'item_id', 'food' ] },
|
924
|
+
'needsDrink'
|
925
|
+
],
|
926
|
+
},
|
845
927
|
'changes',
|
846
928
|
'response',
|
847
929
|
{ property: 'notAvailable', filter: [ 'marker', 'value', 'text' ] },
|
930
|
+
{ property: 'notAvailableModification', filter: [ 'marker', 'value', 'text' ] },
|
848
931
|
{ property: 'quantity', filter: ['marker', 'value', 'text' ] },
|
849
932
|
{ property: 'pieces', filter: ['marker', 'value', 'text' ] },
|
850
933
|
],
|