Water lilies, Air lily alchemy reagent (#771)

* water lilies

* air lily

* air lily achemy expand

* Update air_lily.yml

* water spawners

* swamp biome

* add air lilies into demiplanes, nerf mobs, remove xeno

* fix

* t1 swamps
This commit is contained in:
Ed
2025-01-17 17:41:49 +03:00
committed by GitHub
parent ca23fddd8a
commit bccd4c19be
71 changed files with 780 additions and 138 deletions

View File

@@ -83,4 +83,16 @@
- state: snow
- state: frame
- type: CP14BiomeSpawner
biome: CP14SnowlandTestResult
biome: CP14SnowlandTestResult
- type: entity
id: CP14BiomeSpawnerSwamp
parent: CP14BaseBiomeSpawner
suffix: Swamp
components:
- type: Sprite
layers:
- state: forest
- state: frame
- type: CP14BiomeSpawner
biome: CP14SwampFill

View File

@@ -272,4 +272,32 @@
maxVol: 5
reagents:
- ReagentId: CP14YellowDayflinPulp
Quantity: 4
- type: entity
id: CP14AirLily
parent: CP14WildProduceBase
name: air lily
description: A light, delicate and airy flower. It is said that its special properties even allow it to breathe underwater...
components:
- type: Sprite
sprite: _CP14/Structures/Flora/water_lilies.rsi
layers:
- state: lily_icon
map: ["random"]
- type: RandomSprite
available:
- random:
lily_icon: "" #TODO: more sprites
- type: Extractable
juiceSolution:
reagents:
- ReagentId: CP14AirLily
Quantity: 4
- type: SolutionContainerManager
solutions:
food:
maxVol: 5
reagents:
- ReagentId: CP14AirLily
Quantity: 4

View File

@@ -60,6 +60,18 @@
- ReagentId: CP14BlueAmanita
Quantity: 10
- type: entity
id: CP14VialSmallAirLily
parent: CP14VialSmall
suffix: Air lily
components:
- type: SolutionContainerManager
solutions:
vial:
reagents:
- ReagentId: CP14AirLily
Quantity: 10
- type: entity
id: CP14VialSmallDayflin
parent: CP14VialSmall

View File

@@ -59,11 +59,6 @@
solution: pool
- type: Drink
solution: pool
- type: RandomSpawner
prototypes:
- CP14GatherableChromiumSlime
chance: 0.01
deleteSpawnerAfterSpawn: false
- type: Tag
tags:
- HideContextMenu
@@ -76,4 +71,45 @@
- Catwalk # Если ты проходишь по мостику над водой, то ты не должен потушится
- type: TileEntityEffect
effects:
- !type:ExtinguishReaction
- !type:ExtinguishReaction
- type: RandomSpawner
prototypes:
- CP14GatherableChromiumSlime
chance: 0.01
deleteSpawnerAfterSpawn: false
- type: entity
parent: CP14FloorWater
id: CP14FloorWaterLilies
suffix: Water lily spawner
components:
- type: RandomSpawner
prototypes:
- CP14WaterLilies
chance: 1
offset: 0.2
deleteSpawnerAfterSpawn: false
- type: entity
parent: CP14FloorWater
id: CP14FloorWaterReeds
suffix: Reeds spawner
components:
- type: RandomSpawner
prototypes:
- CP14WaterReeds
chance: 1
offset: 0.2
deleteSpawnerAfterSpawn: false
- type: entity
parent: CP14FloorWater
id: CP14FloorWaterAirLily
suffix: Air lily spawner
components:
- type: RandomSpawner
prototypes:
- CP14GatherableWaterAirLily
chance: 1
offset: 0.2
deleteSpawnerAfterSpawn: false

View File

@@ -8,7 +8,6 @@
snapCardinals: true
drawdepth: FloorTiles
- type: Transform
anchored: true
- type: Physics
canCollide: false
bodyType: Static

View File

@@ -1,36 +0,0 @@
- type: entity
id: CP14GatherableDayflin
parent: CP14GatherableWildBase
name: yellow dayflin
description: A yellow sun flower that smells like melted milk. Can be processed into a yellow dye.
suffix: Gatherable
components:
- type: Sprite
drawdepth: FloorTiles
sprite: _CP14/Structures/Flora/Flowers/yellow_dayflin.rsi
layers:
- state: world1
map: ["random"]
- type: RandomSprite
available:
- random:
world1: ""
world2: ""
world3: ""
world4: ""
world5: ""
- type: Gatherable
loot:
All: CP14GatherDayflin
toolWhitelist:
tags:
- CP14HerbalGathering
components:
- Hands
- type: entityLootTable
id: CP14GatherDayflin
entries:
- id: CP14Dayflin
amount: 1
maxAmount: 2

View File

@@ -0,0 +1,152 @@
- type: entity
id: CP14WaterLilies
parent: BaseStructureDynamic
name: water lilies
description: Wow, these are plants that don't grow on land, but on water! Nature is amazing.
categories: [ ForkFiltered ]
placement:
mode: PlaceFree
components:
- type: Sprite
snapCardinals: true
drawdepth: FloorTiles
sprite: _CP14/Structures/Flora/water_lilies.rsi
layers:
- state: small1
map: ["random"]
- type: Transform
anchored: false
- type: Physics
canCollide: false
bodyType: Static
- type: Damageable
damageContainer: Biological
- type: MeleeSound
soundGroups:
Brute:
collection: CP14GrassGathering
params:
variation: 0.03
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 10
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:SpawnEntitiesBehavior
spawn:
CP14FloraMaterial1:
min: 0
max: 2
- type: Fixtures
fixtures:
fix1:
hard: false
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 60
mask:
- HalfWallLayer
layer:
- MidImpassable
- LowImpassable
- type: RandomSprite
available:
- random:
small1: ""
small2: ""
small3: ""
small4: ""
small5: ""
small6: ""
small7: ""
small8: ""
big1: ""
big2: ""
big3: ""
big4: ""
- type: CP14WaveShader
speed: 3.5
dis: 2
- type: entityLootTable
id: CP14GatherAirLily
entries:
- id: CP14AirLily
amount: 2
maxAmount: 3
- type: entity
id: CP14GatherableWaterAirLily
parent:
- CP14GatherableWildBase
- CP14WaterLilies
name: air lily
description: A light, delicate and airy flower. It is said that its special properties even allow it to breathe underwater...
suffix: Gatherable
components:
- type: Sprite
sprite: _CP14/Structures/Flora/water_lilies.rsi
layers:
- state: small_flower1
map: ["random"]
- type: RandomSprite
available:
- random:
small_flower1: ""
small_flower2: ""
small_flower3: ""
small_flower4: ""
big_flower1: ""
big_flower2: ""
big_flower3: ""
big_flower4: ""
- type: Gatherable
loot:
All: CP14GatherAirLily
- type: entity
id: CP14WaterReeds
parent: CP14WaterLilies
name: reed
description: Usually grows in swamps and on river banks.
components:
- type: Sprite
snapCardinals: true
drawdepth: Mobs
sprite: _CP14/Structures/Flora/water_reeds.rsi
layers:
- state: small1
map: ["random"]
- type: RandomSprite
available:
- random:
small1: ""
small2: ""
small3: ""
small4: ""
small5: ""
small6: ""
small7: ""
small8: ""
small9: ""
small10: ""
small11: ""
big1: ""
big2: ""
big3: ""
big4: ""
big5: ""
big6: ""
big7: ""
big8: ""
- type: CP14WaveShader
speed: 2.5
dis: 3

View File

@@ -31,6 +31,40 @@
loot:
All: CP14GatherBloodFlower
# Dayflin
- type: entityLootTable
id: CP14GatherDayflin
entries:
- id: CP14Dayflin
amount: 1
maxAmount: 2
- type: entity
id: CP14GatherableDayflin
parent: CP14GatherableWildBase
name: yellow dayflin
description: A yellow sun flower that smells like melted milk. Can be processed into a yellow dye.
suffix: Gatherable
components:
- type: Sprite
drawdepth: FloorTiles
sprite: _CP14/Structures/Flora/Flowers/yellow_dayflin.rsi
layers:
- state: world1
map: ["random"]
- type: RandomSprite
available:
- random:
world1: ""
world2: ""
world3: ""
world4: ""
world5: ""
- type: Gatherable
loot:
All: CP14GatherDayflin
# Fly agaric
- type: entityLootTable

View File

@@ -259,3 +259,15 @@
reagents:
- ReagentId: CP14YellowDayflinPulp
Quantity: 300
- type: entity
id: CP14BarrelAirLily
parent: CP14BaseBarrel
suffix: Air Lily
components:
- type: SolutionContainerManager
solutions:
barrel:
reagents:
- ReagentId: CP14AirLily
Quantity: 300

View File

@@ -7,6 +7,7 @@
- CP14DemiplaneOres
- CP14DemiplaneHerbals
- CP14DemiplaneOpenSky
- CP14DemiplanePeacefulAnimals
components:
- type: MapLight
ambientLightColor: "#BFEEFFFF"

View File

@@ -6,6 +6,7 @@
tags:
- CP14DemiplaneOres
- CP14DemiplaneUnderground
- CP14DemiplanePeacefulAnimals
- type: dungeonConfig
id: CP14DemiplaneCavesRing

View File

@@ -1,32 +1,16 @@
- type: cp14DemiplaneLocation
id: T1GrassGeode
tier: 2
locationConfig: CP14DemiplaneGrassGeode
id: T1SwampGeode
tier: 1
locationConfig: CP14DemiplaneSwampGeode
name: cp14-demiplane-location-cave-grass
tags:
- CP14DemiplaneOres
- CP14DemiplaneHerbals
- CP14DemiplaneUnderground
- CP14DemiplaneWater
- type: dungeonConfig
id: CP14EdTestLayers
layers:
- !type:PrototypeDunGen
proto: CP14DemiplaneGrassGeode
#- !type:EntityTableDunGen
# minCount: 20
# maxCount: 20
# table: !type:GroupSelector
# children:
# - id: CP14DemiplanePassway
- !type:OreDunGen
entity: CP14DemiplanePassway
count: 20
minGroupSize: 1
maxGroupSize: 1
- type: dungeonConfig
id: CP14DemiplaneGrassGeode
id: CP14DemiplaneSwampGeode
layers:
# Masks
- !type:PrototypeDunGen
@@ -35,41 +19,19 @@
proto: CP14DemiplaneGrassGeodeFloorMaskStone
- !type:PrototypeDunGen
proto: CP14DemiplaneGrassGeodeFloorMaskAir
- !type:PrototypeDunGen
proto: CP14DemiplaneGrassGeodeFloorMaskWater
# Biomes
- !type:BiomeDunGen
biomeTemplate: CP14CavesIndestructibleFill
tileMask:
- Plating
- !type:BiomeDunGen
biomeTemplate: CP14GrasslandTestResult
biomeTemplate: CP14SwampFill
tileMask:
- CP14FloorGrass
- !type:BiomeDunGen
biomeTemplate: CP14CavesGeneric
tileMask:
- CP14FloorSand
- !type:PrototypeDunGen
proto: CP14DemiplaneGrassGeodeFillWater
- type: dungeonConfig
id: CP14DemiplaneGrassGeodeFloorMaskWater
layers:
- !type:NoiseDistanceDunGen
size: 80, 80
distanceConfig: !type:DunGenEuclideanSquaredDistance
blendWeight: 0.7
layers:
- tile: CP14FloorDirt
threshold: 0.70
noise:
frequency: 0.030
noiseType: OpenSimplex2
fractalType: FBm
octaves: 5
lacunarity: 2
gain: 0.5
- type: dungeonConfig
id: CP14DemiplaneGrassGeodeFloorMaskAir
@@ -123,15 +85,4 @@
fractalType: FBm
octaves: 5
lacunarity: 2
gain: 0.5
- type: dungeonConfig
id: CP14DemiplaneGrassGeodeFillWater
reserveTiles: true
data:
entities:
Fill: CP14FloorWater
layers:
- !type:FillGridDunGen
allowedTiles:
- CP14FloorDirt
gain: 0.5

View File

@@ -6,6 +6,7 @@
tags:
- CP14DemiplaneOpenSky
- CP14DemiplaneHerbals
- CP14DemiplanePeacefulAnimals
components:
- type: MapLight
ambientLightColor: "#BFEEFFFF"

View File

@@ -12,8 +12,8 @@
- !type:OreDunGen
entity: CP14SpawnMobUndeadZombieRandom
count: 4
minGroupSize: 5
maxGroupSize: 8
minGroupSize: 3
maxGroupSize: 5
- type: cp14DemiplaneModifier
id: EnemyDyno
@@ -29,7 +29,7 @@
layers:
- !type:OreDunGen
entity: CP14SpawnMobDinoYumkaraptor
count: 6
count: 5
minGroupSize: 1
maxGroupSize: 1
@@ -48,28 +48,7 @@
entity: CP14SpawnMobMonsterMosquito
count: 4
minGroupSize: 2
maxGroupSize: 3
- type: cp14DemiplaneModifier
id: EnemyXeno
tiers:
- 1
name: cp14-modifier-xeno
categories:
Danger: 0.4
requiredTags:
- CP14DemiplaneUnderground
layers:
- !type:OreDunGen
entity: CP14MobXenoDrone
count: 3
minGroupSize: 1
maxGroupSize: 2
- !type:OreDunGen
entity: CP14MobXeno
count: 3
minGroupSize: 1
maxGroupSize: 2
maxGroupSize: 6
- type: cp14DemiplaneModifier
id: SmallHydra

View File

@@ -32,6 +32,16 @@
- type: MapLight
ambientLightColor: "#09010f"
- type: cp14DemiplaneModifier
id: MapLightDarkGreen
tiers:
- 1
categories:
MapLight: 1
components:
- type: MapLight
ambientLightColor: "#031f04"
- type: cp14DemiplaneModifier
id: MapLightDarkNight
tiers:

View File

@@ -14,9 +14,9 @@
tileMask:
- CP14FloorBase
entity: CP14QuartzCrystal
count: 10
count: 30
minGroupSize: 1
maxGroupSize: 4
maxGroupSize: 2
# TIER 2
@@ -40,7 +40,7 @@
entity: CP14CrystalRubiesMedium
count: 30
minGroupSize: 1
maxGroupSize: 4
maxGroupSize: 2
- type: cp14DemiplaneModifier
id: QuartzCrystalTopazes
@@ -62,7 +62,7 @@
entity: CP14CrystalTopazesMedium
count: 30
minGroupSize: 1
maxGroupSize: 4
maxGroupSize: 2
- type: cp14DemiplaneModifier
id: QuartzCrystalEmeralds
@@ -86,7 +86,7 @@
entity: CP14CrystalEmeraldsMedium
count: 30
minGroupSize: 1
maxGroupSize: 4
maxGroupSize: 2
- type: cp14DemiplaneModifier
id: QuartzCrystalSapphires
@@ -110,7 +110,7 @@
entity: CP14CrystalSapphiresMedium
count: 30
minGroupSize: 1
maxGroupSize: 4
maxGroupSize: 2
- type: cp14DemiplaneModifier
id: QuartzCrystalAmethysts
@@ -132,7 +132,7 @@
entity: CP14CrystalAmethystsMedium
count: 30
minGroupSize: 1
maxGroupSize: 4
maxGroupSize: 2
- type: cp14DemiplaneModifier
id: QuartzCrystalDiamonds
@@ -155,4 +155,4 @@
entity: CP14CrystalDiamondsMedium
count: 30
minGroupSize: 1
maxGroupSize: 4
maxGroupSize: 2

View File

@@ -108,6 +108,27 @@
minGroupSize: 3
maxGroupSize: 5
- type: cp14DemiplaneModifier
id: AirLily
tiers:
- 1
- 2
name: cp14-modifier-air-lily
categories:
Reward: 0.2
requiredTags:
- CP14DemiplaneHerbals
- CP14DemiplaneWater
layers:
- !type:OreDunGen
entityMask:
- CP14FloorWater
- CP14FloorWaterLilies
entity: CP14FloorWaterAirLily
count: 20
minGroupSize: 1
maxGroupSize: 2
# TIER 2
- type: cp14DemiplaneModifier

View File

@@ -17,3 +17,12 @@
- type: Tag
id: CP14DemiplaneUnderground
- type: Tag
id: CP14DemiplaneWater
#Cold
#Hot
#Dry

View File

@@ -0,0 +1,163 @@
- type: biomeTemplate
id: CP14SwampFill
layers:
- !type:BiomeTileLayer
threshold: -1.0
tile: CP14FloorDirt
- !type:BiomeTileLayer
tile: CP14FloorGrass
threshold: 0
noise:
seed: 5
noiseType: OpenSimplex2
fractalType: Ridged
frequency: 0.09
octaves: 2
lacunarity: 1.4
gain: 0.7
domainWarpType: OpenSimplex2
#Lakes
- !type:BiomeTileLayer
tile: CP14FloorDirt
threshold: 0.2
noise:
seed: 14
noiseType: OpenSimplex2
fractalType: FBm
frequency: 0.02
- !type:BiomeEntityLayer
allowedTiles:
- CP14FloorDirt
threshold: 0.2
noise:
seed: 14
noiseType: OpenSimplex2
fractalType: FBm
frequency: 0.02
entities:
- CP14FloorWaterReeds
- !type:BiomeEntityLayer
allowedTiles:
- CP14FloorDirt
threshold: 0.4
noise:
seed: 14
noiseType: OpenSimplex2
fractalType: FBm
frequency: 0.02
entities:
- CP14FloorWaterLilies
- !type:BiomeEntityLayer
allowedTiles:
- CP14FloorDirt
threshold: 0.5
noise:
seed: 14
noiseType: OpenSimplex2
fractalType: FBm
frequency: 0.02
entities:
- CP14FloorWater
- !type:BiomeTileLayer
tile: CP14FloorGrassLight
threshold: 0.3
noise:
seed: 0
noiseType: OpenSimplex2
fractalType: Ridged
frequency: 0.09
octaves: 2
lacunarity: 1.4
gain: 0.7
domainWarpType: OpenSimplex2
- !type:BiomeDecalLayer #Grass decal
allowedTiles:
- CP14FloorGrass
- CP14FloorGrassLight
- CP14FloorGrassTall
threshold: 0
divisions: 1
noise:
seed: 12
noiseType: OpenSimplex2
fractalType: Ridged
frequency: 0.05
octaves: 3
lacunarity: 1.8
gain: 0.7
domainWarpType: OpenSimplex2
domainWarpAmp: 120
decals:
- CP14FloraGrass1
- CP14FloraGrass2
- CP14FloraGrass3
- CP14FloraGrass4
- CP14FloraGrass5
- CP14FloraGrass6
- CP14FloraGrass7
- CP14FloraGrass8
- CP14FloraGrass9
- CP14FloraGrass10
- CP14FloraGrass11
- CP14FloraGrass12
- CP14FloraGrass13
- CP14FloraGrass14
- !type:BiomeDecalLayer #Bush decal
allowedTiles:
- CP14FloorGrass
- CP14FloorGrassLight
- CP14FloorGrassTall
threshold: 0.35
divisions: 1
noise:
seed: 12
noiseType: OpenSimplex2
fractalType: Ridged
frequency: 0.05
octaves: 3
lacunarity: 1.8
gain: 0.7
domainWarpType: OpenSimplex2
domainWarpAmp: 120
decals:
- CP14GrassBushes1
- CP14GrassBushes2
- CP14GrassBushes3
- CP14GrassBushes4
- CP14GrassBushes5
- CP14GrassBushes6
- CP14GrassBushes7
- CP14GrassBushes8
- CP14GrassBushes9
- !type:BiomeEntityLayer # Tall grass!
threshold: 0.3
noise:
seed: 23
noiseType: OpenSimplex2
fractalType: Ridged
frequency: 0.02
octaves: 3
lacunarity: 1.8
gain: 0.7
domainWarpType: OpenSimplex2
domainWarpAmp: 120
allowedTiles:
- CP14FloorGrassLight
entities:
- CP14RandomBushOffsetSpawner
- !type:BiomeEntityLayer # More Trees
threshold: 0.5
noise:
seed: 4
noiseType: OpenSimplex2
fractalType: FBm
frequency: 1
allowedTiles:
- CP14FloorGrass
- CP14FloorGrassLight
- CP14FloorGrassTall
entities:
- CP14FloraTreeGreen
- CP14FloraTreeGreenLarge

View File

@@ -156,3 +156,29 @@
types:
Poison: 0.1
- type: reagent
id: CP14AirLily
group: CP14Biological
name: cp14-reagent-name-air-lily-juice
desc: cp14-reagent-desc-air-lily-juice
flavor: fizzy
color: "#92cae0"
physicalDesc: reagent-physical-desc-milky
metabolisms:
Medicine:
effects:
- !type:HealthChange
damage:
groups:
Airloss: -2
Poison:
effects:
- !type:HealthChange
damage:
types:
Poison: 0.6
- !type:Emote
showInChat: false
emote: Cough
probability: 0.3

View File

@@ -75,6 +75,38 @@
types:
Poison: 10
- type: reagent
id: CP14BasicEffectHealAirloss
name: cp14-reagent-name-basic-heal-airloss
desc: cp14-reagent-desc-basic-heal-airloss
group: CP14BasicEffect
flavor: fizzy
color: "#e6f4f5"
physicalDesc: reagent-physical-desc-milky
metabolisms:
Medicine:
effects:
- !type:HealthChange
damage:
groups:
Airloss: -10
- type: reagent
id: CP14BasicEffectDamageAirloss
name: cp14-reagent-name-basic-damage-airloss
desc: cp14-reagent-desc-basic-damage-airloss
group: CP14BasicEffect
flavor: horrible
color: "#73091e"
physicalDesc: reagent-physical-desc-viscous
metabolisms:
Poison:
effects:
- !type:HealthChange
damage:
groups:
Airloss: 10
- type: reagent
id: CP14BasicEffectSatiateHunger
name: cp14-reagent-name-basic-satiate-hunger

View File

@@ -0,0 +1,37 @@
# Simple brewing
- type: reaction
id: CP14AirLilyBrewing
minTemp: 500
priority: 2
reactants:
CP14AirLily:
amount: 1
CP14GroundQuartz:
amount: 1
products:
CP14BasicEffectEmpty: 1
CP14BasicEffectHealAirloss: 0.5
CP14BasicEffectSatiateThirst: 0.25
cp14RandomProducts:
- CP14BasicEffectSpeedDown: 0.25
- CP14BasicEffectDamagePoison: 0.25
- CP14BasicEffectHealPoison: 0.25
effects:
- !type:CP14AffectSolutionTemperature
addTemperature: -250
# Splitting
- type: reaction
id: CP14AirLilySplitting
minTemp: 450
priority: 3
reactants:
CP14BasicEffectEmoteCough:
amount: 0.5
CP14AirLily:
amount: 0.5
products:
CP14BasicEffectHealAirloss: 0.5
CP14BasicEffectSpeedDown: 0.5

View File

@@ -39,6 +39,9 @@
CP14BasicEffectSpeedDown: CP14BasicEffectSpeedUp
CP14BasicEffectSpeedUp: CP14BasicEffectSpeedDown
#
CP14BasicEffectDamageAirloss: CP14BasicEffectHealAirloss
CP14BasicEffectHealAirloss: CP14BasicEffectDamageAirloss
#
#CP14BasicEffectRainbow:
#CP14BasicEffectEmoteCough: