Content pack (#444)

* cable sprite

* steel plates

* iron wall

* vladimirs resprite

* resprite cables

* cable item

* lv cable finish

* round table

* curtains! (need resprite)

* plates + cucumbers

* more procedural cooking

* some tweaks

* fix test

* пипяу

* finish

* ah

* l

* pip

* some cool

* hide station ai

* revert localization

* Update crates.yml

* Update crates.yml

* red and blue curtains

* Update crates.yml

* Update crates.yml

* fix cupboard

* Update exp_tavern.yml

* fix sliceable recursion
This commit is contained in:
Ed
2024-09-23 14:53:03 +03:00
committed by GitHub
parent 22171de45a
commit 0456d40bef
128 changed files with 6714 additions and 4645 deletions

View File

@@ -12,5 +12,11 @@ namespace Content.Server.Power.Components
[DataField("blockingWireType")]
public CableType BlockingCableType = CableType.HighVoltage;
/// <summary>
/// in the main game we can't put wires ON tiles, but here some wires can lie on top of tiles.
/// </summary>
[DataField]
public bool CP14OnlySubfloor = true;
}
}

View File

@@ -32,7 +32,7 @@ public sealed partial class CableSystem
var snapPos = grid.TileIndicesFor(args.ClickLocation);
var tileDef = (ContentTileDefinition) _tileManager[grid.GetTileRef(snapPos).Tile.TypeId];
if (!tileDef.IsSubFloor || !tileDef.Sturdy)
if ((!tileDef.IsSubFloor || !tileDef.Sturdy) && placer.Comp.CP14OnlySubfloor) //CP14 if only subfloor
return;
foreach (var anchored in grid.GetAnchoredEntities(snapPos))

View File

@@ -0,0 +1,12 @@
# PLATE
cp14-food-sequence-plate-gen = {$content} dish
cp14-food-sequence-plate-cucumber = cucumber
cp14-food-sequence-plate-pumpkin = pumpkin
cp14-food-sequence-plate-cabbage = cabbage
cp14-food-sequence-plate-cheese = cheese
cp14-food-sequence-plate-shroom = shrooms
cp14-food-sequence-plate-grass = herbs
cp14-food-sequence-plate-slime = slime
cp14-food-sequence-plate-roots = root

View File

@@ -0,0 +1,12 @@
# PLATE
cp14-food-sequence-plate-gen = блюдо с {$content}
cp14-food-sequence-plate-cucumber = огурчиками
cp14-food-sequence-plate-pumpkin = тыквой
cp14-food-sequence-plate-cabbage = капустой
cp14-food-sequence-plate-cheese = сыром
cp14-food-sequence-plate-shroom = грибами
cp14-food-sequence-plate-grass = травами
cp14-food-sequence-plate-slime = слизью
cp14-food-sequence-plate-roots = кореньями

View File

@@ -18,7 +18,7 @@
- type: Fixtures
- type: Sprite
drawdepth: ThinWire
visible: false
#visible: false
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
@@ -30,7 +30,7 @@
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: SubFloorHide
#- type: SubFloorHide #CP14
- type: CollideOnAnchor
- type: Appearance
- type: Electrified

View File

@@ -3,6 +3,7 @@
id: StationAi
name: job-name-station-ai
description: job-description-station-ai
setPreference: false
playTimeTracker: JobStationAi
requirements:
- !type:RoleTimeRequirement

View File

@@ -135,6 +135,7 @@
name: department-Silicon
description: department-Silicon-description
color: "#D381C9"
editorHidden: true
roles:
- Borg
- StationAi

View File

@@ -26,13 +26,17 @@
- type: entity
id: CP14FoodCheesePart
parent: CP14FoodCheeseWheel
parent: FoodInjectableBase
name: cheese
description: A triangle of soft, fragrant cheese.
components:
- type: Item
size: Tiny
- type: FlavorProfile
flavors:
- cheesy
- type: Sprite
sprite: _CP14/Objects/Consumable/Food/cheese.rsi
layers:
- state: cheese_part
map: [ "random" ]
@@ -55,11 +59,15 @@
- type: entity
id: CP14FoodCheeseSlice
parent: CP14FoodCheesePart
parent: FoodInjectableBase
name: cheese slice
description: A thin slice of delicious smelling cheese
components:
- type: FlavorProfile
flavors:
- cheesy
- type: Sprite
sprite: _CP14/Objects/Consumable/Food/cheese.rsi
layers:
- state: cheese_slice
map: [ "random" ]
@@ -75,4 +83,7 @@
maxVol: 2 # 1/3 cheese part
reagents:
- ReagentId: Nutriment
Quantity: 1.4
Quantity: 1.4
- type: FoodSequenceElement
entries:
CP14Plate: CP14PlateCheeseSlice

View File

@@ -26,13 +26,17 @@
slice: CP14FoodDoughMedium
- type: entity
parent: CP14FoodDoughLarge
parent: FoodInjectableBase
id: CP14FoodDoughMedium
name: medium piece of dough
components:
- type: Item
size: Tiny
- type: FlavorProfile
flavors:
- bread #TODO smth disguisting. raw dough
- type: Sprite
sprite: _CP14/Objects/Consumable/Food/dough.rsi
state: dough_medium
- type: SolutionContainerManager
solutions:

