From 3182447fbf79d4c6b4c4f147bb8ac2d51e51ccc9 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Thu, 4 Jul 2024 23:25:22 +0300 Subject: [PATCH] Grass update v2 (#303) * high bush * update worldgen --- .../Structures/Flora/grasshighbush.yml | 98 ++++++++++++++++++ .../Procedural/biomes_template_grasslands.yml | 75 ++++++++++++++ .../GrassHighBush.rsi/grass_high_bush1.png | Bin 0 -> 2096 bytes .../GrassHighBush.rsi/grass_high_bush2.png | Bin 0 -> 1782 bytes .../GrassHighBush.rsi/grass_high_bush3.png | Bin 0 -> 2074 bytes .../GrassHighBush.rsi/grass_high_bush4.png | Bin 0 -> 2096 bytes .../Flora/GrassHighBush.rsi/meta.json | 23 ++++ 7 files changed, 196 insertions(+) create mode 100644 Resources/Prototypes/_CP14/Entities/Structures/Flora/grasshighbush.yml create mode 100644 Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush1.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush2.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush3.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush4.png create mode 100644 Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/meta.json diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Flora/grasshighbush.yml b/Resources/Prototypes/_CP14/Entities/Structures/Flora/grasshighbush.yml new file mode 100644 index 0000000000..e0e52e49ae --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Flora/grasshighbush.yml @@ -0,0 +1,98 @@ +- type: entity + id: CP14HighBush + name: high bush + description: Very tall and dense thickets. Perhaps someone is watching you from them + components: + - type: SpriteFade + - type: Clickable + - type: Sprite + noRot: true + sprite: _CP14/Structures/Flora/GrassHighBush.rsi + drawdepth: Mobs + offset: 0,0.3 + layers: + - state: grass_high_bush1 + map: ["random"] + - type: RandomSprite + available: + - random: + grass_high_bush1: "" + grass_high_bush2: "" + grass_high_bush3: "" + grass_high_bush4: "" + - type: Physics + bodyType: Static + - type: Fixtures + fixtures: + fix1: + hard: false + shape: + !type:PhysShapeAabb + bounds: "-0.35,-0.4,0.35,0.4" + density: 1000 + layer: + - WallLayer + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Wood + - type: MeleeSound + soundGroups: + Brute: + collection: CP14GrassGathering + params: + variation: 0.05 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: CP14GrassGathering + params: + volume: 5 + variation: 0.05 + - !type:DoActsBehavior + acts: [ "Destruction" ] + #- !type:SpawnEntitiesBehavior #TODO - flora material drop + # spawn: + # CP14WoodLog: + # min: 1 + # max: 3 + - type: Material + - type: PhysicalComposition # точно ли это нужно? + materialComposition: + CP14WoodenPlanks: 100 + - type: SpeedModifierContacts + walkSpeedModifier: 0.5 + sprintSpeedModifier: 0.5 + - type: EmitSoundOnTrigger + sound: + params: + volume: -8 + collection: CP14GrassGathering + - type: TriggerOnCollide + fixtureID: fix1 + +- type: entity + id: CP14RandomBushOffsetSpawner + name: random bush offset spawner + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: _CP14/Structures/Flora/GrassHighBush.rsi + state: grass_high_bush1 + - type: RandomSpawner + prototypes: + - CP14HighBush + chance: 1 + offset: 0.35 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Procedural/biomes_template_grasslands.yml b/Resources/Prototypes/_CP14/Procedural/biomes_template_grasslands.yml index 36563da58a..f8c455eceb 100644 --- a/Resources/Prototypes/_CP14/Procedural/biomes_template_grasslands.yml +++ b/Resources/Prototypes/_CP14/Procedural/biomes_template_grasslands.yml @@ -33,6 +33,81 @@ gain: 0.7 domainWarpType: OpenSimplex2 domainWarpAmp: 120 + - !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.05 + octaves: 3 + lacunarity: 1.8 + gain: 0.7 + domainWarpType: OpenSimplex2 + domainWarpAmp: 120 + allowedTiles: + - CP14FloorGrassTall + entities: + - CP14RandomBushOffsetSpawner - !type:BiomeEntityLayer # Rare Trees threshold: 0.8 noise: diff --git a/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush1.png b/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush1.png new file mode 100644 index 0000000000000000000000000000000000000000..7615761bd506888e2a2b36abccee05d53e949604 GIT binary patch literal 2096 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 Ef+29sl>h($ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush4.png b/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush4.png new file mode 100644 index 0000000000000000000000000000000000000000..7615761bd506888e2a2b36abccee05d53e949604 GIT binary patch literal 2096 zcmV-02+#M4P)Px+>PbXFRCt{2ThB{sTNM6|deSTjB@mQ|XpoJffs>kbrWJQ2GY|SS*xGTKm&;AovzNppr>zR~H-q8xj^ufRagTsZ<#E&+m&Ib}9mk9xxHpP-{xK zy4V1a)(W|@Wc9P6*Vy^oG%P#>2zI?d$)vTDqgA9*VNd7r#|Qubt6D(D*P0S4m7Zs- z4|o&;W=2e!tLGzGQLvj0U!hPqQ=~tDgOO4 zBV&Ji1=)OWO#G&a;r%lUl|)R#{`LxrrB}Ptoe4)CpckUi>e7lOV(gNUh|BXZ3cpk+ zhcZSwFb<>Z1DK2Z0}crgC!(JeBg2dcBB9+HU2C^K5sCVS;i3-%(e>xG`hWuhrmceL z6{GlN9`Nv}Arkcg(5A+ePB+NAe-#SjR7DMWh>t346rw0SiSI>zdwCU`5r8H61ykcF=tkes+m)oCd|erwvNAKLA9cJ~TRmiO;<}A8(Yd zi+y}K3F7`)8hVo?7|jU!`u(?VZgxnpMF1I2G0HKaNfEuEQt8dC<0rYk(JO$F;l6~Q$bJ6kf(1jh#fUJEoj z1O6UOUOAL;UF-t@s`WQsO-@RQia-QC$4ckuSvy?Fm8ERHhyCppE_^3PtJv9+ISBx; zx69^3VKhk;Ne_sSX~xs|gSuTbOxw2HPzwywT1y2Yd_oo#;o8*pz_!Tm>bucs;)$SdVyupva=^Rmozx-ePj9pSb8JuY{|&xdp!MZuKT%2 z0($jsw?6UZB*?qL+n2$34UutH`57^j0L74IL?mJwZtp(EI=5`ThkjS(X;1V5U1L%iimbR#OLRRgsHwq#ZM{~hH@xFIh2uzY5a!@7;)1goA2T0w~_<^PcJH0 ze}Y&+2G?Y4uKRVhff3n!561@q>~F8|AAn_(NYsa9Jml(-Wuga=@no1-Z;KsU;g`yU z4n6?y=yz3JOAE-{z@07jS`wYvk15O5ML9HpF z(fMG638ek=_rIgLxIAJrjUC0Jz=+KeO&9>*FBDT9z`8vmfs7`vn09S%SJH)A(*Nhd_(h=k2`KdSXNB;z48IsI+I6esA@;uB}mNEpzeWNo#zpLsRqef@Ii4cWP+*|Mp zjte1TU&*93qma=)0C_{Lsq(^T8pspqHvrxcu}u*syk4FzyDo*P0Wqe#LartFORf=R-4Em zT%M1LF5~CK9Uw0bN*x4giFjfvs@0{-zVrtBVbuDF8;s{`QE7WITjw z{SB$8H^=0j5kSV9H7sU3#K#8#6iYo_IEWd7Y5^jHRh%mJb|qBn%p1HoDE6cq1k8H{ zW5be&X{f=+y+G7}YW~*Z#?4Rw+;}3R-5S*ZPcPu1VfUQDDqMX(fW*ky1~af!Rf7*ngm{`v#56p#*d0_1 zk?}+r6+qNWSl!`u0#_bDN=&h6*07u$t#Z+8bOtDvUP0UI$#{r&gnI`8{yl?!S4FX; z@}qYkJR(8xIxpag07Du&HNPwU17I3Kt4+pJ3Ty!Uys*(3a8IBP^y*@Rz8Z5{$d%8O zO!`M5S3Vn#dE>?gR|L#99vDs(!M~1v0N{#G#*+rrnj`V!yF+#QJU3YPOfTTL5;Vl* z%vCTJJ0xzRHi#H{*V%BaX$DUu-wM3g6+X2xi9)V?W-Ncj8bE}dlN~#AFoRP9PT^os zkpzHw0bLUXR9t-r^Rfk}1l+)(_>jTkDwDC1sBf&Pnm62pfaBOJZl>!0#1kBZV2Us`(zedzm2cW?zQsFxvaPm^ZOb$gQyQTCfCfaFT#sB=KUWdX2wkNl!Y3;#1cyY a0R96gQ&7Z>8e7Z&0000