]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Mini Energy Crossbow (#39796)
authorEntvari <195642967+Entvari@users.noreply.github.com>
Fri, 14 Nov 2025 22:18:08 +0000 (22:18 +0000)
committerGitHub <noreply@github.com>
Fri, 14 Nov 2025 22:18:08 +0000 (22:18 +0000)
* draft 1

* mono audio

* missed something

* end the torment

* release me

* let me free

* Submodule fix?

* submodule fix?

* thousand years of suffering

* fix conflicts mehopes

* fuuuhuck

* balance update

* small numbers change

* re-organises the stun values yada yada

* newline

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
14 files changed:
Resources/Audio/Weapons/Guns/Gunshots/energycrossbow_shoot.ogg [new file with mode: 0644]
Resources/Audio/Weapons/Guns/MagIn/energycrossbow_reload.ogg [new file with mode: 0644]
Resources/Audio/Weapons/Guns/sources.json
Resources/Locale/en-US/store/uplink-catalog.ftl
Resources/Prototypes/Catalog/uplink_catalog.yml
Resources/Prototypes/Entities/Objects/Fun/toys.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/energy_crossbow.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/icon.png [new file with mode: 0644]
Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/inhand-left.png [new file with mode: 0644]
Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/inhand-right.png [new file with mode: 0644]
Resources/Textures/Objects/Weapons/Guns/Basic/energy_crossbow.rsi/meta.json [new file with mode: 0644]
Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/crossbowbolt.png [new file with mode: 0644]
Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/meta.json

diff --git a/Resources/Audio/Weapons/Guns/Gunshots/energycrossbow_shoot.ogg b/Resources/Audio/Weapons/Guns/Gunshots/energycrossbow_shoot.ogg
new file mode 100644 (file)
index 0000000..f2fba35
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 (file)
index 0000000..0c27641
Binary files /dev/null and b/Resources/Audio/Weapons/Guns/MagIn/energycrossbow_reload.ogg differ
index cc9a3e5c0b2bc29ce683c8b2b7a871dc5e99fe5b..351fba0992773f2588d97fd93662830f394c9b7d 100644 (file)
@@ -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",
index 3e070b835d7b8c91fa80d77b7001bf8b14395be0..e7e6b42ae5a5eaae1c65828c52d65b696fc1426d 100644 (file)
@@ -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.
index 6ef172010562f6feabf26766ff79ca1a006ef998..7c926a2931f8a8f317c4322dbcf4e5619b09b01e 100644 (file)
   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
     Telecrystal: 1
   categories:
   - UplinkDeception
-  
+
 - type: listing
   id: UplinkAgentIDCard
   name: uplink-agent-id-card-name
index d6d989680a4c73e7faa932d0d76495882c4ed917..dffd08e919e06428937c10b56045beb0de7a516f 100644 (file)
     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 (file)
index 0000000..40b7f7a
--- /dev/null
@@ -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
index bc9f40f85a7a0ee1374e5a7235c30840622455bc..c52a49b09b27269c30367c3751609843de466725 100644 (file)
         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 (file)
index 0000000..1ec5ffd
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 (file)
index 0000000..df7af5c
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 (file)
index 0000000..7ca3219
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 (file)
index 0000000..382967c
--- /dev/null
@@ -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 (file)
index 0000000..da5df66
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/crossbowbolt.png differ
index b4d8f09a820f0272299d9b56b892fcbbecf279d1..5057bc766b41521d30e915afe8f48778df2a34fd 100644 (file)
@@ -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
           0.05
         ]
       ]
+    },
+    {
+      "name": "crossbowbolt"
     }
   ]
 }