mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-21 04:57:57 +01:00
Reworks spearguns, adds Syndicate bundle, carp clothing adds carp faction (#42102)
* Reworks magspears, adds Syndicate bundle, carp clothing adds carp faction * 20 magspears * Replaces bandolier with quiver * Slightly increases throwforce to OHKO space carps
This commit is contained in:
@@ -32,6 +32,8 @@
|
||||
var/charge_tick = 0
|
||||
var/charge_type
|
||||
var/selfcharge = FALSE
|
||||
var/fire_sound = 'sound/weapons/sonic_jackhammer.ogg'
|
||||
var/spin_item = TRUE //Do the projectiles spin when launched?
|
||||
trigger_guard = TRIGGER_GUARD_NORMAL
|
||||
|
||||
|
||||
@@ -165,7 +167,7 @@
|
||||
"<span class='danger'>You fire \the [src]!</span>")
|
||||
log_combat(user, target, "fired at", src)
|
||||
var/turf/T = get_target(target, get_turf(src))
|
||||
playsound(src, 'sound/weapons/sonic_jackhammer.ogg', 50, 1)
|
||||
playsound(src, fire_sound, 50, 1)
|
||||
fire_items(T, user)
|
||||
if(pressureSetting >= 3 && iscarbon(user))
|
||||
var/mob/living/carbon/C = user
|
||||
@@ -195,7 +197,7 @@
|
||||
loadedItems -= I
|
||||
loadedWeightClass -= I.w_class
|
||||
I.forceMove(get_turf(src))
|
||||
I.throw_at(target, pressureSetting * 10 * range_multiplier, pressureSetting * 2, user)
|
||||
I.throw_at(target, pressureSetting * 10 * range_multiplier, pressureSetting * 2, user, spin_item)
|
||||
return TRUE
|
||||
|
||||
/obj/item/pneumatic_cannon/proc/get_target(turf/target, turf/starting)
|
||||
@@ -292,3 +294,44 @@
|
||||
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"
|
||||
item_state = "speargun"
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
force = 10
|
||||
fire_sound = 'sound/weapons/grenadelaunch.ogg'
|
||||
gasPerThrow = 0
|
||||
checktank = FALSE
|
||||
range_multiplier = 3
|
||||
throw_amount = 1
|
||||
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"
|
||||
item_state = "quiver"
|
||||
|
||||
/obj/item/storage/backpack/magspear_quiver/ComponentInitialize()
|
||||
. = ..()
|
||||
GET_COMPONENT(STR, /datum/component/storage)
|
||||
STR.max_items = 20
|
||||
STR.max_combined_w_class = 40
|
||||
STR.display_numerical_stacking = TRUE
|
||||
STR.can_hold = typecacheof(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)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/storage/box/syndicate
|
||||
|
||||
/obj/item/storage/box/syndicate/PopulateContents()
|
||||
switch (pickweight(list("bloodyspai" = 3, "stealth" = 2, "bond" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "darklord" = 1, "sniper" = 1, "metaops" = 1, "ninja" = 1)))
|
||||
switch (pickweight(list("bloodyspai" = 3, "stealth" = 2, "bond" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "darklord" = 1, "sniper" = 1, "metaops" = 1, "ninja" = 1, "white_whale_holy_grail" = 2)))
|
||||
if("bloodyspai") // 27 tc now this is more right
|
||||
new /obj/item/clothing/under/chameleon(src) // 2 tc since it's not the full set
|
||||
new /obj/item/clothing/mask/chameleon(src) // Goes with above
|
||||
@@ -126,6 +126,13 @@
|
||||
new /obj/item/card/id/syndicate(src) // 2 tc
|
||||
new /obj/item/chameleon(src) // 7 tc
|
||||
|
||||
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/clothing/suit/space/hardsuit/carp(src)
|
||||
new /obj/item/clothing/mask/gas/carp(src)
|
||||
new /obj/item/grenade/spawnergrenade/spesscarp(src)
|
||||
|
||||
/obj/item/storage/box/syndie_kit
|
||||
name = "box"
|
||||
desc = "A sleek, sturdy box."
|
||||
|
||||
@@ -277,7 +277,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
|
||||
lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
|
||||
force = 2
|
||||
throwforce = 20 //This is never used on mobs since this has a 100% embed chance.
|
||||
throwforce = 20 //20 + 2 (WEIGHT_CLASS_SMALL) * 4 (EMBEDDED_IMPACT_PAIN_MULTIPLIER) = 28 damage on hit due to guaranteed embedding
|
||||
throw_speed = 4
|
||||
embedding = list("embedded_pain_multiplier" = 4, "embed_chance" = 100, "embedded_fall_chance" = 0)
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
@@ -285,6 +285,15 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
|
||||
materials = list(MAT_METAL=500, MAT_GLASS=500)
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
/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
|
||||
attack_verb = list("stabbed", "ripped", "gored", "impaled")
|
||||
embedding = list("embedded_pain_multiplier" = 8, "embed_chance" = 100, "embedded_fall_chance" = 0, "embedded_impact_pain_multiplier" = 15) //55 damage+embed on hit
|
||||
|
||||
/obj/item/switchblade
|
||||
name = "switchblade"
|
||||
|
||||
Reference in New Issue
Block a user