Makes thermite a component
This commit is contained in:
committed by
CitadelStationBot
parent
0a32eb3162
commit
82c388b3e8
@@ -6,6 +6,7 @@
|
||||
icon_state = "strangepresent"
|
||||
density = TRUE
|
||||
anchored = FALSE
|
||||
<<<<<<< HEAD
|
||||
|
||||
/obj/effect/beam
|
||||
name = "beam"
|
||||
@@ -50,3 +51,59 @@
|
||||
/obj/effect/abstract/marker/at
|
||||
name = "active turf marker"
|
||||
|
||||
=======
|
||||
|
||||
/obj/effect/beam
|
||||
name = "beam"
|
||||
var/def_zone
|
||||
pass_flags = PASSTABLE
|
||||
|
||||
/obj/effect/spawner
|
||||
name = "object spawner"
|
||||
|
||||
/obj/effect/list_container
|
||||
name = "list container"
|
||||
|
||||
/obj/effect/list_container/mobl
|
||||
name = "mobl"
|
||||
var/master = null
|
||||
|
||||
var/list/container = list( )
|
||||
|
||||
/obj/effect/overlay/thermite
|
||||
name = "thermite"
|
||||
desc = "Looks hot."
|
||||
icon = 'icons/effects/fire.dmi'
|
||||
icon_state = "2" //what?
|
||||
anchored = TRUE
|
||||
opacity = TRUE
|
||||
density = TRUE
|
||||
layer = FLY_LAYER
|
||||
|
||||
//Makes a tile fully lit no matter what
|
||||
/obj/effect/fullbright
|
||||
icon = 'icons/effects/alphacolors.dmi'
|
||||
icon_state = "white"
|
||||
plane = LIGHTING_PLANE
|
||||
layer = LIGHTING_LAYER
|
||||
blend_mode = BLEND_ADD
|
||||
|
||||
/obj/effect/abstract/marker
|
||||
name = "marker"
|
||||
icon = 'icons/effects/effects.dmi'
|
||||
anchored = TRUE
|
||||
icon_state = "wave3"
|
||||
layer = RIPPLE_LAYER
|
||||
|
||||
/obj/effect/abstract/marker/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.all_abstract_markers += src
|
||||
|
||||
/obj/effect/abstract/marker/Destroy()
|
||||
GLOB.all_abstract_markers -= src
|
||||
. = ..()
|
||||
|
||||
/obj/effect/abstract/marker/at
|
||||
name = "active turf marker"
|
||||
|
||||
>>>>>>> 5dde2e3... Merge pull request #31864 from ninjanomnom/thermite
|
||||
|
||||
@@ -58,7 +58,12 @@
|
||||
return
|
||||
//I couldn't feasibly fix the overlay bugs caused by cleaning items we are wearing.
|
||||
//So this is a workaround. This also makes more sense from an IC standpoint. ~Carn
|
||||
<<<<<<< HEAD
|
||||
if(user.client && (target in user.client.screen))
|
||||
=======
|
||||
target.SendSignal(COMSIG_COMPONENT_CLEAN_ACT, CLEAN_MEDIUM)
|
||||
if(user.client && ((target in user.client.screen) && !user.is_holding(target)))
|
||||
>>>>>>> 5dde2e3... Merge pull request #31864 from ninjanomnom/thermite
|
||||
to_chat(user, "<span class='warning'>You need to take that [target.name] off before cleaning it!</span>")
|
||||
else if(istype(target, /obj/effect/decal/cleanable))
|
||||
user.visible_message("[user] begins to scrub \the [target.name] out with [src].", "<span class='warning'>You begin to scrub \the [target.name] out with [src]...</span>")
|
||||
|
||||
@@ -24,12 +24,10 @@
|
||||
/obj/item/mop/proc/clean(turf/A)
|
||||
if(reagents.has_reagent("water", 1) || reagents.has_reagent("holywater", 1) || reagents.has_reagent("vodka", 1) || reagents.has_reagent("cleaner", 1))
|
||||
A.clean_blood()
|
||||
A.SendSignal(COMSIG_COMPONENT_CLEAN_ACT, CLEAN_MEDIUM)
|
||||
for(var/obj/effect/O in A)
|
||||
if(is_cleanable(O))
|
||||
qdel(O)
|
||||
if(isclosedturf(A))
|
||||
var/turf/closed/C = A
|
||||
C.thermite = 0
|
||||
reagents.reaction(A, TOUCH, 10) //Needed for proper floor wetting.
|
||||
reagents.remove_any(1) //reaction() doesn't use up the reagents
|
||||
|
||||
|
||||
@@ -226,6 +226,7 @@
|
||||
soundloop.start()
|
||||
wash_turf()
|
||||
for(var/atom/movable/G in loc)
|
||||
G.SendSignal(COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
|
||||
if(isliving(G))
|
||||
var/mob/living/L = G
|
||||
wash_mob(L)
|
||||
@@ -295,6 +296,7 @@
|
||||
|
||||
|
||||
/obj/machinery/shower/proc/wash_obj(obj/O)
|
||||
O.SendSignal(COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
|
||||
. = O.clean_blood()
|
||||
O.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
|
||||
if(isitem(O))
|
||||
@@ -306,6 +308,7 @@
|
||||
/obj/machinery/shower/proc/wash_turf()
|
||||
if(isturf(loc))
|
||||
var/turf/tile = loc
|
||||
tile.SendSignal(COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
|
||||
tile.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
|
||||
tile.clean_blood()
|
||||
for(var/obj/effect/E in tile)
|
||||
@@ -314,6 +317,7 @@
|
||||
|
||||
|
||||
/obj/machinery/shower/proc/wash_mob(mob/living/L)
|
||||
L.SendSignal(COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
|
||||
L.wash_cream()
|
||||
L.ExtinguishMob()
|
||||
L.adjust_fire_stacks(-20) //Douse ourselves with water to avoid fire more easily
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
/turf/closed
|
||||
var/thermite = 0
|
||||
layer = CLOSED_TURF_LAYER
|
||||
opacity = 1
|
||||
density = TRUE
|
||||
|
||||
@@ -38,9 +38,6 @@
|
||||
explosion_block = 3
|
||||
canSmoothWith = list(/turf/closed/wall/mineral/diamond, /obj/structure/falsewall/diamond)
|
||||
|
||||
/turf/closed/wall/mineral/diamond/thermitemelt(mob/user)
|
||||
return
|
||||
|
||||
/turf/closed/wall/mineral/clown
|
||||
name = "bananium wall"
|
||||
desc = "A wall with bananium plating. Honk!"
|
||||
|
||||
@@ -161,12 +161,6 @@
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
//THERMITE related stuff. Calls src.thermitemelt() which handles melting simulated walls and the relevant effects
|
||||
if( thermite )
|
||||
if(W.is_hot())
|
||||
thermitemelt(user)
|
||||
return
|
||||
|
||||
var/turf/T = user.loc //get user's location for delay checks
|
||||
|
||||
//the istype cascade has been spread among various procs for easy overriding
|
||||
@@ -239,31 +233,6 @@
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
|
||||
/turf/closed/wall/proc/thermitemelt(mob/user)
|
||||
cut_overlays()
|
||||
var/obj/effect/overlay/O = new/obj/effect/overlay( src )
|
||||
O.name = "thermite"
|
||||
O.desc = "Looks hot."
|
||||
O.icon = 'icons/effects/fire.dmi'
|
||||
O.icon_state = "2"
|
||||
O.anchored = TRUE
|
||||
O.opacity = 1
|
||||
O.density = TRUE
|
||||
O.layer = FLY_LAYER
|
||||
|
||||
playsound(src, 'sound/items/welder.ogg', 100, 1)
|
||||
|
||||
if(thermite >= 50)
|
||||
var/burning_time = max(100,300 - thermite)
|
||||
var/turf/open/floor/F = ChangeTurf(/turf/open/floor/plating)
|
||||
F.burn_tile()
|
||||
F.add_hiddenprint(user)
|
||||
QDEL_IN(O, burning_time)
|
||||
else
|
||||
thermite = 0
|
||||
QDEL_IN(O, 50)
|
||||
|
||||
/turf/closed/wall/singularity_pull(S, current_size)
|
||||
..()
|
||||
if(current_size >= STAGE_FIVE)
|
||||
|
||||
Reference in New Issue
Block a user