diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 82ae1d4ec21..005e18bd920 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -2,6 +2,7 @@ icon = 'icons/turf/floors.dmi' level = 1.0 + var/slowdown = 0 //negative for faster, positive for slower var/intact = 1 var/baseturf = /turf/space diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index f2e81516823..d734d7bc2c4 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -137,8 +137,12 @@ if(isturf(mob.loc)) + + var/turf/T = mob.loc move_delay = world.time//set move delay + move_delay += T.slowdown + if(mob.restrained()) //Why being pulled while cuffed prevents you from moving for(var/mob/M in range(mob, 1)) if(M.pulling == mob) @@ -175,7 +179,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) diff --git a/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm b/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm index 7c26d80e4c2..996604a0822 100644 --- a/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm +++ b/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm @@ -502,11 +502,27 @@ notify_ghosts("Golem rune created in [get_area(Z)].", 'sound/effects/ghost2.ogg') //Bluespace +/datum/chemical_reaction/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 + +/datum/chemical_reaction/slimefloor2/on_reaction(var/datum/reagents/holder, var/created_volume) + feedback_add_details("slime_cores_used","[replacetext(name," ","_")]") + var/obj/item/stack/tile/bluespace/P = new /obj/item/stack/tile/bluespace + P.amount = 25 + P.loc = get_turf(holder.my_atom) + + /datum/chemical_reaction/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 @@ -555,7 +571,7 @@ name = "Slime Camera" id = "m_camera" result = null - required_reagents = list("blood" = 1) + required_reagents = list("water" = 1) result_amount = 1 required_container = /obj/item/slime_extract/sepia required_other = 1 @@ -564,19 +580,22 @@ 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) -/datum/chemical_reaction/slimefilm - name = "Slime Film" - id = "m_film" +/datum/chemical_reaction/slimefloor + name = "Sepia Floor" + id = "m_floor" result = null - required_reagents = list("water" = 1) + required_reagents = list("blood" = 1) result_amount = 1 required_container = /obj/item/slime_extract/sepia required_other = 1 -/datum/chemical_reaction/slimefilm/on_reaction(var/datum/reagents/holder) +/datum/chemical_reaction/slimefloor/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 + var/obj/item/stack/tile/sepia/P = new /obj/item/stack/tile/sepia + P.amount = 25 P.loc = get_turf(holder.my_atom) diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 6fe6005cdf4..c242d67a9eb 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -472,3 +472,50 @@ qdel(src) return sleep(1) + + + +/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.0 + force = 6.0 + m_amt = 937.5 + throwforce = 10.0 + 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.0 + force = 6.0 + m_amt = 937.5 + throwforce = 10.0 + 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 \ No newline at end of file diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index fabc21f2d9e..36e34fa6229 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index 56c0c7d5afa..f988d836e36 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