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 0000000000..7615761bd5 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush1.png differ diff --git a/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush2.png b/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush2.png new file mode 100644 index 0000000000..e0a3452fa7 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush2.png differ diff --git a/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush3.png b/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush3.png new file mode 100644 index 0000000000..52704696e4 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush3.png differ 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 0000000000..7615761bd5 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/grass_high_bush4.png differ diff --git a/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/meta.json b/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/meta.json new file mode 100644 index 0000000000..78c6f65f6f --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Flora/GrassHighBush.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation and resprite by Jaraten(Github/Discord)", + "size": { + "x": 64, + "y": 64 + }, + "states": [ + { + "name": "grass_high_bush1" + }, + { + "name": "grass_high_bush2" + }, + { + "name": "grass_high_bush3" + }, + { + "name": "grass_high_bush4" + } + ] +}