View File

@@ -0,0 +1,94 @@
- type: entity
id: CP14BasePlate
parent: BaseItem
abstract: true
description: This is your plate for a delicious meal!
components:
- type: Sprite
sprite: _CP14/Objects/Consumable/Food/plates.rsi
- type: Item
shape:
- 0,0,1,0
- type: FoodSequenceStartPoint
key: CP14Plate
maxLayers: 10
nameGeneration: cp14-food-sequence-plate-gen
contentSeparator: ", "
minLayerOffset: -0.02, -0.02
maxLayerOffset: 0.02, 0.02
- type: Food
- type: SolutionContainerManager
solutions:
food:
canReact: false # Dont want cause reactions inside plates after merging ingredients
maxVol: 5
- type: FlavorProfile
- type: RefillableSolution
solution: food
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: liq-
- type: Appearance
- type: entity
id: CP14PlateWooden
parent: CP14BasePlate
name: wooden plate
components:
- type: Sprite
layers:
- state: wood1
- state: liq-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- map: ["foodSequenceLayers"]
- type: Food
trash:
- CP14PlateWooden
- type: entity
id: CP14PlateWooden2
parent: CP14PlateWooden
components:
- type: Sprite
layers:
- state: wood2
- state: liq-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- map: ["foodSequenceLayers"]
- type: Food
trash:
- CP14PlateWooden2
- type: entity
id: CP14PlateCeramic
parent: CP14BasePlate
name: ceramic plate
components:
- type: Sprite
layers:
- state: ceramic
- state: liq-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- map: ["foodSequenceLayers"]
- type: Food
trash:
- CP14PlateCeramic
- type: entity
id: CP14PlateIron
parent: CP14BasePlate
name: iron plate
components:
- type: Sprite
layers:
- state: iron
- state: liq-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- map: ["foodSequenceLayers"]
- type: Food
trash:
- CP14PlateIron

View File

@@ -36,13 +36,17 @@
- type: entity
id: CP14FoodCabbageSlice
parent: CP14FoodCabbage
parent: FoodInjectableBase
name: cabbage leaf
description: Time to make green salads
components:
- type: Item
size: Tiny
- type: FlavorProfile
flavors:
- cabbage
- type: Sprite
sprite: _CP14/Objects/Flora/Farm/cabbage.rsi
layers:
- state: slice1
map: [ "random" ]
@@ -62,6 +66,9 @@
Quantity: 2.5
- ReagentId: Vitamin
Quantity: 0.25
- type: FoodSequenceElement
entries:
CP14Plate: CP14PlateCabbageSlice
- type: entity
id: CP14FoodPumpkin
@@ -89,7 +96,7 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 25
maxVol: 30
reagents:
- ReagentId: PumpkinFlesh
Quantity: 20
@@ -102,13 +109,17 @@
- type: entity
id: CP14FoodPumpkinSlice
parent: CP14FoodPumpkin
parent: FoodInjectableBase
name: pumpkin slice
description: Pumpkin! # TODO
components:
- type: Item
size: Tiny
- type: FlavorProfile
flavors:
- pumpkin
- type: Sprite
sprite: _CP14/Objects/Flora/Farm/pumpkin.rsi
layers:
- state: slice1
map: [ "random" ]
@@ -122,12 +133,15 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 5 # 1/5 pumpkin
maxVol: 6 # 1/5 pumpkin
reagents:
- ReagentId: Nutriment
Quantity: 4
- ReagentId: Vitamin
Quantity: 1
- type: FoodSequenceElement
entries:
CP14Plate: CP14PlatePumpkinSlice
- type: entity
id: CP14FoodPotato
@@ -197,4 +211,7 @@
- ReagentId: Vitamin
Quantity: 2
- ReagentId: CP14Water
Quantity: 3
Quantity: 3
- type: FoodSequenceElement
entries:
CP14Plate: CP14PlateCucumber

View File

@@ -39,6 +39,9 @@
reagents:
- ReagentId: CP14BloodGrassSap
Quantity: 5
- type: FoodSequenceElement
entries:
CP14Plate: CP14PlateBloodgrass
- type: entity
id: CP14AgaricMushroom
@@ -78,6 +81,9 @@
reagents:
- ReagentId: CP14AgaricMushroom
Quantity: 3
- type: FoodSequenceElement
entries:
CP14Plate: CP14PlateAgaric
- type: entity
id: CP14ChromiumSlime
@@ -115,6 +121,9 @@
reagents:
- ReagentId: CP14ChromiumSlime
Quantity: 7
- type: FoodSequenceElement
entries:
CP14Plate: CP14PlateChromiumSlime
- type: entity
id: CP14WildSage
@@ -153,6 +162,9 @@
reagents:
- ReagentId: CP14WildSageSap
Quantity: 8
- type: FoodSequenceElement
entries:
CP14Plate: CP14PlateWildSage
- type: entity
id: CP14QuartzShard
@@ -223,4 +235,7 @@
maxVol: 5
reagents:
- ReagentId: CP14LumiMushroom
Quantity: 4
Quantity: 4
- type: FoodSequenceElement
entries:
CP14Plate: CP14PlateLumiMushroom

