From: beck-thompson <107373427+beck-thompson@users.noreply.github.com> Date: Tue, 16 Dec 2025 03:19:56 +0000 (-0800) Subject: Add foolbox (#41473) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=186b6460c7211b129b8369e8e2aee2d69af31d22;p=space-station-14.git Add foolbox (#41473) * Add foolbox to clown lockers * this is beter * updated table w/ new items * more clown like * Tweaks * thank you iaada * cleanup * review * fun! * fixes and microbalance * clowns start with it inhand now --- diff --git a/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml b/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml index d10a6fc4ea..4d0a25c6db 100644 --- a/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml +++ b/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml @@ -157,3 +157,107 @@ - id: IngotGold - id: DrinkGoldenCup prob: 0.05 + +- type: entity + parent: Foolbox + id: FoolboxFilled + suffix: Filled + components: + - type: EntityTableContainerFill + containers: + storagebase: !type:NestedSelector + tableId: FoolboxTable + +- type: entityTable + id: FoolboxTable + table: !type:AllSelector + children: + - !type:GroupSelector # Offensive clown items + children: + - !type:NestedSelector + tableId: AllToyWeaponsTable + - id: EnergySword # ~1/1001 + weight: 0.001 + - !type:GroupSelector # Rarer clown tools + rolls: 2 + children: + - !type:NestedSelector + tableId: AllMiscToysTable + weight: 10 + - !type:NestedSelector + tableId: AllCrayonsTable + rolls: 1, 3 + weight: 5 + - id: BarberScissors + weight: 0.75 + - id: DrinkSpaceLube + - id: DrinkSpaceGlue + - !type:NestedSelector + tableId: RandomBikeHornTable + weight: 0.75 + - !type:NestedSelector + tableId: AllFigurinesTable + weight: 1.25 + - id: RubberStampCaptain # ~1/100 + weight: 0.2 + - !type:GroupSelector # Common clown consumables + rolls: 2 + children: + - !type:NestedSelector + tableId: SlipTable + - id: TrashBananaPeel + - id: FoodBanana + - id: FoodPieBananaCream + weight: 0.75 + - !type:GroupSelector # Fun clothing + prob: 0.75 + children: + - !type:NestedSelector + tableId: ClownOtherJobTable + weight: 6 + - id: SprayFlowerPin + - id: ClothingHeadHatMagician + - id: ClothingHeadSafari + - id: ClothingHeadHatPirate + - id: ClothingHeadHatWizardFake + - id: ClothingHeadHatCowboyRed + - id: ClothingHeadHatBowlerHat + - id: ClothingHeadHatWitch + - id: ClothingOuterCoatExpensive + - id: ClothingOuterGhostSheet + - id: ClothingOuterHospitalGown + - id: ClothingShoesBling + weight: 0.5 + - id: ClothingOuterCoatSpaceAsshole + weight: 0.5 + - !type:NestedSelector + tableId: AllPartyHatsTable + - !type:NestedSelector + tableId: InsulsTable + - !type:GroupSelector # ~1/115 + weight: 0.175 + children: + - id: ClothingHeadHatCatEars + - id: ClothingHeadHatFancyCrown + - id: ClothingHeadHatChameleon + +- type: entityTable + id: ClownOtherJobTable + table: !type:GroupSelector + children: + - id: ClothingHeadHatBeretCommand # Command + - id: ClothingOuterVestHazard # Engineering + - id: ClothingOuterCoatLab # Science + - id: ClothingMaskClownSecurity # Security + - id: ClothingHeadHatCargosoft # Cargo + - id: ClothingNeckStethoscope # Medical + weight: 0.5 + - !type:NestedSelector + tableId: AllSergicalHatsTable + weight: 0.5 + - id: ClothingUniformJumpsuitBartender # Bartender + - id: ClothingHeadHatChef # Chef + - id: ClothingHeadBandBotany # Botany + - id: ClothingHandsGlovesJanitor # Janitor + - id: ClothingUniformJumpsuitReporter # Reporter + - id: ClothingOuterWinterMime # Mime diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/clothing.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/clothing.yml new file mode 100644 index 0000000000..5ac9666ce8 --- /dev/null +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/clothing.yml @@ -0,0 +1,16 @@ +- type: entityTable + id: AllPartyHatsTable + table: !type:GroupSelector + children: + - id: ClothingHeadHatPartyRed + - id: ClothingHeadHatPartyYellow + - id: ClothingHeadHatPartyGreen + - id: ClothingHeadHatPartyBlue + +- type: entityTable + id: AllSergicalHatsTable + table: !type:GroupSelector + children: + - id: ClothingHeadHatSurgcapBlue + - id: ClothingHeadHatSurgcapPurple + - id: ClothingHeadHatSurgcapGreen diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/toy.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/toy.yml index c7ef7f4a07..9ec48b32bb 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/toy.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/toy.yml @@ -283,7 +283,7 @@ - id: BoxCartridgeCap # A group of items with fun or unique properties. Highly varied (some are more fun than others) -- type: entityTable # size 3x3 # price 100 +- type: entityTable # size 2x2 # price 100 id: AllMiscToysTable table: !type:GroupSelector children: diff --git a/Resources/Prototypes/Entities/Objects/Fun/crayons.yml b/Resources/Prototypes/Entities/Objects/Fun/crayons.yml index 6c2b291cd1..574d6953f2 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/crayons.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/crayons.yml @@ -298,6 +298,8 @@ - type: Item sprite: Objects/Fun/crayons.rsi size: Small + shape: + - 0,0,1,1 heldPrefix: box - type: EntityTableContainerFill containers: diff --git a/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml b/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml index 93f62ca491..cf8927caf1 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml @@ -147,3 +147,37 @@ state: icon - type: Item sprite: Objects/Tools/Toolboxes/toolbox_gold.rsi + +- type: entity + name: foolbox + parent: ToolboxBase + id: Foolbox + description: A toolbox for fools, stocked with clowning equipment. + components: + - type: Sprite + sprite: Objects/Tools/Toolboxes/foolbox.rsi + state: icon + - type: Item + sprite: Objects/Tools/Toolboxes/foolbox.rsi + - type: MeleeWeapon + damage: + types: + Blunt: 2 + soundHit: &SoundRubberHammer + collection: RubberHammer + params: + variation: 0.03 + volume: 3 + - type: EmitSoundOnLand + sound: *SoundRubberHammer + - type: Storage + storageOpenSound: &SoundHorn + collection: BikeHorn + params: + variation: 0.125 + storageCloseSound: *SoundHorn + storageInsertSound: &SoundSqueak + collection: FootstepClown + params: + variation: 0.125 + storageRemoveSound: *SoundSqueak diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml index 8222481e92..2d4d00ac76 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml @@ -100,7 +100,7 @@ map: [ "enum.DamageStateVisualLayers.Base" ] - type: Item sprite: Objects/Weapons/Guns/Pistols/soaker.rsi - size: Large + size: Normal shape: - 0,0,2,1 - type: RandomSprite diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml index 52dbb24149..d3887b16dc 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml @@ -295,6 +295,7 @@ sprite: Objects/Fun/Foam/foam_rifle.rsi - type: Item sprite: Objects/Fun/Foam/foam_rifle_inhand_64x.rsi + size: Normal shape: - 0,0,3,0 - type: BallisticAmmoProvider diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml b/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml index 31ab9640e7..4d201f980b 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml @@ -35,6 +35,8 @@ pocket2: ClownRecorder id: ClownPDA ears: ClothingHeadsetService + inhand: + - FoolboxFilled storage: back: - RubberStampClown diff --git a/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/icon-open.png b/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/icon-open.png new file mode 100644 index 0000000000..7b86f036ff Binary files /dev/null and b/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/icon-open.png differ diff --git a/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/icon.png b/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/icon.png new file mode 100644 index 0000000000..c5fc593743 Binary files /dev/null and b/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/icon.png differ diff --git a/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/inhand-left.png b/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/inhand-left.png new file mode 100644 index 0000000000..30c15488cd Binary files /dev/null and b/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/inhand-right.png b/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/inhand-right.png new file mode 100644 index 0000000000..4e962fb69e Binary files /dev/null and b/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/meta.json b/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/meta.json new file mode 100644 index 0000000000..bccb56d8b4 --- /dev/null +++ b/Resources/Textures/Objects/Tools/Toolboxes/foolbox.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from baystation at commit https://github.com/Baystation12/Baystation12/commit/a929584d9db319eb7484113221be25cfa1d5dc09 , modified by captainkawaii666 (discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "icon-open" + } + ] +}