Syncs maps, and a bunch of other things that no one will care about/notice/give fucks about until they break. Welcome to conflict hell. (#2460)
* fuck pubby * fuck you too ceres * ree * this is going to be a disaster isn't it * disaster * dme * -_- * tg * woops * proper sync * Welcome to conflict hell. * lets hope this fixes more things than it breaks * gdi * goddamnit
This commit is contained in:
@@ -195,6 +195,7 @@
|
||||
if(wet >= wet_setting)
|
||||
return
|
||||
wet = wet_setting
|
||||
UpdateSlip()
|
||||
if(wet_setting != TURF_DRY)
|
||||
if(wet_overlay)
|
||||
cut_overlay(wet_overlay)
|
||||
@@ -217,6 +218,30 @@
|
||||
add_overlay(wet_overlay)
|
||||
HandleWet()
|
||||
|
||||
/turf/open/proc/UpdateSlip()
|
||||
switch(wet)
|
||||
if(TURF_WET_WATER)
|
||||
AddComponent(/datum/component/slippery, 60, NO_SLIP_WHEN_WALKING)
|
||||
if(TURF_WET_LUBE)
|
||||
AddComponent(/datum/component/slippery, 80, SLIDE | GALOSHES_DONT_HELP)
|
||||
if(TURF_WET_ICE)
|
||||
AddComponent(/datum/component/slippery, 120, SLIDE | GALOSHES_DONT_HELP)
|
||||
if(TURF_WET_PERMAFROST)
|
||||
AddComponent(/datum/component/slippery, 120, SLIDE_ICE | GALOSHES_DONT_HELP)
|
||||
if(TURF_WET_SLIDE)
|
||||
AddComponent(/datum/component/slippery, 80, SLIDE | GALOSHES_DONT_HELP)
|
||||
else
|
||||
qdel(GetComponent(/datum/component/slippery))
|
||||
|
||||
/turf/open/ComponentActivated(datum/component/C)
|
||||
..()
|
||||
var/datum/component/slippery/S = C
|
||||
if(!istype(S))
|
||||
return
|
||||
if(wet == TURF_WET_LUBE)
|
||||
var/mob/living/L = S.slip_victim
|
||||
L.confused = max(L.confused, 8)
|
||||
|
||||
/turf/open/proc/MakeDry(wet_setting = TURF_WET_WATER)
|
||||
if(wet > wet_setting || !wet)
|
||||
return
|
||||
@@ -229,6 +254,7 @@
|
||||
wet = TURF_DRY
|
||||
if(wet_overlay)
|
||||
cut_overlay(wet_overlay)
|
||||
UpdateSlip()
|
||||
|
||||
/turf/open/proc/HandleWet()
|
||||
if(!wet)
|
||||
@@ -273,3 +299,13 @@
|
||||
wet_time = 0
|
||||
if(wet)
|
||||
addtimer(CALLBACK(src, .proc/HandleWet), 15, TIMER_UNIQUE)
|
||||
|
||||
/turf/open/get_dumping_location()
|
||||
return src
|
||||
|
||||
/turf/open/proc/ClearWet()//Nuclear option of immediately removing slipperyness from the tile instead of the natural drying over time
|
||||
wet = TURF_DRY
|
||||
UpdateSlip()
|
||||
if(wet_overlay)
|
||||
cut_overlay(wet_overlay)
|
||||
|
||||
|
||||
@@ -25,14 +25,14 @@
|
||||
//The code below here isn't exactly optimal, but because of the individual decals that each area uses it's still applicable.
|
||||
|
||||
//high dirt - 1/3
|
||||
if(istype(A, /area/science/test_area) || istype(A, /area/mine/production) || istype(A, /area/mine/living_quarters) || istype(A, /area/mine/north_outpost) || istype(A, /area/mine/west_outpost) || istype(A, /area/wreck) || istype(A, /area/derelict) || istype(A, /area/djstation))
|
||||
if(istype(A, /area/science/test_area) || istype(A, /area/mine/production) || istype(A, /area/mine/living_quarters) || istype(A, /area/mine/north_outpost) || istype(A, /area/mine/west_outpost) || istype(A, /area/ruin/space))
|
||||
new /obj/effect/decal/cleanable/dirt(src) //vanilla, but it works
|
||||
return
|
||||
|
||||
if(prob(80)) //mid dirt - 1/15
|
||||
return
|
||||
|
||||
if(istype(A, /area/engine) || istype(A, /area/crew_quarters/heads/chief) || istype(A, /area/assembly) || istype(A, /area/science/robotics) || istype(A, /area/maintenance) || istype(A, /area/construction))
|
||||
if(istype(A, /area/engine) || istype(A, /area/crew_quarters/heads/chief) || istype(A, /area/ruin/space/derelict/assembly_line) || istype(A, /area/science/robotics) || istype(A, /area/maintenance) || istype(A, /area/construction))
|
||||
//Blood, sweat, and oil. Oh, and dirt.
|
||||
if(prob(3))
|
||||
new /obj/effect/decal/cleanable/blood/old(src)
|
||||
|
||||
@@ -46,12 +46,19 @@
|
||||
/turf/open/floor/circuit/airless
|
||||
initial_gas_mix = "TEMP=2.7"
|
||||
|
||||
/turf/open/floor/circuit/killroom
|
||||
name = "Killroom Floor"
|
||||
initial_gas_mix = "n2=500;TEMP=80"
|
||||
|
||||
/turf/open/floor/circuit/telecomms
|
||||
initial_gas_mix = "n2=100;TEMP=80"
|
||||
|
||||
/turf/open/floor/circuit/telecomms/mainframe
|
||||
name = "Mainframe Base"
|
||||
|
||||
/turf/open/floor/circuit/telecomms/server
|
||||
name = "Server Base"
|
||||
|
||||
/turf/open/floor/circuit/green
|
||||
icon_state = "gcircuit"
|
||||
icon_normal = "gcircuit"
|
||||
@@ -271,4 +278,4 @@
|
||||
//Do this *after* the turf has changed as qdel in spacevines will call changeturf again if it hasn't
|
||||
for(var/obj/structure/spacevine/SV in src)
|
||||
if(!QDESTROYING(SV))//Helps avoid recursive loops
|
||||
qdel(SV)
|
||||
qdel(SV)
|
||||
|
||||
@@ -21,6 +21,10 @@
|
||||
initial_gas_mix = "n2=100;TEMP=80"
|
||||
/turf/open/floor/plasteel/black/telecomms/mainframe
|
||||
name = "Mainframe Floor"
|
||||
/turf/open/floor/plasteel/black/telecomms/server
|
||||
name = "Server Base"
|
||||
/turf/open/floor/plasteel/black/telecomms/server/walkway
|
||||
name = "Server Walkway"
|
||||
/turf/open/floor/plasteel/airless/black
|
||||
icon_state = "dark"
|
||||
/turf/open/floor/plasteel/black/side
|
||||
@@ -355,6 +359,8 @@
|
||||
initial_gas_mix = "n2=100;TEMP=80"
|
||||
/turf/open/floor/plasteel/vault/telecomms/mainframe
|
||||
name = "Mainframe Floor"
|
||||
/turf/open/floor/plasteel/vault/killroom
|
||||
name = "Killroom Floor"
|
||||
|
||||
/turf/open/floor/plasteel/cult
|
||||
icon_state = "cult"
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
* Airless
|
||||
* Airless plating
|
||||
* Engine floor
|
||||
* Foam plating
|
||||
*/
|
||||
// note that plating and engine floor do not call their parent attackby, unlike other flooring
|
||||
// this is done in order to avoid inheriting the crowbar attackby
|
||||
@@ -69,3 +70,35 @@
|
||||
icon_state = icon_plating
|
||||
burnt = 0
|
||||
broken = 0
|
||||
|
||||
/turf/open/floor/plating/foam
|
||||
name = "metal foam plating"
|
||||
desc = "Thin, fragile flooring created with metal foam."
|
||||
icon_state = "foam_plating"
|
||||
broken_states = list("foam_plating")
|
||||
burnt_states = list("foam_plating")
|
||||
|
||||
/turf/open/floor/plating/foam/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/stack/tile/plasteel))
|
||||
var/obj/item/stack/tile/plasteel/P = I
|
||||
if(P.use(1))
|
||||
var/obj/L = locate(/obj/structure/lattice) in src
|
||||
if(L)
|
||||
qdel(L)
|
||||
to_chat(user, "<span class='notice'>You reinforce the foamed plating with tiling.</span>")
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 50, TRUE)
|
||||
ChangeTurf(/turf/open/floor/plating)
|
||||
else
|
||||
playsound(src, 'sound/weapons/tap.ogg', 100, TRUE) //The attack sound is muffled by the foam itself
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.do_attack_animation(src)
|
||||
if(prob(I.force * 20 - 25))
|
||||
user.visible_message("<span class='danger'>[user] smashes through [src]!</span>", \
|
||||
"<span class='danger'>You smash through [src] with [I]!</span>")
|
||||
ChangeTurf(baseturf)
|
||||
else
|
||||
to_chat(user, "<span class='danger'>You hit [src], to no effect!</span>")
|
||||
|
||||
/turf/open/floor/plating/foam/ex_act()
|
||||
..()
|
||||
ChangeTurf(baseturf)
|
||||
|
||||
Regular → Executable
+3
-19
@@ -169,27 +169,8 @@
|
||||
has_opaque_atom = TRUE // Make sure to do this before reconsider_lights(), incase we're on instant updates. Guaranteed to be on in this case.
|
||||
reconsider_lights()
|
||||
|
||||
|
||||
/turf/open/Entered(atom/movable/AM)
|
||||
..()
|
||||
//slipping
|
||||
if (istype(AM, /mob/living/carbon))
|
||||
var/mob/living/carbon/M = AM
|
||||
if(M.movement_type & FLYING)
|
||||
return
|
||||
switch(wet)
|
||||
if(TURF_WET_WATER)
|
||||
if(!M.slip(60, null, NO_SLIP_WHEN_WALKING))
|
||||
M.inertia_dir = 0
|
||||
if(TURF_WET_LUBE)
|
||||
if(M.slip(80, null, (SLIDE|GALOSHES_DONT_HELP)))
|
||||
M.confused = max(M.confused, 8)
|
||||
if(TURF_WET_ICE)
|
||||
M.slip(120, null, (SLIDE|GALOSHES_DONT_HELP))
|
||||
if(TURF_WET_PERMAFROST)
|
||||
M.slip(120, null, (SLIDE_ICE|GALOSHES_DONT_HELP))
|
||||
if(TURF_WET_SLIDE)
|
||||
M.slip(80, null, (SLIDE|GALOSHES_DONT_HELP))
|
||||
//melting
|
||||
if(isobj(AM) && air && air.temperature > T0C)
|
||||
var/obj/O = AM
|
||||
@@ -554,3 +535,6 @@
|
||||
else
|
||||
return I
|
||||
return I
|
||||
|
||||
/turf/AllowDrop()
|
||||
return TRUE
|
||||
|
||||
Reference in New Issue
Block a user