Fences update (#458)

* small fences update

* Update wooden_fence.yml

* reparent all fences, fix high fence

* iron grille fix

* migration

* Update migration.yml

* construction recipes

* Update migration.yml

* fix dev map

* Update migration.yml

* Update migration.yml

* Update migration.yml
This commit is contained in:
Ed
2024-09-26 14:57:24 +03:00
committed by GitHub
parent 693ba93e44
commit a92c623672
57 changed files with 961 additions and 986 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,92 @@
- type: entity
parent: BaseStructure
id: CP14BaseFence
abstract: true
components:
- type: MeleeSound
soundGroups:
Brute:
path:
"/Audio/Weapons/boxingpunch1.ogg"
- type: Sprite
drawdepth: Mobs
- type: Physics
bodyType: Static
- type: Transform
anchored: true
- type: Climbable
delay: 3.0
- type: entity
parent: CP14BaseFence
id: CP14BaseFenceStraight
abstract: true
components:
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,-0.29"
density: 1000
mask:
- FullTileMask
layer:
- MidImpassable
- LowImpassable
- type: entity
parent: CP14BaseFence
id: CP14BaseFenceCorner
abstract: true
components:
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,-0.29"
density: 1000
mask:
- TableMask
layer:
- TableLayer
fix2:
shape:
!type:PhysShapeAabb
bounds: "0.29,-0.49,0.49,0.49"
density: 1000
mask:
- TableMask
layer:
- MidImpassable
- LowImpassable
- type: entity
parent: CP14BaseFenceStraight
id: CP14BaseFenceDoor
abstract: true
components:
- type: InteractionOutline
- type: Appearance
- type: Door
openSpriteState: door_opened
closedSpriteState: door_closed
canPry: false
occludes: false
changeAirtight: false
bumpOpen: false
clickOpen: true
canCrush: false
closeTimeOne: 0
closeTimeTwo: 0
openTimeOne: 0
openTimeTwo: 0
closedDrawDepth: Mobs
openDrawDepth: Mobs
openingAnimationTime: 0
closingAnimationTime: 0
openSound:
path: /Audio/Effects/door_open.ogg
closeSound:
path: /Audio/Effects/door_close.ogg

View File

@@ -7,10 +7,10 @@
components:
- type: Sprite
drawdepth: WallTops
sprite: _CP14/Structures/Walls/Natural/cliffs.rsi
sprite: _CP14/Structures/Fences/cliff_dirt.rsi
state: cliff
- type: Icon
sprite: _CP14/Structures/Walls/Natural/cliffs.rsi
sprite: _CP14/Structures/Fences/cliff_dirt.rsi
state: cliff
- type: Physics
bodyType: Static
@@ -34,10 +34,10 @@
components:
- type: Sprite
drawdepth: WallTops
sprite: _CP14/Structures/Walls/Natural/cliffs.rsi
sprite: _CP14/Structures/Fences/cliff_dirt.rsi
state: smallcorner
- type: Icon
sprite: _CP14/Structures/Walls/Natural/cliffs.rsi
sprite: _CP14/Structures/Fences/cliff_dirt.rsi
state: smallcorner
- type: Fixtures
fixtures:
@@ -67,10 +67,10 @@
components:
- type: Sprite
drawdepth: WallTops
sprite: _CP14/Structures/Walls/Natural/cliffs.rsi
sprite: _CP14/Structures/Fences/cliff_dirt.rsi
state: corner
- type: Icon
sprite: _CP14/Structures/Walls/Natural/cliffs.rsi
sprite: _CP14/Structures/Fences/cliff_dirt.rsi
state: corner
- type: Fixtures
fixtures:
@@ -91,10 +91,10 @@
components:
- type: Sprite
drawdepth: WallTops
sprite: _CP14/Structures/Walls/Natural/cliffs.rsi
sprite: _CP14/Structures/Fences/cliff_dirt.rsi
state: end_left
- type: Icon
sprite: _CP14/Structures/Walls/Natural/cliffs.rsi
sprite: _CP14/Structures/Fences/cliff_dirt.rsi
state: end_left
- type: entity
@@ -104,8 +104,8 @@
components:
- type: Sprite
drawdepth: WallTops
sprite: _CP14/Structures/Walls/Natural/cliffs.rsi
sprite: _CP14/Structures/Fences/cliff_dirt.rsi
state: end_right
- type: Icon
sprite: _CP14/Structures/Walls/Natural/cliffs.rsi
sprite: _CP14/Structures/Fences/cliff_dirt.rsi
state: end_right

View File

@@ -0,0 +1,107 @@
- type: entity
parent:
- CP14BaseFence
id: CP14FenceIronGrilleBase
name: iron grille
description: A strong barrier made of iron bars welded together.
abstract: true
components:
- type: Sprite
sprite: _CP14/Structures/Fences/iron_grille.rsi
- type: Icon
sprite: _CP14/Structures/Fences/iron_grille.rsi
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: StructuralMetallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 250
behaviors:
#- !type:PlaySoundBehavior
# sound:
# collection: WoodDestroy
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
parent:
- CP14FenceIronGrilleBase
- CP14BaseFenceStraight
id: CP14FenceIronGrilleStraight
suffix: Straight
components:
- type: Icon
state: straight
- type: Sprite
state: straight
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,-0.29"
density: 1000
mask:
- FullTileMask
layer:
- MidImpassable
- LowImpassable
- WallLayer
- type: entity
parent:
- CP14BaseFenceCorner
- CP14FenceIronGrilleBase
id: CP14FenceIronGrilleCorner
suffix: Corner
components:
- type: Icon
state: corner
- type: Sprite
state: corner
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,-0.29"
density: 1000
mask:
- TableMask
layer:
- MidImpassable
- LowImpassable
- WallLayer
fix2:
shape:
!type:PhysShapeAabb
bounds: "0.29,-0.49,0.49,0.49"
density: 1000
mask:
- TableMask
layer:
- MidImpassable
- LowImpassable
- WallLayer
- type: entity
parent:
- CP14BaseFenceDoor
- CP14FenceIronGrilleStraight
id: CP14FenceIronGrilleGate
name: iron grille gate
description: Heavy iron gates in bars. Looks serious.
components:
- type: Icon
state: door_closed
- type: Sprite
layers:
- state: door_closed
map: ["enum.DoorVisualLayers.Base"]
- type: Door
openSound:
collection: MetalScrape
closeSound:
collection: MetalScrape

View File

@@ -0,0 +1,82 @@
- type: entity
parent:
- CP14BaseFence
- CP14BaseFlammableSpreading
id: CP14BaseFenceWood
name: wooden fence
description: A wooden fence. Don't plant splinters!
abstract: true
components:
- type: Icon
sprite: _CP14/Structures/Fences/wooden_fence.rsi
- type: Sprite
sprite: _CP14/Structures/Fences/wooden_fence.rsi
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 150
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:SpawnEntitiesBehavior
spawn:
CP14WoodenPlanks1:
min: 1
max: 2
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Climbable
delay: 5
- type: entity
parent:
- CP14BaseFenceStraight
- CP14BaseFenceWood
id: CP14FenceWoodStraight
suffix: Straight
components:
- type: Icon
state: straight
- type: Sprite
state: straight
- type: Construction
graph: CP14FenceWood
node: CP14FenceWoodStraight
- type: entity
parent:
- CP14BaseFenceCorner
- CP14BaseFenceWood
id: CP14FenceWoodCorner
suffix: Corner
components:
- type: Icon
state: corner
- type: Sprite
state: corner
- type: Construction
graph: CP14FenceWood
node: CP14FenceWoodCorner
- type: entity
parent:
- CP14BaseFenceDoor
- CP14BaseFenceWood
id: CP14FenceWoodGate
name: wooden fence gate
description: Big door in a big fence. For big people.
components:
- type: Icon
state: door_closed
- type: Sprite
layers:
- state: door_closed
map: ["enum.DoorVisualLayers.Base"]
- type: Construction
graph: CP14FenceWood
node: CP14FenceWoodGate

View File

@@ -0,0 +1,82 @@
- type: entity
parent:
- CP14BaseFence
- CP14BaseFlammableSpreading
id: CP14BaseFenceWoodSmall
name: small wooden fence
description: A small wooden fence. It protects the area from unnecessary visitors who don't have a towel.
abstract: true
components:
- type: Icon
sprite: _CP14/Structures/Fences/wooden_fence_small.rsi
- type: Sprite
sprite: _CP14/Structures/Fences/wooden_fence_small.rsi
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 75
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:SpawnEntitiesBehavior
spawn:
CP14WoodenPlanks1:
min: 0
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Climbable
delay: 2.5
- type: entity
parent:
- CP14BaseFenceStraight
- CP14BaseFenceWoodSmall
id: CP14FenceWoodSmallStraight
suffix: Straight
components:
- type: Icon
state: straight
- type: Sprite
state: straight
- type: Construction
graph: CP14FenceWood
node: CP14FenceWoodSmallStraight
- type: entity
parent:
- CP14BaseFenceCorner
- CP14BaseFenceWoodSmall
id: CP14FenceWoodSmallCorner
suffix: Corner
components:
- type: Icon
state: corner
- type: Sprite
state: corner
- type: Construction
graph: CP14FenceWood
node: CP14FenceWoodSmallCorner
- type: entity
parent:
- CP14BaseFenceDoor
- CP14BaseFenceWoodSmall
id: CP14FenceWoodSmallGate
name: small wooden fence gate
description: Looking at this gate, a familiar image pops up in your head. Where's my piggy?
components:
- type: Icon
state: door_closed
- type: Sprite
layers:
- state: door_closed
map: ["enum.DoorVisualLayers.Base"]
- type: Construction
graph: CP14FenceWood
node: CP14FenceWoodSmallGate

View File

@@ -1,192 +0,0 @@
- type: entity
parent:
- BaseStructure
id: CP14IronGrilleBase
name: iron grille
description: A strong barrier made of iron bars welded together.
abstract: true
components:
- type: Sprite
sprite: _CP14/Structures/Walls/iron_grille.rsi
drawdepth: Mobs
- type: Physics
bodyType: Static
- type: Transform
anchored: true
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 125
behaviors:
#- !type:PlaySoundBehavior
# sound:
# collection: WoodDestroy
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
parent: CP14IronGrilleBase
id: CP14IronGrilleStraight
suffix: Straight
components:
- type: Icon
sprite: _CP14/Structures/Walls/iron_grille.rsi
state: straight
- type: Sprite
layers:
- state: straight
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.1,-0.5,0.1,0.5"
density: 1000
mask:
- FullTileMask
layer:
- MidImpassable
- LowImpassable
- WallLayer
- type: entity
parent: CP14IronGrilleBase
id: CP14IronGrilleCorner
suffix: Corner
components:
- type: Icon
sprite: _CP14/Structures/Walls/iron_grille.rsi
state: corner
- type: Sprite
layers:
- state: corner
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.1,-0.1,0.1,0.5"
density: 1000
mask:
- TableMask
layer:
- TableLayer
fix2:
shape:
!type:PhysShapeAabb
bounds: "-0.5,-0.1,-0.1,0.1"
density: 1000
mask:
- TableMask
layer:
- MidImpassable
- LowImpassable
- WallLayer
- type: entity
parent: CP14IronGrilleBase
id: CP14IronGrilleTJunction
suffix: T-Junction
components:
- type: Icon
sprite: _CP14/Structures/Walls/iron_grille.rsi
state: tjunction
- type: Sprite
layers:
- state: tjunction
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.10,-0.5,0.10,0.5"
density: 1000
mask:
- TableMask
layer:
- TableLayer
fix2:
shape:
!type:PhysShapeAabb
bounds: "-0.5,-0.1,-0.1,0.1"
density: 1000
mask:
- TableMask
layer:
- MidImpassable
- LowImpassable
- WallLayer
- type: entity
parent: CP14IronGrilleBase
id: CP14IronGrilleGate
name: iron grille gate
description: Do you have any idea what awaits you behind these gates? It can be either a toilet or a luxurious mansion.
components:
- type: Sprite
drawdepth: Mobs
layers:
- state: door_closed
map: ["enum.DoorVisualLayers.Base"]
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.1,-0.5,0.1,0.5"
density: 1000
mask:
- FullTileMask
layer:
- MidImpassable
- LowImpassable
- WallLayer
- type: InteractionOutline
- type: Door
openSpriteState: door_opened
closedSpriteState: door_closed
canPry: false
occludes: false
changeAirtight: false
bumpOpen: false
clickOpen: true
canCrush: false
closeTimeOne: 0
closeTimeTwo: 0
openTimeOne: 0
openTimeTwo: 0
closedDrawDepth: Mobs
openDrawDepth: Mobs
openingAnimationTime: 0
closingAnimationTime: 0
openSound:
collection: MetalScrape
closeSound:
collection: MetalScrape
- type: Appearance
- type: entity
parent: CP14IronGrilleGate
id: CP14IronGrilleGateLockedTavern
suffix: Tavern locked
components:
- type: ContainerContainer
containers:
lock_slot: !type:ContainerSlot
- type: Lock
locked: true
lockSlotId: lock_slot
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockAlchemy
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock

View File

@@ -1,344 +0,0 @@
- type: entity
parent:
- BaseStructure
- CP14BaseFlammableSpreading
id: CP14BaseFenceWood
name: wooden fence
description: Wooden piece of fencing. I hope there is babushka's garden behind it.
abstract: true
components:
- type: MeleeSound
soundGroups:
Brute:
path:
"/Audio/Weapons/boxingpunch1.ogg"
- type: Sprite
sprite: _CP14/Structures/Walls/wooden_fence.rsi
drawdepth: Mobs
- type: Physics
bodyType: Static
- type: Transform
anchored: true
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 125
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:SpawnEntitiesBehavior
spawn:
MaterialWoodPlank:
min: 1
max: 2
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Climbable
delay: 5.0
- type: entity
parent: CP14BaseFenceWood
id: CP14BaseFenceWoodSmall
name: small wooden fence
description: Wooden piece of small fence. The best protection for the fencing of a private territory!
abstract: true
components:
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 75
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:SpawnEntitiesBehavior
spawn:
MaterialWoodPlank:
min: 0
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Climbable
delay: 2.5
# High
- type: entity
parent: CP14BaseFenceWood
id: CP14FenceWoodHighStraight
suffix: Straight
components:
- type: Icon
sprite: _CP14/Structures/Walls/wooden_fence.rsi
state: straight
- type: Sprite
layers:
- state: straight
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.10,-0.5,0.10,0.5"
density: 1000
mask:
- FullTileMask
layer:
- MidImpassable
- LowImpassable
- type: entity
parent: CP14BaseFenceWood
id: CP14FenceWoodHighCorner
suffix: Corner
components:
- type: Icon
sprite: _CP14/Structures/Walls/wooden_fence.rsi
state: corner
- type: Sprite
layers:
- state: corner
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.1,-0.1,0.1,0.5"
density: 1000
mask:
- TableMask
layer:
- TableLayer
fix2:
shape:
!type:PhysShapeAabb
bounds: "-0.5,-0.1,-0.1,0.1"
density: 1000
mask:
- TableMask
layer:
- MidImpassable
- LowImpassable
- type: entity
parent: CP14BaseFenceWood
id: CP14FenceWoodHighTJunction
suffix: T-Junction
components:
- type: Icon
sprite: _CP14/Structures/Walls/wooden_fence.rsi
state: tjunction
- type: Sprite
layers:
- state: tjunction
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.10,-0.5,0.10,0.5"
density: 1000
mask:
- TableMask
layer:
- TableLayer
fix2:
shape:
!type:PhysShapeAabb
bounds: "-0.5,-0.1,-0.1,0.1"
density: 1000
mask:
- TableMask
layer:
- MidImpassable
- LowImpassable
- type: entity
parent: CP14BaseFenceWood
id: CP14FenceWoodHighGate
name: wooden fence gate
description: Do you have any idea what awaits you behind these gates? It can be either a toilet or a luxurious mansion.
components:
- type: Sprite
drawdepth: Mobs
layers:
- state: door_closed
map: ["enum.DoorVisualLayers.Base"]
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.1,-0.5,0.1,0.5"
density: 1000
mask:
- FullTileMask
layer:
- MidImpassable
- LowImpassable
- type: InteractionOutline
- type: Door
openSpriteState: door_opened
closedSpriteState: door_closed
canPry: false
occludes: false
changeAirtight: false
bumpOpen: false
clickOpen: true
canCrush: false
closeTimeOne: 0
closeTimeTwo: 0
openTimeOne: 0
openTimeTwo: 0
closedDrawDepth: Mobs
openDrawDepth: Mobs
openingAnimationTime: 0
closingAnimationTime: 0
openSound:
path: /Audio/Effects/door_open.ogg
closeSound:
path: /Audio/Effects/door_close.ogg
- type: Appearance
#Small
- type: entity
parent: CP14BaseFenceWoodSmall
id: CP14FenceWoodSmallStraight
suffix: Straight
components:
- type: Icon
sprite: _CP14/Structures/Walls/wooden_fence.rsi
state: straight_small
- type: Sprite
layers:
- state: straight_small
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.10,-0.5,0.10,0.5"
density: 1000
mask:
- FullTileMask
layer:
- MidImpassable
- LowImpassable
- type: entity
parent: CP14BaseFenceWoodSmall
id: CP14FenceWoodSmallCorner
suffix: Corner
components:
- type: Icon
sprite: _CP14/Structures/Walls/wooden_fence.rsi
state: corner_small
- type: Sprite
layers:
- state: corner_small
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.1,-0.1,0.1,0.5"
density: 1000
mask:
- TableMask
layer:
- TableLayer
fix2:
shape:
!type:PhysShapeAabb
bounds: "-0.5,-0.1,-0.1,0.1"
density: 1000
mask:
- TableMask
layer:
- MidImpassable
- LowImpassable
- type: entity
parent: CP14BaseFenceWoodSmall
id: CP14FenceWoodSmallTJunction
suffix: T-Junction
components:
- type: Icon
sprite: _CP14/Structures/Walls/wooden_fence.rsi
state: tjunction_small
- type: Sprite
layers:
- state: tjunction_small
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.10,-0.5,0.10,0.5"
density: 1000
mask:
- TableMask
layer:
- TableLayer
fix2:
shape:
!type:PhysShapeAabb
bounds: "-0.5,-0.1,-0.1,0.1"
density: 1000
mask:
- TableMask
layer:
- MidImpassable
- LowImpassable
- type: entity
parent: CP14BaseFenceWoodSmall
id: CP14FenceWoodSmallGate
name: wooden fence gate
description: Looking at this gate, a familiar image pops up in your head. Where's my piggy?
components:
- type: Sprite
drawdepth: Mobs
layers:
- state: door_closed_small
map: ["enum.DoorVisualLayers.Base"]
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.5,-0.1,0.5,0.1"
density: 1000
mask:
- FullTileMask
layer:
- MidImpassable
- LowImpassable
- type: InteractionOutline
- type: Door
openSpriteState: door_opened_small
closedSpriteState: door_closed_small
canPry: false
occludes: false
changeAirtight: false
bumpOpen: false
clickOpen: true
canCrush: false
closeTimeOne: 0
closeTimeTwo: 0
openTimeOne: 0
openTimeTwo: 0
closedDrawDepth: Mobs
openDrawDepth: Mobs
openingAnimationTime: 0
closingAnimationTime: 0
openSound:
path: /Audio/Effects/door_open.ogg
closeSound:
path: /Audio/Effects/door_close.ogg
- type: Appearance

View File

@@ -0,0 +1,56 @@
- type: constructionGraph
id: CP14FenceWood
start: start
graph:
- node: start
actions:
- !type:DestroyEntity {}
edges:
- to: CP14FenceWoodSmallStraight
steps:
- material: CP14WoodenPlanks
amount: 2
doAfter: 2
- to: CP14FenceWoodSmallCorner
steps:
- material: CP14WoodenPlanks
amount: 2
doAfter: 2
- to: CP14FenceWoodSmallGate
steps:
- material: CP14WoodenPlanks
amount: 2
doAfter: 2
- to: CP14FenceWoodStraight
steps:
- material: CP14WoodenPlanks
amount: 4
doAfter: 2
- to: CP14FenceWoodCorner
steps:
- material: CP14WoodenPlanks
amount: 4
doAfter: 2
- to: CP14FenceWoodGate
steps:
- material: CP14WoodenPlanks
amount: 4
doAfter: 2
- node: CP14FenceWoodSmallStraight
entity: CP14FenceWoodSmallStraight
- node: CP14FenceWoodSmallCorner
entity: CP14FenceWoodSmallCorner
- node: CP14FenceWoodSmallGate
entity: CP14FenceWoodSmallGate
- node: CP14FenceWoodStraight
entity: CP14FenceWoodStraight
- node: CP14FenceWoodCorner
entity: CP14FenceWoodCorner
- node: CP14FenceWoodGate
entity: CP14FenceWoodGate

View File

@@ -202,3 +202,123 @@
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
# Small fence
- type: construction
crystallPunkAllowed: true
id: CP14FenceWoodSmallStraight
name: small wooden fence
description: A small wooden fence. It protects the area from unnecessary visitors who don't have a towel.
graph: CP14FenceWood
startNode: start
targetNode: CP14FenceWoodSmallStraight
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Fences/wooden_fence_small.rsi
state: straight
objectType: Structure
placementMode: SnapgridCenter
canRotate: true
canBuildInImpassable: true
conditions:
- !type:TileNotBlocked
- type: construction
crystallPunkAllowed: true
id: CP14FenceWoodSmallCorner
name: small wooden fence (corner)
description: A small wooden fence. It protects the area from unnecessary visitors who don't have a towel.
graph: CP14FenceWood
startNode: start
targetNode: CP14FenceWoodSmallCorner
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Fences/wooden_fence_small.rsi
state: corner
objectType: Structure
placementMode: SnapgridCenter
canRotate: true
canBuildInImpassable: true
conditions:
- !type:TileNotBlocked
- type: construction
crystallPunkAllowed: true
id: CP14FenceWoodSmallGate
name: small wooden fence (door)
description: Looking at this gate, a familiar image pops up in your head. Where's my piggy?
graph: CP14FenceWood
startNode: start
targetNode: CP14FenceWoodSmallGate
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Fences/wooden_fence_small.rsi
state: door_opened
objectType: Structure
placementMode: SnapgridCenter
canRotate: true
canBuildInImpassable: true
conditions:
- !type:TileNotBlocked
# Fence
- type: construction
crystallPunkAllowed: true
id: CP14FenceWoodStraight
name: wooden fence
description: A wooden fence. Don't plant splinters!
graph: CP14FenceWood
startNode: start
targetNode: CP14FenceWoodStraight
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Fences/wooden_fence.rsi
state: straight
objectType: Structure
placementMode: SnapgridCenter
canRotate: true
canBuildInImpassable: true
conditions:
- !type:TileNotBlocked
- type: construction
crystallPunkAllowed: true
id: CP14FenceWoodCorner
name: wooden fence
description: A wooden fence. Don't plant splinters!
graph: CP14FenceWood
startNode: start
targetNode: CP14FenceWoodCorner
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Fences/wooden_fence.rsi
state: corner
objectType: Structure
placementMode: SnapgridCenter
canRotate: true
canBuildInImpassable: true
conditions:
- !type:TileNotBlocked
- type: construction
crystallPunkAllowed: true
id: CP14FenceWoodGate
name: wooden fence gate
description: Big door in a big fence. For big people.
graph: CP14FenceWood
startNode: start
targetNode: CP14FenceWoodGate
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Fences/wooden_fence.rsi
state: door_opened
objectType: Structure
placementMode: SnapgridCenter
canRotate: true
canBuildInImpassable: true
conditions:
- !type:TileNotBlocked

View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -4,7 +4,7 @@
"copyright": "by TheShuEd (github)",
"size": {
"x": 32,
"y": 64
"y": 96
},
"states": [
{
@@ -22,10 +22,6 @@
{
"name": "door_opened",
"directions": 4
},
{
"name": "tjunction",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,27 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "by Ko4erga (discord), edited and recolored by TheShuEd",
"size": {
"x": 32,
"y": 96
},
"states": [
{
"name": "corner",
"directions": 4
},
{
"name": "door_closed",
"directions": 4
},
{
"name": "door_opened",
"directions": 4
},
{
"name": "straight",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -7,10 +7,6 @@
"y": 64
},
"states": [
{
"name": "straight",
"directions": 4
},
{
"name": "corner",
"directions": 4
@@ -24,27 +20,7 @@
"directions": 4
},
{
"name": "tjunction",
"directions": 4
},
{
"name": "straight_small",
"directions": 4
},
{
"name": "corner_small",
"directions": 4
},
{
"name": "door_closed_small",
"directions": 4
},
{
"name": "door_opened_small",
"directions": 4
},
{
"name": "tjunction_small",
"name": "straight",
"directions": 4
}
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 953 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 572 B

View File

@@ -1,46 +0,0 @@
{
"version": 1,
"size": {
"x": 32,
"y": 64
},
"license": "CC-BY-SA-3.0",
"copyright": "Created by TheShuEd (Discord) for CrystallPunk14",
"states": [
{
"name": "wood0",
"directions": 4
},
{
"name": "wood1",
"directions": 4
},
{
"name": "wood2",
"directions": 4
},
{
"name": "wood3",
"directions": 4
},
{
"name": "wood4",
"directions": 4
},
{
"name": "wood5",
"directions": 4
},
{
"name": "wood6",
"directions": 4
},
{
"name": "wood7",
"directions": 4
},
{
"name": "full"
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 804 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 607 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 801 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 806 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 606 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 728 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 526 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1022 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 986 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 985 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 938 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -83,6 +83,17 @@ CP14WoodenDoorTavernAlchemyLocked: CP14WoodenDoorTavernAlchemy
#2024-09-24
CP14WallpaperPink30: CP14WallpaperPurple30
#2024-09-25
CP14IronGrilleStraight: CP14FenceIronGrilleStraight
CP14IronGrilleCorner: CP14FenceIronGrilleCorner
CP14IronGrilleGate: CP14FenceIronGrilleGate
CP14IronGrilleTJunction: null
CP14FenceWoodSmallTJunction: null
CP14FenceWoodHighCorner: null
CP14FenceWoodHighGate: null
CP14FenceWoodHighStraight: null
CP14IronGrilleGateLockedTavern: null
# <---> CrystallPunk migration zone end