View File

@@ -0,0 +1,43 @@
- type: entity
id: CP14CableLVStack
parent: CableStack
name: LV cable coil
suffix: Full
description: Low-Voltage stack of wires for connecting APCs to machines and other purposes.
components:
- type: Stack
stackType: CableHV
baseLayer: base
layerStates:
- lv_coil10
- lv_coil20
- lv_coil30
- type: Sprite
sprite: _CP14/Objects/Tools/cable-coils.rsi
state: lv_coil10
layers:
- state: lv_coil10
map: ["base"]
- type: Item
sprite: _CP14/Objects/Tools/cable-coils.rsi
- type: CablePlacer
cablePrototypeID: CP14LVCable
blockingWireType: Apc
cP14OnlySubfloor: false
- type: Appearance
- type: entity
parent: CP14CableLVStack
id: CP14CableLVStack1
suffix: 1
components:
- type: Stack
count: 1
- type: entity
parent: CP14CableLVStack
id: CP14CableLVStack10
suffix: 10
components:
- type: Stack
count: 10

View File

@@ -3,7 +3,7 @@
id: CP14BaseWoodDoor
name: wooden door
description: Not the most solid construction, but it's better than nothing.
suffix: without lock
suffix: Without lock
components:
- type: Sprite
drawdepth: Mobs
@@ -60,19 +60,212 @@
- type: Lock
locked: false
# Tavern
- type: entity
parent: CP14BaseWoodDoor
id: CP14WoodDoorTavern
suffix: Tavern
id: CP14WoodDoorTavernHall
suffix: Tavern Hall
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockTavern
startingItem: CP14LockTavernHall
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock
- CPLock
- type: entity
parent: CP14WoodDoorTavernHall
id: CP14WoodDoorTavernHallOpened
suffix: Tavern Hall, Opened
components:
- type: Lock
locked: false
- type: entity
parent: CP14BaseWoodDoor
id: CP14WoodDoorTavernStaff
suffix: Tavern Staff
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockTavernStaff
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock
- type: entity
parent: CP14WoodDoorTavernStaff
id: CP14WoodDoorTavernStaffOpened
suffix: Tavern Staff, Opened
components:
- type: Lock
locked: false
- type: entity
parent: CP14BaseWoodDoor
id: CP14WoodDoorTavernDorms1
suffix: Tavern Dorms 1
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockTavernDorms1
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock
- type: entity
parent: CP14WoodDoorTavernDorms1
id: CP14WoodDoorTavernDorms1Opened
suffix: Tavern Dorms 1, Opened
components:
- type: Lock
locked: false
- type: entity
parent: CP14BaseWoodDoor
id: CP14WoodDoorTavernDorms2
suffix: Tavern Dorms 2
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockTavernDorms2
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock
- type: entity
parent: CP14WoodDoorTavernDorms2
id: CP14WoodDoorTavernDorms2Opened
suffix: Tavern Dorms 2, Opened
components:
- type: Lock
locked: false
- type: entity
parent: CP14BaseWoodDoor
id: CP14WoodDoorTavernDorms3
suffix: Tavern Dorms 3
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockTavernDorms3
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock
- type: entity
parent: CP14WoodDoorTavernDorms3
id: CP14WoodDoorTavernDorms3Opened
suffix: Tavern Dorms 3, Opened
components:
- type: Lock
locked: false
- type: entity
parent: CP14BaseWoodDoor
id: CP14WoodDoorTavernDorms4
suffix: Tavern Dorms 4
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockTavernDorms4
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock
- type: entity
parent: CP14WoodDoorTavernDorms4
id: CP14WoodDoorTavernDorms4Opened
suffix: Tavern Dorms 4, Opened
components:
- type: Lock
locked: false
- type: entity
parent: CP14BaseWoodDoor
id: CP14WoodDoorTavernDorms5
suffix: Tavern Dorms 5
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockTavernDorms5
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock
- type: entity
parent: CP14WoodDoorTavernDorms5
id: CP14WoodDoorTavernDorms5Opened
suffix: Tavern Dorms 5, Opened
components:
- type: Lock
locked: false
# Alchemy
- type: entity
parent: CP14BaseWoodDoor
id: CP14WoodDoorTavernAlchemy
suffix: Alchemy
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockAlchemy
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock
- type: entity
parent: CP14WoodDoorTavernAlchemy
id: CP14WoodDoorTavernAlchemy5Opened
suffix: Alchemy, Opened
components:
- type: Lock
locked: false

View File

