From b89c8c7a6d9ae5f55cbb2e91b1c3837eee535c8b Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 13:51:22 -0600 Subject: [PATCH 01/69] Update xeno.yml all around Update to fix a few bugs with the xenos that have been present for a while, adding back their critical state and fixing some of the inconsistency brought about by the new combat rework. --- .../Prototypes/Entities/Mobs/NPCs/xeno.yml | 37 +++++++++++++------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index 397989643e6..0234a8a92a4 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -22,7 +22,7 @@ NavSmash: !type:Bool true - type: Tool - speed: 1.5 + speed: 2 qualities: - Prying - type: Prying @@ -60,16 +60,18 @@ - type: MobState allowedStates: - Alive + - Critical - Dead - type: MobThresholds thresholds: - 0: Alive - 50: Dead + 0: Alive + 80: Critical + 120: Dead + - type: Stamina + critThreshold: 80 - type: SlowOnDamage speedModifierThresholds: 25: 0.5 - - type: Stamina - critThreshold: 200 - type: Bloodstream bloodReagent: FluorosulfuricAcid bloodMaxVolume: 650 @@ -130,6 +132,7 @@ - Xeno understands: - Xeno + - GalacticCommon - type: entity name: Praetorian @@ -145,10 +148,11 @@ state: running - type: MobThresholds thresholds: - 0: Alive - 100: Dead + 0: Alive + 100: Critical + 150: Dead - type: Stamina - critThreshold: 300 + critThreshold: 100 - type: SlowOnDamage speedModifierThresholds: 50: 0.7 @@ -179,7 +183,10 @@ - type: MobThresholds thresholds: 0: Alive - 80: Dead + 80: Critical + 120: Dead + - type: Stamina + critThreshold: 80 - type: SlowOnDamage speedModifierThresholds: 40: 0.7 @@ -216,7 +223,10 @@ - type: MobThresholds thresholds: 0: Alive - 300: Dead + 300: Critical + 350: Dead + - type: Stamina + critThreshold: 300 - type: SlowOnDamage speedModifierThresholds: 150: 0.7 @@ -262,7 +272,10 @@ - type: MobThresholds thresholds: 0: Alive - 100: Dead + 100: Critical + 150: Dead + - type: Stamina + critThreshold: 100 - type: MovementSpeedModifier baseSprintSpeed: 4 - type: MeleeWeapon @@ -301,7 +314,7 @@ - type: MeleeWeapon damage: groups: - Brute: 5 + Brute: 8 - type: Fixtures fixtures: fix1: From dfd5f85d8b2aa6809ed415ae63d21be84a8c2f11 Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 14:16:07 -0600 Subject: [PATCH 02/69] Update xeno.yml Attempted fix for an error thrown due to multiple different methods used to set "crit" state --- Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index 0234a8a92a4..a92f20e44c5 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -65,7 +65,6 @@ - type: MobThresholds thresholds: 0: Alive - 80: Critical 120: Dead - type: Stamina critThreshold: 80 @@ -149,7 +148,6 @@ - type: MobThresholds thresholds: 0: Alive - 100: Critical 150: Dead - type: Stamina critThreshold: 100 @@ -183,7 +181,6 @@ - type: MobThresholds thresholds: 0: Alive - 80: Critical 120: Dead - type: Stamina critThreshold: 80 @@ -223,7 +220,6 @@ - type: MobThresholds thresholds: 0: Alive - 300: Critical 350: Dead - type: Stamina critThreshold: 300 @@ -272,7 +268,6 @@ - type: MobThresholds thresholds: 0: Alive - 100: Critical 150: Dead - type: Stamina critThreshold: 100 From 9d622845055d2b9b0d9146bf0da0c1850dc8656c Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 14:32:54 -0600 Subject: [PATCH 03/69] reverting changes Reverting changes to the Xeno file to try and reset to attempt fixes again. --- .../Prototypes/Entities/Mobs/NPCs/xeno.yml | 32 +++++++------------ 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index a92f20e44c5..397989643e6 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -22,7 +22,7 @@ NavSmash: !type:Bool true - type: Tool - speed: 2 + speed: 1.5 qualities: - Prying - type: Prying @@ -60,17 +60,16 @@ - type: MobState allowedStates: - Alive - - Critical - Dead - type: MobThresholds thresholds: - 0: Alive - 120: Dead - - type: Stamina - critThreshold: 80 + 0: Alive + 50: Dead - type: SlowOnDamage speedModifierThresholds: 25: 0.5 + - type: Stamina + critThreshold: 200 - type: Bloodstream bloodReagent: FluorosulfuricAcid bloodMaxVolume: 650 @@ -131,7 +130,6 @@ - Xeno understands: - Xeno - - GalacticCommon - type: entity name: Praetorian @@ -147,10 +145,10 @@ state: running - type: MobThresholds thresholds: - 0: Alive - 150: Dead + 0: Alive + 100: Dead - type: Stamina - critThreshold: 100 + critThreshold: 300 - type: SlowOnDamage speedModifierThresholds: 50: 0.7 @@ -181,9 +179,7 @@ - type: MobThresholds thresholds: 0: Alive - 120: Dead - - type: Stamina - critThreshold: 80 + 80: Dead - type: SlowOnDamage speedModifierThresholds: 40: 0.7 @@ -220,9 +216,7 @@ - type: MobThresholds thresholds: 0: Alive - 350: Dead - - type: Stamina - critThreshold: 300 + 300: Dead - type: SlowOnDamage speedModifierThresholds: 150: 0.7 @@ -268,9 +262,7 @@ - type: MobThresholds thresholds: 0: Alive - 150: Dead - - type: Stamina - critThreshold: 100 + 100: Dead - type: MovementSpeedModifier baseSprintSpeed: 4 - type: MeleeWeapon @@ -309,7 +301,7 @@ - type: MeleeWeapon damage: groups: - Brute: 8 + Brute: 5 - type: Fixtures fixtures: fix1: From 2c2646187c77755cdb3476f4381f9f496f6e08c5 Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 14:37:43 -0600 Subject: [PATCH 04/69] Update xeno.yml Attempting smallest change to allow critstate --- Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index 397989643e6..6b54815ddf9 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -58,9 +58,6 @@ layer: - MobLayer - type: MobState - allowedStates: - - Alive - - Dead - type: MobThresholds thresholds: 0: Alive From e017971e8a4a59a24458636e459c85ae02205daf Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 14:46:03 -0600 Subject: [PATCH 05/69] Update xeno.yml reattempting the Critical changes --- .../Prototypes/Entities/Mobs/NPCs/xeno.yml | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index 6b54815ddf9..d6c31ae91a5 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -57,11 +57,16 @@ - MobMask layer: - MobLayer - - type: MobState + actions: + Critical: + - ActionCritSuccumb + - ActionCritFakeDeath + - ActionCritLastWords - type: MobThresholds thresholds: 0: Alive - 50: Dead + 50: Critical + 100: Dead - type: SlowOnDamage speedModifierThresholds: 25: 0.5 @@ -143,7 +148,8 @@ - type: MobThresholds thresholds: 0: Alive - 100: Dead + 100: Critical + 150: Dead - type: Stamina critThreshold: 300 - type: SlowOnDamage @@ -176,7 +182,8 @@ - type: MobThresholds thresholds: 0: Alive - 80: Dead + 80: Critical + 120: Dead - type: SlowOnDamage speedModifierThresholds: 40: 0.7 @@ -213,7 +220,8 @@ - type: MobThresholds thresholds: 0: Alive - 300: Dead + 300: Critical + 400: Dead - type: SlowOnDamage speedModifierThresholds: 150: 0.7 @@ -259,7 +267,8 @@ - type: MobThresholds thresholds: 0: Alive - 100: Dead + 100: Critical + 150: Dead - type: MovementSpeedModifier baseSprintSpeed: 4 - type: MeleeWeapon From c1a3328859806c011921ab05b3eefae2f9134d5a Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 17:30:54 -0600 Subject: [PATCH 06/69] Update pets.yml Friend-shaped add --- .../Prototypes/Entities/Mobs/NPCs/pets.yml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml index 6eb43fb89ae..84d8a533d90 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml @@ -42,7 +42,24 @@ understands: - GalacticCommon - Dog - + + type: entity + name: Friend-Shaped + parent: MobXenoRounyNPC + id: MobFriendshaped + description: Friendly Xeno from CC + components: + factions: + - PetsNT + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/Xenos/rouny.rsi + offset: 0,0.6 + speaks: + - Xeno + understands: + - GalacticCommon + - Xeno - type: entity name: Old Ian parent: MobCorgiIan From d79079659fe32437dee72c5d9c5bbe18aa9cc852 Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 17:39:41 -0600 Subject: [PATCH 07/69] Update pets.yml attempt at making friend Shaped 2 --- .../Prototypes/Entities/Mobs/NPCs/pets.yml | 42 +++++++++++++++---- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml index 84d8a533d90..bdb5dce293c 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml @@ -44,22 +44,46 @@ - Dog type: entity - name: Friend-Shaped - parent: MobXenoRounyNPC - id: MobFriendshaped - description: Friendly Xeno from CC + name: Friend Shaped + parent: MobMonkey + id: Mobfriendshaped + description: friendly Xeno components: - factions: - - PetsNT - - type: Sprite - drawdepth: Mobs + - type: GhostRole + prob: 1 + makeSentient: true + allowSpeech: true + allowMovement: true sprite: Mobs/Aliens/Xenos/rouny.rsi - offset: 0,0.6 + name: Friend-Shaped + description: Friendly Xeno + - type: GhostTakeoverAvailable + - type: Butcherable + butcheringType: Spike + spawned: + - id: FoodMeat + amount: 3 + - id: DrinkTequilaBottleFull + amount: 1 + - type: Flashable + - type: Tag + tags: + - CannotSuicide + - DoorBumpOpener + - VimPilot + - type: Loadout + prototypes: [ MobMonkeyGear ] + - type: Grammar + attributes: + proper: true + gender: male + - type: LanguageKnowledge speaks: - Xeno understands: - GalacticCommon - Xeno + - Kobold - type: entity name: Old Ian parent: MobCorgiIan From 45a42ae9a4e365fc43a36dee7838c9fc2e1e8979 Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 17:42:02 -0600 Subject: [PATCH 08/69] Update pets.yml revert changes to pets --- .../Prototypes/Entities/Mobs/NPCs/pets.yml | 43 +------------------ 1 file changed, 1 insertion(+), 42 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml index bdb5dce293c..6130f7960e5 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml @@ -42,48 +42,7 @@ understands: - GalacticCommon - Dog - - type: entity - name: Friend Shaped - parent: MobMonkey - id: Mobfriendshaped - description: friendly Xeno - components: - - type: GhostRole - prob: 1 - makeSentient: true - allowSpeech: true - allowMovement: true - sprite: Mobs/Aliens/Xenos/rouny.rsi - name: Friend-Shaped - description: Friendly Xeno - - type: GhostTakeoverAvailable - - type: Butcherable - butcheringType: Spike - spawned: - - id: FoodMeat - amount: 3 - - id: DrinkTequilaBottleFull - amount: 1 - - type: Flashable - - type: Tag - tags: - - CannotSuicide - - DoorBumpOpener - - VimPilot - - type: Loadout - prototypes: [ MobMonkeyGear ] - - type: Grammar - attributes: - proper: true - gender: male - - type: LanguageKnowledge - speaks: - - Xeno - understands: - - GalacticCommon - - Xeno - - Kobold + - type: entity name: Old Ian parent: MobCorgiIan From d9fbb9ef205e88d12e42d13adfc2690796c84f0b Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 17:47:36 -0600 Subject: [PATCH 09/69] Update xeno.yml xeno update to add friendshaped as an entity --- .../Prototypes/Entities/Mobs/NPCs/xeno.yml | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index d6c31ae91a5..02a7275a96b 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -22,7 +22,7 @@ NavSmash: !type:Bool true - type: Tool - speed: 1.5 + speed: 2 qualities: - Prying - type: Prying @@ -307,7 +307,7 @@ - type: MeleeWeapon damage: groups: - Brute: 5 + Brute: 10 - type: Fixtures fixtures: fix1: @@ -334,6 +334,24 @@ spawned: - id: FoodMeatRouny amount: 3 + +- type: entity + name: Friendshaped + parent: MobXenoRunnerNPC # Delta V - These no longer inherit the ghost takeover comp + id: MobFriendshapedNPC # Delta V - These no longer inherit the ghost takeover comp + components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/Xenos/rouny.rsi + offset: 0,0.6 + - type: NpcFactionMember + factions: + - PetsNT + - type: Butcherable + butcheringType: Spike + spawned: + - id: FoodMeatRouny + amount: 3 - type: entity name: Spitter From f70e76aa6d3a0b423a98c9c2aea9fff2ce99d51b Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 17:51:18 -0600 Subject: [PATCH 10/69] Update xeno.yml friendshaped scale change --- Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index 02a7275a96b..a7195cd3415 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -344,6 +344,7 @@ drawdepth: Mobs sprite: Mobs/Aliens/Xenos/rouny.rsi offset: 0,0.6 + scale: 0.7 - type: NpcFactionMember factions: - PetsNT From 9a169c8955315626ba8ff55f07ecebaa27702282 Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 18:04:02 -0600 Subject: [PATCH 11/69] Update xeno.yml scale fix2 --- Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index a7195cd3415..04f6ae1f451 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -343,8 +343,9 @@ - type: Sprite drawdepth: Mobs sprite: Mobs/Aliens/Xenos/rouny.rsi + layers: + - Scale: 0.7 offset: 0,0.6 - scale: 0.7 - type: NpcFactionMember factions: - PetsNT From fcd56366c146fcc80eaf57a2f020111ab0093f23 Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 18:06:01 -0600 Subject: [PATCH 12/69] Update xeno.yml scale fix 3 --- Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index 04f6ae1f451..aff42f7b08b 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -343,7 +343,6 @@ - type: Sprite drawdepth: Mobs sprite: Mobs/Aliens/Xenos/rouny.rsi - layers: - Scale: 0.7 offset: 0,0.6 - type: NpcFactionMember From bfbb21e5cda1a0cd4b7d6ce730975ebe2a3b7da4 Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 18:07:55 -0600 Subject: [PATCH 13/69] Update xeno.yml scale edit revert --- Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index aff42f7b08b..02a7275a96b 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -343,7 +343,6 @@ - type: Sprite drawdepth: Mobs sprite: Mobs/Aliens/Xenos/rouny.rsi - - Scale: 0.7 offset: 0,0.6 - type: NpcFactionMember factions: From 1fa6aa5a98dd54cf7d5f8e547d6bcf86a73a710e Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 18:12:06 -0600 Subject: [PATCH 14/69] rouny texture shift shifting the placement of the Rouny sprite --- .../Mobs/Aliens/Xenos/rouny.rsi/running.png | Bin 13736 -> 13743 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Textures/Mobs/Aliens/Xenos/rouny.rsi/running.png b/Resources/Textures/Mobs/Aliens/Xenos/rouny.rsi/running.png index 7710b9b8692c06f0032f30e34107aec02147df39..880e5385773bce02b86d0ed21e6a12987bf922ea 100644 GIT binary patch delta 13248 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 yR7O<}IDn Date: Wed, 21 Aug 2024 19:20:35 -0600 Subject: [PATCH 15/69] Update pets.yml removed space --- Resources/Prototypes/Entities/Mobs/NPCs/pets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml index 6130f7960e5..6eb43fb89ae 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/pets.yml @@ -42,7 +42,7 @@ understands: - GalacticCommon - Dog - + - type: entity name: Old Ian parent: MobCorgiIan From 487b731192690c2f4186236d9784b9bef855ed0c Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 19:39:27 -0600 Subject: [PATCH 16/69] Create Xeno.yml sticking friend shaped into correct file location --- .../Prototypes/Floof/Entities/Mobs/NPCs/Xeno.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 Resources/Prototypes/Floof/Entities/Mobs/NPCs/Xeno.yml diff --git a/Resources/Prototypes/Floof/Entities/Mobs/NPCs/Xeno.yml b/Resources/Prototypes/Floof/Entities/Mobs/NPCs/Xeno.yml new file mode 100644 index 00000000000..87d8c981a14 --- /dev/null +++ b/Resources/Prototypes/Floof/Entities/Mobs/NPCs/Xeno.yml @@ -0,0 +1,13 @@ +- type: entity + name: Friendshaped + parent: MobXenoRunnerNPC + id: MobFriendshapedNPC + components: + - type: NpcFactionMember + factions: + - PetsNT + - type: Butcherable + butcheringType: Spike + spawned: + - id: FoodMeatRouny + amount: 3 From e18ae0352b3a9b366dcdf789bfcaec98dc0048f1 Mon Sep 17 00:00:00 2001 From: fenndragon Date: Wed, 21 Aug 2024 19:40:53 -0600 Subject: [PATCH 17/69] Update xeno.yml removing friend shaped and reverting change to tool speed --- .../Prototypes/Entities/Mobs/NPCs/xeno.yml | 20 +------------------ 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index 02a7275a96b..fac728265cd 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -22,7 +22,7 @@ NavSmash: !type:Bool true - type: Tool - speed: 2 + speed: 1.5 qualities: - Prying - type: Prying @@ -334,24 +334,6 @@ spawned: - id: FoodMeatRouny amount: 3 - -- type: entity - name: Friendshaped - parent: MobXenoRunnerNPC # Delta V - These no longer inherit the ghost takeover comp - id: MobFriendshapedNPC # Delta V - These no longer inherit the ghost takeover comp - components: - - type: Sprite - drawdepth: Mobs - sprite: Mobs/Aliens/Xenos/rouny.rsi - offset: 0,0.6 - - type: NpcFactionMember - factions: - - PetsNT - - type: Butcherable - butcheringType: Spike - spawned: - - id: FoodMeatRouny - amount: 3 - type: entity name: Spitter From 1de1f365591a178288a7e999db5d0b7511bef5b3 Mon Sep 17 00:00:00 2001 From: fenndragon Date: Thu, 22 Aug 2024 16:49:08 -0600 Subject: [PATCH 18/69] Update xeno.yml fix to yaml error syntax --- Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index fac728265cd..7255dd38ee2 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -57,6 +57,9 @@ - MobMask layer: - MobLayer + - type: MobState + - type: Deathgasp + - type: MobStateActions actions: Critical: - ActionCritSuccumb From d46a4ef3a2d777b1011ed311e44ad1a010f11415 Mon Sep 17 00:00:00 2001 From: fenndragon Date: Thu, 22 Aug 2024 20:33:05 -0600 Subject: [PATCH 19/69] Update xeno.yml attempted fix to the error --- Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index 7255dd38ee2..e10e0083d9e 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -60,7 +60,7 @@ - type: MobState - type: Deathgasp - type: MobStateActions - actions: + actions: Critical: - ActionCritSuccumb - ActionCritFakeDeath From 68b498c5bc731c986927030afd9d77f181956e16 Mon Sep 17 00:00:00 2001 From: fenndragon Date: Thu, 22 Aug 2024 21:32:02 -0600 Subject: [PATCH 20/69] Update Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml Co-authored-by: FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com> --- Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index e10e0083d9e..9708b3d7421 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -186,7 +186,7 @@ thresholds: 0: Alive 80: Critical - 120: Dead + 130: Dead - type: SlowOnDamage speedModifierThresholds: 40: 0.7 From e12d1f940813de5265860acba595dc32e50a717e Mon Sep 17 00:00:00 2001 From: fenndragon Date: Thu, 22 Aug 2024 21:32:14 -0600 Subject: [PATCH 21/69] Update Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml Co-authored-by: FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com> --- Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index 9708b3d7421..8f631baf4b3 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -224,7 +224,7 @@ thresholds: 0: Alive 300: Critical - 400: Dead + 350: Dead - type: SlowOnDamage speedModifierThresholds: 150: 0.7 From 932cb77295350dfaa4d39410a455dfeefa9ee560 Mon Sep 17 00:00:00 2001 From: fenndragon Date: Thu, 22 Aug 2024 21:44:12 -0600 Subject: [PATCH 22/69] Update Xeno.yml fixed the parent of friendshaped to the Rouny instead of the runner --- Resources/Prototypes/Floof/Entities/Mobs/NPCs/Xeno.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Resources/Prototypes/Floof/Entities/Mobs/NPCs/Xeno.yml b/Resources/Prototypes/Floof/Entities/Mobs/NPCs/Xeno.yml index 87d8c981a14..79b6a047f66 100644 --- a/Resources/Prototypes/Floof/Entities/Mobs/NPCs/Xeno.yml +++ b/Resources/Prototypes/Floof/Entities/Mobs/NPCs/Xeno.yml @@ -1,13 +1,8 @@ - type: entity name: Friendshaped - parent: MobXenoRunnerNPC + parent: MobXenoRounyNPC id: MobFriendshapedNPC components: - type: NpcFactionMember factions: - PetsNT - - type: Butcherable - butcheringType: Spike - spawned: - - id: FoodMeatRouny - amount: 3 From faf818bd6d6e786eeee7ecbc0cb6c9a11407321c Mon Sep 17 00:00:00 2001 From: Pierson Arnold Date: Fri, 23 Aug 2024 15:17:47 -0500 Subject: [PATCH 23/69] Adding some furniture --- .../Floof/Entities/Objects/Lewd/eggs.yml | 49 +++++ .../Structures/Furniture/stripper_pole.yml | 120 +++++++++++ .../Construction/Graphs/furniture/lewds.yml | 46 ++++ .../Floof/Recipes/Construction/furniture.yml | 84 ++++++++ .../Construction/Graphs/furniture/seats.yml | 96 +++++++++ .../Construction/Graphs/furniture/tables.yml | 2 +- .../Prototypes/SimpleStation14/benches.yml | 9 +- .../Fun/Lewd/egg.rsi/egg_ashwalker.png | Bin 0 -> 1906 bytes .../Fun/Lewd/egg.rsi/egg_badrecipe.png | Bin 0 -> 971 bytes .../Objects/Fun/Lewd/egg.rsi/egg_blue.png | Bin 0 -> 457 bytes .../Fun/Lewd/egg.rsi/egg_bugcocoon.png | Bin 0 -> 968 bytes .../Floof/Objects/Fun/Lewd/egg.rsi/egg_cd.png | Bin 0 -> 656 bytes .../Objects/Fun/Lewd/egg.rsi/egg_chicken.png | Bin 0 -> 470 bytes .../Fun/Lewd/egg.rsi/egg_chocolate.png | Bin 0 -> 431 bytes .../Objects/Fun/Lewd/egg.rsi/egg_cocoon.png | Bin 0 -> 1231 bytes .../Fun/Lewd/egg.rsi/egg_corrupteddemon.png | Bin 0 -> 1537 bytes .../Objects/Fun/Lewd/egg.rsi/egg_dragon.png | Bin 0 -> 2103 bytes .../Fun/Lewd/egg.rsi/egg_escapepod.png | Bin 0 -> 553 bytes .../Objects/Fun/Lewd/egg.rsi/egg_file.png | Bin 0 -> 521 bytes .../Objects/Fun/Lewd/egg.rsi/egg_fish.png | Bin 0 -> 565 bytes .../Objects/Fun/Lewd/egg.rsi/egg_floppy.png | Bin 0 -> 574 bytes .../Objects/Fun/Lewd/egg.rsi/egg_green.png | Bin 0 -> 456 bytes .../Objects/Fun/Lewd/egg.rsi/egg_holy.png | Bin 0 -> 1394 bytes .../Fun/Lewd/egg.rsi/egg_honeycomb.png | Bin 0 -> 969 bytes .../Objects/Fun/Lewd/egg.rsi/egg_hybrid.png | Bin 0 -> 402 bytes .../Fun/Lewd/egg.rsi/egg_insectoid.png | Bin 0 -> 533 bytes .../Objects/Fun/Lewd/egg.rsi/egg_orange.png | Bin 0 -> 467 bytes .../Objects/Fun/Lewd/egg.rsi/egg_pellet.png | Bin 0 -> 431 bytes .../Fun/Lewd/egg.rsi/egg_pinkspots.png | Bin 0 -> 546 bytes .../Fun/Lewd/egg.rsi/egg_polychrome.png | Bin 0 -> 373 bytes .../Objects/Fun/Lewd/egg.rsi/egg_purple.png | Bin 0 -> 469 bytes .../Objects/Fun/Lewd/egg.rsi/egg_rainbow.png | Bin 0 -> 689 bytes .../Objects/Fun/Lewd/egg.rsi/egg_ratvar.png | Bin 0 -> 1034 bytes .../Objects/Fun/Lewd/egg.rsi/egg_red.png | Bin 0 -> 458 bytes .../Objects/Fun/Lewd/egg.rsi/egg_rock.png | Bin 0 -> 389 bytes .../Fun/Lewd/egg.rsi/egg_slimeglob.png | Bin 0 -> 634 bytes .../Fun/Lewd/egg.rsi/egg_spidercluster.png | Bin 0 -> 3009 bytes .../Fun/Lewd/egg.rsi/egg_synthetic.png | Bin 0 -> 680 bytes .../Objects/Fun/Lewd/egg.rsi/egg_void.png | Bin 0 -> 1528 bytes .../Fun/Lewd/egg.rsi/egg_xenomorph.png | Bin 0 -> 1894 bytes .../Objects/Fun/Lewd/egg.rsi/egg_yellow.png | Bin 0 -> 454 bytes .../Floof/Objects/Fun/Lewd/egg.rsi/meta.json | 197 ++++++++++++++++++ .../Floof/Structures/pole.rsi/meta.json | 17 ++ .../Floof/Structures/pole.rsi/pole.png | Bin 0 -> 669 bytes .../Floof/Structures/pole.rsi/pole_base.png | Bin 0 -> 854 bytes 45 files changed, 616 insertions(+), 4 deletions(-) create mode 100644 Resources/Prototypes/Floof/Entities/Objects/Lewd/eggs.yml create mode 100644 Resources/Prototypes/Floof/Entities/Structures/Furniture/stripper_pole.yml create mode 100644 Resources/Prototypes/Floof/Recipes/Construction/Graphs/furniture/lewds.yml create mode 100644 Resources/Prototypes/Floof/Recipes/Construction/furniture.yml create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_ashwalker.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_badrecipe.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_blue.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_bugcocoon.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_cd.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_chicken.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_chocolate.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_cocoon.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_corrupteddemon.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_dragon.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_escapepod.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_file.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_fish.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_floppy.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_green.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_holy.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_honeycomb.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_hybrid.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_insectoid.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_orange.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_pellet.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_pinkspots.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_polychrome.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_purple.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_rainbow.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_ratvar.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_red.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_rock.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_slimeglob.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_spidercluster.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_synthetic.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_void.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_xenomorph.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_yellow.png create mode 100644 Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/meta.json create mode 100644 Resources/Textures/Floof/Structures/pole.rsi/meta.json create mode 100644 Resources/Textures/Floof/Structures/pole.rsi/pole.png create mode 100644 Resources/Textures/Floof/Structures/pole.rsi/pole_base.png diff --git a/Resources/Prototypes/Floof/Entities/Objects/Lewd/eggs.yml b/Resources/Prototypes/Floof/Entities/Objects/Lewd/eggs.yml new file mode 100644 index 00000000000..575a379a016 --- /dev/null +++ b/Resources/Prototypes/Floof/Entities/Objects/Lewd/eggs.yml @@ -0,0 +1,49 @@ +- type: entity + parent: BaseItem + id: BasicEgg + name: basic egg + description: A large and shiny egg, couldn't have been laid by a chicken! + components: + - type: Sprite + sprite: Floof\Objects\Fun\Lewd\egg.rsi + state: egg_chicken + +- type: entity + parent: BaseItem + id: DragonEgg + name: dragon egg + description: A warm and shimmering egg, power could be felt from within... + components: + - type: Sprite + sprite: Floof\Objects\Fun\Lewd\egg.rsi + state: egg_dragon + +- type: entity + parent: BaseItem + id: VoidEgg + name: void egg + description: A void egg. This has to be dangerous, right? + components: + - type: Sprite + sprite: Floof\Objects\Fun\Lewd\egg.rsi + state: egg_void + +- type: entity + parent: BaseItem + id: SlimeEgg + name: slime egg + description: A globby and squishy egg, feels nasty. + components: + - type: Sprite + sprite: Floof\Objects\Fun\Lewd\egg.rsi + state: egg_slimeglob + +- type: entity + parent: BaseItem + id: HoneyEgg + name: honeycomb egg + description: An egg covered in a sticky and sweet honey. + components: + - type: Sprite + sprite: Floof\Objects\Fun\Lewd\egg.rsi + state: egg_honeycomb diff --git a/Resources/Prototypes/Floof/Entities/Structures/Furniture/stripper_pole.yml b/Resources/Prototypes/Floof/Entities/Structures/Furniture/stripper_pole.yml new file mode 100644 index 00000000000..a82330ec641 --- /dev/null +++ b/Resources/Prototypes/Floof/Entities/Structures/Furniture/stripper_pole.yml @@ -0,0 +1,120 @@ +- type: entity + id: StripperPole + parent: BaseStructure + name: stripper pole + description: A long pole on a pedestal used for showing off your great 'assets'. + components: + - type: Transform + anchored: true + - type: Construction + graph: Lewd + node: FurnStripPole + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.45,-0.45,0.45,0.45" + density: 120 + hard: "false" + mask: + - TabletopMachineMask + layer: + - TabletopMachineLayer + - type: Sprite + sprite: Floof/Structures/pole.rsi + state: pole + drawdepth: SmallObjects + - type: Icon + sprite: Floof/Structures/pole.rsi + state: pole + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 125 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + params: + volume: -6 + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity + id: StripperPoleInit + parent: BaseStructure + noSpawn: true + name: stripper pole base + description: The base of a stripper pole. + placement: + mode: SnapgridCenter + components: + - type: Clickable + - type: InteractionOutline + - type: Transform + anchored: true + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.45,-0.45,0.45,0.45" + density: 60 + mask: + - TabletopMachineMask + layer: + - TabletopMachineLayer + - type: Sprite + sprite: Floof/Structures/pole.rsi + state: pole_base + drawdepth: SmallObjects + - type: Icon + sprite: Floof/Structures/pole.rsi + state: pole_base + - type: Construction + graph: Lewd + node: FurnStripPoleInit + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 125 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + params: + volume: -6 + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + diff --git a/Resources/Prototypes/Floof/Recipes/Construction/Graphs/furniture/lewds.yml b/Resources/Prototypes/Floof/Recipes/Construction/Graphs/furniture/lewds.yml new file mode 100644 index 00000000000..3f9881ea9ff --- /dev/null +++ b/Resources/Prototypes/Floof/Recipes/Construction/Graphs/furniture/lewds.yml @@ -0,0 +1,46 @@ +- type: constructionGraph + id: Lewd + start: start + graph: + - node: start + actions: + - !type:DeleteEntity {} + edges: + - to: FurnStripPoleInit + steps: + - material: Steel + amount: 3 + doafter: 1 + + - node: FurnStripPoleInit + entity: StripperPoleInit + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 3 + steps: + - tool: Screwing + doafter: 1 + - to: FurnStripPole + steps: + - material: MetalRod + amount: 2 + doAfter: 2 + + + - node: FurnStripPole + entity: StripperPole + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 3 + - !type:SpawnPrototype + prototype: PartRodMetal + amount: 2 + steps: + - tool: Screwing + doAfter: 4 diff --git a/Resources/Prototypes/Floof/Recipes/Construction/furniture.yml b/Resources/Prototypes/Floof/Recipes/Construction/furniture.yml new file mode 100644 index 00000000000..aa25d9e7a2a --- /dev/null +++ b/Resources/Prototypes/Floof/Recipes/Construction/furniture.yml @@ -0,0 +1,84 @@ +- type: construction + name: Comfy Sofa + id: ChairSofaBench + graph: Seat + startNode: start + targetNode: chairSofaBench + category: construction-category-furniture + description: A comfy sofa of standard design. + icon: + sprite: SimpleStation14/Structures/Furniture/Benches/sofa_corp.rsi + state: middle + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: Comfy Sofa Left End + id: ChairSofaBenchLeft + graph: Seat + startNode: start + targetNode: chairSofaBenchLeft + category: construction-category-furniture + description: A comfy sofa of standard design. The left end! + icon: + sprite: SimpleStation14/Structures/Furniture/Benches/sofa_corp.rsi + state: left + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: Comfy Sofa Right End + id: ChairSofaBenchRight + graph: Seat + startNode: start + targetNode: chairSofaBenchRight + category: construction-category-furniture + description: A comfy sofa of standard design. The right end! + icon: + sprite: SimpleStation14/Structures/Furniture/Benches/sofa_corp.rsi + state: right + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: Comfy Sofa Corner + id: ChairSofaBenchCorner + graph: Seat + startNode: start + targetNode: chairSofaBenchCorner + category: construction-category-furniture + description: A comfy sofa of standard design. The corner piece! + icon: + sprite: SimpleStation14/Structures/Furniture/Benches/sofa_corp.rsi + state: corner + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: Stripper Pole + id: FurnStripPole + graph: Lewd + startNode: start + targetNode: FurnStripPole + category: construction-category-furniture + description: A long pole on a pedestal used for showing off your great 'assets'. + icon: + sprite: Floof/Structures/pole.rsi + state: pole + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml index c587e47efb8..b04e95aa7c3 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml @@ -87,6 +87,34 @@ doAfter: 1 - material: Cloth amount: 1 + - to: chairSofaBench # Floof + steps: + - material: Steel + amount: 4 + doAfter: 1 + - material: Cloth + amount: 2 + - to: chairSofaBenchLeft # Floof + steps: + - material: Steel + amount: 4 + doAfter: 1 + - material: Cloth + amount: 2 + - to: chairSofaBenchRight # Floof + steps: + - material: Steel + amount: 4 + doAfter: 1 + - material: Cloth + amount: 2 + - to: chairSofaBenchCorner # Floof + steps: + - material: Steel + amount: 4 + doAfter: 1 + - material: Cloth + amount: 2 - node: chair entity: Chair @@ -276,3 +304,71 @@ doAfter: 1 - tool: Screwing doAfter: 1 + + - node: chairSofaBench # Floof + entity: BenchSofaCorpMiddle + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - node: chairSofaBenchLeft # Floof + entity: BenchSofaCorpLeft + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - node: chairSofaBenchRight # Floof + entity: BenchSofaCorpRight + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - node: chairSofaBenchCorner # Floof + entity: BenchSofaCorpCorner + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + - tool: Screwing + doAfter: 1 diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml index bdfcaae6e96..27c174862cf 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml @@ -1,4 +1,4 @@ -- type: constructionGraph +- type: constructionGraph id: Table start: start graph: diff --git a/Resources/Prototypes/SimpleStation14/benches.yml b/Resources/Prototypes/SimpleStation14/benches.yml index a7021bf26d0..23048872d0f 100644 --- a/Resources/Prototypes/SimpleStation14/benches.yml +++ b/Resources/Prototypes/SimpleStation14/benches.yml @@ -201,10 +201,15 @@ - type: entity name: grey sofa id: BenchSofaCorpMiddle + placement: # Floof + mode: SnapgridCenter # Floof parent: BenchBaseMiddle components: - type: Sprite sprite: SimpleStation14/Structures/Furniture/Benches/sofa_corp.rsi + - type: Construction # Floof + graph: Seat + node: chairSofaBench - type: entity id: BenchSofaCorpLeft @@ -226,9 +231,7 @@ name: grey sofa id: BenchSofaCorpCorner suffix: Corner -# parent: BenchSofaCorpMiddle - placement: - mode: SnapgridCenter + parent: BenchSofaCorpMiddle # Floof components: - type: Transform anchored: true diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_ashwalker.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_ashwalker.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a2f497a36fbcdadc743b1b559c3da32ebcbc09 GIT binary patch literal 1906 zcmV-&2aWiNP)Kmc1fi1R@effW!qQh=ZezxFF@gnK$6X zW&H%45Kq7p*muMWaLxgV3-T&HB@q%>0)!7BBFx{~0+#+}w}zUU?w;zOapLUMWp;bE z`>XHk>Ytfvd&8``4FZ@;X!H4a;wm4H=d;+hk_C9}>Cu9J|L)Jl$XtLC`8QrTJLKhG z|FU%p_hLmz5IZLMUdoO_$eYp3Bbt%^xfAN z)s@PA`1QOO5nSYb_^~3W1t9WIU0Fsy2gm0he?PPLjQRJUQBe^jc@2Jy2r2txxN@WIX|DB+uigo^6~1Ra zdG*cO5xSC7rL8Y~^(ug{3vEKU!I{YyA!jSMyvd>`(!_wV0rIE{KaTVZTqu#w5Z&)NzUIE}ZedZ#3aC~H5+}Lb|9s$Ei0_SaM zMUdo6;Dpsd8PWtFI_huee=LcKE`~nyFo;X;KFy2cVX~h&=Np~t?M3*NjL!m_-AkJ;^X4I zqa$ZsD(ezPhOO_O3x9Uo91^~(*ImN21km;z<^-}Y-@aLs{d{+~E`R5%yHQcF>X|5f z^r+qV)MPon-3;B5lb(DqE0P(CC0g1*G_~%fOpS3%Nr!Q}^aAACAb?qO8w5zHWS5?) ztK3dV2j&9I;_rL#_hQ?M7J$gx-B`m3y9?XHy}m^t@)p0*2^RkV_hLne62M2E%K8?; zN1n=3L{JML$$Rqiy@?>nd+?)0Pzm57AIQ%a7r{k7fFC77rvQ??GCyBT1W8_ruNEOF zfQx)Yem+|S7x@T$l?a-|NaaLge!ddHWEhc8#IHmMweJ;xuk{7;^U+bj*ZKnZ-YDqG z4OUKM=I4{6fOf?FLlJF* zZQW@B{HewFJ`}YCkmO+n^7CpDB>6)4UJ;xTz{$hlJgyiH%KZGEY==ZJ3ghHg_y;Te zsS^J{wnHLFtl%6#4wLgVCv@cJ8+D`*F-8uP^E4-P;5X_>A%X(M2`TxsRwTajt*6D0e*R85A5f9EyRpWpPP+@6;a=Y& z5PA8!3-AAMFII%u^8rrsRMxi$KJrwSB0|jhfChO_e!e#mBzX^hv3fz14T_9~ExAH?vT52&`m zJKM`8Ff%_tIXR7cD57n!t!oP4Be&??4!h0=G|0mWh+4I)wm4}Och3xf{>*ZF{n>$Cjs$c#75Vv@Y_sEhfO_M=@E3d+DDYct_H{lW>$O(_ s{N%bN&IepbIxK*nwcQ+&qh`(RKZ)%nVKfnD@c;k-07*qoM6N<$f(H4Wod5s; literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_badrecipe.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_badrecipe.png new file mode 100644 index 0000000000000000000000000000000000000000..6343e5f8e2d308d2643d2adc25c957541cba61ea GIT binary patch literal 971 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 M07*qoM6N<$g3>6zfB*mh literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_chocolate.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_chocolate.png new file mode 100644 index 0000000000000000000000000000000000000000..d815afd97ffdcb815660b4d6488595dedc001c6a GIT binary patch literal 431 zcmV;g0Z{&lP)i`Ram4IoEdQVdM(Q7i;kk3g1P}5U|wbT^I3DiyBR7*|43NX69 zU`?-tJ=lBy_}Z8PDFM#(dQSqmwT=YvvMS^;4gro!JIo>|Ahmnb0hI8hsd(x&fpE;p z09lzs6ofxOY(1?2;3kqAF$R{FS=IY%03|a8TP;;20F?qn6~xhD0Nt>f~Hst|4 Zz!qcdq*<6wMF0Q*002ovPDHLkV1jPFyMX`z literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_cocoon.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_cocoon.png new file mode 100644 index 0000000000000000000000000000000000000000..7dab686e28f536602036606b530ae2fd8541fb51 GIT binary patch literal 1231 zcmV;=1Tg!FP)(O{?YwI`2C^|bkJHH{sv-BLE_=z zArN3h$^!xfxCk8_9AxdgJo|D40D=Hlc$))^i2(@jv)tnyM7FoL-OS9)@AdU{|1Ct) z>LHOp1eDV~;DFk9_V)II5IE@V?R70JE$-#z#a|(jU~XY^5*bg8=abZ#>q$SjVanZ*B#@pA|SN|T@+1Z(YHZ?U>sG4?ZiwFSp^z;-gEG$fm zNF=%dP{NN_n1sg|eZ&SZ1~7dh6gjdsKR@sLDrB)DjM6S^MaavnJ>dnMWjH@S_e+7P z>ahe|0E;L^2xA#Tfopz& zq=Ewxk+eBarf3;t0v1l}W+W}xaH^VF5TXGA!10hi&uAq?Oqqi-)PDintvXf%yh!?? zW_gN7c+Q0V{r!G&h!AFhk$SYFqoe*izESoV2a7D002)9%OaKW1;~8Trvn+}7o@fDz za8(I05zz6hlt|KU=<7d1L{RL0OoZAYq&%1B5JdS9<6hvrcX4syHIZ~SEFxgV!3P@~ z8##_ztTo`;Vg)P@br4Z`rX^Zjd;_thBU+pY3w=cc5izE1SYg-l(8o(iB3h*+)E z{oqRk?2m`tP{@=}BSke{X9(*t%NTbON==}2FJ~hAb7KDwBi$5zui}>UtM*R<`bhtR tT%2l3!AsvyJN~J^V-caXf64!2e*s|Dsp_Q8H1hxe002ovPDHLkV1iS$Bi8@` literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_corrupteddemon.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_corrupteddemon.png new file mode 100644 index 0000000000000000000000000000000000000000..697f89bec4e71033e4e367be5b8d9848d0f70e0f GIT binary patch literal 1537 zcmYL}c~p{V6vjVrL2%7nQY$ni(8{H3GXpgj&@f!eeQnBZrmQTjAt94ovfMLsK^x1Q z3>(ua8w({Z%`q$+w@M;S%rcm8;gfB?rqk(<``mNh`@HA<T1#Lw2Rw>P6C zT20KMM<@8r#S2g7DcOqlRD{xR3_aYMy4y%3eJ>OVqu%5{-^3~wQE3~N#5&32Nam5M zOo22Yt|B6uCr6^~2nhbWO=pJug2#BM4jM(Gi)$=p6NA-6g3S4Qrd z=JYs)uIuU{1ZS1f>VQ2R6KR@duQ1ci%O>?x4%x0a1+OktW(vGJlVf3_9l!3&7$r+l z-Wjz|8j+7?3bw2a=rR+SU=5E zk+Uvuy~|S}QD4_qZZ-X>WE~NFV4>unr%j^vjQRM##E>U2RZ42hfJ_7Hkimun6@{1|4TX6-Z#pZzOcML{*4%t-PZ zUY;!(tu`OI%rjQa$waK&0Pxd4ycjpXXTV+xbIE17bL=>FJ<1c>>1Cn0QT^~S{`h&` zfLf|ia4xS(t;M|9t#3W0wPEnq!8>kHkoeC<+It9>q`|FJAKCa@nqjpCZ{$c1G_ z9?uPJK)Husuc3dZSKotugT@jpi_+6{1@GDlq%e{K-LS%40d+p%7U?AmssoUDFW<7+ z!!IcjI@69ix%2jQ&ohLCrOZ0GbAv-9=gOBxQJv>w=H}CGL-0oL_zljYiW15iYG#9- zxwXZb^d|}pWdJ#ee};BdmBGVMGus?8ynALfHvy#uuLRqN|1qub*@j^IY|~sVhP7!w z7%lG$kYiJdzMn58$Gzvv5z8Cy z_)Mvce<*kPi2IZ$hQ%?Ic^v$dN?!a0D?#}n@Gw~@hTXjZnepY{5qUxFa4^(7N}Lmr6DU#^k4|8!x4pd}6@UK52U-k+ zZi30e?!zMkRF^H9feV70cU&;+YPB1cdy7yP^oCM1v(Uc`SJ7B~FATGYcwo?dv^C%2*Q2f3hxFlE20cC zqjof-pzRoE@;LSAm}cOnK7LD}7ADQql7#u$PofbNva(dKQz{Nyj_15F9=Tdz{rYsO Z1TBiKMv~Y;Q_!CdkUV_dS#Hr8{{j58>X`rl literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_dragon.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_dragon.png new file mode 100644 index 0000000000000000000000000000000000000000..8b1b47f496b83d1974461b1f79f54303da1f1c1e GIT binary patch literal 2103 zcmbW3dpwle8pmf0!!T%5>Xb2q7)eyFX?u-poC?+CuunF*j7l0Mm#vv`n-Ikm#STqm zYbuwt(;y)^k`UX_^s@UiSzP^vzIs2Q zL1?7ieWY9nlgY05QRNdb^O{-UZ{QPc;^SVgS|>%E@*Np#T>dN zD}SXJf({Z@j|_#b#AailDSRU@kXjXE8TDaT3)7%=G=CymTXm@r2@NaaQmsgOVq~@g zx8E`;C3WR?NaC~Bp80qe-M7|i6K5R>;GS<_cPm7qIWC&Flx&QOr_a^V%s?}r^jp_x z3x6Y0X99b>M?O7$^2wt|217wJ$y(f}r}-0P$_oDodx;+s&};_BlV}k-KH-TZhPm2q zw2!t$OW0W1CwV=-?a5R&P?YQvPOd-D@vdzPi(1UOcgdE(E@BZg(#W8zR6m{}SCVIr z?$rcd1yYYmU1w2X@rRoJUHK&*ah3QCDlYRpUz!Znmt+*7^k@r<6R)xYDMdjrBcymyT3xs}PafXoA<)T1|^WPdP(2^0s?l%vfO}W_xi` zP4+eHzD`l;eH196=(aY~BT}1zFH3chm)BdyNwTB|P4HX2jFX%lOM&J~>J5V%?^LN| zo*+xgkOk*DS9Zj)?HzJYivQ@G#L7gU?(Sxn7>>{SMHeE3JU*pmQpn8`E608fnX_u` z&n6KwIp(xJ1QT!nm>tkq*9E%Vmy}uBX^H|zyZ|sUbI$`WS|l2w8)y+2I2n%ACCfXn z2=EORvFk>!#FY>B(ej(c80P@UEBE0LrWfRAq+Q_JXGE=wE#jB$c-=eD&NC^HP$@&vpkt@v#{+lls$KR_7a$zzG+HaaXQjFCsKR3 zI(_8}ef;0}{jIABbySeZn6C-tA>t1!c~|r*HqIYa3eq_EJh8~1!o}%M%^Ma$FBDzG z?Jsgo@OG0Q3s4$E+FI9m9zJYjG6|RTC|Ao+zk=V zY1}>_x;i{UgtQ#PoiR<(A|pl*oDwN=8uIkBK{8)w>i3`7oj~!{eVrqAyJ6gATqa8+ zCVB$C$flk8leP{LoW##Qdog_z+RMgZ?f@_BBU#l*Y+;HmI_=s;Jpt{1CpUsB^S~RZ z`;?1q3qC7_6X&-(Ym}WzyBBHFnM{7QvsS%h<2S}!^`;}t{buSOf11lc;q$Z39~)YR zc(F=Q-LY~(UsZeDPnV_+<9qqbiyE}&vx~)vRYhB;Z%2a%oa>MUJh=(#6}eDNcv81{*aF?5)Zn zLiNAHf^k#n-5+=s`=vrH5Hua9PJkUo><2N!kjZ!msL6@6Mpm4Zy9@h=V52x#+<0H4;-b``{xxO>azN zTb3w-d%kyy4MaEsZ)2c+3)ITYThsiBkPV}1+K1((#6(}8Cu>su?ZfBRzFSqt2z3I#Yx%H5mCPi~QDv6( zA}It<2e2x&0FZfO01@+X+wTBCN&cCKRe1&grWSn&$*d+Eq#!GckPQ*5>x6lqYMZ57TTo{WJa*qjp}8xgn|&!$&=}XE@tW4bor4(-bQ1{;|xBP zdgEmSL61c9ooxUB^vJ=UX69tleg9-Qt#|e4M_*U$dAn6jM_PHRDb2PP{s|yF-Mn0@ IoP$#S0_hnbu>b%7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_escapepod.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_escapepod.png new file mode 100644 index 0000000000000000000000000000000000000000..b6770e82d36282513e8387a261056754af45a606 GIT binary patch literal 553 zcmV+^0@nSBP)N!z~wQBnGZdm{-=nq=ib@R_V>`o3RY-ph8qU)DcBAwZ>4 zNw+abl4NHq0BAhEWn;a*&&It*BX`}~ddA2!H}o7w7~)bb(0+6apaK z!{JqCT=#4R;4lom$>ciK-388Vn4P)sEZ2molmOU$zkjYYkKM`E$fv9zw{tH6x09_WGYk)V0g2Sp) z947!uJE?Qh^ju{H&~A5Fijiuh9HO0HHmmF%*8CWN@B0D-FEYoP(gARx;4%t=Bf*dt z%)8xF;hWL`cnF9$BDt6=0njdJ8|7+K3VdNcWHMEJL^C&z53c!QtWNK^-UHYzWRlPpp00000NkvXXu0mjf&js!f literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_file.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_file.png new file mode 100644 index 0000000000000000000000000000000000000000..fbdd13014cc3c7068f9ee3af3ab5ca2b1ad379b7 GIT binary patch literal 521 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 A$N&HU literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_honeycomb.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_honeycomb.png new file mode 100644 index 0000000000000000000000000000000000000000..8ee93f4cfeacdd8282ddbbf5ed9e622bbd656b7a GIT binary patch literal 969 zcmV;)12+7LP) zh_33c%dRZNO_#2;;KGPIp%`&fghIhhqGT!7P02=xKM2~|2^llKbKhrPI>}^op$NS& z^Jd=foO|wlcP2sq*!BtR6Zn4#G^fe8-zV0{`6~o8aHf)?#FKW=Prm;rL}C%Jy*)M~ z_xHq=TRhCq^`#xt4NwYQ$9{RtPjW003To(~$#nE;rR_aa$oOomV85;*%IiKzkno zzx17`oDvfRcvek5C*IeH$4cvChD4ljL@Iy{5M?d9>{Npd)fQ8-g$g8|*NNwXL~Yg^ zN}?|Tc+UxEftPc_^Fm63!0=oZDpXvxO7@rUcDS!pALF&PEicN)XazXiZJQv=Tf8eW z6^n>g#Ih(Ah9;r$eno7&>`Kr%H#~7g0WZrjtcjyShydi*vBz2O*}Q=(08d`eaoc`Y zm!z^pt*RW$6vVBrKt#nHbSnBPfCVP&XN30)qO&E(T20xG-_A*3MTDOl3S5N>YfG!a zsTiuj-Ve-P12{I1Q znNPuS)W#~j4j0e` zKhy*MWi_(2^b*i{ph@V($O}y(|1wP{4ide%xNU%8S6`*YeOD69Ae5VQ!Pj5>g92kcm1@Sjg23e5iWVi|)+-~>jx zIRIq&f`Atcc_$!z_rPypF>)M1vIAh2qkyzoKu4sJ@d zL_1*5mWuy#ydPkQA5T2RU^&fF5oE$)u16D20!s>fm zz}e>=(V;N-%YoUGBmb|9c}KFr#D)Sv2WXoVGH9Q`ujcsi6s+Q0V6p?RUV;wTzqN&- zs-+IfGe)!cG?=!^F~!t)_AD^;dI=d%Y8p6;)gjm{Cl-*I2+=ISVd1NnUnzG$b;~A3 zh8l+dh-e@VwAM61^it{oS_7gSKx!xu>wBUdK#C(sv796a5aS3^EhpIl$c_N99f1s( w#c(+i0a=L!u$OWSg7}gE|01Z5is%VIQ;Q#;t07*qoM6N<$f{AOLWB>pF literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_insectoid.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_insectoid.png new file mode 100644 index 0000000000000000000000000000000000000000..e9eca9b21c1877193266c30151ca7683348c8026 GIT binary patch literal 533 zcmV+w0_y#VP)6;Rv*O{kOi045jVtEYn8`5m9rd2Hyk8jp3fc>&S1kH>JKN z#7iCdqL%Wy2YhIaNS61e4{%bMiP8i7oe<4P+i;HAdO$WgKEB%r@PEnxl9rXAWy$RW zmh+`yGPJc%!2%!0s)*`#OxZvWq(FV(#eD8ZZ$vn2t{RO9zo`%C#9X*FUR3}QZq3NE zVF|FDuP-MPpsl$kLJla;RxB69d2W3`D%8xPH4sUz&D0vJFrnpotA4d~O1E2`Rc7D| Xd?)Yq%~B~`00000NkvXXu0mjfg1Y5t literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_orange.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..5b669482aefbbc9ea01370bc55d34a46ee154568 GIT binary patch literal 467 zcmV;^0WAKBP)uVf1QTwPmYj22bjb%L&CN;9@19WTDEsFm zfCP{Lqye{wn_N6Eom?w_27u<{xmBj6XT5W`_0m~mTn0e~gquUmrPA*;I)Vh~)m)#> zvaxJlsG%XyfV-m|KCxJ2YRc?dcV3@@Bf!)`s#9z5wc`sEf;53I_dNm-5q=FND8SYJ zI@hiFuF>}k)O@?PH!;i<&=VNZ3~VW>HWqNUx5CY-3~Kj&C{u_9)Y}eQp0t?Ld}R8} z92%i0Dy!8Sv300d@bT6RzGD!8bz9GvN7H@<@KE?@=}cb;r8ycRb;%c!$0sJY52*XcG$4%F*xC-(eF)^H zd`W6f0*DA`6n-7lol5~kM7dJ!d5!u!seeQ=jfM&sW)eUG_yJVKx91MJf$0DM002ov JPDHLkV1j8`$>;z8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_pellet.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_pellet.png new file mode 100644 index 0000000000000000000000000000000000000000..cb602077a988d6922b69da2b37cb0391737dbe17 GIT binary patch literal 431 zcmV;g0Z{&lP)YM z;Pu9R+L?eY!4lZEa)1$nlaPso)h3*$;6e%n+%`J}u=>;7$p*YXep=Ocweng5p^l&v z+%6b*06>7L)`dhkVGCg81l$Ie=QuWhaC~eFQU~RxE0_^0A4JXmem0SWC@)N zuDjjQvKq0TW&L09`t~WRm7177PqY#=XKw)y;6?(n1Zq`;_QpZK2V@BXs$-_lvpR;hpI^=dT*eD{ ZfnQPZun+3A97+HH002ovPDHLkV1lcSu~h&7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_pinkspots.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_pinkspots.png new file mode 100644 index 0000000000000000000000000000000000000000..dcdc3e96f588fac33c60e8c34ef61d821e444e84 GIT binary patch literal 546 zcmV+-0^R+IP)m9E_S85Q2fqdEd1?iY@l8X>{qIp-1oI{=e^kN7@+t zvm$^9AOZ*sK#EP`{H|OrDSrmQ%-5y?a&hxUV*mu2BnX5w0Gi((>5xjLAb&n@-Ylm9 zD(yfJQUFeKRDI_S@*i1%jTy5b0E93A*`l#;Cb>D+b#HXVEt#DH5~C28Vi0m$@IGX* zW9KNo1vZ3LBO@UIvi?9IpWug%8(SI!!kRuYw?ZHV@dOgyYuV=Zm_a1O&!H~>$=(yl z#93#q=qE`c1^)zIzW_2ZxG6q@N2JH@ox)%m; zLF}cWP+5e#@-qX$F|5#{lQuKQTG4f-o&_8Njc5{ugE?zvz&n>Qmj)PvxafM$$*vdZ kjVOpwr~qLq0*C;<0iAQyltcLeF8}}l07*qoM6N<$f^co+-2eap literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_polychrome.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_polychrome.png new file mode 100644 index 0000000000000000000000000000000000000000..8e1b4e119928811908e2a2248318f7843439a90e GIT binary patch literal 373 zcmV-*0gC>KP)RCt{2)jtY@Fcb#x2wmMpCkGGU1-yV~5YHx_!O6{QI5_!d zaB~$bFYrWzt?#9wmEyMqQ|^P3~H2{>4<0$I7md8O5 z$T=MZ8=#g$=6Mz{r-NVtj>>)C7oO*dwr#Z#WWZ55q-mPni04ufMxKIgIX5K0tJNO` z&!O(Z_1^=W)nhoja0)2PQiNeBpLGrbuRROt7F1Ow$0&+O2*AQMwr!gMa3EMt4GAz! z({45I3i`g6BW3j@K$0X@p63f7xPfaw24K`(Fm)~ofV~c0>i%?%OI^|jbL1rj{BuG; z2nYeffXr5rxzCTU($b#+c=Ls|VbG_e)_Lu*2^lCd5d<0FZO)TOYd`k{5F|jS=A*L; z%p_yKHADm&kli)dQfdTZn%s8%rD8fq4pW9?$f^cAI$uX2NE0yMK79Z;!mgnN1vuQe zWE1mB+vvN6*R&d6*2FMVKu=&$jbKYjwSj>B)iX90*HF8+LzzM#;MKebeQE`s?@Sn< zQ_zTrEJ5X|99V~X1@&sn`Hn$wZ0(_mS(^4M;EVE)9*=f~P@1CwH|1+sPNaO0pl9Ac z>b(O_O9#?k@`M2~yg7fiXMi2=6oP88K>_S3xDk_!s&%a1Hhj&oyGH}Oi0z$C=eiBy zxyThr%}D?^f;aNM4(iT@0B(d)%6Gg+T~FvAkw~My0{WQ{5CXmd-Bq`{8*~(L00000 LNkvXXu0mjf!yC!* literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_rainbow.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_rainbow.png new file mode 100644 index 0000000000000000000000000000000000000000..aba3019c631d4023fea522c1b6fdb808bd76bdaa GIT binary patch literal 689 zcmV;i0#5yjP)7g3IKPM}AC=^kGl%*wtVzAUyMW}5Fq1FC*&g`bd zf_7))S}*%9-@chQ^M3Poc4t=MKbs9;1K0os1E?p7e)Yo-8Cx*`k=&&KPQUKYqUAd=VY>Oi{U8vKqZ(zA`&dOC^s_Z85Z2(jK?QxK*AC=wxrIsl&!enho4|K22^ zC>jJFg|rwm5YhnD&_JlG1KjSV9f?F^FlvLDmuTyXI{y}#>M(`7mY-gmjkzp02E3n!`t<1z4 zhCXR#G_nKOS6T}-IEe5EV;$ZDY<~fCMHw|UE?)&hfB`3PzzaOZAS$^pl0ZWHgM2%@ zhM`Fn>&v9BKZ=1$pK<)>G2j~?Ggo8*z+JxYZY}_A2Z8qIKywXnM+F`nI)Y2dKHOH8 z>RH8w7B!3OJiaMq0l*x8gI7uc2Vc$A!+P5V@iC0|;n{}YX;zDyeF@y!VgbO!8DeGk z7{R1bRv-J<0Kz6yqbPH2M)mgvjO;H$RsZt(H8zFy8`nvJN&!&oCN^>7BPB{Q*v*p& zJ37R*oIm9Js+@}Cn4Xeay)?ig1QQUW!1-|gJP4KNW4hIhmR!Wj&TH;8%t6d|yYcoI zaQq$rQEk(;)tN#4D>veC&%Zm47a?X&5e4Gn5&{HNUF#u|ufT;wSRsil1+da=02|;Z XSfTWm&#tvm00000NkvXXu0mjfeabG* literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_ratvar.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_ratvar.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec370c6ba3728ddb5994d999e3569d537e979ea GIT binary patch literal 1034 zcmV+l1oiugP)3&sj< z0Aq;Isf|&Oc#Q?!HD_W+0u2><1yK@9J7Qr&r{cPAm${qWot=5R?Ax6Q_a$U*_h#q+ z_r14sOWr7)bA|x`2l4$WUv=K|zIb`pDinY+4VY+eeeP?`-<|fdw1uy{9*hCtHbCL$ zkA1jw2k%}jkmkRA3I5{J1Cj?)05}bpz^cPB9sJGUZ$U9e zEH2U3HwJ*)00njB2~F8c{2EFnk}81H07d(7y$6leNr;d8(S(nI?(Ak^55@p+8=xRG z5#gbqfLW0Q+T)poQ~{g@bco6m+Kq|8$3ag@z~IqSCu!1{1Z@DSFhD`9huY$J5b%Zm zxs7LcVD83tFt%W2jkb2K3NRV?y0Z=4KP~vT(}eNWn@|>6!A;J=n;$<8bc6A5eK|Ep z1t|bj19ttz*?=bTtW2ZjWXxiiopcuf+AMP!OnP|*(;4H|G zpDvJcQcxE{{bsBJbdO+6>ye)K;D35P5FBDn%zWcGsKAR&z)GNKjp9Lag7`A80nGf$RFH|?s1j7dSz0PY z1;r}upr@RJpg#Ttb~E%OvgGz1<2?60jSGB);#2--RpnOLZ^+_%j>C7{t8rS zAY~{KAWR6Zb78)9sz+Prq}^1mm(r`-fQe5B0JkOv>j@twU2&}m<9h(N0SaOrosXir zq!%Gh119EPM-|k4wO8 z3h5qASkoP@3#+=rbzn_*xGt>h4p)hF-QlXS zzB|l~6Ww7>tnUtU<4kv$3+KASWi#v!!#QUd066FT2S_YfWGy4fF#rGn07*qoM6N<$ Ef+fb}3;+NC literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_red.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_red.png new file mode 100644 index 0000000000000000000000000000000000000000..51ac82e88fcb45186483a88444cc508b2cd0bd9f GIT binary patch literal 458 zcmV;*0X6=KP)RCt{2*56CQP!tF7GZ$|C*z1(iqF~^IH4`f6CF!AmroX4Z zqxT-dh=N|k-U=ZpOmg+qLv32!xQngprtF-n)XTmgbKBWHpL>Sj4E%FaKnh3!(tyU^ zE)&nIXP3&K0eJKI@;YSAoPXYTde8u1G6*st+MLIzRDbSCAV`2w&9%iPn6<3m8X^J> zXddjdg$)~2!x*~mbsxhchpAh0(A0ERIXOikNE7&ce~SS`L{LKs3UIN#$+Ti|X!PU4 zYrb69pBQEe=m}(W9a~DOO#~dsRE{%6p#YG0krM6L2}BQQ~&?~07*qoM6N<$g7AyW AApigX literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_rock.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_rock.png new file mode 100644 index 0000000000000000000000000000000000000000..501c5b843b5958301df39ee7b38a5915e78cd74d GIT binary patch literal 389 zcmV;00eb$4P)3qW2<#d4P#1zM| zaSUNp1PM@ZJ~5WSFbtq0r0nNSynxr=t24qGfaO_se;?}zEMN8%gcCq7*AaO4>rfDz z09(0UXgY`2{yiQa5xZZ*vMjA*ec!`YHUUa0Xqp;Kvmk^3TktxUIM0BNIHH^cSP-1^ z!^+8kGeQOwMKM2$%s589doo}tsHzI`Jl|bT0_X*6gm1YMpsMRjcDorDAVkV#(;B3@_x=1DFyLe}7o8%Hj5&A86xxRbf@7_z&BwKx#c z072%e+DDf46bnKcptzBzh1Ehwb4?p^XSV_Zv9gi^&~@GEWDdcUn?r~}EN$c+(=95Z2NKpo*lG^rzbQPp3fE#O6&$7f}5QyP>WE2X}KcG|n@xq;D zg@GRgH-{Rp7i=$)`8|O8qe-dpWxBpTqT%6bUx;RN#A1(SRcT^!(K$WY@ohsO05)SZ zFV9IINwq=%m!Af6n;jh303W7m9MKHhVyMedp=@}P~80Z=k`qcbzR&JyAjs0Nea4ZTV7 z){M_NMnKwDLmVRLW(;is#LLKA0--XzEj6RYM#Mb7^t8lOD_a!wF7O3F*=*bECr^gN zFwjTFM1Mt9TmcX#=ECn`kD@OCsQU-1>?!b0stOqNIWy%|2S8k3%?}UO=v!|>ejijT z-Zh?WB*s4;dJIEUgM)DhlpQDkkw2s6B&Z0I%k42qMv=aVg5GFx^?yIhy8u6>cj($r UOWT|slK=n!07*qoM6N<$f(fz`_5c6? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_spidercluster.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_spidercluster.png new file mode 100644 index 0000000000000000000000000000000000000000..812eef93396563200f61ea0be0f9395cdd0625f3 GIT binary patch literal 3009 zcmYM0c|6nqAHY9Ci;neGl5-R}fB3p8w2>=Ej0ibPL*I_con~7oxx1FzoQWKvlxR!} zb4=u}&@lJR$fl3&xBC5lkKZ5f`+B_|uh;AOdM6<5t@esai2?wy*ZPdP6TkKSU3Tr{ z*FQ2MPVgI%pfm0v0I;v^cM%|{?~?|A-67WIrp}Q$%Q*mWWtECH-^Yo6 z7Clt&jP>z(n`kFS^!NDBHDv?mm5ou@8NkGB*G?7D*1xyIZPcb>Q&W$x#2w^0>kccP zx*f=kTMdh<5B%h?56BJHE}UJ!^45OZBIR~YHFD}M8-*DaCPHyw-mmv7iMVC<2rS?;CB3~}^cf=i8Zb9! zC7o!j_^gY2B5*gsIWu_SC?Z3k)6q_E&*^{R`)kFaV^&xvk#p)0A-l@MG6S%K>E&B4 z{SqWee9qZ>`ueU*#|cTdq%dvWC=G3O&fqi31zb%*_v`t6=nvd*vbI=Gl#NpjXph z*_JLbX!F7QwhtEzrn`D=J2lAZ8z>_JxcHJ)1X{#sEp&yeOe_L{LeFjzcC z|1eMVIBxLRUZlB#6~cCN@UGE(xlhSQOZ8>)VXQShfa!JW)&{1>(9;cmuJvs}raGxJ zQRMZZ7SS{A60dTTKA#ws3+?Z}UWG@Hl)3%Omjp>G#U-`bFB%$KYx@m()jlIFD^Fb> z?ZulMl?SycHwF}-a^CfS{qj220G?|nhJ7TS;1-^ofC3ftk;rRCXQlC&TZcEVTv*zF z?z%5`aUAu)HC+oz3+B-3*=?dR>!lXQe5e(}Nioeyk}&6uLtoSN^Zj`784#E_)OBzt zw_u&Tu-5LyqNYV#-DsT<_RvE?2Ht>;CvirT3V~+p@Q$?0%XZgKmoKftSGUC!tx`V_ zg;AsgJ3pjlAniwjLcK8bPQa0xy2pG272Gs~t9?yjk4d$jqmE%pgSyy`N;wPQ$Rv^p zL)q+9u*%oSDxe7wv&u4_f;BXT{*;mKlW;igfUfv}fY0#VqJKIZn00XL*--fG)ET-A zh9IIZt_mYC44sCslDj#m>;^?*Mq)C96!#fZo_sOn(5kIL2o}f>vJ3H(Q&B}m^^xZ# zU+TD)O z0jItEiRgNe zBis>SyWjZ%MR-Eg(5P5gzKaqMkVhTsH57RGtWAMz@&$-RG#Lk z$@aRUj-s*KF74v=$>W%^!k!U{G98kq<qBZ|kL3ta9{ z5~*^*7zk>cN$dfAvqW=AF0eK~jG^?UL|4Kz<26~iP663O2T9%W?_59|b(NCPo<}+q zl_C@!YV&Q|LH|+aRgbJ(U2-}saHt$fk!DJ~cs_dNpyo^xRPTXhiRW(!=)b=VX;8j`U!(&I- zt~W>42VHHV8CV``v1W^k3p?q`g;6VmIa4g1t;Ut{VP$M6@RZ01|3r;gd8q&h?8i-P z8@*BtymfF(ddxYqUl|)LQqF2QOL_C{yWb3yDIm*=XX8^jDKtU*%}!<0+`NY$o8V`N4-c?(?hM1e(J=Holz#`ypsJ`~P=Jm;$~t70MQ|-3YnvK5IT#{G>FM#u2!G z{*|Kw>+Y*7{3={FEQhh)eKL&xL==iet~N-P&nm|>`)*wQ2Xdw^zqt9%>&B<5tZ!S|QmpB7sEOfruOdGEFaCM4UZNzLPs4jvUq!-H7 zdDZUmHfvfUJd0Wui~V@+^`y@~Tv*R31kh*Qb@!X6BrkI0au0)y;8J~-@OHOO&K1vm zxly$T7wQ0xYlWNa;F_}tv#GMYHVyS<7OqxMXS=bX*%1RYb;<|r`;veoc|=XhJeTH{ z&|t7pGk@>HF-gU2dW`F!8JGYhTDDbnFu@5Npe&Rv*MBjO4WrTyP&pd{_ON0(i2|=p#>I^LbvhoLcHjR^P@5OIsgyi>8+DD8Yyr~v#IS~s3Tl&niCMDV>lpZa zIs!iG@yzlu)}xPWUDTUU_uE8iOqUwTOTkPcUS`m@X;=EHhkJStA(Qyt^Wy2hj$(b`p0VI+wxkg?9gmQbZOTU#gaN1U{*1%VGl?mX(79 z2kMu`La}|$ySW?(FN6EgxBb$ouCtq4OXW2<%mk{AjsKj|u$kmUfEC5xx!-mE6J*`G zUJag~RvX3?h<;p|0-Z~G(hdn!hiJ$==tFQ*sIkG>Z2G1dtI9!+H9;kIEIykqxq(@g#m^tN0+1<_pnC>0vy zud<9;f$Gx0aekNhTIvQ}_ImIuOZ_`-V| zRN#z{8>O_OxJ>kpx-V)on|${{gq8gTLpFWu7D@W54$`U(eo`4p#((VYAqneK9;NVg g?;PS=(Si#_=t|8G;^g!Be{#Uu!rr{1M9~ooSLG zw$7b2=w{Ac~h3}290gB;5 zV*b)KpIL-2Ndert!Fcj8(7U9RYL_=!xb*c;zefc=)&qCP7C3Kj@a%#VKu=2ntx7pW z{JKLceRm7_&tGJg_6A6Fb@9yRZFumDg6gbNSTT4dzl(gzR547)4y4n6?SdyjCVUX* zZtF-R0Tt&w|{K_ z`pj|k!$d4>0zVefIqrb0b}7!hRdByydH;8>Jx@-m0~a5KaOJ3JcR|QLyRhR8@|`IA zdGgtX5Mn<^pidq_a;*T#Yn+9L`x+5Fd0x2IH&G zBNr^lN(x{i#Ta`?uis}*fRMIcLoN}4v1F8jZP7mYb_M(xukE8)ELeol4wPR;0;DKo zlweFqhx-C>L)bz4DmD_B-*DdmZU~I5yv^@=Recdv6I4@xS}Fht0Dc4i&Q O0000@&4zk~7U3n>ZmRP#`_Kou75v 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_yellow.png b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/egg_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..9c36ffe89e80dac1270e0086ec90e406c4797876 GIT binary patch literal 454 zcmV;%0XhDOP)QMLZM~lxRf?p2XJ?pGJHO z!8Z`GC=^lbxrZS5@2v+(Qrk5X+^|hrb|x))$v{c7ne2Q!n?PpRKSu#500kg7;Qn@B zsOR;)8{^LaP<*bk#Vl(vJ`cn9XpD(G2r?jD9D?)u?=?Dt1Q=D^wwKs!xu)dM5NN=| z-Jz&(mzgFX8V`c!pmaeCczF%j`o==E&ri`4zl=s0hRHndLz{=% zf?n@4`Hw*WHVoe|Q`6o8m=u1NRUHeV6h{NvZI8L`S_Y!Kr`!FW9B_2pF-}ivf)N9X z!@Uy&WTd;G%f$u?AiJO<9A`B?`u=04ICk}DKpN3#93izrW_sRE`M1)u=@0I1TpYC(U<&tiaSW-L z^LEyK@7nWo&-&HIQ~IzDpbH67DjuP?0qcsutIqm8^Ll#=tOL+<0c4TC0ShfT%%;0fWMh zg~#K$!Who4I&#}nQO%`;>x7uyz6XUaPClIi(Ja!hXDOSxurHUIIH=-v#|Se?`fn@AGE+nU<<2z8cP0R$3vk{W9w_R{sX$ ze#h{3(KEhwN0~3%|qpH>n1fQz1d{_wPs)ZVaMY7S9Oa8 zs=0pD`DU$%5!}tnH|uxAy7deUR&(Wp4)Y0mPP6*m@Igv|b+TCEq7NJ!%~xIB>h^5s zo|yQ9IhBg{{@wd!bupq}Z2pnAm;Ze{acFipjzw&Ion!>j|{`UCSF_*_R*>yd) z_x`I)+aL0=VM9a5l8z+}yC;Y!L{_w1e1CU!c5i@FL+2soqTdf08Rps68(#eV`*(SM d@##`l$^G*ddf(Y{5t!Z>JYD@<);T3K0RWsHCaVAd literal 0 HcmV?d00001 diff --git a/Resources/Textures/Floof/Structures/pole.rsi/pole_base.png b/Resources/Textures/Floof/Structures/pole.rsi/pole_base.png new file mode 100644 index 0000000000000000000000000000000000000000..50e9b8f53278fbf573ceb6c0b398a268f66da2e4 GIT binary patch literal 854 zcmV-c1F8IpP)Px&5J^NqRCt{2n9WZUK^TXBJKOCSpwNJFGQ5DxJV?UHm~bH>p8SKn zc`@< z1VIo4K@bE%5ClOG1VIo4K@bE%5ClOG1VIo4K@bG-Kcf8Y0KD>W`absac>utEA&-~u z-%6SHk0l^6GU{u5Y9WcKYqxm6|J->5HO%oN-!G5i#M-?;|d7R&;qA0Qvxup zs^#V0FbgP?BV%^g0)U;bUobg7fy~w>g3+i2NyU?%09)KCY+6-xgnFO`&9?W~Dh#D^ z&N{0wer3g->wUH~ z;4a=M9qH@m?fMph$~2{B8b~c9h2j@p0h$_yQ9Epsx4Axg6#y`wTs&49Xf1A|22FIJ z2c>e(($uhU0fiI56t(T)W{XGaeYXScIB6$#5~{VziQ~2rPC!5nx?YbI3wZwMF(U9+ z?RMM7>v#J>JOQSGD${u1&wX8vPt-jm#$( z0RZuMyy-Kid@Rv{!I1zSuMGL$CX|IU5t0%hUEJo>-Utor350?g7*n7H_*v`eg$U|#8PzIG g(?YpoNEf&H2|$@X literal 0 HcmV?d00001 From 952bda7405750551a7f8a934af0b2017a030dbc6 Mon Sep 17 00:00:00 2001 From: Pierson Arnold Date: Fri, 23 Aug 2024 15:28:22 -0500 Subject: [PATCH 24/69] RSI Validation --- Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/meta.json | 4 ++-- Resources/Textures/Floof/Structures/pole.rsi/meta.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/meta.json b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/meta.json index ee80ab55ba2..fc06862b449 100644 --- a/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/meta.json +++ b/Resources/Textures/Floof/Objects/Fun/Lewd/egg.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, - "license": null, - "copyright": null, + "license": "CC-BY-SA-3.0", + "copyright": "Splurtstation (https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13)", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Floof/Structures/pole.rsi/meta.json b/Resources/Textures/Floof/Structures/pole.rsi/meta.json index 0ea0654a4b9..38d00f68455 100644 --- a/Resources/Textures/Floof/Structures/pole.rsi/meta.json +++ b/Resources/Textures/Floof/Structures/pole.rsi/meta.json @@ -14,4 +14,4 @@ "name": "pole_base" } ] -} +} \ No newline at end of file From 5ea8be5edb398b2f738d7a6f7faec5ddcb1dfb3d Mon Sep 17 00:00:00 2001 From: Pierson Arnold Date: Fri, 23 Aug 2024 15:42:35 -0500 Subject: [PATCH 25/69] Corrected wrong path --- .../Prototypes/Floof/Entities/Objects/Lewd/eggs.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Resources/Prototypes/Floof/Entities/Objects/Lewd/eggs.yml b/Resources/Prototypes/Floof/Entities/Objects/Lewd/eggs.yml index 575a379a016..8d1c005f8a2 100644 --- a/Resources/Prototypes/Floof/Entities/Objects/Lewd/eggs.yml +++ b/Resources/Prototypes/Floof/Entities/Objects/Lewd/eggs.yml @@ -5,7 +5,7 @@ description: A large and shiny egg, couldn't have been laid by a chicken! components: - type: Sprite - sprite: Floof\Objects\Fun\Lewd\egg.rsi + sprite: Floof/Objects/Fun/Lewd/egg.rsi state: egg_chicken - type: entity @@ -15,7 +15,7 @@ description: A warm and shimmering egg, power could be felt from within... components: - type: Sprite - sprite: Floof\Objects\Fun\Lewd\egg.rsi + sprite: Floof/Objects/Fun/Lewd/egg.rsi state: egg_dragon - type: entity @@ -25,7 +25,7 @@ description: A void egg. This has to be dangerous, right? components: - type: Sprite - sprite: Floof\Objects\Fun\Lewd\egg.rsi + sprite: Floof/Objects/Fun/Lewd/egg.rsi state: egg_void - type: entity @@ -35,7 +35,7 @@ description: A globby and squishy egg, feels nasty. components: - type: Sprite - sprite: Floof\Objects\Fun\Lewd\egg.rsi + sprite: Floof/Objects/Fun/Lewd/egg.rsi state: egg_slimeglob - type: entity @@ -45,5 +45,5 @@ description: An egg covered in a sticky and sweet honey. components: - type: Sprite - sprite: Floof\Objects\Fun\Lewd\egg.rsi + sprite: Floof/Objects/Fun/Lewd/egg.rsi state: egg_honeycomb From d59f698c2a0bb446b35e6c5791d39c8992981589 Mon Sep 17 00:00:00 2001 From: cynical Date: Fri, 23 Aug 2024 16:48:06 -0400 Subject: [PATCH 26/69] added leashanchor to bell collar --- Resources/Prototypes/Entities/Clothing/Neck/misc.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Clothing/Neck/misc.yml b/Resources/Prototypes/Entities/Clothing/Neck/misc.yml index 11921b9a50d..2581f06bb8f 100644 --- a/Resources/Prototypes/Entities/Clothing/Neck/misc.yml +++ b/Resources/Prototypes/Entities/Clothing/Neck/misc.yml @@ -93,3 +93,4 @@ - type: EmitsSoundOnMove soundCollection: collection: FootstepJester + - type: LeashAnchor # Floofstation, silly bell collar can be leashed :3 From 30da369384e7e3575c0246d2452fdb45c9ba4226 Mon Sep 17 00:00:00 2001 From: Pierson Arnold Date: Fri, 23 Aug 2024 16:00:44 -0500 Subject: [PATCH 27/69] THE A WAS NOT CAPITALIZED --- .../Floof/Recipes/Construction/Graphs/furniture/lewds.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Floof/Recipes/Construction/Graphs/furniture/lewds.yml b/Resources/Prototypes/Floof/Recipes/Construction/Graphs/furniture/lewds.yml index 3f9881ea9ff..345dc31ce5c 100644 --- a/Resources/Prototypes/Floof/Recipes/Construction/Graphs/furniture/lewds.yml +++ b/Resources/Prototypes/Floof/Recipes/Construction/Graphs/furniture/lewds.yml @@ -10,7 +10,7 @@ steps: - material: Steel amount: 3 - doafter: 1 + doAfter: 1 - node: FurnStripPoleInit entity: StripperPoleInit @@ -22,7 +22,7 @@ amount: 3 steps: - tool: Screwing - doafter: 1 + doAfter: 1 - to: FurnStripPole steps: - material: MetalRod From df8c9785881fc3784e42585d458f3281a5e48a5b Mon Sep 17 00:00:00 2001 From: ShatteredSwords <135023515+ShatteredSwords@users.noreply.github.com> Date: Fri, 23 Aug 2024 17:09:07 -0400 Subject: [PATCH 28/69] This would be funny but no --- Resources/Prototypes/Floof/Traits/physical.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Floof/Traits/physical.yml b/Resources/Prototypes/Floof/Traits/physical.yml index 3929563253f..5d88400be10 100644 --- a/Resources/Prototypes/Floof/Traits/physical.yml +++ b/Resources/Prototypes/Floof/Traits/physical.yml @@ -16,6 +16,7 @@ - Diona - SlimePerson - Human + - IPC components: - type: BloodSucker unitsToSucc: 10 From 82bf92f4e0dfe32ecd7e162bd327a3b060f8ed5b Mon Sep 17 00:00:00 2001 From: cynical Date: Fri, 23 Aug 2024 18:37:42 -0400 Subject: [PATCH 29/69] adds the short leash --- .../Prototypes/Entities/Structures/Machines/lathe.yml | 3 ++- .../Prototypes/Floof/Entities/Objects/Tools/leash.yml | 11 +++++++++++ Resources/Prototypes/Floof/Recipes/Lathes/tools.yml | 9 +++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 87f88f236b1..9e018385ecb 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -163,6 +163,7 @@ - ClothingHeadHatWelding - CustomDrinkJug # FloofStation - LeashBasic # FloofStation + - ShortLeash # FloofStation - type: EmagLatheRecipes emagStaticRecipes: - CartridgePistol @@ -1461,4 +1462,4 @@ - type: MaterialStorage whitelist: tags: - - PrizeTicket \ No newline at end of file + - PrizeTicket diff --git a/Resources/Prototypes/Floof/Entities/Objects/Tools/leash.yml b/Resources/Prototypes/Floof/Entities/Objects/Tools/leash.yml index 5d09435d66f..45d080b601d 100644 --- a/Resources/Prototypes/Floof/Entities/Objects/Tools/leash.yml +++ b/Resources/Prototypes/Floof/Entities/Objects/Tools/leash.yml @@ -24,6 +24,17 @@ detachDelay: 3 selfDetachDelay: 10 +- type: entity + id: ShortLeash + parent: BaseLeash + name: short leash + components: + - type: Leash + length: 1.5 + attachDelay: 4.5 + detachDelay: 3 + selfDetachDelay: 10 + - type: entity id: LeashAdvanced parent: LeashBasic diff --git a/Resources/Prototypes/Floof/Recipes/Lathes/tools.yml b/Resources/Prototypes/Floof/Recipes/Lathes/tools.yml index 83e86c43658..69d3ecba2ac 100644 --- a/Resources/Prototypes/Floof/Recipes/Lathes/tools.yml +++ b/Resources/Prototypes/Floof/Recipes/Lathes/tools.yml @@ -7,3 +7,12 @@ Plastic: 500 Steel: 75 +- type: latheRecipe + id: ShortLeash + result: ShortLeash + completetime: 2.5 + materials: + Cloth: 25 + Plastic: 300 + Steel: 50 + From d07b00e184dc95b4e2d6bba7fa9450d2926d8528 Mon Sep 17 00:00:00 2001 From: FloofStation Changelogs <175611579+Floof-Station-Bot@users.noreply.github.com> Date: Sat, 24 Aug 2024 03:21:45 +0000 Subject: [PATCH 30/69] Automatic Changelog Update (#132) --- Resources/Changelog/Floof.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Resources/Changelog/Floof.yml b/Resources/Changelog/Floof.yml index 194f241a2aa..5988c7b55ea 100644 --- a/Resources/Changelog/Floof.yml +++ b/Resources/Changelog/Floof.yml @@ -646,3 +646,15 @@ Entries: message: The Autodrobe Restock is now 2000 (from 1730) id: 88 time: '2024-08-23T19:50:13.0000000+00:00' +- author: fenndragon + changes: + - type: Add + message: Added Friend Shaped entity + - type: Add + message: >- + Added a crit state to most Xenos including: Friend, Rouny, Praetorian, + Drone, and Ravager. + - type: Fix + message: 'fixed Friend being unrevivable ' + id: 89 + time: '2024-08-24T03:21:18.0000000+00:00' From 259638a9799b5a0373a0f7e0e4f3717a5d918718 Mon Sep 17 00:00:00 2001 From: Pierson Arnold Date: Fri, 23 Aug 2024 23:54:25 -0500 Subject: [PATCH 31/69] Sofa price --- Resources/Prototypes/SimpleStation14/benches.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Resources/Prototypes/SimpleStation14/benches.yml b/Resources/Prototypes/SimpleStation14/benches.yml index 23048872d0f..4a364c2f635 100644 --- a/Resources/Prototypes/SimpleStation14/benches.yml +++ b/Resources/Prototypes/SimpleStation14/benches.yml @@ -210,6 +210,8 @@ - type: Construction # Floof graph: Seat node: chairSofaBench + - type: StaticPrice + price: 15 - type: entity id: BenchSofaCorpLeft From 069eab95782bc708669f9535251288b77eef8b06 Mon Sep 17 00:00:00 2001 From: fox Date: Sat, 24 Aug 2024 07:58:30 +0300 Subject: [PATCH 32/69] fix --- Content.Shared/Teleportation/Systems/SharedPortalSystem.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Content.Shared/Teleportation/Systems/SharedPortalSystem.cs b/Content.Shared/Teleportation/Systems/SharedPortalSystem.cs index 8d67aec518a..9d3ca1b2ff6 100644 --- a/Content.Shared/Teleportation/Systems/SharedPortalSystem.cs +++ b/Content.Shared/Teleportation/Systems/SharedPortalSystem.cs @@ -12,6 +12,7 @@ using Robust.Shared.Network; using Robust.Shared.Physics.Dynamics; using Robust.Shared.Physics.Events; +using Robust.Shared.Physics.Systems; using Robust.Shared.Player; using Robust.Shared.Random; using Robust.Shared.Utility; @@ -30,6 +31,7 @@ public abstract class SharedPortalSystem : EntitySystem [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly PullingSystem _pulling = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly SharedJointSystem _joints = default!; // Floofstation private const string PortalFixture = "portalFixture"; private const string ProjectileFixture = "projectile"; @@ -207,6 +209,8 @@ private void TeleportEntity(EntityUid portal, EntityUid subject, EntityCoordinat LogTeleport(portal, subject, Transform(subject).Coordinates, target); + _joints.RecursiveClearJoints(subject); // Floofstation - clear all joints on teleported entities so they don't end up being pulled 'cross the map or worse. + _transform.SetCoordinates(subject, target); if (!playSound) From 92bda3022553fce24370206c21c6ba5aa16da37e Mon Sep 17 00:00:00 2001 From: Pierson Arnold Date: Sat, 24 Aug 2024 01:20:11 -0500 Subject: [PATCH 33/69] price fix --- Resources/Prototypes/SimpleStation14/benches.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/SimpleStation14/benches.yml b/Resources/Prototypes/SimpleStation14/benches.yml index 4a364c2f635..8684325c30d 100644 --- a/Resources/Prototypes/SimpleStation14/benches.yml +++ b/Resources/Prototypes/SimpleStation14/benches.yml @@ -211,7 +211,7 @@ graph: Seat node: chairSofaBench - type: StaticPrice - price: 15 + price: 30 - type: entity id: BenchSofaCorpLeft From df6e469bef48f047c69cb5f60cf70a80522bc9e8 Mon Sep 17 00:00:00 2001 From: ShatteredSwords <135023515+ShatteredSwords@users.noreply.github.com> Date: Sat, 24 Aug 2024 02:56:22 -0400 Subject: [PATCH 34/69] No More Zombie Outbreak --- Resources/Prototypes/GameRules/events.yml | 34 +++++++++++------------ 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index ca885117449..5eeb9d16b31 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -429,23 +429,23 @@ - id: MobGiantSpiderVampireAngry prob: 0.01 -- type: entity - id: ZombieOutbreak - parent: BaseGameRule - noSpawn: true - components: - - type: StationEvent - earliestStart: 60 - reoccurrenceDelay: 60 - minimumPlayers: 15 - weight: 2 - duration: 1 - - type: ZombieRule - minStartDelay: 0 #let them know immediately - maxStartDelay: 10 - maxInitialInfected: 2 - minInitialInfectedGrace: 300 - maxInitialInfectedGrace: 450 +#- type: entity +# id: ZombieOutbreak +# parent: BaseGameRule +# noSpawn: true +# components: +# - type: StationEvent +# earliestStart: 60 +# reoccurrenceDelay: 60 +# minimumPlayers: 15 +# weight: 2 +# duration: 1 +# - type: ZombieRule +# minStartDelay: 0 #let them know immediately +# maxStartDelay: 10 +# maxInitialInfected: 2 +# minInitialInfectedGrace: 300 +# maxInitialInfectedGrace: 450 - type: entity id: LoneOpsSpawn From e14127847f610d09f752e651828caecc3ac5c3e0 Mon Sep 17 00:00:00 2001 From: ShatteredSwords <135023515+ShatteredSwords@users.noreply.github.com> Date: Sat, 24 Aug 2024 03:01:40 -0400 Subject: [PATCH 35/69] No More Zombie Gamemode in Secret --- Resources/Prototypes/secret_weights.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/secret_weights.yml b/Resources/Prototypes/secret_weights.yml index 4ad31cd1940..17dd05a0542 100644 --- a/Resources/Prototypes/secret_weights.yml +++ b/Resources/Prototypes/secret_weights.yml @@ -3,7 +3,7 @@ weights: Survival: 0.44 Nukeops: 0.14 - Zombie: 0.03 +# Zombie: 0.03 Traitor: 0.39 #Pirates: 0.15 #ahoy me bucko From 2f87d8a457799515ef368f80ca45d8f4ea34eb68 Mon Sep 17 00:00:00 2001 From: FloofStation Changelogs <175611579+Floof-Station-Bot@users.noreply.github.com> Date: Sat, 24 Aug 2024 16:58:02 +0000 Subject: [PATCH 36/69] Automatic Changelog Update (#139) --- Resources/Changelog/Floof.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Resources/Changelog/Floof.yml b/Resources/Changelog/Floof.yml index 5988c7b55ea..5d18321e5bf 100644 --- a/Resources/Changelog/Floof.yml +++ b/Resources/Changelog/Floof.yml @@ -658,3 +658,11 @@ Entries: message: 'fixed Friend being unrevivable ' id: 89 time: '2024-08-24T03:21:18.0000000+00:00' +- author: Memeji + changes: + - type: Add + message: Stripper Pole + - type: Tweak + message: Corp Couche can be crafted + id: 90 + time: '2024-08-24T16:57:39.0000000+00:00' From 2b149d62b76de18bbb71904b2c3952788063f8cb Mon Sep 17 00:00:00 2001 From: FloofStation Changelogs <175611579+Floof-Station-Bot@users.noreply.github.com> Date: Sat, 24 Aug 2024 17:31:46 +0000 Subject: [PATCH 37/69] Automatic Changelog Update (#140) --- Resources/Changelog/Floof.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Resources/Changelog/Floof.yml b/Resources/Changelog/Floof.yml index 5d18321e5bf..ecae9a7e8c2 100644 --- a/Resources/Changelog/Floof.yml +++ b/Resources/Changelog/Floof.yml @@ -666,3 +666,9 @@ Entries: message: Corp Couche can be crafted id: 90 time: '2024-08-24T16:57:39.0000000+00:00' +- author: cynical24 + changes: + - type: Fix + message: the bell collar can now be leashed! :3 + id: 91 + time: '2024-08-24T17:31:20.0000000+00:00' From a4bd7614684f80164d92b309c469e2bae807ef03 Mon Sep 17 00:00:00 2001 From: FloofStation Changelogs <175611579+Floof-Station-Bot@users.noreply.github.com> Date: Sat, 24 Aug 2024 17:33:43 +0000 Subject: [PATCH 38/69] Automatic Changelog Update (#142) --- Resources/Changelog/Floof.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Resources/Changelog/Floof.yml b/Resources/Changelog/Floof.yml index ecae9a7e8c2..18394b16fc6 100644 --- a/Resources/Changelog/Floof.yml +++ b/Resources/Changelog/Floof.yml @@ -672,3 +672,9 @@ Entries: message: the bell collar can now be leashed! :3 id: 91 time: '2024-08-24T17:31:20.0000000+00:00' +- author: cynical24 + changes: + - type: Add + message: added an optionally shorter leash to autolathes! :3 + id: 92 + time: '2024-08-24T17:31:55.0000000+00:00' From 3e0a5b423f44e21da0268797a5a57d0e6cb24b9b Mon Sep 17 00:00:00 2001 From: Pierson Arnold Date: Sat, 24 Aug 2024 12:59:09 -0500 Subject: [PATCH 39/69] Removed blepstation advertisment --- .../Systems/EscapeMenu/EscapeUIController.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Content.Client/UserInterface/Systems/EscapeMenu/EscapeUIController.cs b/Content.Client/UserInterface/Systems/EscapeMenu/EscapeUIController.cs index ad9df82c631..b0fac0b7dd3 100644 --- a/Content.Client/UserInterface/Systems/EscapeMenu/EscapeUIController.cs +++ b/Content.Client/UserInterface/Systems/EscapeMenu/EscapeUIController.cs @@ -1,4 +1,4 @@ -using Content.Client.Gameplay; +using Content.Client.Gameplay; using Content.Client.UserInterface.Controls; using Content.Client.UserInterface.Systems.Guidebook; using Content.Client.UserInterface.Systems.Info; @@ -25,7 +25,7 @@ public sealed class EscapeUIController : UIController, IOnStateEntered - { - CloseEscapeWindow(); - _furryServers.ToggleWindow(); - }; + //_escapeWindow.FurryServersButton.OnPressed += _ => + //{ + // CloseEscapeWindow(); + // _furryServers.ToggleWindow(); + //}; _escapeWindow.GuidebookButton.OnPressed += _ => { From b3c9da664cd6dac6fbad0c832abb063893880def Mon Sep 17 00:00:00 2001 From: FloofStation Changelogs <175611579+Floof-Station-Bot@users.noreply.github.com> Date: Sat, 24 Aug 2024 18:47:31 +0000 Subject: [PATCH 40/69] Automatic Changelog Update (#148) --- Resources/Changelog/Floof.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Resources/Changelog/Floof.yml b/Resources/Changelog/Floof.yml index 18394b16fc6..bd721929815 100644 --- a/Resources/Changelog/Floof.yml +++ b/Resources/Changelog/Floof.yml @@ -678,3 +678,9 @@ Entries: message: added an optionally shorter leash to autolathes! :3 id: 92 time: '2024-08-24T17:31:55.0000000+00:00' +- author: ShatteredSwords + changes: + - type: Remove + message: Zombies are gone from this sector, for now... + id: 93 + time: '2024-08-24T18:47:06.0000000+00:00' From 14782339c6040fab9cf9b86190c261b0b9f69922 Mon Sep 17 00:00:00 2001 From: FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com> Date: Sat, 24 Aug 2024 20:49:01 +0200 Subject: [PATCH 41/69] Delete Resources/FurryServers directory Required by wizden. --- Resources/FurryServers/Blepstation.txt | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 Resources/FurryServers/Blepstation.txt diff --git a/Resources/FurryServers/Blepstation.txt b/Resources/FurryServers/Blepstation.txt deleted file mode 100644 index 9c6001052b2..00000000000 --- a/Resources/FurryServers/Blepstation.txt +++ /dev/null @@ -1,10 +0,0 @@ -Looking for faster paced rounds that are more focused on gameplay? Check out our friends at [italic]BlepStation[/italic], a furry server with unique content and features. (Adults/18+ Only) - - • Furry kinks & species. - • Shorter, [bold]gameplay-focused[/bold] rounds. - • Low role timer requirements. - • [bold]LRP[/bold] -- Simple rules, less serious vibe. - • Based on vanilla upstream (but also brings back popular removed mechanics like cloning, vehicles, list inventory, etc). - • No whitelist requirement. - -Check out the website for more information! We hope to play with you soon :) From 757051a0e1e91840d25138e18dbe62ba44862929 Mon Sep 17 00:00:00 2001 From: FoxxoTrystan Date: Sat, 24 Aug 2024 21:25:40 +0200 Subject: [PATCH 42/69] Requests --- .../FurryServers/FurryServersWindow.xaml | 16 ----- .../FurryServers/FurryServersWindow.xaml.cs | 59 ------------------- Content.Client/Info/LinkBanner.cs | 4 -- Content.Client/Options/UI/EscapeMenu.xaml | 1 - Content.Client/Stylesheets/StyleNano.cs | 5 -- .../Systems/EscapeMenu/EscapeUIController.cs | 7 --- .../EscapeMenu/FurryServersUIController.cs | 43 -------------- .../Controls/WhitelistDenialWindow.xaml | 2 - .../Controls/WhitelistDenialWindow.xaml.cs | 6 -- 9 files changed, 143 deletions(-) delete mode 100644 Content.Client/FurryServers/FurryServersWindow.xaml delete mode 100644 Content.Client/FurryServers/FurryServersWindow.xaml.cs delete mode 100644 Content.Client/UserInterface/Systems/EscapeMenu/FurryServersUIController.cs diff --git a/Content.Client/FurryServers/FurryServersWindow.xaml b/Content.Client/FurryServers/FurryServersWindow.xaml deleted file mode 100644 index 1fb63a9281d..00000000000 --- a/Content.Client/FurryServers/FurryServersWindow.xaml +++ /dev/null @@ -1,16 +0,0 @@ - - - -