chore: fixtures

This commit is contained in:
cha0s 2020-06-20 01:36:41 -05:00
parent 22ad681a18
commit 34e795afaf
4 changed files with 1300 additions and 0 deletions

View 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
}
}
}
}

View 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
}
}
}
}

View 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
}
}
}
}
}

View 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":{}}}