@@ -0,0 +1,146 @@
- type: entity
id: CP14BaseCurtains
abstract: true
parent:
- BaseStructure
name: curtains
description: Hides what others shouldn't see.
placement:
mode: SnapgridCenter
components:
- type: Occluder
boundingBox: "-0.5,0.5,0.5,1.5"
- type: AnimationPlayer
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.49,0.3,0.49,0.49"
density: 100
mask:
- FullTileMask
layer:
- Opaque
- type: Door
canCrush: false
performCollisionCheck: false
bumpOpen: false
clickOpen: true
closedDrawDepth: Mobs
openDrawDepth: Mobs
closeTimeOne: 0.5
closeTimeTwo: 0.1
openTimeOne: 0.5
openTimeTwo: 0.1
openSound:
path: /Audio/Effects/curtain_openclose.ogg
closeSound:
path: /Audio/Effects/curtain_openclose.ogg
- type: Appearance
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 5
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:SpawnEntitiesBehavior
spawn:
CP14Cloth1:
min: 1
max: 2
- type: Sprite
sprite: _CP14/Structures/Furniture/curtains.rsi
- type: InteractionOutline
- type: entity
id: CP14CurtainsWhite
parent: CP14BaseCurtains
suffix: White
components:
- type: Door
openSpriteState: white_open
closedSpriteState: white_closed
- type: Sprite
layers:
- state: white_closed
map: ["enum.DoorVisualLayers.Base"]
- type: entity
id: CP14CurtainsWhiteOpened
parent: CP14CurtainsWhite
suffix: White, Open
components:
- type: Door
state: Open
- type: Occluder
enabled: false
- type: Sprite
layers:
- state: white_open
map: ["enum.DoorVisualLayers.Base"]
- type: Physics
canCollide: false
- type: entity
id: CP14CurtainsBlue
parent: CP14BaseCurtains
suffix: Blue
components:
- type: Door
openSpriteState: blue_open
closedSpriteState: blue_closed
- type: Sprite
layers:
- state: blue_closed
map: ["enum.DoorVisualLayers.Base"]
- type: entity
id: CP14CurtainsBlueOpened
parent: CP14CurtainsBlue
suffix: Blue, Open
components:
- type: Door
state: Open
- type: Occluder
enabled: false
- type: Sprite
layers:
- state: blue_open
map: ["enum.DoorVisualLayers.Base"]
- type: Physics
canCollide: false
- type: entity
id: CP14CurtainsRed
parent: CP14BaseCurtains
suffix: Red
components:
- type: Door
openSpriteState: red_open
closedSpriteState: red_closed
- type: Sprite
layers:
- state: red_closed
map: ["enum.DoorVisualLayers.Base"]
- type: entity
id: CP14CurtainsRedOpened
parent: CP14CurtainsRed
suffix: Red, Open
components:
- type: Door
state: Open
- type: Occluder
enabled: false
- type: Sprite
layers:
- state: red_open
map: ["enum.DoorVisualLayers.Base"]
- type: Physics
canCollide: false

View File

@@ -78,6 +78,10 @@
layer:
- MachineLayer
- type: EntityStorage
isCollidableWhenOpen: true
enteringOffset: 0, -0.4
enteringRange: 0.06
airtight: false
- type: ContainerContainer
containers:
entity_storage: !type:Container
@@ -114,7 +118,6 @@
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:SpawnEntitiesBehavior
spawn:

View File

@@ -2,9 +2,8 @@
parent:
- BaseStructure
- CP14BaseWooden
id: CP14TableWoodenFrame
name: wooden table frame
description: Base for any wooden table
id: CP14WoodenTableBase
abstract: true
components:
- type: Fixtures
fixtures:
@@ -17,16 +16,6 @@
- TableMask
layer:
- TableLayer
- type: Sprite
snapCardinals: true
sprite: _CP14/Structures/Furniture/Tables/wood.rsi
state: frame
- type: Icon
sprite: _CP14/Structures/Furniture/Tables/wood.rsi
state: frame
- type: Construction
graph: CP14TableWooden
node: CP14TableWoodenFrame
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood
@@ -63,12 +52,27 @@
sprite: _CP14/Effects/fire.rsi
normalState: full
- type: Climbable
- type: Clickable
- type: PlaceableSurface
- type: entity
parent:
- TableBase
- CP14BaseWooden
parent: CP14WoodenTableBase
id: CP14TableWoodenFrame
name: wooden table frame
description: Base for any wooden table
components:
- type: Sprite
snapCardinals: true
sprite: _CP14/Structures/Furniture/Tables/wood.rsi
state: frame
- type: Icon
sprite: _CP14/Structures/Furniture/Tables/wood.rsi
state: frame
- type: Construction
graph: CP14TableWooden
node: CP14TableWoodenFrame
- type: entity
parent: CP14WoodenTableBase
id: CP14TableWooden
name: wooden table
description: A simple table made of boards.
@@ -81,41 +85,20 @@
- type: Construction
graph: CP14TableWooden
node: CP14TableWooden
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger:
!type:DamageTypeTrigger
damageType: Heat
damage: 40
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- trigger:
!type:DamageTrigger
damage: 60
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: WoodDestroy
- !type:SpawnEntitiesBehavior
spawn:
CP14WoodenPlanks1:
min: 1
max: 2
- type: FootstepModifier
footstepSoundCollection:
collection: FootstepWood
- type: IconSmooth
key: state
base: state
- type: FireVisuals
sprite: _CP14/Effects/fire.rsi
normalState: full
- type: entity
parent: CP14WoodenTableBase
id: CP14TableWoodenRound
name: round wooden table
description: A simple table made of boards.
components:
- type: Sprite
snapCardinals: true
sprite: _CP14/Structures/Furniture/Tables/wood.rsi
state: round
- type: Icon
sprite: _CP14/Structures/Furniture/Tables/wood.rsi
state: round

