From 0bf58bcb2b3a32ae8a32aa06720214ae0102060d Mon Sep 17 00:00:00 2001 From: neuPanda Date: Sun, 1 Sep 2024 19:16:17 -0400 Subject: [PATCH 1/7] Cryo Overhaul added 2 steping chems added a trauma and a tox cryo chem modified existing cryo chems to be more viable yet still balanced improved efficiency of cryo chambers modified body metabolizm --- .../Body/Components/MetabolizerComponent.cs | 9 +-- .../Body/Systems/MetabolizerSystem.cs | 15 +++-- Content.Server/Medical/CryoPodSystem.cs | 8 ++- .../Chemistry/Components/Solution.cs | 58 ++++++++++++++++++- .../SharedSolutionContainerSystem.cs | 20 ++++++- .../Medical/Cryogenics/CryoPodComponent.cs | 15 ++++- .../en-US/Floof/reagents/meta/chemicals.ftl | 5 ++ .../en-US/Floof/reagents/meta/medicine.ftl | 5 ++ .../Locale/en-US/reagents/meta/medicine.ftl | 6 +- .../Prototypes/Floof/Reagents/chemicals.yml | 13 +++++ .../Prototypes/Floof/Reagents/medicine.yml | 47 +++++++++++++++ .../Floof/Recipes/Reactions/chemicals.yml | 38 ++++++++++++ .../Floof/Recipes/Reactions/medicine.yml | 26 +++++++++ Resources/Prototypes/Reagents/medicine.yml | 19 ++++-- .../Prototypes/Recipes/Reactions/medicine.yml | 4 +- .../Guidebook/Medical/Cryogenics.xml | 12 +++- 16 files changed, 268 insertions(+), 32 deletions(-) create mode 100644 Resources/Locale/en-US/Floof/reagents/meta/chemicals.ftl create mode 100644 Resources/Locale/en-US/Floof/reagents/meta/medicine.ftl create mode 100644 Resources/Prototypes/Floof/Reagents/chemicals.yml create mode 100644 Resources/Prototypes/Floof/Reagents/medicine.yml diff --git a/Content.Server/Body/Components/MetabolizerComponent.cs b/Content.Server/Body/Components/MetabolizerComponent.cs index 7fe7d23cf34..797542d5f07 100644 --- a/Content.Server/Body/Components/MetabolizerComponent.cs +++ b/Content.Server/Body/Components/MetabolizerComponent.cs @@ -54,14 +54,15 @@ public sealed partial class MetabolizerComponent : Component /// [DataField] public bool RemoveEmpty = false; - /// - /// How many reagents can this metabolizer process at once? + /// floof + /// + /// How many poisons can this metabolizer process at once? /// Used to nerf 'stacked poisons' where having 5+ different poisons in a syringe, even at low /// quantity, would be muuuuch better than just one poison acting. /// - [DataField("maxReagents")] - public int MaxReagentsProcessable = 3; + [DataField("maxPoisons")] + public int MaxPoisonsProcessable = 3; /// /// A list of metabolism groups that this metabolizer will act on, in order of precedence. diff --git a/Content.Server/Body/Systems/MetabolizerSystem.cs b/Content.Server/Body/Systems/MetabolizerSystem.cs index 066bf0a1c5b..acff0d99250 100644 --- a/Content.Server/Body/Systems/MetabolizerSystem.cs +++ b/Content.Server/Body/Systems/MetabolizerSystem.cs @@ -142,7 +142,7 @@ private void TryMetabolize(Entity(reagent.Prototype, out var proto)) @@ -159,9 +159,10 @@ private void TryMetabolize(Entity= ent.Comp1.MaxReagentsProcessable) - return; + // floof modified + // Already processed all poisons, skip to the next reagent. + if (poisons >= ent.Comp1.MaxPoisonsProcessable && proto.Metabolisms.ContainsKey("Poison")) + continue; // loop over all our groups and see which ones apply @@ -223,8 +224,10 @@ private void TryMetabolize(Entity - /// Splits a solution without the specified reagent prototypes. + /// splits the solution taking the specified amount of reagents proportionally to their quantity. /// + /// The total amount of solution to remove and return. + /// a new solution of equal proportions to the original solution public Solution SplitSolutionWithOnly(FixedPoint2 toTake, params string[] includedPrototypes) { // First remove the non-included prototypes @@ -677,6 +678,59 @@ public Solution SplitSolution(FixedPoint2 toTake) return newSolution; } + /// + /// floof + /// splits the solution taking up to the specified amount of each reagent from the solution. + /// If the solution has less of a reagent than the specified amount, it will take all of that reagent. + /// + /// How much of each reagent to take + /// a new solution containing the reagents taken from the original solution + public Solution SplitSolutionReagentsEvenly(FixedPoint2 toTakePer) + { + var splitSolution = new Solution(); + + if (toTakePer <= FixedPoint2.Zero) + return splitSolution; + var reagentsCount = Contents.Count; + var reagentsToRemove = new List(); + for (var i = 0; i < reagentsCount; i++) + { + var currentReagent = Contents[i]; + + if (currentReagent.Quantity <= FixedPoint2.Zero) + { + reagentsToRemove.Add(currentReagent); + continue; + } + + if (currentReagent.Quantity <= toTakePer) + { + splitSolution.AddReagent(currentReagent); + reagentsToRemove.Add(currentReagent); + } + else + { + splitSolution.AddReagent(currentReagent.Reagent, toTakePer); + RemoveReagent(currentReagent.Reagent, toTakePer); + } + } + + foreach (var reagent in reagentsToRemove) + { + RemoveReagent(reagent); + } + if (Volume == FixedPoint2.Zero) + RemoveAllSolution(); + + _heatCapacityDirty = true; + splitSolution._heatCapacityDirty = true; + + ValidateSolution(); + splitSolution.ValidateSolution(); + + return splitSolution; + } + /// /// Variant of that doesn't return a new solution containing the removed reagents. /// diff --git a/Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.cs b/Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.cs index e74c1463804..a59c21f2dbd 100644 --- a/Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.cs +++ b/Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.cs @@ -296,9 +296,7 @@ public void UpdateAppearance(Entity sol /// /// Removes part of the solution in the container. - /// - /// - /// + /// /// The container to remove solution from. /// the volume of solution to remove. /// The solution that was removed. public Solution SplitSolution(Entity soln, FixedPoint2 quantity) @@ -311,6 +309,22 @@ public Solution SplitSolution(Entity soln, FixedPoint2 quanti return splitSol; } + /// + /// Splits a solution removing a specified amount of each reagent, if available. + /// + /// The container to split the solution from. + /// The amount of each reagent to split. + /// + public Solution SplitSolutionReagentsEvenly(Entity soln, FixedPoint2 quantity) + { + var (uid, comp) = soln; + var solution = comp.Solution; + + var splitSol = solution.SplitSolutionReagentsEvenly(quantity); + UpdateChemicals(soln); + return splitSol; + } + public Solution SplitStackSolution(Entity soln, FixedPoint2 quantity, int stackCount) { var (uid, comp) = soln; diff --git a/Content.Shared/Medical/Cryogenics/CryoPodComponent.cs b/Content.Shared/Medical/Cryogenics/CryoPodComponent.cs index a736a63cb22..c3099d1b7ff 100644 --- a/Content.Shared/Medical/Cryogenics/CryoPodComponent.cs +++ b/Content.Shared/Medical/Cryogenics/CryoPodComponent.cs @@ -1,4 +1,4 @@ -using Robust.Shared.Containers; +using Robust.Shared.Containers; using Robust.Shared.GameStates; using Robust.Shared.Serialization; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; @@ -34,11 +34,20 @@ public sealed partial class CryoPodComponent : Component public TimeSpan? NextInjectionTime; /// - /// How many units to transfer per tick from the beaker to the mob? + /// How many units of each reagent to transfer per tick from the beaker to the mob? /// [ViewVariables(VVAccess.ReadWrite)] [DataField("beakerTransferAmount")] - public float BeakerTransferAmount = 1f; + public float BeakerTransferAmount = .25f;// floof: 1<0.25 + + /// + /// Frontier + /// How potent (multiplier) the reagents are when transferred from the beaker to the mob. + /// + [ViewVariables(VVAccess.ReadWrite)] + [DataField("PotencyAmount")] + public float PotencyMultiplier = 2f; + /// /// Delay applied when inserting a mob in the pod. diff --git a/Resources/Locale/en-US/Floof/reagents/meta/chemicals.ftl b/Resources/Locale/en-US/Floof/reagents/meta/chemicals.ftl new file mode 100644 index 00000000000..cfd333e8638 --- /dev/null +++ b/Resources/Locale/en-US/Floof/reagents/meta/chemicals.ftl @@ -0,0 +1,5 @@ +reagent-name-salicylicacid = salicylic acid +reagent-desc-salicylicacid = A powdery substance used for dermatological treatments. + +reagent-name-formaldehyde = formaldehyde +reagent-desc-formaldehyde = A yellowish substance used for peservation of tissue. diff --git a/Resources/Locale/en-US/Floof/reagents/meta/medicine.ftl b/Resources/Locale/en-US/Floof/reagents/meta/medicine.ftl new file mode 100644 index 00000000000..60d709ae513 --- /dev/null +++ b/Resources/Locale/en-US/Floof/reagents/meta/medicine.ftl @@ -0,0 +1,5 @@ +reagent-name-traumoxadone = traumoxadone +reagent-desc-traumoxadone = A cryogenics chemical. Used to treat severe trauma via regeneration of the damaged tissue. Works regardless of the patient being alive or dead. Product of Mystic Medical + +reagent-name-stelloxadone = stelloxadone +reagent-desc-stelloxadone = A cryogenics chemical. Used to aggressively dissolve toxins from the body. Works regardless of the patient being alive or dead. Product of Mystic Medical diff --git a/Resources/Locale/en-US/reagents/meta/medicine.ftl b/Resources/Locale/en-US/reagents/meta/medicine.ftl index 5ebe0be134a..cacd499c90e 100644 --- a/Resources/Locale/en-US/reagents/meta/medicine.ftl +++ b/Resources/Locale/en-US/reagents/meta/medicine.ftl @@ -13,11 +13,13 @@ reagent-desc-arithrazine = A mildly unstable medication used for the most extrem reagent-name-bicaridine = bicaridine reagent-desc-bicaridine = An analgesic which is highly effective at treating brute damage. It's useful for stabilizing people who have been severely beaten, as well as treating less life-threatening injuries. +# Floof: consistent cryogenics descriptors reagent-name-cryoxadone = cryoxadone -reagent-desc-cryoxadone = Required for the proper function of cryogenics. Heals all standard types of damage, but only works in temperatures under 213K. It can treat and rejuvenate plants when applied in small doses. +reagent-desc-cryoxadone = Required for the proper function of cryogenics. Useful in treating asphyxiation and bloodloss, but only works in temperatures under 213K. It can treat and rejuvenate plants when applied in small doses. Works regardless of the patient being alive or dead. reagent-name-doxarubixadone = doxarubixadone -reagent-desc-doxarubixadone = A cryogenics chemical. Heals certain types of cellular damage done by Slimes and improper use of other chemicals. +reagent-desc-doxarubixadone = A cryogenics chemical. Heals certain types of cellular damage done by Slimes and improper use of other chemicals. Works regardless of the patient being alive or dead. +# End Floof reagent-name-dermaline = dermaline reagent-desc-dermaline = An advanced chemical that is more effective at treating burn damage than kelotane. diff --git a/Resources/Prototypes/Floof/Reagents/chemicals.yml b/Resources/Prototypes/Floof/Reagents/chemicals.yml new file mode 100644 index 00000000000..b388b8ab26e --- /dev/null +++ b/Resources/Prototypes/Floof/Reagents/chemicals.yml @@ -0,0 +1,13 @@ +- type: reagent + id: SalicylicAcid + name: reagent-name-salicylicacid + desc: reagent-desc-salicylicacid + physicalDesc: reagent-physical-desc-powdery + color: "#EEEEEE" + +- type: reagent + id: Formaldehyde + name: reagent-name-formaldehyde + desc: reagent-desc-formaldehyde + physicalDesc: reagent-physical-desc-sickly + color: "#F26724" diff --git a/Resources/Prototypes/Floof/Reagents/medicine.yml b/Resources/Prototypes/Floof/Reagents/medicine.yml new file mode 100644 index 00000000000..a4e5d545698 --- /dev/null +++ b/Resources/Prototypes/Floof/Reagents/medicine.yml @@ -0,0 +1,47 @@ +- type: reagent + id : Traumoxadone + name: reagent-name-traumoxadone + group: Medicine + desc: reagent-desc-traumoxadone + physicalDesc: reagent-physical-desc-soothing + flavor: medicine + color: "#880077" + worksOnTheDead: true + metabolisms: + Medicine: + effects: + - !type:HealthChange + conditions: + - !type:Temperature + max: 213.0 + damage: + types: + Blunt: -2 + Piercing: -2 + Slash: -2 + + +- type: reagent + id : Stelloxadone + name: reagent-name-stelloxadone + group: Medicine + desc: reagent-desc-stelloxadone + physicalDesc: reagent-physical-desc-soothing + flavor: medicine + color: "#FFA861" + worksOnTheDead: true + metabolisms: + Medicine: + effects: + - !type:HealthChange + conditions: + - !type:Temperature + max: 213.0 + damage: + types: + Poison: -6 + Radiation: -3 + Cellular: 1 + groups: + Brute: 3 + \ No newline at end of file diff --git a/Resources/Prototypes/Floof/Recipes/Reactions/chemicals.yml b/Resources/Prototypes/Floof/Recipes/Reactions/chemicals.yml index e0e9caed66f..8613187d3e4 100644 --- a/Resources/Prototypes/Floof/Recipes/Reactions/chemicals.yml +++ b/Resources/Prototypes/Floof/Recipes/Reactions/chemicals.yml @@ -13,3 +13,41 @@ amount: 5 products: Libidozenithizine: 5 + +- type: reaction + id : SalicylicAcid + reactants: + Phenol: + amount: 1 + Sodium: + amount: 1 + Carbon: + amount: 1 + Oxygen: + amount: 1 + SulfuricAcid: + amount: 1 + products: + SalicylicAcid: 3 + +- type: reaction + id : Formaldehyde + reactants: + Ethanol: + amount: 1 + Oxygen: + amount: 1 + Silver: + amount: 1 + products: + Formaldehyde: 3 + +- type: reaction + id : Formaldehyde + reactants: + Vinegar: + amount: 2 + Silver: + amount: 1 + products: + Formaldehyde: 3 diff --git a/Resources/Prototypes/Floof/Recipes/Reactions/medicine.yml b/Resources/Prototypes/Floof/Recipes/Reactions/medicine.yml index 858a56a8e28..0ae5dfce885 100644 --- a/Resources/Prototypes/Floof/Recipes/Reactions/medicine.yml +++ b/Resources/Prototypes/Floof/Recipes/Reactions/medicine.yml @@ -12,3 +12,29 @@ amount: 1 products: Philterex: 5 + +- type: reaction + id: Traumoxadone + reactants: + Cryoxadone: + amount: 1 + SalicylicAcid: + amount: 1 + Lipozine: + amount: 1 + products: + Traumoxadone: 2 + +- type: reaction + id: Stelloxadone + reactants: + Cryoxadone: + amount: 3 + Stellibinin: + amount: 5 + Arithrazine: + amount: 2 + products: + Stelloxadone: 5 + Water: 3 + Fiber: 2 \ No newline at end of file diff --git a/Resources/Prototypes/Reagents/medicine.yml b/Resources/Prototypes/Reagents/medicine.yml index 41f3df6ce21..8af1479e206 100644 --- a/Resources/Prototypes/Reagents/medicine.yml +++ b/Resources/Prototypes/Reagents/medicine.yml @@ -168,7 +168,7 @@ - !type:ReagentThreshold min: 15 - !type:Drunk - + - type: reagent id: Cryoxadone name: reagent-name-cryoxadone @@ -177,6 +177,7 @@ physicalDesc: reagent-physical-desc-fizzy flavor: medicine color: "#0091ff" + worksOnTheDead: true # Floof plantMetabolism: - !type:PlantAdjustToxins amount: -5 @@ -194,10 +195,12 @@ damage: # todo scale with temp like SS13 groups: - Airloss: -6 - Brute: -4 - Burn: -6 - Toxin: -4 + Airloss: -10 # Floof: -6<-10 + # Brute: -4 # Floof + # Burn: -6 # Floof + # Toxin: -4 # Floof + - !type:ModifyBloodLevel # Floof + amount: 5 # Floof - type: reagent id: Doxarubixadone @@ -207,6 +210,7 @@ physicalDesc: reagent-physical-desc-bubbling flavor: medicine color: "#32cd32" + worksOnTheDead: true # Floof metabolisms: Medicine: effects: @@ -216,7 +220,9 @@ max: 213.0 damage: types: - Cellular: -2 + Cellular: -4 # Floof: -2<-4 + groups: # Floof + Brute: 1 # Floof - type: reagent id: Dermaline @@ -1191,4 +1197,5 @@ types: Heat: -3.0 Shock: -3.0 + Cold: -3.0 # Floof Caustic: -1.0 diff --git a/Resources/Prototypes/Recipes/Reactions/medicine.yml b/Resources/Prototypes/Recipes/Reactions/medicine.yml index 04fa98da128..60526f86193 100644 --- a/Resources/Prototypes/Recipes/Reactions/medicine.yml +++ b/Resources/Prototypes/Recipes/Reactions/medicine.yml @@ -71,7 +71,7 @@ reactants: Cryoxadone: amount: 1 - UnstableMutagen: + Phalanximine: # Floof: 1 UnstableMutagen < 1 Phalanximine amount: 1 products: Doxarubixadone: 2 @@ -552,7 +552,7 @@ id: Opporozidone minTemp: 400 #Maybe if a method of reducing reagent temp exists one day, this could be -50 reactants: - Cognizine: + Formaldehyde: amount: 1 Plasma: amount: 2 diff --git a/Resources/ServerInfo/Guidebook/Medical/Cryogenics.xml b/Resources/ServerInfo/Guidebook/Medical/Cryogenics.xml index ef6e1a49e87..aec1291df2b 100644 --- a/Resources/ServerInfo/Guidebook/Medical/Cryogenics.xml +++ b/Resources/ServerInfo/Guidebook/Medical/Cryogenics.xml @@ -37,14 +37,20 @@ Not every network will look like this, but hopefully, it's enough to give you th An important thing to note, winter clothing (and hardsuits) will make cryogenic treatment less, or completely ineffective. Be sure to remove cold preventative clothing before placing people in the pod. ## Using the Pod -Once things have been set up, you're going to require a specific medication, Cryoxadone. Cryoxadone heals all damage types when a patient is chilled, and can either be pre-adminsitered (with a pill), or loaded into the cell directly with a beaker. Do note, patients won't begin to heal until they've chilled to the appropriate temperature, it may be worthwhile to wait a bit before placing a beaker inside. +Once things have been set up, you're going to require cryogenic medications (all listed below). They each provide healing when a patient is chilled, and should be loaded into the pod directly with a beaker. Do note, patients won't begin to heal until they've chilled to the appropriate temperature, it may be worthwhile to wait a bit before placing a beaker inside. ## Additional Information: -The standard pressure for a gas pump is 100.325 kpa. Cryoxadone works at under 170K, but it is standard practice to set the freezer to 100K for faster freezing. +The standard pressure for a gas pump is 100.325 kpa. Cryogenics medicines work at under 213K (150K for Opporozidone), but it is standard practice to set the freezer to 100K for faster freezing. + +Cryo pods separate out each reagent from the beaker in the pod, injecting a small, steady amount of each into the patient. This allows for medicine to be administered twice as efficiently than with injection or oral administration. + + + - + + From b5451eef1dc2dbd06fd1eb813a14c5cfb0c88b29 Mon Sep 17 00:00:00 2001 From: neuPanda Date: Sun, 1 Sep 2024 21:04:39 -0400 Subject: [PATCH 2/7] making automation happy --- .../Prototypes/Floof/Recipes/Reactions/chemicals.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/Resources/Prototypes/Floof/Recipes/Reactions/chemicals.yml b/Resources/Prototypes/Floof/Recipes/Reactions/chemicals.yml index 8613187d3e4..6c64034db0e 100644 --- a/Resources/Prototypes/Floof/Recipes/Reactions/chemicals.yml +++ b/Resources/Prototypes/Floof/Recipes/Reactions/chemicals.yml @@ -30,18 +30,6 @@ products: SalicylicAcid: 3 -- type: reaction - id : Formaldehyde - reactants: - Ethanol: - amount: 1 - Oxygen: - amount: 1 - Silver: - amount: 1 - products: - Formaldehyde: 3 - - type: reaction id : Formaldehyde reactants: From 8e58e1a9d54b3e3126d5ff5ba11bc48299dffff9 Mon Sep 17 00:00:00 2001 From: ShatteredSwords <135023515+ShatteredSwords@users.noreply.github.com> Date: Tue, 3 Sep 2024 14:03:10 -0400 Subject: [PATCH 3/7] Update noop.ftl --- Resources/Locale/en-US/interaction/verbs/noop.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Locale/en-US/interaction/verbs/noop.ftl b/Resources/Locale/en-US/interaction/verbs/noop.ftl index e8b2e85389f..579f0b8309b 100644 --- a/Resources/Locale/en-US/interaction/verbs/noop.ftl +++ b/Resources/Locale/en-US/interaction/verbs/noop.ftl @@ -13,7 +13,7 @@ interaction-Hug-success-others-popup = {THE($user)} hugs {THE($target)}. interaction-Pet-name = Pet interaction-Pet-description = Pet your co-worker to ease their stress. interaction-Pet-success-self-popup = You pet {THE($target)} on {POSS-ADJ($target)} head. -interaction-Pet-success-target-popup = {THE($user)} pets you on {POSS-ADJ($target)} head. +interaction-Pet-success-target-popup = {THE($user)} pets you on your head. interaction-Pet-success-others-popup = {THE($user)} pets {THE($target)}. interaction-KnockOn-name = Knock From 342cac701392ad1c95c3927c83bc259262781716 Mon Sep 17 00:00:00 2001 From: Fansana Date: Tue, 3 Sep 2024 22:24:10 +0200 Subject: [PATCH 4/7] add gems --- .../Floof/Entities/Objects/Materials/gem.yml | 142 ++++++++++++++++++ .../Shards/gem.rsi/equipped-NECK.png | Bin 0 -> 189 bytes .../Objects/Materials/Shards/gem.rsi/gem.png | Bin 0 -> 862 bytes .../Materials/Shards/gem.rsi/meta.json | 30 ++++ 4 files changed, 172 insertions(+) create mode 100644 Resources/Prototypes/Floof/Entities/Objects/Materials/gem.yml create mode 100644 Resources/Textures/Floof/Objects/Materials/Shards/gem.rsi/equipped-NECK.png create mode 100644 Resources/Textures/Floof/Objects/Materials/Shards/gem.rsi/gem.png create mode 100644 Resources/Textures/Floof/Objects/Materials/Shards/gem.rsi/meta.json diff --git a/Resources/Prototypes/Floof/Entities/Objects/Materials/gem.yml b/Resources/Prototypes/Floof/Entities/Objects/Materials/gem.yml new file mode 100644 index 00000000000..99f3487a7ea --- /dev/null +++ b/Resources/Prototypes/Floof/Entities/Objects/Materials/gem.yml @@ -0,0 +1,142 @@ +- type: entity + abstract: true + parent: BaseItem + id: GemCrystalBase + name: gem + description: A large gem, perfectly cut to shed light in the darkest of places. + components: + - type: Clothing + sprite: Floof/Objects/Materials/Shards/gem.rsi + quickEquip: true + slots: + - neck + - type: Sprite + layers: + - sprite: Floof/Objects/Materials/Shards/gem.rsi + state: gem + map: [ "enum.DamageStateVisualLayers.Base" ] + - type: MeleeWeapon + wideAnimationRotation: -22.5 + attackRate: 1.5 + damage: + types: + Slash: 3.5 + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Glass + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 1050 + +- type: entity + parent: GemCrystalBase + id: GemCrystalCyan + name: cyan crystal shard + description: A small piece of crystal. + components: + - type: Sprite + color: "#47f8ff" + - type: PointLight + radius: 4 + energy: 3.5 + color: "#47f8ff" + - type: Tag + tags: + - CrystalCyan + +- type: entity + parent: GemCrystalBase + name: blue crystal shard + id: GemCrystalBlue + components: + - type: Sprite + color: "#39a1ff" + - type: PointLight + radius: 4 + energy: 3.5 + color: "#39a1ff" + - type: Tag + tags: + - CrystalBlue + +- type: entity + parent: GemCrystalBase + id: GemCrystalOrange + name: orange crystal shard + components: + - type: Sprite + color: "#ff8227" + - type: PointLight + radius: 4 + energy: 3.5 + color: "#ff8227" + - type: Tag + tags: + - CrystalOrange + +- type: entity + parent: GemCrystalBase + id: GemCrystalPink + name: pink crystal shard + components: + - type: Sprite + color: "#ff66cc" + - type: PointLight + radius: 4 + energy: 3.5 + color: "#ff66cc" + - type: Tag + tags: + - CrystalPink + +- type: entity + parent: GemCrystalBase + id: GemCrystalGreen + name: green crystal shard + components: + - type: Sprite + color: "#52ff39" + - type: PointLight + radius: 4 + energy: 3.5 + color: "#52ff39" + - type: Tag + tags: + - CrystalGreen + +- type: entity + parent: GemCrystalBase + id: GemCrystalRed + name: red crystal shard + components: + - type: Sprite + color: "#fb4747" + - type: PointLight + radius: 4 + energy: 3.5 + color: "#fb4747" + - type: Tag + tags: + - CrystalRed + +- type: entity + parent: GemCrystalBase + id: GemCrystalRandom + name: random crystal shard + components: + - type: RandomSpawner + prototypes: + - GemCrystalGreen + - GemCrystalPink + - GemCrystalOrange + - GemCrystalBlue + - GemCrystalCyan + - GemCrystalRed + chance: 1 diff --git a/Resources/Textures/Floof/Objects/Materials/Shards/gem.rsi/equipped-NECK.png b/Resources/Textures/Floof/Objects/Materials/Shards/gem.rsi/equipped-NECK.png new file mode 100644 index 0000000000000000000000000000000000000000..1f79e2ae820263367e4d1e59dee13deb9351f4c4 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|$~|2iLn`LH zy}Xh4kOL2EKzpm6$AzUQtr8`UEl6Qgv2uFY=_D**sy^}2z3hFf^~K9r7#J=rTDL91 zLT=jkn))+WYyWRstt;{U?~l1>cgE^JKNDkAe5-1De8~Kqw7R$jQ!d@(b~&P{G%uS8 dXc-LLu4cU7Dw29ElCvEo=xlLs9?$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Materials/Shards/gem.rsi/gem.png b/Resources/Textures/Floof/Objects/Materials/Shards/gem.rsi/gem.png new file mode 100644 index 0000000000000000000000000000000000000000..7b2fa53627790d89a8f924347ffebb52778ebfde GIT binary patch literal 862 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K56gb#`HRt$imi%)-bp-`t$hV`-3K!@owxdp^Fh*$uB& zum5-QYqlOkpa|oJARV{q`mt79_6MzeV8O?*Etfe!M=UZbu8;BfJch4V!~Z||mF~l~ z5vc6>`MJuo&&qX$uMW+*eQaB9%=Og8AxYWU+~+?lO)g%&zRvdd$BI1*f4k59zj@im z`M!RB|GwRrH&5=^v11uoS&#nhtv+-9yt~Am)GM3gHAEufDwJo4dO^ zD}McQdiz@_*o9Ii^wf@er$-m#WpR+u6r_!SdIE@-_GFnDjC4Sa+}BzT_}{1v#B|8<_yo=xpO0?vHtn-UhqL-xVZnNOol@SCbnCD zy;@!GRlAt=K%tCKCkr<>_m-_&4Gj$$9V*MGfBL?D!XbkvPgjTY@Y*WR+~ZkXy!q$V zl|WZ5zXY^(Nzlq0j~*qlJXpK-;@1~~-@d+P$jQ%V-mq(zm(s)=|9!o^xxKx;?|7&s zw>mx4xV~!NuUG$%?)$j>z~;@HFJ8}@`eSQ$`=jb_Y=$;AXV%`{{`!~Z5}<41|L^-~ z-OxYZ?x>fvG`pSto$7NdLdrM~PuRIrpW*k%svxk}^p()T{|))pn}R1cZ9d!u%ocp9 e5uRzjz6@GGHU|)cz@^~HAj;F#&t;ucLK6T}^rz+k literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Materials/Shards/gem.rsi/meta.json b/Resources/Textures/Floof/Objects/Materials/Shards/gem.rsi/meta.json new file mode 100644 index 00000000000..772e5f29ca7 --- /dev/null +++ b/Resources/Textures/Floof/Objects/Materials/Shards/gem.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by dakodragon", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "gem", + "delays": [ + [ + 2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "equipped-NECK", + "directions": 4 + } + ] +} From 9f7f1daacd899a55c2d412e7b42e70ea25654d77 Mon Sep 17 00:00:00 2001 From: FloofStation Changelogs <175611579+Floof-Station-Bot@users.noreply.github.com> Date: Tue, 3 Sep 2024 21:34:14 +0000 Subject: [PATCH 5/7] Automatic Changelog Update (#174) --- Resources/Changelog/Floof.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Resources/Changelog/Floof.yml b/Resources/Changelog/Floof.yml index bec62eda342..2640c8c6e06 100644 --- a/Resources/Changelog/Floof.yml +++ b/Resources/Changelog/Floof.yml @@ -821,3 +821,9 @@ Entries: message: Sex Toy Crate price increased to 2000. id: 112 time: '2024-09-03T20:08:29.0000000+00:00' +- author: ShatteredSwords + changes: + - type: Fix + message: You can now be headpat and not be referred to in the third person. + id: 113 + time: '2024-09-03T21:33:48.0000000+00:00' From eab876f0e7c5a405a569ed834b629955a6fb4fa0 Mon Sep 17 00:00:00 2001 From: FloofStation Changelogs <175611579+Floof-Station-Bot@users.noreply.github.com> Date: Tue, 3 Sep 2024 21:54:20 +0000 Subject: [PATCH 6/7] Automatic Changelog Update (#175) --- Resources/Changelog/Floof.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Resources/Changelog/Floof.yml b/Resources/Changelog/Floof.yml index 2640c8c6e06..87d0d61002a 100644 --- a/Resources/Changelog/Floof.yml +++ b/Resources/Changelog/Floof.yml @@ -827,3 +827,9 @@ Entries: message: You can now be headpat and not be referred to in the third person. id: 113 time: '2024-09-03T21:33:48.0000000+00:00' +- author: Fansana + changes: + - type: Add + message: Added colorful glowing gems + id: 114 + time: '2024-09-03T21:53:54.0000000+00:00' From 3146b31403a695cfa31bd29de0c2414182f45381 Mon Sep 17 00:00:00 2001 From: FloofStation Changelogs <175611579+Floof-Station-Bot@users.noreply.github.com> Date: Wed, 4 Sep 2024 05:13:16 +0000 Subject: [PATCH 7/7] Automatic Changelog Update (#171) --- Resources/Changelog/Floof.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Resources/Changelog/Floof.yml b/Resources/Changelog/Floof.yml index 87d0d61002a..42892710506 100644 --- a/Resources/Changelog/Floof.yml +++ b/Resources/Changelog/Floof.yml @@ -833,3 +833,15 @@ Entries: message: Added colorful glowing gems id: 114 time: '2024-09-03T21:53:54.0000000+00:00' +- author: neuPanda + changes: + - type: Add + message: new cryo chems + - type: Tweak + message: old cryo chems + - type: Fix + message: death + - type: Remove + message: metabolism restrictions + id: 115 + time: '2024-09-04T05:12:40.0000000+00:00'