- Rabbits, deer and boars with procedural meshes and animated legs, a state machine (idle/wander/flee/charge/dead) and heightmap steering that avoids water, cliffs, the world edge, trees and buildings - Spawner keeps a habitat-based budget around the player (6/4/3) - Melee needs a weapon or tool (club, spear, axe, pickaxe); box sweep hits - Wooden spear (thrust or throw) and crude bow with draw-scaled arrows; projectiles stick in the world as saved pickups - Carcasses: E to butcher for meat, hide and embedded arrows - Boars charge and gore when hit; hurt flash and a brief healing pause - Cooked meat gives Well fed (faster stamina and healing); buffs saved - Hide cloak: wear for warmth, saved, goes in the grave on death - Feathers as meadow pickups (appended, existing save ids unchanged) - New test_creatures_combat suite; run_all.sh gets a per-suite time limit
380 lines
8.5 KiB
JSON
380 lines
8.5 KiB
JSON
{
|
|
"items": [
|
|
{
|
|
"id": "stick",
|
|
"name": "Stick",
|
|
"category": "resource",
|
|
"stack": 50,
|
|
"description": "A sturdy branch. Handles, kindling, fuel.",
|
|
"mesh": "stick",
|
|
"fuel": 20
|
|
},
|
|
{
|
|
"id": "stone",
|
|
"name": "Stone",
|
|
"category": "resource",
|
|
"stack": 50,
|
|
"description": "A fist-sized stone.",
|
|
"mesh": "stone"
|
|
},
|
|
{
|
|
"id": "flint",
|
|
"name": "Flint",
|
|
"category": "resource",
|
|
"stack": 50,
|
|
"description": "Sharp-edged stone. Knaps into blades and axe heads.",
|
|
"mesh": "flint"
|
|
},
|
|
{
|
|
"id": "wood",
|
|
"name": "Wood",
|
|
"category": "resource",
|
|
"stack": 50,
|
|
"description": "Split timber from a felled tree.",
|
|
"mesh": "wood",
|
|
"fuel": 60
|
|
},
|
|
{
|
|
"id": "stone_axe",
|
|
"name": "Stone Axe",
|
|
"category": "tool",
|
|
"stack": 1,
|
|
"description": "Chops trees. Hold it and click on a tree.",
|
|
"mesh": "stone_axe",
|
|
"tool": {
|
|
"kind": "axe",
|
|
"tier": 1,
|
|
"damage": 1.0
|
|
}
|
|
},
|
|
{
|
|
"id": "stone_pickaxe",
|
|
"name": "Stone Pickaxe",
|
|
"category": "tool",
|
|
"stack": 1,
|
|
"description": "Breaks boulders into stone and flint.",
|
|
"mesh": "stone_pickaxe",
|
|
"tool": {
|
|
"kind": "pickaxe",
|
|
"tier": 1,
|
|
"damage": 1.0
|
|
}
|
|
},
|
|
{
|
|
"id": "club",
|
|
"name": "Wooden Club",
|
|
"category": "weapon",
|
|
"stack": 1,
|
|
"description": "Crude, heavy, effective. One blow fells a rabbit.",
|
|
"mesh": "club",
|
|
"weapon": {
|
|
"damage": 12,
|
|
"reach": 2.4,
|
|
"stamina": 8,
|
|
"cooldown": 0.55
|
|
}
|
|
},
|
|
{
|
|
"id": "campfire",
|
|
"name": "Campfire",
|
|
"category": "placeable",
|
|
"stack": 5,
|
|
"description": "Light and warmth. Place it, then keep it burning.",
|
|
"mesh": "campfire",
|
|
"place": {
|
|
"piece": "campfire",
|
|
"footprint": [
|
|
1.4,
|
|
1.4
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "workbench",
|
|
"name": "Workbench",
|
|
"category": "placeable",
|
|
"stack": 1,
|
|
"description": "Crafting station for better gear and storage.",
|
|
"mesh": "workbench",
|
|
"place": {
|
|
"piece": "workbench",
|
|
"footprint": [
|
|
2.0,
|
|
1.1
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "chest",
|
|
"name": "Wooden Chest",
|
|
"category": "placeable",
|
|
"stack": 5,
|
|
"description": "Stores 16 stacks.",
|
|
"mesh": "chest",
|
|
"place": {
|
|
"piece": "chest",
|
|
"footprint": [
|
|
1.2,
|
|
0.8
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "fiber",
|
|
"name": "Plant Fiber",
|
|
"category": "resource",
|
|
"stack": 50,
|
|
"description": "Tough stems from bushes. Twine, torch wrapping.",
|
|
"mesh": "fiber",
|
|
"fuel": 5
|
|
},
|
|
{
|
|
"id": "berries",
|
|
"name": "Berries",
|
|
"category": "food",
|
|
"stack": 30,
|
|
"description": "A handful of wild berries. Right-click to eat.",
|
|
"mesh": "berries",
|
|
"food": {
|
|
"hunger": 9,
|
|
"health": 2
|
|
}
|
|
},
|
|
{
|
|
"id": "mushroom",
|
|
"name": "Mushroom",
|
|
"category": "food",
|
|
"stack": 30,
|
|
"description": "Edible raw, much better roasted at a campfire.",
|
|
"mesh": "mushroom",
|
|
"food": {
|
|
"hunger": 6,
|
|
"health": 0
|
|
}
|
|
},
|
|
{
|
|
"id": "roasted_mushroom",
|
|
"name": "Roasted Mushroom",
|
|
"category": "food",
|
|
"stack": 30,
|
|
"description": "Smoky and filling. Right-click to eat.",
|
|
"mesh": "roasted_mushroom",
|
|
"food": {
|
|
"hunger": 24,
|
|
"health": 8
|
|
}
|
|
},
|
|
{
|
|
"id": "torch",
|
|
"name": "Torch",
|
|
"category": "tool",
|
|
"stack": 1,
|
|
"description": "Hold it for light and a little warmth.",
|
|
"mesh": "torch",
|
|
"light": {
|
|
"range": 10.0,
|
|
"energy": 1.6,
|
|
"heat": 0.3
|
|
}
|
|
},
|
|
{
|
|
"id": "grave",
|
|
"name": "Grave",
|
|
"category": "placeable",
|
|
"stack": 1,
|
|
"description": "Where you fell. Your belongings are inside.",
|
|
"mesh": "grave",
|
|
"hidden": true,
|
|
"place": {
|
|
"piece": "grave",
|
|
"footprint": [
|
|
1.0,
|
|
1.6
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "wood_floor",
|
|
"name": "Wood Floor",
|
|
"category": "building",
|
|
"stack": 20,
|
|
"description": "2 x 2 m. Snaps to other pieces. Sits level on the ground.",
|
|
"mesh": "wood_floor",
|
|
"place": {
|
|
"piece": "build",
|
|
"kind": "floor"
|
|
}
|
|
},
|
|
{
|
|
"id": "wood_wall",
|
|
"name": "Wood Wall",
|
|
"category": "building",
|
|
"stack": 20,
|
|
"description": "2 x 2 m. Snaps to floor edges, other walls and roofs.",
|
|
"mesh": "wood_wall",
|
|
"place": {
|
|
"piece": "build",
|
|
"kind": "wall"
|
|
}
|
|
},
|
|
{
|
|
"id": "wood_door",
|
|
"name": "Wood Door",
|
|
"category": "building",
|
|
"stack": 10,
|
|
"description": "A wall with a door in it. E opens and closes it.",
|
|
"mesh": "wood_door",
|
|
"place": {
|
|
"piece": "door",
|
|
"kind": "door"
|
|
}
|
|
},
|
|
{
|
|
"id": "wood_roof",
|
|
"name": "Wood Roof",
|
|
"category": "building",
|
|
"stack": 20,
|
|
"description": "Rises 1 m over 2 m. Two from opposite walls of a 4 m hut meet at the ridge.",
|
|
"mesh": "wood_roof",
|
|
"place": {
|
|
"piece": "build",
|
|
"kind": "roof"
|
|
}
|
|
},
|
|
{
|
|
"id": "wood_gable",
|
|
"name": "Wood Gable",
|
|
"category": "building",
|
|
"stack": 20,
|
|
"description": "Triangle that closes the end of a roof. R to flip it.",
|
|
"mesh": "wood_gable",
|
|
"place": {
|
|
"piece": "build",
|
|
"kind": "gable"
|
|
}
|
|
},
|
|
{
|
|
"id": "bed",
|
|
"name": "Bed",
|
|
"category": "placeable",
|
|
"stack": 1,
|
|
"description": "Sets your spawn point. Sleep through the night under a roof.",
|
|
"mesh": "bed",
|
|
"place": {
|
|
"piece": "bed",
|
|
"footprint": [
|
|
1.0,
|
|
2.1
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "raw_meat",
|
|
"name": "Raw Meat",
|
|
"category": "food",
|
|
"stack": 20,
|
|
"description": "Cook it at a campfire. Eaten raw it barely helps.",
|
|
"mesh": "raw_meat",
|
|
"food": {
|
|
"hunger": 5,
|
|
"health": -4
|
|
}
|
|
},
|
|
{
|
|
"id": "cooked_meat",
|
|
"name": "Cooked Meat",
|
|
"category": "food",
|
|
"stack": 20,
|
|
"description": "Hearty. Leaves you Well fed: faster stamina and healing for 10 minutes.",
|
|
"mesh": "cooked_meat",
|
|
"food": {
|
|
"hunger": 34,
|
|
"health": 12,
|
|
"buff": {
|
|
"id": "well_fed",
|
|
"name": "Well fed",
|
|
"seconds": 600,
|
|
"stamina_regen": 1.3,
|
|
"health_regen": 2.0
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "hide",
|
|
"name": "Hide",
|
|
"category": "resource",
|
|
"stack": 20,
|
|
"description": "Raw hide from a deer or boar. Makes a warm cloak.",
|
|
"mesh": "hide"
|
|
},
|
|
{
|
|
"id": "feather",
|
|
"name": "Feather",
|
|
"category": "resource",
|
|
"stack": 50,
|
|
"description": "Found in meadows. Fletching for arrows.",
|
|
"mesh": "feather"
|
|
},
|
|
{
|
|
"id": "spear",
|
|
"name": "Wooden Spear",
|
|
"category": "weapon",
|
|
"stack": 1,
|
|
"description": "LMB thrusts (long reach). RMB throws it: pick it up again where it lands.",
|
|
"mesh": "spear",
|
|
"weapon": {
|
|
"damage": 18,
|
|
"reach": 3.1,
|
|
"stamina": 10,
|
|
"cooldown": 0.6,
|
|
"throw": {
|
|
"damage": 30,
|
|
"speed": 24.0,
|
|
"stamina": 14
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "bow",
|
|
"name": "Crude Bow",
|
|
"category": "weapon",
|
|
"stack": 1,
|
|
"description": "Hold LMB to draw, release to shoot. Uses arrows.",
|
|
"mesh": "bow",
|
|
"bow": {
|
|
"ammo": "arrow",
|
|
"draw": 0.9,
|
|
"damage": [
|
|
8,
|
|
32
|
|
],
|
|
"speed": [
|
|
16.0,
|
|
46.0
|
|
],
|
|
"stamina": 6
|
|
}
|
|
},
|
|
{
|
|
"id": "arrow",
|
|
"name": "Flint Arrow",
|
|
"category": "weapon",
|
|
"stack": 50,
|
|
"description": "Ammunition for the bow. Arrows that miss can be picked up again.",
|
|
"mesh": "arrow"
|
|
},
|
|
{
|
|
"id": "hide_cloak",
|
|
"name": "Hide Cloak",
|
|
"category": "tool",
|
|
"stack": 1,
|
|
"description": "Right-click to wear it (+15 warmth, less chill from wet). Take it off from the inventory screen.",
|
|
"mesh": "hide_cloak",
|
|
"wear": {
|
|
"warmth": 15,
|
|
"wet_chill": 0.6
|
|
}
|
|
}
|
|
]
|
|
}
|