chore: fixtures
This commit is contained in:
parent
22ad681a18
commit
34e795afaf
614
fixtures/mama-kitty.entity.json
Normal file
614
fixtures/mama-kitty.entity.json
Normal file
|
@ -0,0 +1,614 @@
|
||||||
|
{
|
||||||
|
"traits": {
|
||||||
|
"alive": {
|
||||||
|
"params": {
|
||||||
|
"deathActions": {
|
||||||
|
"type": "actions",
|
||||||
|
"traversals": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "playSound"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "deathSound"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "killAllChildren"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "transition"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": {
|
||||||
|
"opacity": 0,
|
||||||
|
"visibleScaleX": 0.3,
|
||||||
|
"visibleScaleY": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 0.2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"life": 500,
|
||||||
|
"maxLife": 500
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"animated": {
|
||||||
|
"params": {
|
||||||
|
"animations": {
|
||||||
|
"idle": {
|
||||||
|
"offset": [
|
||||||
|
0,
|
||||||
|
-8
|
||||||
|
],
|
||||||
|
"uri": "/kitty.animation.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"audible": {
|
||||||
|
"params": {
|
||||||
|
"sounds": {
|
||||||
|
"deathSound": {
|
||||||
|
"uri": "/ded.sound.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"behaved": {
|
||||||
|
"params": {
|
||||||
|
"routines": {
|
||||||
|
"type": "routines",
|
||||||
|
"routines": {
|
||||||
|
"initial": {
|
||||||
|
"type": "routine",
|
||||||
|
"routine": {
|
||||||
|
"type": "actions",
|
||||||
|
"traversals": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "direction"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value": {
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "floor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "randomNumber"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 4
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "moveFor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Vector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "fromDirection"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "direction"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "randomNumber"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 0.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 2.5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "isAnimating"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value": {
|
||||||
|
"type": "literal",
|
||||||
|
"value": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Timing"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "wait"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "randomNumber"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 4
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "direction"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value": {
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "floor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "randomNumber"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 4
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Timing"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "wait"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "randomNumber"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 0.5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "isAnimating"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value": {
|
||||||
|
"type": "literal",
|
||||||
|
"value": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "spawnAt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": "kitteh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Utility"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "makeArray"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "x"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "y"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"collider": {
|
||||||
|
"params": {
|
||||||
|
"collidesWithGroups": [
|
||||||
|
"default",
|
||||||
|
"environmental",
|
||||||
|
"projectile"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"directional": {
|
||||||
|
"params": {
|
||||||
|
"directionCount": 4
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"direction": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emitter": {},
|
||||||
|
"existent": {
|
||||||
|
"state": {
|
||||||
|
"name": "Mama Kitty"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"layered": {},
|
||||||
|
"listed": {},
|
||||||
|
"lootable": {
|
||||||
|
"params": {
|
||||||
|
"table": [
|
||||||
|
{
|
||||||
|
"perc": 70,
|
||||||
|
"json": {
|
||||||
|
"uri": "/yarn-ball.entity.json"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"perc": 80,
|
||||||
|
"json": {
|
||||||
|
"uri": "/yarn-ball.entity.json"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"perc": 90,
|
||||||
|
"json": {
|
||||||
|
"uri": "/yarn-ball.entity.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mobile": {
|
||||||
|
"state": {
|
||||||
|
"speed": 40
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"physical": {},
|
||||||
|
"positioned": {},
|
||||||
|
"roomed": {},
|
||||||
|
"shaped": {
|
||||||
|
"params": {
|
||||||
|
"shape": {
|
||||||
|
"type": "rectangle",
|
||||||
|
"position": [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
16,
|
||||||
|
8
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"visible": {
|
||||||
|
"state": {
|
||||||
|
"visibleScale": [
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"vulnerable": {
|
||||||
|
"params": {
|
||||||
|
"types": [
|
||||||
|
"bio"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spawner": {
|
||||||
|
"params": {
|
||||||
|
"spawns": {
|
||||||
|
"kitteh": {
|
||||||
|
"uri": "/kitty.entity.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"maxSpawns": 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
551
fixtures/rock-projectile.entity.json
Normal file
551
fixtures/rock-projectile.entity.json
Normal file
|
@ -0,0 +1,551 @@
|
||||||
|
{
|
||||||
|
"traits": {
|
||||||
|
"behaved": {
|
||||||
|
"params": {
|
||||||
|
"contextTypeHints": {
|
||||||
|
"wielder": "entity"
|
||||||
|
},
|
||||||
|
"routines": {
|
||||||
|
"type": "routines",
|
||||||
|
"routines": {
|
||||||
|
"initial": {
|
||||||
|
"type": "routine",
|
||||||
|
"routine": {
|
||||||
|
"type": "actions",
|
||||||
|
"traversals": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "setDoesNotCollideWith"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "wielder"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "setPosition"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "wielder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "position"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "isVisible"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value": {
|
||||||
|
"type": "literal",
|
||||||
|
"value": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "direction"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value": {
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "wielder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "direction"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "moveFor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Vector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "fromDirection"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "direction"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 0.5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "destroy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"reflect": {
|
||||||
|
"type": "routine",
|
||||||
|
"routine": {
|
||||||
|
"type": "actions",
|
||||||
|
"traversals": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "isColliding"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value": {
|
||||||
|
"type": "literal",
|
||||||
|
"value": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "isHarmful"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value": {
|
||||||
|
"type": "literal",
|
||||||
|
"value": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Flow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "parallel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "actions",
|
||||||
|
"traversals": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "transition"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": {
|
||||||
|
"opacity": 0,
|
||||||
|
"speed": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 0.2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "moveFor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Math"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "Vector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "sub"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "position"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "other"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "position"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 0.2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "destroy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"isBehaving": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"collider": {
|
||||||
|
"params": {
|
||||||
|
"collisionGroup": "projectile",
|
||||||
|
"collisionStartActions": {
|
||||||
|
"type": "actions",
|
||||||
|
"traversals": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "context"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "add"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": "other"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "other"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "entity"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "currentRoutine"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value": {
|
||||||
|
"type": "literal",
|
||||||
|
"value": "reflect"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"isSensor": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"directional": {
|
||||||
|
"params": {
|
||||||
|
"directionCount": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emitter": {
|
||||||
|
"params": {
|
||||||
|
"particles": {
|
||||||
|
"harmful": {
|
||||||
|
"rate": 0.0125,
|
||||||
|
"count": 5,
|
||||||
|
"traits": {
|
||||||
|
"primitive": {
|
||||||
|
"params": {
|
||||||
|
"primitives": [
|
||||||
|
{
|
||||||
|
"type": "circle",
|
||||||
|
"radius": 0.5,
|
||||||
|
"line": {
|
||||||
|
"rgba": [
|
||||||
|
128,
|
||||||
|
128,
|
||||||
|
128
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"fill": {
|
||||||
|
"rgba": [
|
||||||
|
128,
|
||||||
|
128,
|
||||||
|
128
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"existent": {
|
||||||
|
"state": {
|
||||||
|
"name": "Rock (projectile)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"harmful": {
|
||||||
|
"params": {
|
||||||
|
"harmKnockback": 100,
|
||||||
|
"harmSpecs": [
|
||||||
|
{
|
||||||
|
"type": "blunt",
|
||||||
|
"power": 50,
|
||||||
|
"variance": 0.1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"layered": {},
|
||||||
|
"listed": {},
|
||||||
|
"mobile": {
|
||||||
|
"state": {
|
||||||
|
"speed": 200
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"physical": {},
|
||||||
|
"pictured": {
|
||||||
|
"params": {
|
||||||
|
"images": {
|
||||||
|
"initial": {
|
||||||
|
"offset": [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
12,
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"uri": "/rock.png"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"positioned": {},
|
||||||
|
"roomed": {},
|
||||||
|
"shaped": {
|
||||||
|
"params": {
|
||||||
|
"shape": {
|
||||||
|
"type": "rectangle",
|
||||||
|
"position": [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
12,
|
||||||
|
12
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"visible": {
|
||||||
|
"state": {
|
||||||
|
"isVisible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
134
fixtures/watering-can.entity.json
Normal file
134
fixtures/watering-can.entity.json
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
{
|
||||||
|
"traits": {
|
||||||
|
"behaved": {
|
||||||
|
"params": {
|
||||||
|
"contextTypeHints": {
|
||||||
|
"item": "entity",
|
||||||
|
"target": "vector",
|
||||||
|
"wielder": "entity"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"existent": {},
|
||||||
|
"item": {
|
||||||
|
"params": {
|
||||||
|
"itemActions": {
|
||||||
|
"type": "actions",
|
||||||
|
"traversals": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "item"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "useTool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"slotImageUris": {
|
||||||
|
"default": "/watering-can.png"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tool": {
|
||||||
|
"params": {
|
||||||
|
"condition": {
|
||||||
|
"type": "condition",
|
||||||
|
"operator": "is",
|
||||||
|
"operands": [
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "wielder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "layer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "tileAt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "target"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"actions": {
|
||||||
|
"type": "actions",
|
||||||
|
"traversals": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "wielder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "layer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "setTileAt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "invoke",
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"type": "traversal",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"type": "key",
|
||||||
|
"key": "target"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "literal",
|
||||||
|
"value": 7
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"target": {
|
||||||
|
"type": "projection",
|
||||||
|
"distance": 1,
|
||||||
|
"length": 1,
|
||||||
|
"width": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
1
fixtures/yarn-ball.entity.json
Normal file
1
fixtures/yarn-ball.entity.json
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"traits":{"collider":{"params":{"isSensor":true}},"existent":{"state":{"name":"Yarn Ball"}},"item":{"params":{"slotImageUris":{"default":"/yarn-ball.png"}}},"layered":{},"listed":{},"magnetic":{},"mobile":{},"pictured":{"params":{"images":{"initial":{"offset":[0,0],"size":[8,8],"uri":"/yarn-ball.png"}}}},"positioned":{},"roomed":{},"shaped":{"params":{"shape":{"type":"rectangle","position":[0,0],"size":[16,16]}}},"visible":{}}}
|
Loading…
Reference in New Issue
Block a user