View File

@@ -79,6 +79,29 @@
graph: CP14WallmountTorch
node: CP14WallmountTorch
- type: entity
id: CP14WallmountTorchAlwaysPowered
name: always powered wallmount torch
parent: CP14BaseWallmount
components:
- type: Sprite
sprite: _CP14/Structures/Furniture/wallmount_torch.rsi
layers:
- state: base
- state: fire
shader: unshaded
- type: PointLight
color: "#e67c34"
energy: 5
radius: 8
- type: AmbientSound
enabled: true
volume: -5
range: 5
sound:
path: /Audio/Ambience/Objects/fireplace.ogg
- type: entity
id: CP14WallmountLamp
name: eternal flame lamp
@@ -93,7 +116,8 @@
shader: unshaded
map: [ "light" ]
- type: PointLight
radius: 6
energy: 5
radius: 8
netsync: false
color: "#b0eaf6"
- type: Appearance

View File

@@ -75,6 +75,7 @@
- CP14Bucket
- CP14BaseBarrel
- CP14WoodenBeerMug
- CP14PlateWooden
- type: entity
id: CP14WorkbenchMeltingMolds

View File

@@ -0,0 +1,48 @@
- type: entity
parent: CableBase
id: CP14LVCable
name: LV power cable
description: A cable used to connect machines to an APC.
placement:
mode: SnapgridCenter
components:
- type: Sprite
sprite: _CP14/Structures/Power/Cables/cable.rsi
state: cable_0
- type: Icon
sprite: _CP14/Structures/Power/Cables/cable.rsi
state: cable_4
- type: NodeContainer
nodes:
power:
!type:CableNode
nodeGroupID: Apc
- type: PowerProvider
voltage: Apc
- type: ExtensionCableProvider
- type: Cable
cableDroppedOnCutPrototype: CP14CableLVStack1
cableType: Apc
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:SpawnEntitiesBehavior
spawn:
CableApcStack1:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: CableVisualizer
statePrefix: cable_
- type: PlacementReplacement
key: cable

View File

@@ -134,14 +134,19 @@
contents:
- id: CP14Crossbolt
prob: 0.2
onGroup: Weapon
- id: CP14Crossbolt
prob: 0.2
onGroup: Weapon
- id: CP14Crossbolt
prob: 0.2
onGroup: Weapon
- id: CP14BaseSharpeningStone
prob: 0.2
onGroup: Weapon
- id: CP14BaseSharpeningStone
prob: 0.2
onGroup: Weapon
- id: CP14BaseBattleStaff
prob: 0.2
onGroup: Weapon
@@ -175,9 +180,6 @@
- id: CP14BasePickaxe
prob: 0.2
onGroup: Weapon2
- id: CP14OldLantern
prob: 0.2
onGroup: Weapon2
- id: CP14ClothingRingIceDagger
prob: 0.2
onGroup: Weapon2
@@ -202,9 +204,6 @@
- id: CP14AuraScanner
prob: 0.2
onGroup: Weapon2
- id: ClothingBackpackCargo
prob: 0.2
onGroup: Tool
- id: CP14CopperCoin1
prob: 0.2
onGroup: Currency
@@ -235,7 +234,7 @@
- id: CP14Nail1
prob: 0.2
onGroup: Material
- id: CP14Nail110
- id: CP14Nail10
prob: 0.2
onGroup: Material
- id: CP14BloodGrass
@@ -289,6 +288,33 @@
- id: CP14EnergyCrystalSmall
prob: 0.2
onGroup: Material
- id: CP14DyeRed
prob: 0.2
onGroup: Material
- id: CP14DyeYellow
prob: 0.2
onGroup: Material
- id: CP14DyeBlue
prob: 0.2
onGroup: Material
- id: CP14DyeGreen
prob: 0.2
onGroup: Material
- id: CP14DyePurple
prob: 0.2
onGroup: Material
- id: CP14DyeBlack
prob: 0.2
onGroup: Material
- id: CP14String
prob: 0.2
onGroup: Material
- id: CP14Cloth10
prob: 0.2
onGroup: Material
- id: CP14Scissors
prob: 0.2
onGroup: Material
- type: entity

View File

@@ -0,0 +1,47 @@
- type: entity
id: CP14DirectionalPlateBase
abstract: true
parent: BaseStructure
name: plate
placement:
mode: SnapgridCenter
snap:
- Window
components:
- type: MeleeSound
soundGroups:
Brute:
collection: MetalThud
- type: Sprite
drawdepth: Mobs
sprite: _CP14/Structures/Walls/directional_plate.rsi
- type: Icon
sprite: _CP14/Structures/Walls/directional_plate.rsi
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.50,-0.50,0.50,-0.30"
density: 1500
mask:
- FullTileMask
layer:
- WallLayer
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: StructuralMetallic
- type: entity
id: CP14DirectionalPlateSteel
parent: CP14DirectionalPlateBase
name: armored iron plate
description: An iron plate suitable for both blocking passageways and additional wall protection.
components:
- type: Sprite
state: steel
- type: Icon
state: steel
#TODO damageable and destructible balance

