diff --git a/Content.Server/Fluids/EntitySystems/PuddleSystem.Evaporation.cs b/Content.Server/Fluids/EntitySystems/PuddleSystem.Evaporation.cs index d9605c775c..148306d7b3 100644 --- a/Content.Server/Fluids/EntitySystems/PuddleSystem.Evaporation.cs +++ b/Content.Server/Fluids/EntitySystems/PuddleSystem.Evaporation.cs @@ -1,16 +1,33 @@ using Content.Shared.Chemistry.Components; using Content.Shared.FixedPoint; using Content.Shared.Fluids.Components; +using Content.Shared.Maps; +using Robust.Shared.Map; +using Robust.Shared.Map.Components; namespace Content.Server.Fluids.EntitySystems; public sealed partial class PuddleSystem { + [Dependency] private readonly SharedMapSystem _maps = default!; //CP14 + [Dependency] private readonly ITileDefinitionManager _tileDefManager = default!; //CP14 private static readonly TimeSpan EvaporationCooldown = TimeSpan.FromSeconds(1); private void OnEvaporationMapInit(Entity entity, ref MapInitEvent args) { entity.Comp.NextTick = _timing.CurTime + EvaporationCooldown; + + + //CP14 Force evaporation under sky + var xform = Transform(entity); + if (TryComp(xform.GridUid, out var mapGrid)) + { + var tileRef = _maps.GetTileRef(xform.GridUid.Value, mapGrid, xform.Coordinates); + var tileDef = (ContentTileDefinition) _tileDefManager[tileRef.Tile.TypeId]; + + entity.Comp.CP14ForceEvaporation = tileDef.Weather; + } + //CP14 End force evaporation under sky } private void UpdateEvaporation(EntityUid uid, Solution solution) @@ -46,7 +63,13 @@ public sealed partial class PuddleSystem continue; var reagentTick = evaporation.EvaporationAmount * EvaporationCooldown.TotalSeconds; - puddleSolution.SplitSolutionWithOnly(reagentTick, EvaporationReagents); + + //CP14 Force evaporation + if (!evaporation.CP14ForceEvaporation) + puddleSolution.SplitSolutionWithOnly(reagentTick, EvaporationReagents); + else + puddleSolution.SplitSolution(reagentTick); + //CP14 end force evaporation // Despawn if we're done if (puddleSolution.Volume == FixedPoint2.Zero) diff --git a/Content.Server/Fluids/EntitySystems/PuddleSystem.cs b/Content.Server/Fluids/EntitySystems/PuddleSystem.cs index 3889be1174..259a2d31eb 100644 --- a/Content.Server/Fluids/EntitySystems/PuddleSystem.cs +++ b/Content.Server/Fluids/EntitySystems/PuddleSystem.cs @@ -341,7 +341,7 @@ public sealed partial class PuddleSystem : SharedPuddleSystem _deletionQueue.Remove(entity); UpdateSlip(entity, entity.Comp, args.Solution); UpdateSlow(entity, args.Solution); - UpdateEvaporation(entity, args.Solution); + //UpdateEvaporation(entity, args.Solution); //CP14 Force evaporation under sky via YML UpdateAppearance(entity, entity.Comp); } diff --git a/Content.Server/_CP14/FootStep/CP14DecalCleanerComponent.cs b/Content.Server/_CP14/FootStep/CP14DecalCleanerComponent.cs new file mode 100644 index 0000000000..299e510604 --- /dev/null +++ b/Content.Server/_CP14/FootStep/CP14DecalCleanerComponent.cs @@ -0,0 +1,20 @@ +using Robust.Shared.Audio; +using Robust.Shared.Prototypes; + +namespace Content.Server._CP14.FootStep; + +/// +/// +/// +[RegisterComponent, Access(typeof(CP14FootprintsSystem))] +public sealed partial class CP14DecalCleanerComponent : Component +{ + [DataField] + public SoundSpecifier Sound = new SoundCollectionSpecifier("CP14Broom"); + + [DataField] + public EntProtoId? SpawnEffect = "CP14DustEffect"; + + [DataField] + public float Range = 1.5f; +} diff --git a/Content.Server/_CP14/FootStep/CP14FootprintHolderComponent.cs b/Content.Server/_CP14/FootStep/CP14FootprintHolderComponent.cs new file mode 100644 index 0000000000..49d748ba99 --- /dev/null +++ b/Content.Server/_CP14/FootStep/CP14FootprintHolderComponent.cs @@ -0,0 +1,33 @@ +using Content.Shared.Decals; +using Content.Shared.FixedPoint; +using Robust.Shared.Prototypes; + +namespace Content.Server._CP14.FootStep; + +/// +/// stores the type of footprints and their settings. +/// +[RegisterComponent, Access(typeof(CP14FootprintsSystem))] +public sealed partial class CP14FootprintHolderComponent : Component +{ + [DataField] + public ProtoId DecalProto = "CP14FootprintsBoots"; + + [DataField] + public float DecalDistance = 1f; + + [DataField] + public float DistanceTraveled = 0f; + + [DataField] + public Color DecalColor = Color.White; + + [DataField] + public float Intensity = 0f; + + [DataField] + public FixedPoint2 PickSolution = 1f; + + [DataField] + public float DistanceIntensityCost = 0.2f; +} diff --git a/Content.Server/_CP14/FootStep/CP14FootprintTrailerComponent.cs b/Content.Server/_CP14/FootStep/CP14FootprintTrailerComponent.cs new file mode 100644 index 0000000000..1367f39f71 --- /dev/null +++ b/Content.Server/_CP14/FootStep/CP14FootprintTrailerComponent.cs @@ -0,0 +1,15 @@ + +namespace Content.Server._CP14.FootStep; + +/// +/// allows an entity to leave footprints on the tiles +/// +[RegisterComponent, Access(typeof(CP14FootprintsSystem))] +public sealed partial class CP14FootprintTrailerComponent : Component +{ + /// + /// Source and type of footprint + /// + [DataField] + public CP14FootprintHolderComponent? holder = null; +} diff --git a/Content.Server/_CP14/FootStep/CP14FootprintsSystem.cs b/Content.Server/_CP14/FootStep/CP14FootprintsSystem.cs new file mode 100644 index 0000000000..2dd0ad1003 --- /dev/null +++ b/Content.Server/_CP14/FootStep/CP14FootprintsSystem.cs @@ -0,0 +1,157 @@ +using System.Numerics; +using Content.Server.Decals; +using Content.Shared.Fluids; +using Content.Shared.Fluids.Components; +using Content.Shared.Interaction; +using Content.Shared.Inventory.Events; +using Content.Shared.Maps; +using Robust.Server.GameObjects; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Map; +using Robust.Shared.Map.Components; +using Robust.Shared.Physics.Events; +using Robust.Shared.Prototypes; + +namespace Content.Server._CP14.FootStep; + +public sealed class CP14FootprintsSystem : EntitySystem +{ + [Dependency] private readonly DecalSystem _decal = default!; + [Dependency] private readonly SharedMapSystem _maps = default!; + [Dependency] private readonly ITileDefinitionManager _tileDefManager = default!; + [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly TransformSystem _transform = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrailerMove); + SubscribeLocalEvent(OnTrailerCollide); + + SubscribeLocalEvent(OnHolderEquipped); + SubscribeLocalEvent(OnHolderUnequipped); + + SubscribeLocalEvent(OnBeforeInteract); + } + + private void OnBeforeInteract(Entity ent, ref BeforeRangedInteractEvent args) + { + if (!args.CanReach) + return; + + // Remove old decals + var gridUid = Transform(ent).GridUid; + if (gridUid is null) + return; + + if (!TryComp(gridUid, out var map)) + return; + + var vec = _transform.GetGridOrMapTilePosition(ent); + var tileCenterVec = vec + map.TileSizeHalfVector; + + var oldDecals = _decal.GetDecalsInRange(gridUid.Value, tileCenterVec, ent.Comp.Range); + + if (oldDecals.Count > 0) + { + _audio.PlayPvs(ent.Comp.Sound, args.ClickLocation); + SpawnAtPosition(ent.Comp.SpawnEffect, args.ClickLocation); + } + + foreach (var (id, decal) in oldDecals) + { + if (decal.Cleanable) + _decal.RemoveDecal(gridUid.Value, id); + } + } + + private void OnHolderUnequipped(Entity ent, ref GotUnequippedEvent args) + { + if (!TryComp(args.Equipee, out var trailer)) + return; + + trailer.holder = null; + + if (TryComp(args.Equipee, out var selfHolder)) + { + trailer.holder = selfHolder; + } + } + + private void OnHolderEquipped(Entity ent, ref GotEquippedEvent args) + { + if (!TryComp(args.Equipee, out var trailer)) + return; + + trailer.holder = ent.Comp; + } + + private void OnTrailerCollide(Entity ent, ref StartCollideEvent args) + { + if (ent.Comp.holder is null) + return; + var footprint = ent.Comp.holder; + + if (!TryComp(args.OtherEntity, out var puddle)) + return; + + if (puddle.Solution is null) + return; + + var sol = puddle.Solution; + + var splittedSol = sol.Value.Comp.Solution.SplitSolutionWithout(footprint.PickSolution, SharedPuddleSystem.EvaporationReagents); + + if (splittedSol.Volume > 0) + UpdateFootprint(footprint, splittedSol.GetColor(_proto)); + } + + private void UpdateFootprint(CP14FootprintHolderComponent comp, Color color) + { + comp.DecalColor = color; + comp.Intensity = 1f; + } + + private void OnTrailerMove(Entity ent, ref MoveEvent args) + { + if (ent.Comp.holder is null) + return; + var footprint = ent.Comp.holder; + + var distance = Vector2.Distance(args.OldPosition.Position, args.NewPosition.Position); + + footprint.DistanceTraveled += distance; + + if (footprint.DistanceTraveled < footprint.DecalDistance) + return; + + footprint.DistanceTraveled = 0f; + + var xform = Transform(ent); + if (!TryComp(xform.GridUid, out var mapGrid)) + return; + + var tileRef = _maps.GetTileRef(xform.GridUid.Value, mapGrid, xform.Coordinates); + var tileDef = (ContentTileDefinition)_tileDefManager[tileRef.Tile.TypeId]; + + if (tileDef.Weather && tileDef.Color is not null) + { + UpdateFootprint(footprint, tileDef.Color.Value); + return; + } + + if (footprint.Intensity <= 0) + return; + + _decal.TryAddDecal(footprint.DecalProto, + xform.Coordinates.Offset(new Vector2(-0.5f, -0.5f)), + out var decal, + footprint.DecalColor.WithAlpha(footprint.Intensity), + xform.LocalRotation, + cleanable: true); + + footprint.Intensity = MathF.Max(0, footprint.Intensity - footprint.DistanceIntensityCost); + } +} diff --git a/Content.Shared/Fluids/Components/EvaporationComponent.cs b/Content.Shared/Fluids/Components/EvaporationComponent.cs index f2ed3a6186..dad2af800c 100644 --- a/Content.Shared/Fluids/Components/EvaporationComponent.cs +++ b/Content.Shared/Fluids/Components/EvaporationComponent.cs @@ -22,4 +22,10 @@ public sealed partial class EvaporationComponent : Component /// [DataField("evaporationAmount")] public FixedPoint2 EvaporationAmount = FixedPoint2.New(0.3); + + /// + /// forcibly vaporizes ALL the chemicals + /// + [DataField] + public bool CP14ForceEvaporation = false; } diff --git a/Content.Shared/Fluids/SharedPuddleSystem.Evaporation.cs b/Content.Shared/Fluids/SharedPuddleSystem.Evaporation.cs index 023d024a05..21e1713425 100644 --- a/Content.Shared/Fluids/SharedPuddleSystem.Evaporation.cs +++ b/Content.Shared/Fluids/SharedPuddleSystem.Evaporation.cs @@ -6,7 +6,7 @@ namespace Content.Shared.Fluids; public abstract partial class SharedPuddleSystem { [ValidatePrototypeId] - private const string Water = "Water"; + private const string Water = "CP14Water"; //CP14 Water public static readonly string[] EvaporationReagents = [Water]; diff --git a/Content.Shared/Maps/ContentTileDefinition.cs b/Content.Shared/Maps/ContentTileDefinition.cs index cf121ffd9c..47abb40439 100644 --- a/Content.Shared/Maps/ContentTileDefinition.cs +++ b/Content.Shared/Maps/ContentTileDefinition.cs @@ -129,5 +129,11 @@ namespace Content.Shared.Maps /// [DataField] public ProtoId? BurnedTile { get; private set; } = null; + + /// + /// CP14 - color for footprints + /// + [DataField] + public Color? Color; } } diff --git a/Resources/Audio/_CP14/Items/attributions.yml b/Resources/Audio/_CP14/Items/attributions.yml index 34d5c92d6d..bff67cf737 100644 --- a/Resources/Audio/_CP14/Items/attributions.yml +++ b/Resources/Audio/_CP14/Items/attributions.yml @@ -51,4 +51,9 @@ - files: ["sawing1.ogg", "sawing2.ogg", "sawing3.ogg", "sawing4.ogg", "sawing5.ogg"] license: "CC0-1.0" copyright: 'by deleted_user_7146007 of Freesound.org. Cropped and mixed from stereo to mono.' - source: "https://freesound.org/people/deleted_user_7146007/sounds/383725/" \ No newline at end of file + source: "https://freesound.org/people/deleted_user_7146007/sounds/383725/" + +- files: ["broom1.ogg", "broom2.ogg", "broom3.ogg"] + license: "CC-BY-4.0" + copyright: 'by F.M.Audio of Freesound.org. Cropped by TheShuEd.' + source: "https://freesound.org/people/F.M.Audio/sounds/552056/" \ No newline at end of file diff --git a/Resources/Audio/_CP14/Items/broom1.ogg b/Resources/Audio/_CP14/Items/broom1.ogg new file mode 100644 index 0000000000..d2acfd0b39 Binary files /dev/null and b/Resources/Audio/_CP14/Items/broom1.ogg differ diff --git a/Resources/Audio/_CP14/Items/broom2.ogg b/Resources/Audio/_CP14/Items/broom2.ogg new file mode 100644 index 0000000000..fa3639a308 Binary files /dev/null and b/Resources/Audio/_CP14/Items/broom2.ogg differ diff --git a/Resources/Audio/_CP14/Items/broom3.ogg b/Resources/Audio/_CP14/Items/broom3.ogg new file mode 100644 index 0000000000..0023861ac8 Binary files /dev/null and b/Resources/Audio/_CP14/Items/broom3.ogg differ diff --git a/Resources/Prototypes/Entities/Effects/puddle.yml b/Resources/Prototypes/Entities/Effects/puddle.yml index 36f0faa1df..b7bd28f2c8 100644 --- a/Resources/Prototypes/Entities/Effects/puddle.yml +++ b/Resources/Prototypes/Entities/Effects/puddle.yml @@ -162,6 +162,7 @@ solution: puddle - type: BadDrink - type: IgnoresFingerprints + - type: Evaporation #CP14 always evaporation - type: Tag tags: - DNASolutionScannable diff --git a/Resources/Prototypes/_CP14/Decal/bricktile_stone.yml b/Resources/Prototypes/_CP14/Decal/bricktile_stone.yml index f3b88d09b3..2f4fb677ac 100644 --- a/Resources/Prototypes/_CP14/Decal/bricktile_stone.yml +++ b/Resources/Prototypes/_CP14/Decal/bricktile_stone.yml @@ -1,6 +1,5 @@ - type: decal id: CP14BrickTileStoneBox - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -9,7 +8,6 @@ - type: decal id: CP14BrickTileStoneCornerNe - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -18,7 +16,6 @@ - type: decal id: CP14BrickTileStoneCornerSe - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -27,7 +24,6 @@ - type: decal id: CP14BrickTileStoneCornerNw - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -36,7 +32,6 @@ - type: decal id: CP14BrickTileStoneCornerSw - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -45,7 +40,6 @@ - type: decal id: CP14BrickTileStoneInnerNe - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -54,7 +48,6 @@ - type: decal id: CP14BrickTileStoneInnerSe - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -63,7 +56,6 @@ - type: decal id: CP14BrickTileStoneInnerNw - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -72,7 +64,6 @@ - type: decal id: CP14BrickTileStoneInnerSw - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -81,7 +72,6 @@ - type: decal id: CP14BrickTileStoneEndN - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -90,7 +80,6 @@ - type: decal id: CP14BrickTileStoneEndE - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -99,7 +88,6 @@ - type: decal id: CP14BrickTileStoneEndS - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -108,7 +96,6 @@ - type: decal id: CP14BrickTileStoneEndW - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -117,7 +104,6 @@ - type: decal id: CP14BrickTileStoneLineN - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -126,7 +112,6 @@ - type: decal id: CP14BrickTileStoneLineE - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -135,7 +120,6 @@ - type: decal id: CP14BrickTileStoneLineS - snapCardinals: true defaultSnap: true showMenu: true sprite: @@ -144,7 +128,6 @@ - type: decal id: CP14BrickTileStoneLineW - snapCardinals: true defaultSnap: true showMenu: true sprite: diff --git a/Resources/Prototypes/_CP14/Decal/footprints.yml b/Resources/Prototypes/_CP14/Decal/footprints.yml new file mode 100644 index 0000000000..b2ccce28dd --- /dev/null +++ b/Resources/Prototypes/_CP14/Decal/footprints.yml @@ -0,0 +1,13 @@ +- type: decal + id: CP14Footprints + showMenu: true + sprite: + sprite: _CP14/Decals/footprints.rsi + state: footprint + +- type: decal + id: CP14FootprintsBoots + showMenu: true + sprite: + sprite: _CP14/Decals/footprints.rsi + state: boots \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Shoes/shoes.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Shoes/shoes.yml index 4cf7f20151..e2b4882e56 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Shoes/shoes.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Shoes/shoes.yml @@ -12,6 +12,7 @@ state: icon - type: Item size: Normal + - type: CP14FootprintHolder - type: entity parent: CP14ClothingShoesBase diff --git a/Resources/Prototypes/_CP14/Entities/Effects/visual_effect.yml b/Resources/Prototypes/_CP14/Entities/Effects/visual_effect.yml index b8337b867e..90d33aa822 100644 --- a/Resources/Prototypes/_CP14/Entities/Effects/visual_effect.yml +++ b/Resources/Prototypes/_CP14/Entities/Effects/visual_effect.yml @@ -22,6 +22,22 @@ dirt1: "" dirt2: "" +- type: entity + id: CP14DustEffect + categories: [ HideSpawnMenu ] + components: + - type: TimedDespawn + lifetime: 0.4 + - type: Sprite + drawdepth: Effects + sprite: _CP14/Effects/dust.rsi + state: dust + - type: EffectVisuals + - type: Tag + tags: + - HideContextMenu + - type: AnimationPlayer + - type: entity id: CP14MagicBeam1 categories: [ HideSpawnMenu ] diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml index e59b2e9103..9fa4453f27 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml @@ -217,6 +217,9 @@ - type: CP14MagicUnsafeSleep - type: CP14MagicAttuningMind autoCopyToMind: true + - type: CP14FootprintHolder + decalProto: CP14Footprints + - type: CP14FootprintTrailer - type: entity diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/mop.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/mop.yml new file mode 100644 index 0000000000..4baad5ae55 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/mop.yml @@ -0,0 +1,34 @@ +- type: entity + id: CP14BaseMop + parent: + - BaseItem + - CP14BaseWeaponDestructible + name: wooden mop + description: Mop for cleaning floors from various unpleasant liquids + components: + - type: Item + size: Large + sprite: _CP14/Objects/Tools/mop.rsi + - type: Sprite + sprite: _CP14/Objects/Tools/mop.rsi + state: icon + - type: MeleeWeapon + wideAnimationRotation: 10 + damage: + types: + Blunt: 2 + soundHit: + collection: MetalThud + - type: Wieldable + - type: IncreaseDamageOnWield + damage: + types: + Blunt: 3 + - type: Spillable + solution: absorbed + - type: Absorbent + - type: SolutionContainerManager + solutions: + absorbed: + maxVol: 100 + - type: CP14DecalCleaner \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml index b16963087b..6e35926de5 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml @@ -32,4 +32,13 @@ craftTime: 3 stacks: CP14WoodenPlanks: 2 - result: CP14PlateWooden \ No newline at end of file + result: CP14PlateWooden + +- type: CP14Recipe + id: CP14BaseMop + tag: CP14RecipeWorkbench + craftTime: 3 + stacks: + CP14WoodenPlanks: 2 + CP14Cloth: 1 + result: CP14BaseMop \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/SoundCollections/misc.yml b/Resources/Prototypes/_CP14/SoundCollections/misc.yml index 0a9010a034..afda6d4ad5 100644 --- a/Resources/Prototypes/_CP14/SoundCollections/misc.yml +++ b/Resources/Prototypes/_CP14/SoundCollections/misc.yml @@ -28,4 +28,11 @@ - /Audio/_CP14/Items/sawing2.ogg - /Audio/_CP14/Items/sawing3.ogg - /Audio/_CP14/Items/sawing4.ogg - - /Audio/_CP14/Items/sawing5.ogg \ No newline at end of file + - /Audio/_CP14/Items/sawing5.ogg + +- type: soundCollection + id: CP14Broom + files: + - /Audio/_CP14/Items/broom1.ogg + - /Audio/_CP14/Items/broom2.ogg + - /Audio/_CP14/Items/broom3.ogg \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Tiles/base.yml b/Resources/Prototypes/_CP14/Tiles/base.yml index 61a71883cb..56cd127ab7 100644 --- a/Resources/Prototypes/_CP14/Tiles/base.yml +++ b/Resources/Prototypes/_CP14/Tiles/base.yml @@ -37,4 +37,5 @@ collection: FootstepAsteroid heatCapacity: 10000 weather: true + color: "#38373b" indestructible: true \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Tiles/natural.yml b/Resources/Prototypes/_CP14/Tiles/natural.yml index f4b44327a0..b20f4af894 100644 --- a/Resources/Prototypes/_CP14/Tiles/natural.yml +++ b/Resources/Prototypes/_CP14/Tiles/natural.yml @@ -39,6 +39,7 @@ collection: FootstepAsteroid heatCapacity: 10000 weather: true + color: "#452f27" - type: tile editorHidden: false @@ -70,6 +71,7 @@ collection: FootstepSnow #TODO heatCapacity: 10000 weather: true + color: "#dccd9e" - type: tile id: CP14FloorGrass @@ -102,6 +104,7 @@ collection: FootstepGrass heatCapacity: 10000 weather: true + color: "#4a613a" - type: tile id: CP14FloorGrassLight @@ -134,6 +137,7 @@ collection: FootstepGrass heatCapacity: 10000 weather: true + color: "#4a613a" - type: tile id: CP14FloorGrassTall @@ -166,3 +170,4 @@ collection: FootstepGrass heatCapacity: 10000 weather: true + color: "#4a613a" diff --git a/Resources/Prototypes/_CP14/Tiles/woodplanks.yml b/Resources/Prototypes/_CP14/Tiles/woodplanks.yml index 9fc32921fb..f9e7566896 100644 --- a/Resources/Prototypes/_CP14/Tiles/woodplanks.yml +++ b/Resources/Prototypes/_CP14/Tiles/woodplanks.yml @@ -1220,6 +1220,7 @@ collection: FootstepWood heatCapacity: 10000 weather: true + color: "#0d0906" - type: tile #Big editorHidden: false @@ -1242,6 +1243,7 @@ collection: FootstepWood heatCapacity: 10000 weather: true + color: "#0d0906" - type: tile #Cruci editorHidden: false @@ -1264,6 +1266,7 @@ collection: FootstepWood heatCapacity: 10000 weather: true + color: "#0d0906" - type: tile #Stairways editorHidden: false @@ -1286,5 +1289,6 @@ collection: FootstepWood heatCapacity: 10000 weather: true + color: "#0d0906" ### /BURNED diff --git a/Resources/Textures/_CP14/Decals/footprints.rsi/boots.png b/Resources/Textures/_CP14/Decals/footprints.rsi/boots.png new file mode 100644 index 0000000000..184c1a8673 Binary files /dev/null and b/Resources/Textures/_CP14/Decals/footprints.rsi/boots.png differ diff --git a/Resources/Textures/_CP14/Decals/footprints.rsi/footprint.png b/Resources/Textures/_CP14/Decals/footprints.rsi/footprint.png new file mode 100644 index 0000000000..0f2e6f86d4 Binary files /dev/null and b/Resources/Textures/_CP14/Decals/footprints.rsi/footprint.png differ diff --git a/Resources/Textures/_CP14/Decals/footprints.rsi/meta.json b/Resources/Textures/_CP14/Decals/footprints.rsi/meta.json new file mode 100644 index 0000000000..b8c8b3dfee --- /dev/null +++ b/Resources/Textures/_CP14/Decals/footprints.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CLA", + "copyright": "Created by TheShuEd", + "states": [ + { + "name": "boots" + }, + { + "name": "footprint" + } + ] +} diff --git a/Resources/Textures/_CP14/Effects/dust.rsi/dust.png b/Resources/Textures/_CP14/Effects/dust.rsi/dust.png new file mode 100644 index 0000000000..897defe4a6 Binary files /dev/null and b/Resources/Textures/_CP14/Effects/dust.rsi/dust.png differ diff --git a/Resources/Textures/_CP14/Effects/dust.rsi/meta.json b/Resources/Textures/_CP14/Effects/dust.rsi/meta.json new file mode 100644 index 0000000000..8045d34939 --- /dev/null +++ b/Resources/Textures/_CP14/Effects/dust.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CLA", + "copyright": "Created by TheShuEd", + "states": [ + { + "name": "dust", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Tools/mop.rsi/icon.png b/Resources/Textures/_CP14/Objects/Tools/mop.rsi/icon.png new file mode 100644 index 0000000000..612c33d4e1 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Tools/mop.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/Tools/mop.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Tools/mop.rsi/inhand-left.png new file mode 100644 index 0000000000..1b2e5c5448 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Tools/mop.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/Tools/mop.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/Tools/mop.rsi/inhand-right.png new file mode 100644 index 0000000000..5b1a2604d5 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Tools/mop.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/Tools/mop.rsi/meta.json b/Resources/Textures/_CP14/Objects/Tools/mop.rsi/meta.json new file mode 100644 index 0000000000..5c9ce6b77e --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Tools/mop.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CLA", + "copyright": "Created by omsoyk (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_CP14/Objects/Tools/mop.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/Tools/mop.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..b0a892ada3 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Tools/mop.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/Tools/mop.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/Tools/mop.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..05b0db197a Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Tools/mop.rsi/wielded-inhand-right.png differ