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