View File

@@ -183,7 +183,7 @@
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockTavern
startingItem: CP14LockAlchemy
disableEject: true
insertOnInteract: false
ejectOnBreak: true

View File

@@ -228,3 +228,16 @@
- skullsA
- skullsB
- type: Appearance
- type: entity
id: CP14WallSteel
name: steel wall
parent: CP14BaseWall
components:
- type: Sprite
sprite: _CP14/Structures/Walls/steel_wall.rsi
- type: Icon
sprite: _CP14/Structures/Walls/steel_wall.rsi
- type: IconSmooth
base: wall
- type: CP14WallpaperHolder

View File

@@ -18,7 +18,7 @@
fillBaseName: ring
- type: Storage
grid:
- 0,0,5,0
- 0,0,5,1
maxItemSize: Small
whitelist:
tags:
@@ -33,6 +33,7 @@
- type: Clothing
quickEquip: false
slots:
- keys
- belt
- type: entity
@@ -42,4 +43,19 @@
components:
- type: StorageFill
contents:
- id: CP14KeyTavern
- id: CP14KeyTavernHall
- id: CP14KeyTavernStaff
- id: CP14KeyTavernDorms1
- id: CP14KeyTavernDorms2
- id: CP14KeyTavernDorms3
- id: CP14KeyTavernDorms4
- id: CP14KeyTavernDorms5
- type: entity
parent: CP14BaseKeyRing
id: CP14KeyRingAlchemist
suffix: Alchemist
components:
- type: StorageFill
contents:
- id: CP14KeyAlchemy

View File

@@ -31,12 +31,84 @@
state: lockpick
- type: CP14Lockpick
# Tavern
- type: entity
parent: CP14BaseKey
id: CP14KeyTavern
name: captain key
id: CP14KeyTavernHall
name: tavern hall key
components:
- type: Sprite
state: key1
- type: CP14Key
autoGenerateShape: Tavern
autoGenerateShape: TavernHall
- type: entity
parent: CP14BaseKey
id: CP14KeyTavernStaff
name: tavern staff key
components:
- type: Sprite
state: key2
- type: CP14Key
autoGenerateShape: TavernStaff
- type: entity
parent: CP14BaseKey
id: CP14KeyTavernDorms1
name: tavern room 1 key
components:
- type: Sprite
state: key3
- type: CP14Key
autoGenerateShape: TavernDorms1
- type: entity
parent: CP14BaseKey
id: CP14KeyTavernDorms2
name: tavern room 2 key
components:
- type: Sprite
state: key4
- type: CP14Key
autoGenerateShape: TavernDorms2
- type: entity
parent: CP14BaseKey
id: CP14KeyTavernDorms3
name: tavern room 3 key
components:
- type: Sprite
state: key5
- type: CP14Key
autoGenerateShape: TavernDorms3
- type: entity
parent: CP14BaseKey
id: CP14KeyTavernDorms4
name: tavern room 4 key
components:
- type: Sprite
state: key6
- type: CP14Key
autoGenerateShape: TavernDorms4
- type: entity
parent: CP14BaseKey
id: CP14KeyTavernDorms5
name: tavern room 5 key
components:
- type: Sprite
state: key7
- type: CP14Key
autoGenerateShape: TavernDorms5
- type: entity
parent: CP14BaseKey
id: CP14KeyAlchemy
name: alchemist key
components:
- type: Sprite
state: key8
- type: CP14Key
autoGenerateShape: Alchemy

View File

@@ -12,11 +12,71 @@
sprite: _CP14/Objects/keys.rsi
layers:
- state: lock
# Tavern
- type: entity
parent: CP14BaseLock
id: CP14LockTavern
name: captain's lock
id: CP14LockTavernHall
name: tavern lock
components:
- type: CP14Lock
autoGenerateShape: Tavern
autoGenerateShape: TavernHall
- type: entity
parent: CP14BaseLock
id: CP14LockTavernStaff
name: the lock to the tavern offices
components:
- type: CP14Lock
autoGenerateShape: TavernStaff
- type: entity
parent: CP14BaseLock
id: CP14LockTavernDorms1
name: lock from tavern room 1
components:
- type: CP14Lock
autoGenerateShape: TavernDorms1
- type: entity
parent: CP14BaseLock
id: CP14LockTavernDorms2
name: lock from tavern room 2
components:
- type: CP14Lock
autoGenerateShape: TavernDorms2
- type: entity
parent: CP14BaseLock
id: CP14LockTavernDorms3
name: lock from tavern room 3
components:
- type: CP14Lock
autoGenerateShape: TavernDorms3
- type: entity
parent: CP14BaseLock
id: CP14LockTavernDorms4
name: lock from tavern room 4
components:
- type: CP14Lock
autoGenerateShape: TavernDorms4
- type: entity
parent: CP14BaseLock
id: CP14LockTavernDorms5
name: lock from tavern room 5
components:
- type: CP14Lock
autoGenerateShape: TavernDorms5
# Alchemy
- type: entity
parent: CP14BaseLock
id: CP14LockAlchemy
name: alchemist's lock
components:
- type: CP14Lock
autoGenerateShape: Alchemy

