mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
304 lines
10 KiB
Plaintext
304 lines
10 KiB
Plaintext
/turf/closed/wall/mineral
|
|
name = "mineral wall"
|
|
desc = "This shouldn't exist"
|
|
icon_state = ""
|
|
var/last_event = 0
|
|
var/active = null
|
|
canSmoothWith = null
|
|
smooth = SMOOTH_TRUE
|
|
|
|
/turf/closed/wall/mineral/gold
|
|
name = "gold wall"
|
|
desc = "A wall with gold plating. Swag!"
|
|
icon = 'icons/turf/walls/gold_wall.dmi'
|
|
icon_state = "gold"
|
|
sheet_type = /obj/item/stack/sheet/mineral/gold
|
|
explosion_block = 0 //gold is a soft metal you dingus.
|
|
canSmoothWith = list(/turf/closed/wall/mineral/gold, /obj/structure/falsewall/gold)
|
|
|
|
/turf/closed/wall/mineral/silver
|
|
name = "silver wall"
|
|
desc = "A wall with silver plating. Shiny!"
|
|
icon = 'icons/turf/walls/silver_wall.dmi'
|
|
icon_state = "silver"
|
|
sheet_type = /obj/item/stack/sheet/mineral/silver
|
|
canSmoothWith = list(/turf/closed/wall/mineral/silver, /obj/structure/falsewall/silver)
|
|
|
|
/turf/closed/wall/mineral/diamond
|
|
name = "diamond wall"
|
|
desc = "A wall with diamond plating. You monster."
|
|
icon = 'icons/turf/walls/diamond_wall.dmi'
|
|
icon_state = "diamond"
|
|
sheet_type = /obj/item/stack/sheet/mineral/diamond
|
|
slicing_duration = 200 //diamond wall takes twice as much time to slice
|
|
explosion_block = 3
|
|
canSmoothWith = list(/turf/closed/wall/mineral/diamond, /obj/structure/falsewall/diamond)
|
|
|
|
/turf/closed/wall/mineral/bananium
|
|
name = "bananium wall"
|
|
desc = "A wall with bananium plating. Honk!"
|
|
icon = 'icons/turf/walls/bananium_wall.dmi'
|
|
icon_state = "bananium"
|
|
sheet_type = /obj/item/stack/sheet/mineral/bananium
|
|
canSmoothWith = list(/turf/closed/wall/mineral/bananium, /obj/structure/falsewall/bananium)
|
|
|
|
/turf/closed/wall/mineral/sandstone
|
|
name = "sandstone wall"
|
|
desc = "A wall with sandstone plating. Rough."
|
|
icon = 'icons/turf/walls/sandstone_wall.dmi'
|
|
icon_state = "sandstone"
|
|
sheet_type = /obj/item/stack/sheet/mineral/sandstone
|
|
explosion_block = 0
|
|
canSmoothWith = list(/turf/closed/wall/mineral/sandstone, /obj/structure/falsewall/sandstone)
|
|
|
|
/turf/closed/wall/mineral/uranium
|
|
article = "a"
|
|
name = "uranium wall"
|
|
desc = "A wall with uranium plating. This is probably a bad idea."
|
|
icon = 'icons/turf/walls/uranium_wall.dmi'
|
|
icon_state = "uranium"
|
|
sheet_type = /obj/item/stack/sheet/mineral/uranium
|
|
canSmoothWith = list(/turf/closed/wall/mineral/uranium, /obj/structure/falsewall/uranium)
|
|
|
|
/turf/closed/wall/mineral/uranium/proc/radiate()
|
|
if(!active)
|
|
if(world.time > last_event+15)
|
|
active = 1
|
|
radiation_pulse(src, 40)
|
|
for(var/turf/closed/wall/mineral/uranium/T in orange(1,src))
|
|
T.radiate()
|
|
last_event = world.time
|
|
active = null
|
|
return
|
|
return
|
|
|
|
/turf/closed/wall/mineral/uranium/attack_hand(mob/user)
|
|
radiate()
|
|
. = ..()
|
|
|
|
/turf/closed/wall/mineral/uranium/attackby(obj/item/W, mob/user, params)
|
|
radiate()
|
|
..()
|
|
|
|
/turf/closed/wall/mineral/uranium/Bumped(atom/movable/AM)
|
|
radiate()
|
|
..()
|
|
|
|
/turf/closed/wall/mineral/plasma
|
|
name = "plasma wall"
|
|
desc = "A wall with plasma plating. This is definitely a bad idea."
|
|
icon = 'icons/turf/walls/plasma_wall.dmi'
|
|
icon_state = "plasma"
|
|
sheet_type = /obj/item/stack/sheet/mineral/plasma
|
|
thermal_conductivity = 0.04
|
|
canSmoothWith = list(/turf/closed/wall/mineral/plasma, /obj/structure/falsewall/plasma)
|
|
|
|
/turf/closed/wall/mineral/plasma/attackby(obj/item/W, mob/user, params)
|
|
if(W.is_hot() > 300)//If the temperature of the object is over 300, then ignite
|
|
message_admins("Plasma wall ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(src)]")
|
|
log_game("Plasma wall ignited by [key_name(user)] in [AREACOORD(src)]")
|
|
ignite(W.is_hot())
|
|
return
|
|
..()
|
|
|
|
/turf/closed/wall/mineral/plasma/proc/PlasmaBurn(temperature)
|
|
new girder_type(src)
|
|
ScrapeAway()
|
|
var/turf/open/T = src
|
|
T.atmos_spawn_air("plasma=400;TEMP=[temperature]")
|
|
|
|
/turf/closed/wall/mineral/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)//Doesn't fucking work because walls don't interact with air :(
|
|
if(exposed_temperature > 300)
|
|
PlasmaBurn(exposed_temperature)
|
|
|
|
/turf/closed/wall/mineral/plasma/proc/ignite(exposed_temperature)
|
|
if(exposed_temperature > 300)
|
|
PlasmaBurn(exposed_temperature)
|
|
|
|
/turf/closed/wall/mineral/plasma/bullet_act(obj/item/projectile/Proj)
|
|
if(istype(Proj, /obj/item/projectile/beam))
|
|
PlasmaBurn(2500)
|
|
else if(istype(Proj, /obj/item/projectile/ion))
|
|
PlasmaBurn(500)
|
|
. = ..()
|
|
|
|
/turf/closed/wall/mineral/wood
|
|
name = "wooden wall"
|
|
desc = "A wall with wooden plating. Stiff."
|
|
icon = 'icons/turf/walls/wood_wall.dmi'
|
|
icon_state = "wood"
|
|
sheet_type = /obj/item/stack/sheet/mineral/wood
|
|
hardness = 70
|
|
explosion_block = 0
|
|
canSmoothWith = list(/turf/closed/wall/mineral/wood, /obj/structure/falsewall/wood, /turf/closed/wall/mineral/wood/nonmetal)
|
|
|
|
/turf/closed/wall/mineral/wood/attackby(obj/item/W, mob/user)
|
|
if(W.is_sharp() && W.force)
|
|
var/duration = (48/W.force) * 2 //In seconds, for now.
|
|
if(istype(W, /obj/item/hatchet) || istype(W, /obj/item/twohanded/fireaxe))
|
|
duration /= 4 //Much better with hatchets and axes.
|
|
if(do_after(user, duration*10, target=src)) //Into deciseconds.
|
|
dismantle_wall(FALSE,FALSE)
|
|
return
|
|
return ..()
|
|
|
|
/turf/closed/wall/mineral/wood/nonmetal
|
|
desc = "A solidly wooden wall. It's a bit weaker than a wall made with metal."
|
|
girder_type = /obj/structure/barricade/wooden
|
|
hardness = 50
|
|
canSmoothWith = list(/turf/closed/wall/mineral/wood, /obj/structure/falsewall/wood, /turf/closed/wall/mineral/wood/nonmetal)
|
|
|
|
/turf/closed/wall/mineral/iron
|
|
name = "rough metal wall"
|
|
desc = "A wall with rough metal plating."
|
|
icon = 'icons/turf/walls/iron_wall.dmi'
|
|
icon_state = "iron"
|
|
sheet_type = /obj/item/stack/rods
|
|
canSmoothWith = list(/turf/closed/wall/mineral/iron, /obj/structure/falsewall/iron)
|
|
|
|
/turf/closed/wall/mineral/snow
|
|
name = "packed snow wall"
|
|
desc = "A wall made of densely packed snow blocks."
|
|
icon = 'icons/turf/walls/snow_wall.dmi'
|
|
icon_state = "snow"
|
|
hardness = 80
|
|
explosion_block = 0
|
|
slicing_duration = 30
|
|
sheet_type = /obj/item/stack/sheet/mineral/snow
|
|
canSmoothWith = null
|
|
girder_type = null
|
|
bullet_sizzle = TRUE
|
|
bullet_bounce_sound = null
|
|
|
|
/turf/closed/wall/mineral/abductor
|
|
name = "alien wall"
|
|
desc = "A wall with alien alloy plating."
|
|
icon = 'icons/turf/walls/abductor_wall.dmi'
|
|
icon_state = "abductor"
|
|
smooth = SMOOTH_TRUE|SMOOTH_DIAGONAL
|
|
sheet_type = /obj/item/stack/sheet/mineral/abductor
|
|
slicing_duration = 200 //alien wall takes twice as much time to slice
|
|
explosion_block = 3
|
|
canSmoothWith = list(/turf/closed/wall/mineral/abductor, /obj/structure/falsewall/abductor)
|
|
|
|
/////////////////////Titanium walls/////////////////////
|
|
|
|
/turf/closed/wall/mineral/titanium //has to use this path due to how building walls works
|
|
name = "wall"
|
|
desc = "A light-weight titanium wall used in shuttles."
|
|
icon = 'icons/turf/walls/shuttle_wall.dmi'
|
|
icon_state = "map-shuttle"
|
|
explosion_block = 3
|
|
flags_1 = CAN_BE_DIRTY_1 | CHECK_RICOCHET_1
|
|
sheet_type = /obj/item/stack/sheet/mineral/titanium
|
|
smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
|
|
canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater, /obj/structure/falsewall/titanium)
|
|
|
|
/turf/closed/wall/mineral/titanium/nodiagonal
|
|
smooth = SMOOTH_MORE
|
|
icon_state = "map-shuttle_nd"
|
|
|
|
/turf/closed/wall/mineral/titanium/nosmooth
|
|
icon = 'icons/turf/shuttle.dmi'
|
|
icon_state = "wall"
|
|
smooth = SMOOTH_FALSE
|
|
|
|
/turf/closed/wall/mineral/titanium/overspace
|
|
icon_state = "map-overspace"
|
|
fixed_underlay = list("space"=1)
|
|
|
|
//sub-type to be used for interior shuttle walls
|
|
//won't get an underlay of the destination turf on shuttle move
|
|
/turf/closed/wall/mineral/titanium/interior/copyTurf(turf/T)
|
|
if(T.type != type)
|
|
T.ChangeTurf(type)
|
|
if(underlays.len)
|
|
T.underlays = underlays
|
|
if(T.icon_state != icon_state)
|
|
T.icon_state = icon_state
|
|
if(T.icon != icon)
|
|
T.icon = icon
|
|
if(color)
|
|
T.atom_colours = atom_colours.Copy()
|
|
T.update_atom_colour()
|
|
if(T.dir != dir)
|
|
T.setDir(dir)
|
|
T.transform = transform
|
|
return T
|
|
|
|
/turf/closed/wall/mineral/titanium/copyTurf(turf/T)
|
|
. = ..()
|
|
T.transform = transform
|
|
|
|
/turf/closed/wall/mineral/titanium/survival
|
|
name = "pod wall"
|
|
desc = "An easily-compressable wall used for temporary shelter."
|
|
icon = 'icons/turf/walls/survival_pod_walls.dmi'
|
|
icon_state = "smooth"
|
|
smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
|
|
canSmoothWith = list(/turf/closed/wall/mineral/titanium/survival, /obj/machinery/door/airlock, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/shuttle, /obj/structure/shuttle/engine)
|
|
|
|
/turf/closed/wall/mineral/titanium/survival/nodiagonal
|
|
smooth = SMOOTH_MORE
|
|
|
|
/turf/closed/wall/mineral/titanium/survival/pod
|
|
canSmoothWith = list(/turf/closed/wall/mineral/titanium/survival, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/shuttle/survival_pod)
|
|
|
|
/////////////////////Plastitanium walls/////////////////////
|
|
|
|
/turf/closed/wall/mineral/plastitanium
|
|
name = "wall"
|
|
desc = "A durable wall made of an alloy of plasma and titanium."
|
|
icon = 'icons/turf/walls/plastitanium_wall.dmi'
|
|
icon_state = "map-shuttle"
|
|
explosion_block = 4
|
|
sheet_type = /obj/item/stack/sheet/mineral/plastitanium
|
|
smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
|
|
canSmoothWith = list(/turf/closed/wall/mineral/plastitanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/plastitanium, /obj/structure/shuttle/engine, /obj/structure/falsewall/plastitanium)
|
|
|
|
/turf/closed/wall/mineral/plastitanium/nodiagonal
|
|
smooth = SMOOTH_MORE
|
|
icon_state = "map-shuttle_nd"
|
|
|
|
/turf/closed/wall/mineral/plastitanium/nosmooth
|
|
icon = 'icons/turf/shuttle.dmi'
|
|
icon_state = "wall"
|
|
smooth = SMOOTH_FALSE
|
|
|
|
/turf/closed/wall/mineral/plastitanium/overspace
|
|
icon_state = "map-overspace"
|
|
fixed_underlay = list("space"=1)
|
|
|
|
/turf/closed/wall/mineral/plastitanium/explosive/ex_act(severity)
|
|
var/datum/explosion/acted_explosion = null
|
|
for(var/datum/explosion/E in GLOB.explosions)
|
|
if(E.explosion_id == explosion_id)
|
|
acted_explosion = E
|
|
break
|
|
if(acted_explosion && istype(acted_explosion.explosion_source, /obj/item/bombcore))
|
|
var/obj/item/bombcore/large/bombcore = new(get_turf(src))
|
|
bombcore.detonate()
|
|
..()
|
|
|
|
//have to copypaste this code
|
|
/turf/closed/wall/mineral/plastitanium/interior/copyTurf(turf/T)
|
|
if(T.type != type)
|
|
T.ChangeTurf(type)
|
|
if(underlays.len)
|
|
T.underlays = underlays
|
|
if(T.icon_state != icon_state)
|
|
T.icon_state = icon_state
|
|
if(T.icon != icon)
|
|
T.icon = icon
|
|
if(color)
|
|
T.atom_colours = atom_colours.Copy()
|
|
T.update_atom_colour()
|
|
if(T.dir != dir)
|
|
T.setDir(dir)
|
|
T.transform = transform
|
|
return T
|
|
|
|
/turf/closed/wall/mineral/plastitanium/copyTurf(turf/T)
|
|
. = ..()
|
|
T.transform = transform
|