mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-22 05:25:15 +01:00
Changes the holo-fan to the holo-firelock, other minor changes and fixes
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
// Foam
|
||||
// Similar to smoke, but slower and mobs absorb its reagent through their exposed skin.
|
||||
#define ALUMINUM_FOAM 1
|
||||
#define IRON_FOAM 2
|
||||
#define RESIN_FOAM 3
|
||||
|
||||
|
||||
/obj/effect/particle_effect/foam
|
||||
name = "foam"
|
||||
@@ -22,16 +26,16 @@
|
||||
|
||||
/obj/effect/particle_effect/foam/metal
|
||||
name = "aluminium foam"
|
||||
metal = 1
|
||||
metal = ALUMINUM_FOAM
|
||||
icon_state = "mfoam"
|
||||
|
||||
/obj/effect/particle_effect/foam/metal/iron
|
||||
name = "iron foam"
|
||||
metal = 2
|
||||
metal = IRON_FOAM
|
||||
|
||||
/obj/effect/particle_effect/foam/metal/resin
|
||||
name = "resin foam"
|
||||
metal = 3
|
||||
metal = RESIN_FOAM
|
||||
|
||||
|
||||
/obj/effect/particle_effect/foam/New(loc)
|
||||
@@ -48,12 +52,12 @@
|
||||
/obj/effect/particle_effect/foam/proc/kill_foam()
|
||||
STOP_PROCESSING(SSfastprocess, src)
|
||||
switch(metal)
|
||||
if(1)
|
||||
new /obj/structure/foamedmetal(src.loc)
|
||||
if(2)
|
||||
new /obj/structure/foamedmetal/iron(src.loc)
|
||||
if(3)
|
||||
new /obj/structure/foamedmetal/resin(src.loc)
|
||||
if(ALUMINUM_FOAM)
|
||||
new /obj/structure/foamedmetal(get_turf(src))
|
||||
if(IRON_FOAM)
|
||||
new /obj/structure/foamedmetal/iron(get_turf(src))
|
||||
if(RESIN_FOAM)
|
||||
new /obj/structure/foamedmetal/resin(get_turf(src))
|
||||
flick("[icon_state]-disolve", src)
|
||||
QDEL_IN(src, 5)
|
||||
|
||||
@@ -240,13 +244,15 @@
|
||||
/obj/structure/foamedmetal/resin
|
||||
name = "ATMOS Resin"
|
||||
desc = "A lightweight, transparent resin used to suffocate fires, scrub the air of toxins, and restore the air to a safe temperature"
|
||||
opacity = 0
|
||||
opacity = FALSE
|
||||
icon_state = "atmos_resin"
|
||||
alpha = 120
|
||||
obj_integrity = 10
|
||||
max_integrity = 10
|
||||
layer = EDGED_TURF_LAYER
|
||||
|
||||
/obj/structure/foamedmetal/resin/New()
|
||||
/obj/structure/foamedmetal/resin/Initialize()
|
||||
. = ..()
|
||||
if(isopenturf(loc))
|
||||
var/turf/open/O = loc
|
||||
if(O.air)
|
||||
@@ -256,17 +262,21 @@
|
||||
qdel(H)
|
||||
var/list/G_gases = G.gases
|
||||
for(var/I in G_gases)
|
||||
if(I != "o2")
|
||||
if(I != "o2" && I != "n2")
|
||||
G.gases[I][MOLES] = 0
|
||||
G.garbage_collect()
|
||||
O.air_update_turf()
|
||||
for(var/obj/machinery/atmospherics/components/unary/U in O)
|
||||
if(!isnull(U.welded) && !U.welded) //must be an unwelded vent pump or vent scrubber.
|
||||
U.welded = 1
|
||||
if(!U.welded)
|
||||
U.welded = TRUE
|
||||
U.update_icon()
|
||||
U.visible_message("<span class='danger'>[U] sealed shut!</span>")
|
||||
for(var/mob/living/L in O)
|
||||
L.ExtinguishMob()
|
||||
for(var/obj/item/Item in O)
|
||||
Item.extinguish()
|
||||
..()
|
||||
|
||||
|
||||
#undef ALUMINUM_FOAM
|
||||
#undef IRON_FOAM
|
||||
#undef RESIN_FOAM
|
||||
|
||||
@@ -212,6 +212,7 @@
|
||||
safety = 0
|
||||
max_water = 200
|
||||
power = 8
|
||||
force = 10
|
||||
precision = 1
|
||||
cooling_power = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
@@ -278,10 +279,10 @@
|
||||
if(resin_cooldown)
|
||||
to_chat(user, "<span class='warning'>Resin launcher is still recharging...</span>")
|
||||
return
|
||||
resin_cooldown = 1
|
||||
resin_cooldown = TRUE
|
||||
R.remove_any(100)
|
||||
var/obj/effect/resin_container/A = new /obj/effect/resin_container(get_turf(src))
|
||||
log_game("[user.ckey] ([user.name]) used Resin Launcher at [get_area(user)] ([user.x], [user.y], [user.z]).")
|
||||
var/obj/effect/resin_container/A = new (get_turf(src))
|
||||
log_game("[key_name_admin(user)] used Resin Launcher at [get_area(user)] [COORD(user)].")
|
||||
playsound(src,'sound/items/syringeproj.ogg',40,1)
|
||||
for(var/a=0, a<5, a++)
|
||||
step_towards(A, target)
|
||||
@@ -289,13 +290,13 @@
|
||||
A.Smoke()
|
||||
spawn(100)
|
||||
if(src)
|
||||
resin_cooldown = 0
|
||||
resin_cooldown = FALSE
|
||||
return
|
||||
if(nozzle_mode == RESIN_FOAM)
|
||||
if(!Adj|| !isturf(target))
|
||||
return
|
||||
if(metal_synthesis_cooldown < 5)
|
||||
var/obj/effect/particle_effect/foam/metal/F = new /obj/effect/particle_effect/foam/metal/resin(get_turf(target))
|
||||
var/obj/effect/particle_effect/foam/metal/resin/F = new (get_turf(target))
|
||||
F.amount = 0
|
||||
metal_synthesis_cooldown++
|
||||
spawn(100)
|
||||
@@ -319,7 +320,7 @@
|
||||
qdel(src)
|
||||
|
||||
#undef EXTINGUISHER
|
||||
#undef resin
|
||||
#undef RESIN_LAUNCHER
|
||||
#undef RESIN_FOAM
|
||||
|
||||
/obj/item/weapon/reagent_containers/chemtank
|
||||
|
||||
@@ -66,22 +66,24 @@
|
||||
icon_state = "holosign_engi"
|
||||
|
||||
/obj/structure/holosign/barrier/atmos
|
||||
name = "holo atmospheric fan"
|
||||
desc = "A holographic fan that acts as a barrier for atmospheric changes."
|
||||
icon_state = "holo_fan"
|
||||
name = "holo firelock"
|
||||
desc = "A holographic barrier resembling a firelock. Though it does not prevent solid objects from passing through, gas is kept out."
|
||||
icon_state = "holo_firelock"
|
||||
density = FALSE
|
||||
anchored = 1
|
||||
layer = ABOVE_MOB_LAYER
|
||||
anchored = TRUE
|
||||
CanAtmosPass = ATMOS_PASS_NO
|
||||
layer = ABOVE_NORMAL_TURF_LAYER
|
||||
layer = ABOVE_MOB_LAYER
|
||||
alpha = 150
|
||||
|
||||
/obj/structure/holosign/barrier/atmos/New()
|
||||
..()
|
||||
air_update_turf(1)
|
||||
/obj/structure/holosign/barrier/atmos/Initialize()
|
||||
. = ..()
|
||||
air_update_turf(TRUE)
|
||||
|
||||
/obj/structure/holosign/barrier/atmos/Destroy()
|
||||
CanAtmosPass = ATMOS_PASS_YES
|
||||
air_update_turf(1)
|
||||
return ..()
|
||||
var/turf/T = get_turf(src)
|
||||
. = ..()
|
||||
T.air_update_turf(TRUE)
|
||||
|
||||
/obj/structure/holosign/barrier/cyborg
|
||||
name = "Energy Field"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 496 KiB After Width: | Height: | Size: 498 KiB |
Reference in New Issue
Block a user