From: Ps3Moira <113228053+ps3moira@users.noreply.github.com> Date: Sat, 27 Apr 2024 10:22:10 +0000 (-0700) Subject: Canes + Cane Blade for Syndicate Librarians (#25873) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=77d7c77f595bf7957da7b6c70ecb3dc6c74d4074;p=space-station-14.git Canes + Cane Blade for Syndicate Librarians (#25873) * Cane + Cane Blade * Add - type: ContainerContainer * Add another - type: ContainerContainer * Fix and add proper ContainerContainer component * Add UserInterface component * Remove Space * Stat Changes * review --------- Co-authored-by: metalgearsloth --- diff --git a/Resources/Audio/Items/attributions.yml b/Resources/Audio/Items/attributions.yml index 675e4fff24..b3ae4f611f 100644 --- a/Resources/Audio/Items/attributions.yml +++ b/Resources/Audio/Items/attributions.yml @@ -127,3 +127,10 @@ license: "CC0-1.0" copyright: "Original sound by stomachache on freesound.org, processed by vanilla" source: "https://freesound.org/s/262213/" + +- files: + - "sheath.ogg" + - "unsheath.ogg" + license: "CC-BY-SA-3.0" + copyright: "Taken from tgstation." + source: "https://github.com/tgstation/tgstation/blob/a7f525bce9a359ab5282fc754078cd4b5678a006/sound/items" diff --git a/Resources/Audio/Items/sheath.ogg b/Resources/Audio/Items/sheath.ogg new file mode 100644 index 0000000000..9e1d5cdc00 Binary files /dev/null and b/Resources/Audio/Items/sheath.ogg differ diff --git a/Resources/Audio/Items/unsheath.ogg b/Resources/Audio/Items/unsheath.ogg new file mode 100644 index 0000000000..09867f5966 Binary files /dev/null and b/Resources/Audio/Items/unsheath.ogg differ diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl index 49d4ca0028..383c6d3277 100644 --- a/Resources/Locale/en-US/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/store/uplink-catalog.ftl @@ -287,6 +287,9 @@ uplink-disposable-turret-desc = Looks and functions like a normal electrical too uplink-cluster-banana-peel-name = Cluster Banana uplink-cluster-banana-peel-desc = Splits into 6 explosive banana peels after being thrown, the peels detonate automatically after 20 seconds if nobody slips on them. +uplink-cane-blade-name = Cane Blade +uplink-cane-blade-desc = A cane that has a hidden blade that can be unsheathed. + # Armor uplink-chameleon-name = Chameleon Kit uplink-chameleon-desc = A backpack full of items that contain chameleon technology allowing you to disguise as pretty much anything on the station, and more! diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/curadrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/curadrobe.yml index aac1cbb3f4..fe332ea52d 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/curadrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/curadrobe.yml @@ -4,6 +4,7 @@ BooksBag: 2 BriefcaseBrown: 2 HandLabeler: 2 + Cane: 3 ClothingEyesGlasses: 2 ClothingEyesGlassesJamjar: 2 ClothingNeckScarfStripedGreen: 2 diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index ca1a2e4f2d..3ee5100ea7 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -1686,3 +1686,22 @@ - Scientist - ResearchDirector - Chef + +- type: listing + id: UplinkCaneBlade + name: uplink-cane-blade-name + description: uplink-cane-blade-desc + icon: { sprite: Objects/Weapons/Melee/cane.rsi, state: cane} + productEntity: CaneSheathFilled + cost: + Telecrystal: 5 + categories: + - UplinkJob + conditions: + - !type:BuyerJobCondition + whitelist: + - Librarian + - !type:BuyerWhitelistCondition + blacklist: + components: + - SurplusBundle \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/cane.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/cane.yml new file mode 100644 index 0000000000..9bb266bbde --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/cane.yml @@ -0,0 +1,97 @@ +- type: entity + parent: BaseItem + id: Cane + name: cane + description: A wooden cane. + components: + - type: Sprite + sprite: Objects/Weapons/Melee/cane.rsi + state: cane + - type: Item + size: Normal + sprite: Objects/Weapons/Melee/cane.rsi + - type: Appearance + - type: MeleeWeapon + wideAnimationRotation: 45 + damage: + types: + Blunt: 5 + - type: StaminaDamageOnHit + damage: 5 + - type: Wieldable + - type: IncreaseDamageOnWield + damage: + types: + Blunt: 3 + - type: UseDelay + delay: 1 + +- type: entity + name: cane blade + parent: BaseItem + id: CaneBlade + description: A sharp blade with a cane shaped hilt. + components: + - type: Sharp + - type: Sprite + sprite: Objects/Weapons/Melee/cane_blade.rsi + state: icon + - type: MeleeWeapon + wideAnimationRotation: 65 + attackRate: 1.5 + damage: + types: + Slash: 14 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: Item + size: Normal + sprite: Objects/Weapons/Melee/cane_blade.rsi + - type: Tag + tags: + - CaneBlade + - type: DisarmMalus + +- type: entity + parent: Cane + id: CaneSheath + suffix: Empty + components: + - type: Sprite + sprite: Objects/Weapons/Melee/cane.rsi + state: cane-empty + - type: ContainerContainer + containers: + storagebase: !type:Container + ents: [] + - type: UserInterface + interfaces: + - key: enum.StorageUiKey.Key + type: StorageBoundUserInterface + - type: ItemSlots + slots: + item: + name: CaneBlade + insertVerbText: sheath-insert-verb + ejectVerbText: sheath-eject-verb + whitelist: + tags: + - CaneBlade + insertSound: /Audio/Items/sheath.ogg + ejectSound: /Audio/Items/unsheath.ogg + - type: ItemMapper + mapLayers: + cane: + whitelist: + tags: + - CaneBlade + +- type: entity + id: CaneSheathFilled + parent: CaneSheath + suffix: Filled + components: + - type: ContainerFill + containers: + item: + - CaneBlade \ No newline at end of file diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 91b79f3d8e..5545e21ee7 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -258,6 +258,9 @@ - type: Tag id: CableCoil +- type: Tag + id: CaneBlade + - type: Tag id: CannonBall @@ -1318,3 +1321,5 @@ - type: Tag id: WriteIgnoreStamps + +# ALPHABETICAL diff --git a/Resources/Textures/Objects/Weapons/Melee/cane.rsi/cane-empty.png b/Resources/Textures/Objects/Weapons/Melee/cane.rsi/cane-empty.png new file mode 100644 index 0000000000..64cb9ef3aa Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/cane.rsi/cane-empty.png differ diff --git a/Resources/Textures/Objects/Weapons/Melee/cane.rsi/cane.png b/Resources/Textures/Objects/Weapons/Melee/cane.rsi/cane.png new file mode 100644 index 0000000000..721847ff28 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/cane.rsi/cane.png differ diff --git a/Resources/Textures/Objects/Weapons/Melee/cane.rsi/inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/cane.rsi/inhand-left.png new file mode 100644 index 0000000000..caa2f23270 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/cane.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Weapons/Melee/cane.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/cane.rsi/inhand-right.png new file mode 100644 index 0000000000..8f12a08afd Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/cane.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Weapons/Melee/cane.rsi/meta.json b/Resources/Textures/Objects/Weapons/Melee/cane.rsi/meta.json new file mode 100644 index 0000000000..913fcb524b --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Melee/cane.rsi/meta.json @@ -0,0 +1,33 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprited by ps3moira#9488 on discord", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "cane-empty" + }, + { + "name": "cane" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Objects/Weapons/Melee/cane.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/cane.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..f6f87a4a90 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/cane.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/Objects/Weapons/Melee/cane.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/cane.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..e1f0449b4c Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/cane.rsi/wielded-inhand-right.png differ diff --git a/Resources/Textures/Objects/Weapons/Melee/cane_blade.rsi/icon.png b/Resources/Textures/Objects/Weapons/Melee/cane_blade.rsi/icon.png new file mode 100644 index 0000000000..6581dc96e8 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/cane_blade.rsi/icon.png differ diff --git a/Resources/Textures/Objects/Weapons/Melee/cane_blade.rsi/inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/cane_blade.rsi/inhand-left.png new file mode 100644 index 0000000000..f8e57880cb Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/cane_blade.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Weapons/Melee/cane_blade.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/cane_blade.rsi/inhand-right.png new file mode 100644 index 0000000000..5fa04f7f87 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Melee/cane_blade.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Weapons/Melee/cane_blade.rsi/meta.json b/Resources/Textures/Objects/Weapons/Melee/cane_blade.rsi/meta.json new file mode 100644 index 0000000000..a48335cc0d --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Melee/cane_blade.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprited by ps3moira#9488 on discord", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "icon" + } + ] +}