[MIRROR] Speargun: Now actually a gun! Again! (#1610)

* Speargun: Now actually a gun! Again! (#54289)

Turns the speargun from the syndikit bundle into a bolt action rifle instead of a pnuematic cannon.

The spears the rifle fires embeds using the new bullet embedding system by Ryll. The spears do a lot of fucking damage.

The new bundle includes:

The Ballistic Harpoon Gun

The weapon is a single shot rifle that can be loaded with harpoons. The rifle, being bolt action, requires pulling back the bolt, loading the new harpoon, then locking the bolt every time you wish to fire the weapon. This is more busy work than the pnuematic cannon version, but more reliable in functionality without any messy business with throwing.

The harpoons do 60 force, have a high wound chance against unarmored targets and very high embed chance, with a 100% against unarmored targets. They also have considerable armor piercing at 50, letting you nearly entirely shoot through a ballistic vest.

The weapon is essentially a powered-up single shot mosin or a significantly more powerful improvised shotgun filled with slugs.

The Quiver

Now a bag that goes on your belt. It holds up to 40 harpoons for your harpoon gun. This change was done because the harpoons cannot be retrieved, unlike the magspears, which were simply hacky ninja stars and could be pulled out with surgical tools/wirecutters. Previously you had 20 magspears, which because of their retrievable nature lasted a little longer than you would expect.

Sprites

New back sprites for the harpoon gun, ensuring nobody is missing it when you have it. Additionally, the Mosin Nagant now has it's back sprite as a suit storage sprite.

New sprite for the quiver.

* Speargun: Now actually a gun! Again!

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
This commit is contained in:
SkyratBot
2020-11-07 15:43:22 +00:00
committed by GitHub
co-authored by necromanceranne
parent a608adb52e
commit 4df9bf0979
15 changed files with 61 additions and 60 deletions
@@ -306,45 +306,3 @@
charge_type = /obj/item/reagent_containers/food/snacks/pie/cream/nostun
maxWeightClass = 6 //2 pies
charge_ticks = 2 //4 second/pie
/obj/item/pneumatic_cannon/speargun
name = "kinetic speargun"
desc = "A weapon favored by carp hunters. Fires specialized spears using kinetic energy."
icon = 'icons/obj/guns/projectile.dmi'
icon_state = "speargun"
inhand_icon_state = "speargun"
w_class = WEIGHT_CLASS_BULKY
force = 10
fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg'
gasPerThrow = 0
checktank = FALSE
range_multiplier = 3
throw_amount = 1
pressureSetting = 2
maxWeightClass = 2 //a single magspear
spin_item = FALSE
var/static/list/magspear_typecache = typecacheof(/obj/item/throwing_star/magspear)
/obj/item/pneumatic_cannon/speargun/Initialize()
. = ..()
allowed_typecache = magspear_typecache
/obj/item/storage/backpack/magspear_quiver
name = "quiver"
desc = "A quiver for holding magspears."
icon_state = "quiver"
inhand_icon_state = "quiver"
/obj/item/storage/backpack/magspear_quiver/ComponentInitialize()
. = ..()
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
STR.max_items = 20
STR.max_combined_w_class = 40
STR.display_numerical_stacking = TRUE
STR.set_holdable(list(
/obj/item/throwing_star/magspear
))
/obj/item/storage/backpack/magspear_quiver/PopulateContents()
for(var/i in 1 to 20)
new /obj/item/throwing_star/magspear(src)
+21
View File
@@ -468,3 +468,24 @@
/obj/item/electronics,
/obj/item/wallframe/camera
))
/obj/item/storage/bag/harpoon_quiver
name = "harpoon quiver"
desc = "A quiver for holding harpoons."
icon_state = "quiver"
inhand_icon_state = "quiver"
worn_icon_state = "harpoon_quiver"
/obj/item/storage/bag/harpoon_quiver/ComponentInitialize()
. = ..()
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
STR.max_w_class = WEIGHT_CLASS_TINY
STR.max_items = 40
STR.max_combined_w_class = 100
STR.set_holdable(list(
/obj/item/ammo_casing/caseless/harpoon
))
/obj/item/storage/bag/harpoon_quiver/PopulateContents()
for(var/i in 1 to 40)
new /obj/item/ammo_casing/caseless/harpoon(src)
@@ -150,8 +150,8 @@
new /obj/item/book/granter/spell/summonitem(src)
if("white_whale_holy_grail") //Unique items that don't appear anywhere else
new /obj/item/pneumatic_cannon/speargun(src)
new /obj/item/storage/backpack/magspear_quiver(src)
new /obj/item/gun/ballistic/rifle/boltaction/harpoon(src)
new /obj/item/storage/bag/harpoon_quiver(src)
new /obj/item/clothing/suit/space/hardsuit/carp(src)
new /obj/item/clothing/mask/gas/carp(src)
new /obj/item/grenade/spawnergrenade/spesscarp(src)
-12
View File
@@ -339,18 +339,6 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
throwforce = 0
embedding = list("pain_mult" = 0, "jostle_pain_mult" = 0, "embed_chance" = 100, "fall_chance" = 0)
/obj/item/throwing_star/magspear
name = "magnetic spear"
desc = "A reusable spear that is typically loaded into kinetic spearguns."
icon = 'icons/obj/ammo.dmi'
icon_state = "magspear"
throwforce = 25 //kills regular carps in one hit
force = 10
throw_range = 0 //throwing these invalidates the speargun
attack_verb_continuous = list("stabs", "rips", "gores", "impales")
attack_verb_simple = list("stab", "rip", "gore", "impale")
embedding = list("pain_mult" = 8, "embed_chance" = 100, "fall_chance" = 0, "impact_pain_mult" = 15) //55 damage+embed on hit
/obj/item/switchblade
name = "switchblade"
icon_state = "switchblade"