Return of the Intervention (Crossbow Buff) (#21279)

## About PR

In 2022 I put up this PR:
https://github.com/Aurorastation/Aurora.3/pull/14508
I argued that the crossbow is too strong and weird. I do not see it like
that anymore. The crossbow pre-nerf was actually quite the interesting
weapon and has a unique interaction with the pinning and embedding
foreign objects into people mechanic.
Thus, I am restoring the crossbow to its former glory and officially
return the MW2 Intervention to Aurora.

The nerf PR was unironically a PR I regretted. I now see the errors of
my way.

<img width="1719" height="1240"
alt="d8makgc-289756b7-dbd8-47b8-984f-5c0a543da089"
src="https://github.com/user-attachments/assets/633d26e6-85d5-48c8-ae6a-967a98261198"
/>
This commit is contained in:
KingOfThePing
2025-09-06 10:22:46 +00:00
committed by GitHub
parent 7b806f06b9
commit 5a465542f1
2 changed files with 63 additions and 4 deletions
@@ -45,7 +45,7 @@
icon_state = "metal-rod"
/obj/item/arrow/rod/removed(mob/user)
if(throwforce == 20) // The rod has been superheated - we don't want it to be useable when removed from the bow.
if(throwforce == 15) // The rod has been superheated - we don't want it to be useable when removed from the bow.
to_chat(user, SPAN_WARNING("\The [src] shatters into a scattering of unusable overstressed metal shards as it leaves the crossbow."))
qdel(src)
@@ -64,8 +64,8 @@
var/obj/item/bolt
var/tension = 0 // Current draw on the bow.
var/max_tension = 3 // Highest possible tension.
var/release_speed = 3 // Speed per unit of tension.
var/max_tension = 5 // Highest possible tension.
var/release_speed = 5 // Speed per unit of tension.
var/obj/item/cell/cell = null // Used for firing superheated rods.
var/current_user // Used to check if the crossbow has changed hands since being drawn.
var/draw_time = 20 // How long it takes to increase the draw on the bow by one "tension"
@@ -189,7 +189,7 @@
return
if(cell.charge < 500)
return
if(bolt.throwforce >= 20)
if(bolt.throwforce >= 15)
return
if(!istype(bolt,/obj/item/arrow/rod))
return