From b890a512ee98b09166aa556d22f1caf7ff4f1d02 Mon Sep 17 00:00:00 2001 From: "baloh.matevz" Date: Sun, 9 Jan 2011 02:46:27 +0000 Subject: [PATCH] Overlays algorithm for the mines. Currently works for asteroid turf (floors) and updates when minerals are mined. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@818 316c924e-a436-60f5-8080-3fe189b3f50e --- code/WorkInProgress/mining.dm | 56 +++++++++++++++++++++++++++++----- icons/turf/walls.dmi | Bin 73761 -> 74391 bytes 2 files changed, 48 insertions(+), 8 deletions(-) diff --git a/code/WorkInProgress/mining.dm b/code/WorkInProgress/mining.dm index 01f6555c243..82ad389f577 100644 --- a/code/WorkInProgress/mining.dm +++ b/code/WorkInProgress/mining.dm @@ -30,11 +30,6 @@ var/mineralName = "" var/mineralAmt = 0 -/turf/simulated/asteroid/New() - ..() - oxygen = 0.01 - nitrogen = 0.01 - /turf/simulated/mineral/urenium name = "Uranium deposit" icon_state = "rock_Uranium" @@ -73,12 +68,12 @@ /turf/simulated/mineral/ReplaceWithFloor() if(!icon_old) icon_old = icon_state - var/turf/simulated/floor/airless/W + var/turf/simulated/floor/airless/asteroid/W var/old_dir = dir - W = new /turf/simulated/floor/airless( locate(src.x, src.y, src.z) ) + W = new /turf/simulated/floor/airless/asteroid( locate(src.x, src.y, src.z) ) W.dir = old_dir - W.icon_state = "asteroid" + W.fullUpdateMineralOverlays() /* W.icon_old = old_icon @@ -89,6 +84,7 @@ W.levelupdate() return W + /turf/simulated/mineral/attackby(obj/item/weapon/W as obj, mob/user as mob) if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") @@ -148,6 +144,8 @@ if (prob(50)) seedName = pick(list("1","2","3","4")) seedAmt = rand(1,4) + spawn(2) + updateMineralOverlays() /turf/simulated/floor/airless/asteroid/attackby(obj/item/weapon/W as obj, mob/user as mob) if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") @@ -193,6 +191,48 @@ seedAmt = 0 return +/turf/simulated/floor/airless/asteroid/proc/updateMineralOverlays() + + src.overlays = null + + if(istype(get_step(src, NORTH), /turf/simulated/mineral)) + src.overlays += image('walls.dmi', "rock_side_n") + if(istype(get_step(src, SOUTH), /turf/simulated/mineral)) + src.overlays += image('walls.dmi', "rock_side_s", layer=6) + if(istype(get_step(src, EAST), /turf/simulated/mineral)) + src.overlays += image('walls.dmi', "rock_side_e", layer=6) + if(istype(get_step(src, WEST), /turf/simulated/mineral)) + src.overlays += image('walls.dmi', "rock_side_w", layer=6) + + +/turf/simulated/floor/airless/asteroid/proc/fullUpdateMineralOverlays() + var/turf/simulated/floor/airless/asteroid/A + if(istype(get_step(src, WEST), /turf/simulated/floor/airless/asteroid)) + A = get_step(src, WEST) + A.updateMineralOverlays() + if(istype(get_step(src, EAST), /turf/simulated/floor/airless/asteroid)) + A = get_step(src, EAST) + A.updateMineralOverlays() + if(istype(get_step(src, NORTH), /turf/simulated/floor/airless/asteroid)) + A = get_step(src, NORTH) + A.updateMineralOverlays() + if(istype(get_step(src, NORTHWEST), /turf/simulated/floor/airless/asteroid)) + A = get_step(src, NORTHWEST) + A.updateMineralOverlays() + if(istype(get_step(src, NORTHEAST), /turf/simulated/floor/airless/asteroid)) + A = get_step(src, NORTHEAST) + A.updateMineralOverlays() + if(istype(get_step(src, SOUTHWEST), /turf/simulated/floor/airless/asteroid)) + A = get_step(src, SOUTHWEST) + A.updateMineralOverlays() + if(istype(get_step(src, SOUTHEAST), /turf/simulated/floor/airless/asteroid)) + A = get_step(src, SOUTHEAST) + A.updateMineralOverlays() + if(istype(get_step(src, SOUTH), /turf/simulated/floor/airless/asteroid)) + A = get_step(src, SOUTH) + A.updateMineralOverlays() + src.updateMineralOverlays() + /**********************Mineral ores**************************/ /obj/item/weapon/ore diff --git a/icons/turf/walls.dmi b/icons/turf/walls.dmi index 228748613699f8dd7258ae1591190c3c080f6715..fd316f65163d958629e125e4bbd9df46ed65a8e0 100644 GIT binary patch delta 5184 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 delta 4550 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