From 6ba7d268b0918a4e3dc3dd0aa65d00d73319c79e Mon Sep 17 00:00:00 2001 From: themias <89101928+themias@users.noreply.github.com> Date: Mon, 19 Aug 2024 14:57:29 -0400 Subject: [PATCH] Uplink: Combat Bakery Kit (#31179) * save * sprites * mime survival kit has baguette * add weapon/uplink * cherry-pick croissant changes * uplink * Switch baguette to slashing damage * fixes * update attribution * fix typos * review comments * reduce TC cost * switch to regular box * fix regular baguette rotation --- .../en-US/preferences/loadout-groups.ftl | 1 + .../Locale/en-US/store/uplink-catalog.ftl | 3 ++ .../Catalog/Fills/Boxes/emergency.yml | 32 ++++++++++++++++++ .../Catalog/Fills/Boxes/syndicate.yml | 16 +++++++++ .../Prototypes/Catalog/uplink_catalog.yml | 16 +++++++++ .../Objects/Consumable/Food/Baked/bread.yml | 15 ++++++++ .../Objects/Consumable/Food/Baked/misc.yml | 4 +++ .../Objects/Weapons/Melee/baguette.yml | 17 ++++++++++ .../Objects/Weapons/Throwable/croissant.yml | 25 ++++++++++++++ .../Loadouts/Miscellaneous/survival.yml | 20 +++++++++++ .../Prototypes/Loadouts/loadout_groups.yml | 10 ++++++ .../Prototypes/Loadouts/role_loadouts.yml | 2 +- .../bread.rsi/baguette-equipped-BELT.png | Bin 0 -> 440 bytes .../Baked/bread.rsi/baguette-inhand-left.png | Bin 0 -> 454 bytes .../Baked/bread.rsi/baguette-inhand-right.png | Bin 0 -> 485 bytes .../Food/Baked/bread.rsi/baguette.png | Bin 393 -> 303 bytes .../Consumable/Food/Baked/bread.rsi/meta.json | 14 +++++++- .../Objects/Storage/boxes.rsi/france.png | Bin 0 -> 139 bytes .../Objects/Storage/boxes.rsi/meta.json | 3 ++ 19 files changed, 176 insertions(+), 2 deletions(-) create mode 100644 Resources/Prototypes/Entities/Objects/Weapons/Melee/baguette.yml create mode 100644 Resources/Prototypes/Entities/Objects/Weapons/Throwable/croissant.yml create mode 100644 Resources/Textures/Objects/Consumable/Food/Baked/bread.rsi/baguette-equipped-BELT.png create mode 100644 Resources/Textures/Objects/Consumable/Food/Baked/bread.rsi/baguette-inhand-left.png create mode 100644 Resources/Textures/Objects/Consumable/Food/Baked/bread.rsi/baguette-inhand-right.png create mode 100644 Resources/Textures/Objects/Storage/boxes.rsi/france.png diff --git a/Resources/Locale/en-US/preferences/loadout-groups.ftl b/Resources/Locale/en-US/preferences/loadout-groups.ftl index 84738eadec..b7e8616da2 100644 --- a/Resources/Locale/en-US/preferences/loadout-groups.ftl +++ b/Resources/Locale/en-US/preferences/loadout-groups.ftl @@ -15,6 +15,7 @@ loadout-group-survival-syndicate = Github is forcing me to write text that is li loadout-group-breath-tool = Species-dependent breath tools loadout-group-tank-harness = Species-specific survival equipment loadout-group-EVA-tank = Species-specific gas tank +loadout-group-survival-mime = Mime Survival Box # Command loadout-group-captain-head = Captain head diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl index 47eb671619..27ecdc98f0 100644 --- a/Resources/Locale/en-US/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/store/uplink-catalog.ftl @@ -439,3 +439,6 @@ uplink-barber-scissors-desc = A good tool to give your fellow agent a nice hairc uplink-backpack-syndicate-name = Syndicate backpack uplink-backpack-syndicate-desc = Lightweight explosion-proof а backpack for holding various traitor goods + +uplink-combat-bakery-name = Combat Bakery Kit +uplink-combat-bakery-desc = A kit of clandestine baked weapons. Contains a baguette which a skilled mime could use as a sword and a pair of throwing croissants. Once the job is done, eat the evidence. \ No newline at end of file diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/emergency.yml b/Resources/Prototypes/Catalog/Fills/Boxes/emergency.yml index c2b0660dc0..540e05b453 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/emergency.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/emergency.yml @@ -189,6 +189,38 @@ - type: Label currentLabel: reagent-name-nitrogen +- type: entity + parent: BoxSurvival + id: BoxMime + name: survival box + description: It's a box with basic internals inside. + suffix: Emergency + components: + - type: StorageFill + contents: + - id: ClothingMaskBreath + - id: EmergencyOxygenTankFilled + - id: EmergencyMedipen + - id: Flare + - id: FoodBreadBaguette + - id: DrinkWaterBottleFull + +- type: entity + parent: BoxSurvivalNitrogen + id: BoxMimeNitrogen + suffix: Emergency N2 + components: + - type: StorageFill + contents: + - id: ClothingMaskBreath + - id: EmergencyNitrogenTankFilled + - id: EmergencyMedipen + - id: Flare + - id: FoodBreadBaguette + - id: DrinkWaterBottleFull + - type: Label + currentLabel: reagent-name-nitrogen + - type: entity parent: BoxCardboard id: BoxSurvivalSyndicate diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml b/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml index 80c20a1a04..27df984f25 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml @@ -67,3 +67,19 @@ contents: - id: DeathRattleImplanter amount: 6 + +- type: entity + parent: [BoxCardboard, BaseSyndicateContraband] + id: CombatBakeryKit + name: combat bakery kit + description: A kit of clandestine baked weapons. + components: + - type: Sprite + layers: + - state: box_of_doom + - state: france + - type: StorageFill + contents: + - id: WeaponCroissant + amount: 2 + - id: WeaponBaguette \ No newline at end of file diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index 5a92bc77f8..613b7bcded 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -1743,3 +1743,19 @@ blacklist: components: - SurplusBundle + +- type: listing + id: UplinkCombatBakery + name: uplink-combat-bakery-name + description: uplink-combat-bakery-desc + icon: { sprite: Objects/Consumable/Food/Baked/bread.rsi, state: baguette} + productEntity: CombatBakeryKit + cost: + Telecrystal: 3 + categories: + - UplinkJob + conditions: + - !type:BuyerJobCondition + whitelist: + - Chef + - Mime \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml index 51d9465073..31e92931db 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml @@ -624,6 +624,21 @@ Quantity: 1 - ReagentId: Blackpepper Quantity: 1 + - type: Clothing + slots: [ BELT ] + equippedPrefix: baguette + quickEquip: false + - type: Item + inhandVisuals: + left: + - state: baguette-inhand-left + right: + - state: baguette-inhand-right + - type: MeleeWeapon + wideAnimationRotation: -120 + damage: + types: + Blunt: 1 # bonk # Tastes like France. - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml index 2f4b6009a9..8b455fe872 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml @@ -682,3 +682,7 @@ Quantity: 2 - ReagentId: Vitamin Quantity: 1 + - type: DamageOtherOnHit + damage: + types: + Blunt: 0 # so the damage stats icon doesn't immediately give away the syndie ones \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/baguette.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/baguette.yml new file mode 100644 index 0000000000..46bd430e5a --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/baguette.yml @@ -0,0 +1,17 @@ +- type: entity + name: baguette + parent: FoodBreadBaguette + id: WeaponBaguette + description: Bon appétit! + suffix: Weapon + components: + - type: MeleeWeapon + wideAnimationRotation: -120 + damage: + types: + Slash: 16 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: Reflect + reflectProb: 0.05 + spread: 90 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/croissant.yml b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/croissant.yml new file mode 100644 index 0000000000..8ae52f4d73 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/croissant.yml @@ -0,0 +1,25 @@ +- type: entity + parent: FoodBakedCroissant + id: WeaponCroissant + name: croissant + description: Buttery, flaky goodness. + suffix: Weapon + components: + - type: Fixtures + fixtures: + fix1: + shape: !type:PhysShapeCircle + radius: 0.2 + density: 5 + mask: + - ItemMask + restitution: 0.3 + friction: 0.2 + - type: EmbeddableProjectile + sound: /Audio/Weapons/star_hit.ogg + - type: LandAtCursor + - type: DamageOtherOnHit + damage: + types: + Slash: 5 + Piercing: 10 \ No newline at end of file diff --git a/Resources/Prototypes/Loadouts/Miscellaneous/survival.yml b/Resources/Prototypes/Loadouts/Miscellaneous/survival.yml index 2716310ecf..c84caeb99d 100644 --- a/Resources/Prototypes/Loadouts/Miscellaneous/survival.yml +++ b/Resources/Prototypes/Loadouts/Miscellaneous/survival.yml @@ -64,6 +64,26 @@ back: - BoxHugNitrogen +# Mime +- type: loadout + id: EmergencyOxygenMime + effects: + - !type:GroupLoadoutEffect + proto: OxygenBreather + storage: + back: + - BoxMime + +- type: loadout + id: EmergencyNitrogenMime + effects: + - !type:GroupLoadoutEffect + proto: NitrogenBreather + storage: + back: + - BoxMimeNitrogen + + # Engineering / Extended - type: loadout id: EmergencyOxygenExtended diff --git a/Resources/Prototypes/Loadouts/loadout_groups.yml b/Resources/Prototypes/Loadouts/loadout_groups.yml index da49a16ed2..685b0c784f 100644 --- a/Resources/Prototypes/Loadouts/loadout_groups.yml +++ b/Resources/Prototypes/Loadouts/loadout_groups.yml @@ -479,6 +479,16 @@ loadouts: - MimeWintercoat +- type: loadoutGroup + id: SurvivalMime + name: loadout-group-survival-mime + minLimit: 2 + hidden: true + loadouts: + - EmergencyNitrogenMime + - EmergencyOxygenMime + - LoadoutSpeciesVoxNitrogen + - type: loadoutGroup id: MusicianJumpsuit name: loadout-group-musician-jumpsuit diff --git a/Resources/Prototypes/Loadouts/role_loadouts.yml b/Resources/Prototypes/Loadouts/role_loadouts.yml index 4a6ca60426..e4c5c0aafb 100644 --- a/Resources/Prototypes/Loadouts/role_loadouts.yml +++ b/Resources/Prototypes/Loadouts/role_loadouts.yml @@ -169,7 +169,7 @@ - MimeBackpack - MimeOuterClothing - Glasses - - Survival + - SurvivalMime - Trinkets - type: roleLoadout diff --git a/Resources/Textures/Objects/Consumable/Food/Baked/bread.rsi/baguette-equipped-BELT.png b/Resources/Textures/Objects/Consumable/Food/Baked/bread.rsi/baguette-equipped-BELT.png new file mode 100644 index 0000000000000000000000000000000000000000..93437dd65872e15487bf635580772235480f2c51 GIT binary patch literal 440 zcmV;p0Z0CcP)Px$a!Eu%RCt{2+OcZGFc1ddzom;wp&hgZ(>?SJ`~Z2Qjv6}p6-pjQc>)(owqQCn ztuZ*WIs}!F#gZety5#?M!*O?#1$O`u5fKp)5s|m5gf&{(|BmBaw?jUvO4xak$Bsn~ zqm{L*nfU4h13I88VHe8`@8A0|;+foC=m%}508``n1vg^^G_{}(Fk0EgGCL&U8dW7O z=IlE`9WXC)thd=%u|)Ir_T*h8?*vpO?BmDJu!tt)-X5*G#^mGAUkoL&o7jcYwR?Q$F*dNeEt%NxALaBsltxkc7$uhu^SEg6|RaUXVz+^2d&o i5QWhy$qSE&qWA?bBDypyPSni+0000Px$fJsC_RCt{2+A(gzFcb#hKiv>W(8_DnwF?)3<8Y5ibmR`)g~gnJffYq;5h)U= zqdQQiRaL2q?U(Z4|8_(D{5M!H4Lg^bAK;dK2LS6`uStd`!3prP*||x=YCcw%gk&e?lkoQP zgvV*ACJE6A@O%>Xwp9I0h-M4pd>ZbS_MgV2HVZ@*BX<2?l05@{6MJLy>r^MoKNH%X z#_UpL0%$+TK`JQ=l@DB{XNOPpmPx$pGibPRCt{2+A(gzFcb#hpSBAE30irLx_03L_V05F`SEhjVb?ArE+nU3V+n#(UEW70d@2Yv_|_wCd|i!+A^W?Wb5u3Fq!c7aEIIB+WGjEGQdaAfXRf7 zUVD8z6yo#z(46u4_^-lzf3*CG!`deF3>+)<3}`~nfVC#|3>>>Ddf_ftNb+!7Vu^@| bh<^G6-nrk?cvltO00000NkvXXu0mjfI0N1X literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Food/Baked/bread.rsi/baguette.png b/Resources/Textures/Objects/Consumable/Food/Baked/bread.rsi/baguette.png index de137b2a6268b491d92530e467a51b7ee386593f..e5de3c0bc09387457d0a15996b29c9b41c38c7c0 100644 GIT binary patch delta 288 zcmV+*0pI?K1Fr&*7=Hu<0001iRAA~1T6&4(`l0000i|;Oy!{xO8#yEu00x%}sEUA`U`ZXrKyBEy!(yy?9k3agc;sXqz?>m-{W3 zUocpCyDpI830HY+?yu3RzC@N!3;+b@4L|J$sNXbkm4|x& ziX;b^pY(uTvv9;`&~AT?Lk=Nlz|7{z7Yo6?uH8Ys%BiM(<^Vn?TPbhwI;vQs(P(_W Y0pO&=5t%G(82|tP07*qoM6N<$f<6bbH~;_u diff --git a/Resources/Textures/Objects/Consumable/Food/Baked/bread.rsi/meta.json b/Resources/Textures/Objects/Consumable/Food/Baked/bread.rsi/meta.json index 29bd53c9f0..2761d79f98 100644 --- a/Resources/Textures/Objects/Consumable/Food/Baked/bread.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Food/Baked/bread.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation and modified by potato1234x at https://github.com/tgstation/tgstation/commit/0631fe5bde73a68b4c12bdfa633c30b2cee442d5. Crostini created by Github user deathride58", + "copyright": "Taken from tgstation and modified by potato1234x at https://github.com/tgstation/tgstation/commit/0631fe5bde73a68b4c12bdfa633c30b2cee442d5. Crostini created by Github user deathride58, baguette taken from tgstation at commit https://github.com/tgstation/tgstation/commit/7ffd61b6fa6a6183daa8900f9a490f46f7a81955", "size": { "x": 32, "y": 32 @@ -34,6 +34,18 @@ { "name": "baguette" }, + { + "name": "baguette-equipped-BELT", + "directions": 4 + }, + { + "name": "baguette-inhand-left", + "directions": 4 + }, + { + "name": "baguette-inhand-right", + "directions": 4 + }, { "name": "banana" }, diff --git a/Resources/Textures/Objects/Storage/boxes.rsi/france.png b/Resources/Textures/Objects/Storage/boxes.rsi/france.png new file mode 100644 index 0000000000000000000000000000000000000000..f18dd0ca93f8f72e9b872e378c5ef8e1f76fbbfb GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}uAVNAArY-_ z&utWJP!M6ccvVP;sW^L~cemm(H4Vn>2mHqNH>ck}+oa+dv`Kl3Rw>h&e@qwFNjId| koUTvTNKj_J#H`|JpL&Cxt7^HsGtfW=Pgg&ebxsLQ0ADdHCjbBd literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Storage/boxes.rsi/meta.json b/Resources/Textures/Objects/Storage/boxes.rsi/meta.json index cdae38099d..32b23ef30a 100644 --- a/Resources/Textures/Objects/Storage/boxes.rsi/meta.json +++ b/Resources/Textures/Objects/Storage/boxes.rsi/meta.json @@ -223,6 +223,9 @@ }, { "name": "envelope" + }, + { + "name": "france" } ] } -- 2.51.2