Merge pull request #6427 from paprka/janitorbuffholyfuckvalvepleasenerf

Adds dirt overlays for walking on simulated turfs
This commit is contained in:
Remie Richards
2015-01-04 02:22:50 +00:00
8 changed files with 34 additions and 4 deletions
+2
View File
@@ -21,6 +21,8 @@
obj/item/weapon/mop/proc/clean(turf/simulated/A)
if(reagents.has_reagent("water", 1) || reagents.has_reagent("holywater", 1))
A.clean_blood()
var/turf/simulated/floor/F = A
F.dirt = 0
for(var/obj/effect/O in A)
if(istype(O,/obj/effect/decal/cleanable) || istype(O,/obj/effect/overlay))
qdel(O)
-2
View File
@@ -37,12 +37,10 @@
if (istype(A,/mob/living/carbon))
var/mob/living/carbon/M = A
if(M.lying) return
switch (src.wet)
if(1) //wet floor
if(!M.slip(4, 2, null, (NO_SLIP_WHEN_WALKING|STEP)))
M.inertia_dir = 0
return
if(2) //lube
M.slip(0, 7, null, (STEP|SLIDE|GALOSHES_DONT_HELP))
+19 -1
View File
@@ -32,6 +32,8 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
var/obj/item/stack/tile/builtin_tile = null //needed for performance reasons when the singularity rips off floor tiles
var/list/broken_states = list("damaged1", "damaged2", "damaged3", "damaged4", "damaged5")
var/list/burnt_states = list()
var/dirt = 0
var/ignoredirt = 0
/turf/simulated/floor/New()
..()
@@ -161,4 +163,20 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
/turf/simulated/floor/narsie_act()
if(prob(20))
ChangeTurf(/turf/simulated/floor/engine/cult)
ChangeTurf(/turf/simulated/floor/engine/cult)
/turf/simulated/floor/Entered(atom/A, atom/OL)
..()
if(!ignoredirt)
if(has_gravity(src))
if(istype(A,/mob/living/carbon))
var/mob/living/carbon/M = A
if(M.lying) return
dirt++
var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt, src)
if (dirt >= 30)
if (!dirtoverlay)
dirtoverlay = new/obj/effect/decal/cleanable/dirt(src)
dirtoverlay.alpha = 15
else if (dirt > 30)
dirtoverlay.alpha = min(dirtoverlay.alpha+20, 255)
@@ -41,6 +41,7 @@
icon_state = "grass1"
floor_tile = /obj/item/stack/tile/grass
broken_states = list("sand1", "sand2", "sand3")
ignoredirt = 1
/turf/simulated/floor/fancy/grass/New()
..()
@@ -63,6 +63,7 @@
/turf/simulated/floor/beach
name = "Beach"
icon = 'icons/misc/beach.dmi'
ignoredirt = 1
/turf/simulated/floor/beach/ex_act(severity, target)
contents_explosion(severity, target)
@@ -84,11 +85,13 @@
..()
name = "Iron Sand"
icon_state = "ironsand[rand(1,15)]"
ignoredirt = 1
/turf/simulated/floor/plating/snow
name = "snow"
icon = 'icons/turf/snow.dmi'
icon_state = "snow"
ignoredirt = 1
/turf/simulated/floor/plating/snow/ex_act(severity, target)
contents_explosion(severity, target)
+1
View File
@@ -475,6 +475,7 @@
icon_state = "asteroid"
icon_plating = "asteroid"
var/dug = 0 //0 = has not yet been dug, 1 = has already been dug
ignoredirt = 1
/turf/simulated/floor/plating/asteroid/airless
oxygen = 0.01
@@ -846,6 +846,9 @@
var/turf/tile = loc
if(isturf(tile))
tile.clean_blood()
if (istype(tile, /turf/simulated/floor))
var/turf/simulated/floor/F = tile
F.dirt = 0
for(var/A in tile)
if(istype(A, /obj/effect))
if(istype(A, /obj/effect/rune) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay))
@@ -650,6 +650,10 @@ datum/reagent/space_cleaner/reaction_turf(var/turf/T, var/volume)
for(var/mob/living/carbon/slime/M in T)
M.adjustToxLoss(rand(5,10))
if(istype(T, /turf/simulated/floor))
var/turf/simulated/floor/F = T
if(volume >= 1)
F.dirt = 0
datum/reagent/space_cleaner/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
if(iscarbon(M))
@@ -854,4 +858,4 @@ datum/reagent/plantnutriment/robustharvestnutriment
// Undefine the alias for REAGENTS_EFFECT_MULTIPLER
#undef REM
#undef REM