Adds: The C-Foam launcher (#25738)

* The start

* Getting a bit further

* Slight ammo casing update

* Istype helper and foam blockage

* Adds status effect

* Foam blockage and status effect fixes

* Autolathe ammo + stun

* aaaaaaaa

* Adds uplink item

* Actual slowdown

* Makes attacking a bit faster again

* Ammo increase to 12

* Sirryan review

* Adds sprites - almost working

* Lots of fixes + mineral doors

* Mineral doors don't open with foam
This commit is contained in:
DGamerL
2024-08-01 06:24:09 +00:00
committed by GitHub
parent ca79f65c8d
commit 44671e31e8
28 changed files with 240 additions and 14 deletions
+1 -1
View File
@@ -52,7 +52,7 @@
if(!GR.broken)
grille += 1
else if(istype(O, /obj/machinery/door))
else if(isairlock(O))
door += 1
else if(istype(O, /obj/machinery))
+46
View File
@@ -1353,6 +1353,52 @@
new /obj/effect/abstract/bubblegum_rend_helper(get_turf(src), null, 10)
qdel(src)
/datum/status_effect/c_foamed
id = "c_foamed up"
duration = 1 MINUTES
status_type = STATUS_EFFECT_REFRESH
tick_interval = 10 SECONDS
var/foam_level = 1
var/mutable_appearance/foam_overlay
/datum/status_effect/c_foamed/on_apply()
. = ..()
foam_overlay = mutable_appearance('icons/obj/foam_blobs.dmi', "foamed_1")
owner.add_overlay(foam_overlay)
owner.next_move_modifier *= 1.5
owner.Slowed(10 SECONDS, 1.5)
/datum/status_effect/c_foamed/Destroy()
if(owner)
owner.cut_overlay(foam_overlay)
owner.next_move_modifier /= 1.5
QDEL_NULL(foam_overlay)
return ..()
/datum/status_effect/c_foamed/tick()
. = ..()
if(--foam_level <= 0)
qdel(src)
refresh_overlay()
/datum/status_effect/c_foamed/refresh()
. = ..()
// Our max slow is 50 seconds
foam_level = min(foam_level + 1, 5)
refresh_overlay()
if(foam_level == 5)
owner.Paralyse(4 SECONDS)
/datum/status_effect/c_foamed/proc/refresh_overlay()
// Refresh overlay
owner.cut_overlay(foam_overlay)
QDEL_NULL(foam_overlay)
foam_overlay = mutable_appearance('icons/obj/foam_blobs.dmi', "foamed_[foam_level]")
owner.add_overlay(foam_overlay)
/datum/status_effect/judo_armbar
id = "armbar"
duration = 5 SECONDS
@@ -668,6 +668,13 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/organ_extractor
cost = 20
/datum/uplink_item/device_tools/c_foam_launcher
name = "C-Foam Launcher"
desc = "A gun that shoots blobs of foam. Will block airlocks, and slow down humanoids. Not rated for xenomorph usage."
reference = "CFOAM"
item = /obj/item/gun/projectile/c_foam_launcher
cost = 25
/datum/uplink_item/device_tools/tar_spray
name = "Sticky Tar Applicator"
desc = "A spray bottle containing an extremely viscous fluid that will leave behind tar whenever it is sprayed, greatly slowing down anyone who tries to walk over it. \