Graves and Tombstones (#705)

* dirt grave

* Update grave.yml

* tombstone

* Update grave.yml
This commit is contained in:
Ed
2025-01-07 18:08:47 +03:00
committed by GitHub
parent 676b85b22b
commit 35eb0c48c1
13 changed files with 230 additions and 1 deletions

View File

@@ -0,0 +1,50 @@
- type: entity
id: CP14BaseTombstone
name: tombstone
description: A piece of stone placed in memory of the dead.
categories: [ ForkFiltered ]
components:
- type: Clickable
- type: Sprite
noRot: true
sprite: _CP14/Structures/Decoration/tombstone.rsi
drawdepth: Mobs
offset: 0,0.3
layers:
- state: tomb
map: ["random"]
- type: RandomSprite
available:
- random:
cross: ""
cross2: ""
tomb: ""
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.2
density: 1000
layer:
- HalfWallLayer
- Opaque
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
CP14StoneBlock1:
min: 1
max: 2
- type: Climbable

View File

@@ -0,0 +1,104 @@
- type: entity
parent: CrateGeneric
id: CP14CrateDirtPitGrave
categories: [ ForkFiltered ]
name: dirt pit
description: "There's something buried here... or someone..."
components:
- type: Sprite
noRot: false
snapCardinals: true
sprite: _CP14/Structures/Storage/dirt_pit.rsi
layers:
- state: closed
- state: closed
map: ["enum.StorageVisualLayers.Door"]
- type: Icon
sprite: _CP14/Structures/Storage/dirt_pit.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200 # discourage just beating the grave to break it open
behaviors:
- !type:PlaySoundBehavior
sound:
collection: CP14Digging
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
CP14DirtBlock1:
min: 2
max: 3
- type: Fixtures
fixtures:
rune:
shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.4,0.4,0.4"
hard: false
mask:
- ItemMask
layer:
- SlipLayer
- type: Physics
bodyType: Static
- type: Grave
- type: EntityStorage
airtight: true
isCollidableWhenOpen: false
closeSound:
collection: CP14Digging
openSound:
collection: CP14Digging
- type: Construction
graph: CP14CrateDirtPitGrave
node: CP14CrateDirtPitGrave
- type: entity
parent: CP14CrateDirtPitGrave
id: CP14CrateDirtPitGraveFilled
suffix: Random filled
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: CP14TombstoneTable
rolls: !type:ConstantNumberSelector
value: 4
- type: entityTable
id: CP14TombstoneTable
table: !type:GroupSelector
children:
- !type:GroupSelector # Body parts
children:
- id: CP14TorsoZombie
- id: CP14LeftArmZombie
- id: CP14LeftFootZombie
- id: CP14LeftHandZombie
- id: CP14LeftLegZombie
- id: CP14RightArmZombie
- id: CP14RightFootZombie
- id: CP14RightHandZombie
- id: CP14RightLegZombie
- id: CP14HeadZombie
weight: 2
- id: CP14TorsoSkeleton
- id: CP14LeftArmSkeleton
- id: CP14LeftFootSkeleton
- id: CP14LeftHandSkeleton
- id: CP14LeftLegSkeleton
- id: CP14RightArmSkeleton
- id: CP14RightFootSkeleton
- id: CP14RightHandSkeleton
- id: CP14RightLegSkeleton
- id: CP14HeadSkeleton
weight: 2
- !type:GroupSelector # Rarities
weight: 0.2
children:
- id: CP14ModularSkeletonHalberd
- !type:NestedSelector
tableId: CP14StationCrateLoot

View File

@@ -3,6 +3,7 @@
modifiers:
- !type:AddComponents
components:
- type: Shovel
- type: ToolTileCompatible
- type: Tool
qualities:

View File

@@ -0,0 +1,16 @@
- type: constructionGraph
id: CP14CrateDirtPitGrave
start: start
graph:
- node: start
actions:
- !type:DestroyEntity {}
edges:
- to: CP14CrateDirtPitGrave
steps:
- material: CP14Dirt
amount: 3
doAfter: 5
- node: CP14CrateDirtPitGrave
entity: CP14CrateDirtPitGrave

View File

@@ -1,7 +1,7 @@
- type: construction
crystallPunkAllowed: true
name: Seedbed
description: A wooden tub with a pile of earth adapted for growing plants.
description: A wooden tub with a pile of earth adapted for growing plants. Can only be built on dirt tiles.
id: CP14SeedbedWooden
graph: CP14Seedbed
startNode: start

View File

@@ -0,0 +1,20 @@
- type: construction
crystallPunkAllowed: true
name: Dirt pit
description: you're wasting dirt to create a hole. Makes sense, doesn't it? Can only be built on dirt tiles.
id: CP14CrateDirtPitGrave
graph: CP14CrateDirtPitGrave
startNode: start
targetNode: CP14CrateDirtPitGrave
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Storage/dirt_pit.rsi
state: open
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- !type:TileType
targets:
- CP14FloorDirt

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 B

View File

@@ -0,0 +1,21 @@
{
"version": 1,
"license": "CLA",
"copyright": "Created by TheShuEd",
"size": {
"x": 32,
"y": 48
},
"states": [
{
"name": "cross"
},
{
"name": "cross2"
},
{
"name": "tomb",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 B

View File

@@ -0,0 +1,17 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Created by TheShuEd",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "open"
},
{
"name": "closed"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 957 B