diff --git a/Resources/Audio/Weapons/Guns/Gunshots/energycrossbow_shoot.ogg b/Resources/Audio/Weapons/Guns/Gunshots/energycrossbow_shoot.ogg new file mode 100644 index 0000000000..f2fba353bc Binary files /dev/null and b/Resources/Audio/Weapons/Guns/Gunshots/energycrossbow_shoot.ogg differ diff --git a/Resources/Audio/Weapons/Guns/MagIn/energycrossbow_reload.ogg b/Resources/Audio/Weapons/Guns/MagIn/energycrossbow_reload.ogg new file mode 100644 index 0000000000..0c27641e03 Binary files /dev/null and b/Resources/Audio/Weapons/Guns/MagIn/energycrossbow_reload.ogg differ diff --git a/Resources/Audio/Weapons/Guns/sources.json b/Resources/Audio/Weapons/Guns/sources.json index cc9a3e5c0b..351fba0992 100644 --- a/Resources/Audio/Weapons/Guns/sources.json +++ b/Resources/Audio/Weapons/Guns/sources.json @@ -34,7 +34,8 @@ "shotgun.ogg": "https://github.com/discordia-space/CEV-Eris/blob/01f7518e0f8177734a6579aba2bbf76024aa96c4/sound/weapons/guns/fire/shotgunp_fire.ogg", "silenced.ogg": "https://github.com/discordia-space/CEV-Eris/blob/01f7518e0f8177734a6579aba2bbf76024aa96c4/sound/weapons/Gunshot_silenced.wav", "smg.ogg": "https://github.com/discordia-space/CEV-Eris/blob/01f7518e0f8177734a6579aba2bbf76024aa96c4/sound/weapons/guns/fire/smg_fire.ogg", - "sniper.ogg": "https://github.com/discordia-space/CEV-Eris/blob/01f7518e0f8177734a6579aba2bbf76024aa96c4/sound/weapons/guns/fire/sniper_fire.ogg" + "sniper.ogg": "https://github.com/discordia-space/CEV-Eris/blob/01f7518e0f8177734a6579aba2bbf76024aa96c4/sound/weapons/guns/fire/sniper_fire.ogg", + "energy_crossbowshoot.ogg": "Made on request by Nosrepp (Discord)" }, "MagIn": { "batrifle_magin.ogg": "https://github.com/discordia-space/CEV-Eris/blob/01f7518e0f8177734a6579aba2bbf76024aa96c4/sound/weapons/guns/interact/batrifle_magin.ogg", @@ -47,7 +48,8 @@ "sfrifle_magin.ogg": "https://github.com/discordia-space/CEV-Eris/blob/01f7518e0f8177734a6579aba2bbf76024aa96c4/sound/weapons/guns/interact/sfrifle_magin.ogg", "smg_magin.ogg": "https://github.com/discordia-space/CEV-Eris/blob/01f7518e0f8177734a6579aba2bbf76024aa96c4/sound/weapons/guns/interact/smg_magin.ogg", "revolver_magin.ogg": "https://github.com/discordia-space/CEV-Eris/blob/01f7518e0f8177734a6579aba2bbf76024aa96c4/sound/weapons/guns/interact/rev_magin.ogg", - "shotgun_insert.ogg": "https://github.com/discordia-space/CEV-Eris/blob/01f7518e0f8177734a6579aba2bbf76024aa96c4/sound/weapons/guns/interact/shotgun_insert.ogg" + "shotgun_insert.ogg": "https://github.com/discordia-space/CEV-Eris/blob/01f7518e0f8177734a6579aba2bbf76024aa96c4/sound/weapons/guns/interact/shotgun_insert.ogg", + "energy_crossbowreload.ogg": "Made on request by Nosrepp (Discord)" }, "MagOut": { "batrifle_magout.ogg": "https://github.com/discordia-space/CEV-Eris/blob/01f7518e0f8177734a6579aba2bbf76024aa96c4/sound/weapons/guns/interact/batrifle_magout.ogg", diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl index 3e070b835d..e7e6b42ae5 100644 --- a/Resources/Locale/en-US/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/store/uplink-catalog.ftl @@ -501,3 +501,6 @@ uplink-acolyte-armor-desc = The must have of any self respecting cult leader. An uplink-briefcase-gun-name = Briefcase Gun uplink-briefcase-gun-desc = An indistinct briefcase with a highly compact C-20K mounted inside it. Careful not the grip the handle too tight! + +uplink-energycrossbow-name = Mini Energy Crossbow +uplink-energycrossbow-desc = The go-to sidearm of any operative who prefers their victims not to be moving. Fires regenerating toxic arrows that floors victims in an instant. diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index 6ef1720105..7c926a2931 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -80,6 +80,22 @@ categories: - UplinkWeaponry +- type: listing + id: UplinkEnergyCrossbow + name: uplink-energycrossbow-name + description: uplink-energycrossbow-desc + discountCategory: rareDiscounts + discountDownTo: + Telecrystal: 3 + productEntity: WeaponEnergyCrossbow + cost: + Telecrystal: 5 + categories: + - UplinkWeaponry + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - type: listing id: UplinkThrowingKnivesKit name: uplink-knives-kit-name @@ -783,7 +799,7 @@ Telecrystal: 1 categories: - UplinkDeception - + - type: listing id: UplinkAgentIDCard name: uplink-agent-id-card-name diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index d6d989680a..dffd08e919 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -280,14 +280,14 @@ availableModes: - SemiAuto soundGunshot: - path: /Audio/Weapons/click.ogg + path: /Audio/Weapons/Guns/Gunshots/energycrossbow_shoot.ogg - type: BallisticAmmoProvider whitelist: tags: - BulletFoam capacity: 1 soundInsert: - path: /Audio/Items/bow_pull.ogg + path: /Audio/Weapons/Guns/MagIn/energycrossbow_reload.ogg - type: ContainerContainer containers: ballistic-ammo: !type:Container diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/energy_crossbow.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/energy_crossbow.yml new file mode 100644 index 0000000000..40b7f7adf8 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/energy_crossbow.yml @@ -0,0 +1,49 @@ +- type: entity + abstract: true + parent: BaseItem + id: WeaponEnergyCrossbowBase + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Basic/energy_crossbow.rsi + - type: Item + sprite: Objects/Weapons/Guns/Basic/energy_crossbow.rsi + size: Small + - type: Gun + fireRate: 5 #high firerate innately bottlenecked by ammo regeneration speed. + selectedMode: SemiAuto + minAngle: 0 + maxAngle: 5 + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/energycrossbow_shoot.ogg + - type: AmmoCounter + - type: Appearance + - type: GenericVisualizer + visuals: + enum.AmmoVisuals.HasAmmo: + empty-icon: + True: { visible: False } + False: { visible: True } + - type: RechargeBasicEntityAmmo + rechargeCooldown: 5 #2 seconds of KD, should always have CD > KD + rechargeSound: + path: /Audio/Weapons/Guns/MagIn/energycrossbow_reload.ogg + - type: BasicEntityAmmoProvider + proto: EnergyCrossbowBolt + capacity: 1 + count: 1 + +- type: entity + parent: [WeaponEnergyCrossbowBase, BaseSyndicateContraband] + id: WeaponEnergyCrossbow + name: mini energy crossbow + description: Launches renewable toxic arrows capable of flooring targets instantly. + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Basic/energy_crossbow.rsi + state: icon + - type: Item + sprite: Objects/Weapons/Guns/Basic/energy_crossbow.rsi + - type: StaticPrice + price: 2500 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index bc9f40f85a..c52a49b09b 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -1389,3 +1389,44 @@ hard: false mask: - Opaque + +- type: entity + parent: BaseBullet + id: EnergyCrossbowBolt + categories: [ HideSpawnMenu ] + name: energy bolt + description: This'll hurt. + components: + - type: Reflective + reflective: + - NonEnergy + - type: Ammo + muzzleFlash: null + - type: Sprite + sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi + layers: + - state: crossbowbolt + shader: unshaded + - type: Projectile + damage: + types: + Piercing: 2 + - type: StunOnCollide #somewhat mirror to taser stats, meant to be tot 'sidegrade' + stunAmount: 0 + knockdownAmount: 2.5 + slowdownAmount: 2.5 + walkSpeedModifier: 0.2 + sprintSpeedModifier: 0.2 + drop: false + - type: StaminaDamageOnCollide #additional stam damage to make repeated pushups less of a viable counter + damage: 45 + - type: SolutionContainerManager + solutions: + bolt: + maxVol: 1.5 + reagents: + - ReagentId: Toxin + Quantity: 1.5 + - type: SolutionInjectOnProjectileHit + transferAmount: 1.5 + solution: bolt diff --git a/Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/icon.png b/Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/icon.png new file mode 100644 index 0000000000..1ec5ffd7fa Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/icon.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/inhand-left.png new file mode 100644 index 0000000000..df7af5c44d Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/inhand-right.png new file mode 100644 index 0000000000..7ca32199cc Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/meta.json new file mode 100644 index 0000000000..382967c9cc --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/crossbowbolt.png b/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/crossbowbolt.png new file mode 100644 index 0000000000..da5df665ed Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/crossbowbolt.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/meta.json index b4d8f09a82..5057bc766b 100644 --- a/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/meta.json +++ b/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from cev-eris at https://github.com/discordia-space/CEV-Eris/raw/56cbafd6ad8c013ccd5472d6c4a0db790f7f872a, ball made by brainfood1183 (Github) for ss14, the uranium sprite is a modified version of the buckshot pellet by Boaz1111, cleanade made by Southbridge_fur (github)", + "copyright": "Taken from cev-eris at https://github.com/discordia-space/CEV-Eris/raw/56cbafd6ad8c013ccd5472d6c4a0db790f7f872a, ball made by brainfood1183 (Github) for ss14, the uranium sprite is a modified version of the buckshot pellet by Boaz1111, cleanade made by Southbridge_fur (github), crossbowbolt made by Entvari(github)", "size": { "x": 32, "y": 32 @@ -105,6 +105,9 @@ 0.05 ] ] + }, + { + "name": "crossbowbolt" } ] }