Slipping Refactor and Floors

This commit is contained in:
Fox-McCloud
2016-01-04 21:22:59 -05:00
parent 103372e92b
commit 4221d033ab
25 changed files with 194 additions and 83 deletions
@@ -57,6 +57,16 @@
put_on_delay = 50
species_restricted = null
/obj/item/clothing/shoes/galoshes/dry
name = "absorbent galoshes"
desc = "A pair of purple rubber boots, designed to prevent slipping on wet surfaces while also drying them."
icon_state = "galoshes_dry"
/obj/item/clothing/shoes/galoshes/dry/step_action()
var/turf/simulated/t_loc = get_turf(src)
if(istype(t_loc) && t_loc.wet)
t_loc.MakeDry(TURF_WET_WATER)
/obj/item/clothing/shoes/clown_shoes
desc = "The prankster's standard-issue clowning shoes. Damn they're huge!"
name = "clown shoes"
@@ -925,6 +925,50 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75
if(!uses)
qdel(src)
/obj/item/stack/tile/bluespace
name = "bluespace floor tile"
singular_name = "floor tile"
desc = "Through a series of micro-teleports these tiles let people move at incredible speeds"
icon_state = "tile-bluespace"
w_class = 3
force = 6
materials = list(MAT_METAL=500)
throwforce = 10
throw_speed = 3
throw_range = 7
flags = CONDUCT
max_amount = 60
turf_type = /turf/simulated/floor/bluespace
/turf/simulated/floor/bluespace
slowdown = -1
icon_state = "bluespace"
desc = "Through a series of micro-teleports these tiles let people move at incredible speeds"
floor_tile = /obj/item/stack/tile/bluespace
/obj/item/stack/tile/sepia
name = "sepia floor tile"
singular_name = "floor tile"
desc = "Time seems to flow very slowly around these tiles"
icon_state = "tile-sepia"
w_class = 3
force = 6
materials = list(MAT_METAL=500)
throwforce = 10
throw_speed = 3
throw_range = 7
flags = CONDUCT
max_amount = 60
turf_type = /turf/simulated/floor/sepia
/turf/simulated/floor/sepia
slowdown = 2
icon_state = "sepia"
desc = "Time seems to flow very slowly around these tiles"
floor_tile = /obj/item/stack/tile/sepia
/obj/effect/goleRUNe
anchored = 1
+2 -1
View File
@@ -236,7 +236,9 @@
src << "\blue You're pinned to a wall by [mob.pinned[1]]!"
return 0
var/turf/T = mob.loc
move_delay = world.time//set move delay
move_delay += T.slowdown
mob.last_movement = world.time
mob.last_move_intent = world.time + 10
switch(mob.m_intent)
@@ -265,7 +267,6 @@
var/mob/M = L[1]
if(M)
if ((get_dist(mob, M) <= 1 || M.loc == mob.loc))
var/turf/T = mob.loc
. = ..()
if (isturf(M.loc))
var/diag = get_dir(mob, M)
+2 -6
View File
@@ -1016,12 +1016,8 @@ datum/reagent/haloperidol/on_mob_life(var/mob/living/M as mob)
if (!istype(T)) return
src = null
if(volume >= 1)
if(T.wet >= 2) //Clears lube! Fight back against the slipping, and WIN!
T.wet = 0
if(T.wet_overlay)
T.overlays -= T.wet_overlay
T.wet_overlay = null
return
if(istype(T) && T.wet)
T.MakeDry(TURF_WET_LUBE)
/datum/reagent/degreaser/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -196,4 +196,11 @@
result = "lsd"
required_reagents = list("diethylamine" = 1, "fungus" = 1)
result_amount = 3
mix_message = "The mixture turns a rather unassuming color and settles."
mix_message = "The mixture turns a rather unassuming color and settles."
drying_agent
name = "Drying agent"
id = "drying_agent"
result = "drying_agent"
required_reagents = list("plasma" = 2, "ethanol" = 1, "sodium" = 1)
result_amount = 3
@@ -450,11 +450,25 @@
Z.loc = get_turf(holder.my_atom)
Z.announce_to_ghosts()
//Bluespace
slimefloor2
name = "Bluespace Floor"
id = "m_floor2"
result = null
required_reagents = list("blood" = 1)
result_amount = 1
required_container = /obj/item/slime_extract/bluespace
required_other = 1
on_reaction(datum/reagents/holder, created_volume)
feedback_add_details("slime_cores_used","[type]")
var/obj/item/stack/tile/bluespace/P = new /obj/item/stack/tile/bluespace
P.amount = 25
P.loc = get_turf(holder.my_atom)
slimecrystal
name = "Slime Crystal"
id = "m_crystal"
result = null
required_reagents = list("blood" = 1)
required_reagents = list("plasma" = 1)
result_amount = 1
required_container = /obj/item/slime_extract/bluespace
required_other = 1
@@ -489,20 +503,23 @@
feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
var/obj/item/device/camera/P = new /obj/item/device/camera
P.loc = get_turf(holder.my_atom)
var/obj/item/device/camera_film/Z = new /obj/item/device/camera_film
Z.loc = get_turf(holder.my_atom)
slimefilm
name = "Slime Film"
id = "m_film"
slimefloor
name = "Sepia Floor"
id = "m_floor"
result = null
required_reagents = list("blood" = 1)
result_amount = 1
required_container = /obj/item/slime_extract/sepia
required_other = 1
on_reaction(var/datum/reagents/holder)
feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
var/obj/item/device/camera_film/P = new /obj/item/device/camera_film
on_reaction(datum/reagents/holder)
feedback_add_details("slime_cores_used","[type]")
var/obj/item/stack/tile/sepia/P = new /obj/item/stack/tile/sepia
P.amount = 25
P.loc = get_turf(holder.my_atom)
//Pyrite
slimepaint
name = "Slime Paint"
@@ -281,21 +281,7 @@
if (!istype(T)) return
src = null
if(volume >= 3)
if(T.wet >= 1) return
T.wet = 1
if(T.wet_overlay)
T.overlays -= T.wet_overlay
T.wet_overlay = null
T.wet_overlay = image('icons/effects/water.dmi',T,"wet_floor")
T.overlays += T.wet_overlay
spawn(800)
if (!istype(T)) return
if(T.wet >= 2) return
T.wet = 0
if(T.wet_overlay)
T.overlays -= T.wet_overlay
T.wet_overlay = null
T.MakeSlippery()
var/hotspot = (locate(/obj/effect/hotspot) in T)
if(hotspot)
var/datum/gas_mixture/lowertemp = T.remove_air( T:air:total_moles() )
@@ -31,21 +31,7 @@
if (!istype(T)) return
src = null
if(volume >= 3)
if(T.wet >= 1) return
T.wet = 1
if(T.wet_overlay)
T.overlays -= T.wet_overlay
T.wet_overlay = null
T.wet_overlay = image('icons/effects/water.dmi',T,"wet_floor")
T.overlays += T.wet_overlay
spawn(800)
if (!istype(T)) return
if(T.wet >= 2) return
T.wet = 0
if(T.wet_overlay)
T.overlays -= T.wet_overlay
T.wet_overlay = null
T.MakeSlippery()
for(var/mob/living/carbon/slime/M in T)
M.apply_water()
@@ -91,15 +77,7 @@
if (!istype(T)) return
src = null
if(volume >= 1)
if(T.wet >= 2) return
T.wet = 2
spawn(800)
if (!istype(T)) return
T.wet = 0
if(T.wet_overlay)
T.overlays -= T.wet_overlay
T.wet_overlay = null
return
T.MakeSlippery(TURF_WET_LUBE)
/datum/reagent/space_cleaner
@@ -350,6 +328,23 @@
reagent_state = LIQUID
color = "#FFFFD6" // very very light yellow
/datum/reagent/drying_agent
name = "Drying agent"
id = "drying_agent"
description = "Can be used to dry things."
reagent_state = LIQUID
color = "#A70FFF"
/datum/reagent/drying_agent/reaction_turf(turf/simulated/T, reac_volume)
if(istype(T) && T.wet)
T.MakeDry(TURF_WET_WATER)
/datum/reagent/drying_agent/reaction_obj(obj/O, reac_volume)
if(istype(O, /obj/item/clothing/shoes/galoshes))
var/t_loc = get_turf(O)
qdel(O)
new /obj/item/clothing/shoes/galoshes/dry(t_loc)
/*
/datum/reagent/vaccine
//data must contain virus type
+2 -13
View File
@@ -556,19 +556,8 @@
if(istype(mob.loc,/turf/simulated))
var/turf/simulated/T = mob.loc
if(T.wet < 1)
T.wet = 1
if(T.wet_overlay)
T.overlays -= T.wet_overlay
T.wet_overlay = null
T.wet_overlay = image('icons/effects/water.dmi',T,"wet_floor")
T.overlays += T.wet_overlay
spawn(800)
if (istype(T) && T.wet < 2)
T.wet = 0
if(T.wet_overlay)
T.overlays -= T.wet_overlay
T.wet_overlay = null
if(T.wet < TURF_WET_WATER)
T.MakeSlippery()