View File

@@ -8,6 +8,7 @@
slotFlags: RING
uiWindowPos: 0,1
strippingWindowPos: 0,3
dependsOn: pants
displayName: Ring
- name: neck
slotTexture: neck

View File

@@ -2,6 +2,38 @@
id: Debug
complexity: 10
# Tavern
- type: CP14LockCategory
id: Tavern
complexity: 3
id: TavernHall
complexity: 3
- type: CP14LockCategory
id: TavernStaff
complexity: 5
- type: CP14LockCategory
id: TavernDorms1
complexity: 3
- type: CP14LockCategory
id: TavernDorms2
complexity: 3
- type: CP14LockCategory
id: TavernDorms3
complexity: 3
- type: CP14LockCategory
id: TavernDorms4
complexity: 3
- type: CP14LockCategory
id: TavernDorms5
complexity: 3
# Alchemy
- type: CP14LockCategory
id: Alchemy
complexity: 5

View File

@@ -61,7 +61,8 @@
- type: gameMap
id: ExpeditionTest
mapName: Expedition test
mapPath: /Maps/_CP14/expedition_test.yml
#mapPath: /Maps/_CP14/expedition_test.yml
mapPath: /Maps/_CP14/exp_tavern.yml
maxRandomOffset: 0
randomRotation: false
minPlayers: 0
@@ -74,17 +75,15 @@
- type: StationJobs
availableJobs:
CP14Adventurer: [ -1, -1 ]
CP14Alchemist: [ -1, -1 ]
CP14Innkeeper: [ -1, -1 ]
CP14Captain: [1, 1]
CP14GuardCommander: [1, 1]
CP14HouseKeeper: [1, 1]
- type: CP14StationExpeditionTarget
shuttlePath: /Maps/_CP14/Shuttles/test-ship.yml
CP14Alchemist: [ 2, 3 ]
CP14Innkeeper: [ 2, 3 ]
#CP14Captain: [1, 1]
#CP14GuardCommander: [1, 1]
#CP14HouseKeeper: [1, 1]
#- type: CP14StationExpeditionTarget
# shuttlePath: /Maps/_CP14/Shuttles/test-ship.yml
- type: CP14StationZLevels
defaultMapLevel: 0
levels:
-1:
path: /Maps/_CP14/alchemy_test_layer2.yml
-2:
path: /Maps/_CP14/battle_royale.yml
path: /Maps/_CP14/alchemy_test_layer2.yml

View File

@@ -0,0 +1,98 @@
- type: foodSequenceElement
id: CP14PlateCucumber
name: cp14-food-sequence-plate-cucumber
sprites:
- sprite: _CP14/Objects/Flora/Farm/cucumber.rsi
state: plate1
- sprite: _CP14/Objects/Flora/Farm/cucumber.rsi
state: plate2
- sprite: _CP14/Objects/Flora/Farm/cucumber.rsi
state: plate3
- type: foodSequenceElement
id: CP14PlatePumpkinSlice
name: cp14-food-sequence-plate-pumpkin
sprites:
- sprite: _CP14/Objects/Flora/Farm/pumpkin.rsi
state: plate1
- sprite: _CP14/Objects/Flora/Farm/pumpkin.rsi
state: plate2
- sprite: _CP14/Objects/Flora/Farm/pumpkin.rsi
state: plate3
- type: foodSequenceElement
id: CP14PlateCabbageSlice
name: cp14-food-sequence-plate-cabbage
sprites:
- sprite: _CP14/Objects/Flora/Farm/cabbage.rsi
state: plate1
- sprite: _CP14/Objects/Flora/Farm/cabbage.rsi
state: plate2
- sprite: _CP14/Objects/Flora/Farm/cabbage.rsi
state: plate3
- type: foodSequenceElement
id: CP14PlateCheeseSlice
name: cp14-food-sequence-plate-cheese
sprites:
- sprite: _CP14/Objects/Consumable/Food/cheese.rsi
state: plate1
- sprite: _CP14/Objects/Consumable/Food/cheese.rsi
state: plate2
- sprite: _CP14/Objects/Consumable/Food/cheese.rsi
state: plate3
- type: foodSequenceElement
id: CP14PlateAgaric
name: cp14-food-sequence-plate-shroom
sprites:
- sprite: _CP14/Objects/Flora/Wild/agaric.rsi
state: plate1
- sprite: _CP14/Objects/Flora/Wild/agaric.rsi
state: plate2
- sprite: _CP14/Objects/Flora/Wild/agaric.rsi
state: plate3
- type: foodSequenceElement
id: CP14PlateBloodgrass
name: cp14-food-sequence-plate-grass
sprites:
- sprite: _CP14/Objects/Flora/Wild/bloodgrass.rsi
state: plate1
- sprite: _CP14/Objects/Flora/Wild/bloodgrass.rsi
state: plate2
- sprite: _CP14/Objects/Flora/Wild/bloodgrass.rsi
state: plate3
- type: foodSequenceElement
id: CP14PlateChromiumSlime
name: cp14-food-sequence-plate-slime
sprites:
- sprite: _CP14/Objects/Flora/Wild/chromium_slime.rsi
state: plate1
- sprite: _CP14/Objects/Flora/Wild/chromium_slime.rsi
state: plate2
- sprite: _CP14/Objects/Flora/Wild/chromium_slime.rsi
state: plate3
- type: foodSequenceElement
id: CP14PlateLumiMushroom
name: cp14-food-sequence-plate-shroom
sprites:
- sprite: _CP14/Objects/Flora/Wild/lumishroom.rsi
state: plate1
- sprite: _CP14/Objects/Flora/Wild/lumishroom.rsi
state: plate2
- sprite: _CP14/Objects/Flora/Wild/lumishroom.rsi
state: plate3
- type: foodSequenceElement
id: CP14PlateWildSage
name: cp14-food-sequence-plate-roots
sprites:
- sprite: _CP14/Objects/Flora/Wild/wild_sage.rsi
state: plate1
- sprite: _CP14/Objects/Flora/Wild/wild_sage.rsi
state: plate2
- sprite: _CP14/Objects/Flora/Wild/wild_sage.rsi
state: plate3

