mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 01:49:19 +00:00
233 lines
5.5 KiB
Plaintext
233 lines
5.5 KiB
Plaintext
/* In this file:
|
|
*
|
|
* Plasma floor
|
|
* Gold floor
|
|
* Silver floor
|
|
* Bananium floor
|
|
* Diamond floor
|
|
* Uranium floor
|
|
* Shuttle floor (Titanium)
|
|
*/
|
|
|
|
/turf/open/floor/mineral
|
|
name = "mineral floor"
|
|
icon_state = ""
|
|
var/list/icons
|
|
|
|
|
|
|
|
/turf/open/floor/mineral/Initialize()
|
|
broken_states = list("[initial(icon_state)]_dam")
|
|
. = ..()
|
|
if (!icons)
|
|
icons = list()
|
|
|
|
|
|
/turf/open/floor/mineral/update_icon()
|
|
if(!..())
|
|
return 0
|
|
if(!broken && !burnt)
|
|
if( !(icon_state in icons) )
|
|
icon_state = initial(icon_state)
|
|
|
|
//PLASMA
|
|
|
|
/turf/open/floor/mineral/plasma
|
|
name = "plasma floor"
|
|
icon_state = "plasma"
|
|
floor_tile = /obj/item/stack/tile/mineral/plasma
|
|
icons = list("plasma","plasma_dam")
|
|
|
|
/turf/open/floor/mineral/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
|
if(exposed_temperature > 300)
|
|
PlasmaBurn(exposed_temperature)
|
|
|
|
/turf/open/floor/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 flooring was ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(src)]")
|
|
log_game("Plasma flooring was ignited by [key_name(user)] in [AREACOORD(src)]")
|
|
ignite(W.is_hot())
|
|
return
|
|
..()
|
|
|
|
/turf/open/floor/mineral/plasma/proc/PlasmaBurn(temperature)
|
|
make_plating()
|
|
atmos_spawn_air("plasma=20;TEMP=[temperature]")
|
|
|
|
/turf/open/floor/mineral/plasma/proc/ignite(exposed_temperature)
|
|
if(exposed_temperature > 300)
|
|
PlasmaBurn(exposed_temperature)
|
|
|
|
|
|
//GOLD
|
|
|
|
/turf/open/floor/mineral/gold
|
|
name = "gold floor"
|
|
icon_state = "gold"
|
|
floor_tile = /obj/item/stack/tile/mineral/gold
|
|
icons = list("gold","gold_dam")
|
|
|
|
//SILVER
|
|
|
|
/turf/open/floor/mineral/silver
|
|
name = "silver floor"
|
|
icon_state = "silver"
|
|
floor_tile = /obj/item/stack/tile/mineral/silver
|
|
icons = list("silver","silver_dam")
|
|
|
|
//TITANIUM (shuttle)
|
|
|
|
/turf/open/floor/mineral/titanium/blue
|
|
icon_state = "shuttlefloor"
|
|
icons = list("shuttlefloor","shuttlefloor_dam")
|
|
|
|
/turf/open/floor/mineral/titanium/blue/airless
|
|
initial_gas_mix = "TEMP=2.7"
|
|
|
|
/turf/open/floor/mineral/titanium/yellow
|
|
icon_state = "shuttlefloor2"
|
|
icons = list("shuttlefloor2","shuttlefloor2_dam")
|
|
|
|
/turf/open/floor/mineral/titanium/yellow/airless
|
|
initial_gas_mix = "TEMP=2.7"
|
|
|
|
/turf/open/floor/mineral/titanium
|
|
name = "shuttle floor"
|
|
icon_state = "shuttlefloor3"
|
|
floor_tile = /obj/item/stack/tile/mineral/titanium
|
|
icons = list("shuttlefloor3","shuttlefloor3_dam")
|
|
|
|
/turf/open/floor/mineral/titanium/airless
|
|
initial_gas_mix = "TEMP=2.7"
|
|
|
|
/turf/open/floor/mineral/titanium/purple
|
|
icon_state = "shuttlefloor5"
|
|
icons = list("shuttlefloor5","shuttlefloor5_dam")
|
|
|
|
/turf/open/floor/mineral/titanium/purple/airless
|
|
initial_gas_mix = "TEMP=2.7"
|
|
|
|
//PLASTITANIUM (syndieshuttle)
|
|
/turf/open/floor/mineral/plastitanium
|
|
name = "shuttle floor"
|
|
icon_state = "shuttlefloor4"
|
|
floor_tile = /obj/item/stack/tile/mineral/plastitanium
|
|
icons = list("shuttlefloor4","shuttlefloor4_dam")
|
|
|
|
/turf/open/floor/mineral/plastitanium/airless
|
|
initial_gas_mix = "TEMP=2.7"
|
|
|
|
/turf/open/floor/mineral/plastitanium/brig
|
|
name = "Brig floor"
|
|
|
|
//BANANIUM
|
|
|
|
/turf/open/floor/mineral/bananium
|
|
name = "bananium floor"
|
|
icon_state = "bananium"
|
|
floor_tile = /obj/item/stack/tile/mineral/bananium
|
|
icons = list("bananium","bananium_dam")
|
|
var/spam_flag = 0
|
|
|
|
/turf/open/floor/mineral/bananium/Entered(var/mob/living/L)
|
|
.=..()
|
|
if(!.)
|
|
if(istype(L))
|
|
squeek()
|
|
|
|
/turf/open/floor/mineral/bananium/attackby(obj/item/W, mob/user, params)
|
|
.=..()
|
|
if(!.)
|
|
honk()
|
|
|
|
/turf/open/floor/mineral/bananium/attack_hand(mob/user)
|
|
.=..()
|
|
if(!.)
|
|
honk()
|
|
|
|
/turf/open/floor/mineral/bananium/attack_paw(mob/user)
|
|
.=..()
|
|
if(!.)
|
|
honk()
|
|
|
|
/turf/open/floor/mineral/bananium/proc/honk()
|
|
if(spam_flag < world.time)
|
|
playsound(src, 'sound/items/bikehorn.ogg', 50, 1)
|
|
spam_flag = world.time + 20
|
|
|
|
/turf/open/floor/mineral/bananium/proc/squeek()
|
|
if(spam_flag < world.time)
|
|
playsound(src, "clownstep", 50, 1)
|
|
spam_flag = world.time + 10
|
|
|
|
/turf/open/floor/mineral/bananium/airless
|
|
initial_gas_mix = "TEMP=2.7"
|
|
|
|
//DIAMOND
|
|
|
|
/turf/open/floor/mineral/diamond
|
|
name = "diamond floor"
|
|
icon_state = "diamond"
|
|
floor_tile = /obj/item/stack/tile/mineral/diamond
|
|
icons = list("diamond","diamond_dam")
|
|
|
|
//URANIUM
|
|
|
|
/turf/open/floor/mineral/uranium
|
|
name = "uranium floor"
|
|
icon_state = "uranium"
|
|
floor_tile = /obj/item/stack/tile/mineral/uranium
|
|
icons = list("uranium","uranium_dam")
|
|
var/last_event = 0
|
|
var/active = null
|
|
|
|
/turf/open/floor/mineral/uranium/Entered(var/mob/AM)
|
|
.=..()
|
|
if(!.)
|
|
if(istype(AM))
|
|
radiate()
|
|
|
|
/turf/open/floor/mineral/uranium/attackby(obj/item/W, mob/user, params)
|
|
.=..()
|
|
if(!.)
|
|
radiate()
|
|
|
|
/turf/open/floor/mineral/uranium/attack_hand(mob/user)
|
|
.=..()
|
|
if(!.)
|
|
radiate()
|
|
|
|
/turf/open/floor/mineral/uranium/attack_paw(mob/user)
|
|
.=..()
|
|
if(!.)
|
|
radiate()
|
|
|
|
/turf/open/floor/mineral/uranium/proc/radiate()
|
|
if(!active)
|
|
if(world.time > last_event+15)
|
|
active = 1
|
|
radiation_pulse(src, 10)
|
|
for(var/turf/open/floor/mineral/uranium/T in orange(1,src))
|
|
T.radiate()
|
|
last_event = world.time
|
|
active = 0
|
|
return
|
|
|
|
// ALIEN ALLOY
|
|
/turf/open/floor/mineral/abductor
|
|
name = "alien floor"
|
|
icon_state = "alienpod1"
|
|
floor_tile = /obj/item/stack/tile/mineral/abductor
|
|
icons = list("alienpod1", "alienpod2", "alienpod3", "alienpod4", "alienpod5", "alienpod6", "alienpod7", "alienpod8", "alienpod9")
|
|
baseturfs = /turf/open/floor/plating/abductor2
|
|
|
|
/turf/open/floor/mineral/abductor/Initialize()
|
|
. = ..()
|
|
icon_state = "alienpod[rand(1,9)]"
|
|
|
|
/turf/open/floor/mineral/abductor/break_tile()
|
|
return //unbreakable
|
|
|
|
/turf/open/floor/mineral/abductor/burn_tile()
|
|
return //unburnable
|