View File

@@ -21,4 +21,11 @@
stacks:
CP14WoodenPlanks: 2
CP14Nail: 1
result: CP14WoodenBeerMug
result: CP14WoodenBeerMug
- type: CP14Recipe
id: CP14PlateWooden
craftTime: 3
stacks:
CP14WoodenPlanks: 2
result: CP14PlateWooden

View File

@@ -14,4 +14,5 @@
- type: startingGear
id: CP14AlchemistGear
equipment:
belt1: CP14WalletFilledTest
belt1: CP14WalletFilledTest
keys: CP14KeyRingAlchemist

View File

@@ -10,4 +10,5 @@
- type: startingGear
id: CP14InnkeeperGear
equipment:
belt1: CP14WalletFilledTest
belt1: CP14WalletFilledTest
keys: CP14KeyRingInnkeeper

View File

@@ -27,3 +27,7 @@
- type: Tag
id: CP14AmbientWater
- type: Tag
id: CP14Plate

View File

@@ -27,6 +27,15 @@
},
{
"name": "cheese_wheel"
},
{
"name": "plate1"
},
{
"name": "plate2"
},
{
"name": "plate3"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 B

View File

@@ -0,0 +1,38 @@
{
"version": 1,
"license": "CLA",
"copyright": "Created bby KREKS",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "ceramic"
},
{
"name": "iron"
},
{
"name": "wood1"
},
{
"name": "wood2"
},
{
"name": "liq-1"
},
{
"name": "liq-2"
},
{
"name": "liq-3"
},
{
"name": "liq-4"
},
{
"name": "liq-5"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 408 B

View File

@@ -27,6 +27,15 @@
},
{
"name": "slice4"
},
{
"name": "plate1"
},
{
"name": "plate2"
},
{
"name": "plate3"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

View File

@@ -18,6 +18,15 @@
},
{
"name": "base4"
},
{
"name": "plate1"
},
{
"name": "plate2"
},
{
"name": "plate3"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

View File

@@ -30,6 +30,15 @@
},
{
"name": "slice4"
},
{
"name": "plate1"
},
{
"name": "plate2"
},
{
"name": "plate3"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

View File

@@ -21,6 +21,15 @@
},
{
"name": "base5"
},
{
"name": "plate1"
},
{
"name": "plate2"
},
{
"name": "plate3"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

View File

@@ -21,6 +21,15 @@
},
{
"name": "base5"
},
{
"name": "plate1"
},
{
"name": "plate2"
},
{
"name": "plate3"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 B

View File

@@ -15,6 +15,15 @@
},
{
"name": "base3"
},
{
"name": "plate1"
},
{
"name": "plate2"
},
{
"name": "plate3"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

View File

@@ -21,6 +21,15 @@
},
{
"name": "base5"
},
{
"name": "plate1"
},
{
"name": "plate2"
},
{
"name": "plate3"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

View File

@@ -15,6 +15,15 @@
},
{
"name": "base3"
},
{
"name": "plate1"
},
{
"name": "plate2"
},
{
"name": "plate3"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

View File

@@ -0,0 +1,20 @@
{
"version": 1,
"license": "CLA",
"copyright": "by TheShuEd for CrystallPunk",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "lv_coil10"
},
{
"name": "lv_coil20"
},
{
"name": "lv_coil30"
}
]
}

View File

@@ -13,6 +13,9 @@
{
"name": "full"
},
{
"name": "round"
},
{
"name": "state0",
"directions": 4

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,35 @@
{
"version": 1,
"license": "CLA",
"copyright": "By Jaraten",
"size": {
"x": 32,
"y": 96
},
"states": [
{
"name": "white_open",
"directions": 4
},
{
"name": "white_closed",
"directions": 4
},
{
"name": "blue_open",
"directions": 4
},
{
"name": "blue_closed",
"directions": 4
},
{
"name": "red_open",
"directions": 4
},
{
"name": "red_closed",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 695 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 854 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 913 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 B

Some files were not shown because too many files have changed in this diff Show More