mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-31 00:58:26 +01:00
Image Caches:
Mining rock turf edge overlays Alien weed overlays SMES overlays
This commit is contained in:
@@ -7,6 +7,10 @@
|
||||
* effect/acid
|
||||
*/
|
||||
|
||||
#define WEED_NORTH_EDGING "north"
|
||||
#define WEED_SOUTH_EDGING "south"
|
||||
#define WEED_EAST_EDGING "east"
|
||||
#define WEED_WEST_EDGING "west"
|
||||
|
||||
/obj/structure/alien
|
||||
icon = 'icons/mob/alien.dmi'
|
||||
@@ -167,6 +171,7 @@
|
||||
layer = 2
|
||||
var/health = 15
|
||||
var/obj/structure/alien/weeds/node/linked_node = null
|
||||
var/static/list/weedImageCache
|
||||
|
||||
|
||||
/obj/structure/alien/weeds/New(pos, node)
|
||||
@@ -251,22 +256,31 @@
|
||||
/obj/structure/alien/weeds/proc/updateWeedOverlays()
|
||||
|
||||
overlays.Cut()
|
||||
|
||||
if(!weedImageCache || !weedImageCache.len)
|
||||
weedImageCache = list()
|
||||
weedImageCache.len = 4
|
||||
weedImageCache[WEED_NORTH_EDGING] = image('icons/mob/alien.dmi', "weeds_side_n", layer=2.11, pixel_y = -32)
|
||||
weedImageCache[WEED_SOUTH_EDGING] = image('icons/mob/alien.dmi', "weeds_side_s", layer=2.11, pixel_y = 32)
|
||||
weedImageCache[WEED_EAST_EDGING] = image('icons/mob/alien.dmi', "weeds_side_e", layer=2.11, pixel_x = -32)
|
||||
weedImageCache[WEED_WEST_EDGING] = image('icons/mob/alien.dmi', "weeds_side_w", layer=2.11, pixel_x = 32)
|
||||
|
||||
var/turf/N = get_step(src, NORTH)
|
||||
var/turf/S = get_step(src, SOUTH)
|
||||
var/turf/E = get_step(src, EAST)
|
||||
var/turf/W = get_step(src, WEST)
|
||||
if(!locate(/obj/structure/alien) in N.contents)
|
||||
if(istype(N, /turf/simulated/floor))
|
||||
src.overlays += image('icons/mob/alien.dmi', "weeds_side_s", layer=2.11, pixel_y = 32)
|
||||
overlays += weedImageCache[WEED_SOUTH_EDGING]
|
||||
if(!locate(/obj/structure/alien) in S.contents)
|
||||
if(istype(S, /turf/simulated/floor))
|
||||
src.overlays += image('icons/mob/alien.dmi', "weeds_side_n", layer=2.11, pixel_y = -32)
|
||||
overlays += weedImageCache[WEED_NORTH_EDGING]
|
||||
if(!locate(/obj/structure/alien) in E.contents)
|
||||
if(istype(E, /turf/simulated/floor))
|
||||
src.overlays += image('icons/mob/alien.dmi', "weeds_side_w", layer=2.11, pixel_x = 32)
|
||||
overlays += weedImageCache[WEED_WEST_EDGING]
|
||||
if(!locate(/obj/structure/alien) in W.contents)
|
||||
if(istype(W, /turf/simulated/floor))
|
||||
src.overlays += image('icons/mob/alien.dmi', "weeds_side_e", layer=2.11, pixel_x = -32)
|
||||
overlays += weedImageCache[WEED_EAST_EDGING]
|
||||
|
||||
|
||||
/obj/structure/alien/weeds/proc/fullUpdateWeedOverlays()
|
||||
@@ -494,4 +508,9 @@
|
||||
|
||||
spawn(1)
|
||||
if(src)
|
||||
tick()
|
||||
tick()
|
||||
|
||||
#undef WEED_NORTH_EDGING
|
||||
#undef WEED_SOUTH_EDGING
|
||||
#undef WEED_EAST_EDGING
|
||||
#undef WEED_WEST_EDGING
|
||||
@@ -1,5 +1,11 @@
|
||||
/**********************Mineral deposits**************************/
|
||||
|
||||
var/global/list/rockTurfEdgeCache
|
||||
#define NORTH_EDGING "north"
|
||||
#define SOUTH_EDGING "south"
|
||||
#define EAST_EDGING "east"
|
||||
#define WEST_EDGING "west"
|
||||
|
||||
/turf/simulated/mineral //wall piece
|
||||
name = "rock"
|
||||
icon = 'icons/turf/mining.dmi'
|
||||
@@ -32,25 +38,32 @@
|
||||
return
|
||||
|
||||
/turf/simulated/mineral/New()
|
||||
if(!rockTurfEdgeCache || !rockTurfEdgeCache.len)
|
||||
rockTurfEdgeCache = list()
|
||||
rockTurfEdgeCache.len = 4
|
||||
rockTurfEdgeCache[NORTH_EDGING] = image('icons/turf/mining.dmi', "rock_side_n", layer = 6)
|
||||
rockTurfEdgeCache[SOUTH_EDGING] = image('icons/turf/mining.dmi', "rock_side_s")
|
||||
rockTurfEdgeCache[EAST_EDGING] = image('icons/turf/mining.dmi', "rock_side_e", layer = 6)
|
||||
rockTurfEdgeCache[WEST_EDGING] = image('icons/turf/mining.dmi', "rock_side_w", layer = 6)
|
||||
|
||||
spawn(1)
|
||||
var/turf/T
|
||||
if((istype(get_step(src, NORTH), /turf/simulated/floor)) || (istype(get_step(src, NORTH), /turf/space)) || (istype(get_step(src, NORTH), /turf/simulated/shuttle/floor)))
|
||||
T = get_step(src, NORTH)
|
||||
if (T)
|
||||
T.overlays += image('icons/turf/mining.dmi', "rock_side_s")
|
||||
T.overlays += rockTurfEdgeCache[SOUTH_EDGING]
|
||||
if((istype(get_step(src, SOUTH), /turf/simulated/floor)) || (istype(get_step(src, SOUTH), /turf/space)) || (istype(get_step(src, SOUTH), /turf/simulated/shuttle/floor)))
|
||||
T = get_step(src, SOUTH)
|
||||
if (T)
|
||||
T.overlays += image('icons/turf/mining.dmi', "rock_side_n", layer=6)
|
||||
T.overlays += rockTurfEdgeCache[NORTH_EDGING]
|
||||
if((istype(get_step(src, EAST), /turf/simulated/floor)) || (istype(get_step(src, EAST), /turf/space)) || (istype(get_step(src, EAST), /turf/simulated/shuttle/floor)))
|
||||
T = get_step(src, EAST)
|
||||
if (T)
|
||||
T.overlays += image('icons/turf/mining.dmi', "rock_side_w", layer=6)
|
||||
T.overlays += rockTurfEdgeCache[WEST_EDGING]
|
||||
if((istype(get_step(src, WEST), /turf/simulated/floor)) || (istype(get_step(src, WEST), /turf/space)) || (istype(get_step(src, WEST), /turf/simulated/shuttle/floor)))
|
||||
T = get_step(src, WEST)
|
||||
if (T)
|
||||
T.overlays += image('icons/turf/mining.dmi', "rock_side_e", layer=6)
|
||||
T.overlays += rockTurfEdgeCache[EAST_EDGING]
|
||||
|
||||
if (mineralType && mineralAmt && spread && spreadChance)
|
||||
for(var/dir in cardinal)
|
||||
@@ -589,13 +602,13 @@
|
||||
src.overlays.Cut()
|
||||
|
||||
if(istype(get_step(src, NORTH), /turf/simulated/mineral))
|
||||
src.overlays += image('icons/turf/mining.dmi', "rock_side_n")
|
||||
src.overlays += rockTurfEdgeCache[NORTH_EDGING]
|
||||
if(istype(get_step(src, SOUTH), /turf/simulated/mineral))
|
||||
src.overlays += image('icons/turf/mining.dmi', "rock_side_s", layer=6)
|
||||
src.overlays += rockTurfEdgeCache[SOUTH_EDGING]
|
||||
if(istype(get_step(src, EAST), /turf/simulated/mineral))
|
||||
src.overlays += image('icons/turf/mining.dmi', "rock_side_e", layer=6)
|
||||
src.overlays += rockTurfEdgeCache[EAST_EDGING]
|
||||
if(istype(get_step(src, WEST), /turf/simulated/mineral))
|
||||
src.overlays += image('icons/turf/mining.dmi', "rock_side_w", layer=6)
|
||||
src.overlays += rockTurfEdgeCache[WEST_EDGING]
|
||||
|
||||
/turf/simulated/mineral/updateMineralOverlays()
|
||||
return
|
||||
@@ -603,3 +616,9 @@
|
||||
/turf/proc/fullUpdateMineralOverlays()
|
||||
for (var/turf/t in range(1,src))
|
||||
t.updateMineralOverlays()
|
||||
|
||||
|
||||
#undef NORTH_EDGING
|
||||
#undef SOUTH_EDGING
|
||||
#undef EAST_EDGING
|
||||
#undef WEST_EDGING
|
||||
@@ -3,6 +3,17 @@
|
||||
|
||||
#define SMESRATE 0.05 // rate of internal charge to external power
|
||||
|
||||
//Cache defines
|
||||
#define SMES_CLEVEL_1 1
|
||||
#define SMES_CLEVEL_2 2
|
||||
#define SMES_CLEVEL_3 3
|
||||
#define SMES_CLEVEL_4 4
|
||||
#define SMES_CLEVEL_5 5
|
||||
#define SMES_OUTPUTTING 6
|
||||
#define SMES_NOT_OUTPUTTING 7
|
||||
#define SMES_INPUTTING 8
|
||||
#define SMES_INPUT_ATTEMPT 9
|
||||
|
||||
/obj/machinery/power/smes
|
||||
name = "power storage unit"
|
||||
desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."
|
||||
@@ -27,6 +38,8 @@
|
||||
|
||||
var/obj/machinery/power/terminal/terminal = null
|
||||
|
||||
var/static/list/smesImageCache
|
||||
|
||||
|
||||
/obj/machinery/power/smes/New()
|
||||
..()
|
||||
@@ -177,18 +190,35 @@
|
||||
if(panel_open)
|
||||
return
|
||||
|
||||
if(!smesImageCache || !smesImageCache.len)
|
||||
smesImageCache = list()
|
||||
smesImageCache.len = 9
|
||||
|
||||
overlays += image('icons/obj/power.dmi', "smes-op[outputting]")
|
||||
smesImageCache[SMES_CLEVEL_1] = image('icons/obj/power.dmi',"smes-og1")
|
||||
smesImageCache[SMES_CLEVEL_2] = image('icons/obj/power.dmi',"smes-og2")
|
||||
smesImageCache[SMES_CLEVEL_3] = image('icons/obj/power.dmi',"smes-og3")
|
||||
smesImageCache[SMES_CLEVEL_4] = image('icons/obj/power.dmi',"smes-og4")
|
||||
smesImageCache[SMES_CLEVEL_5] = image('icons/obj/power.dmi',"smes-og5")
|
||||
|
||||
smesImageCache[SMES_OUTPUTTING] = image('icons/obj/power.dmi', "smes-op1")
|
||||
smesImageCache[SMES_NOT_OUTPUTTING] = image('icons/obj/power.dmi',"smes-op0")
|
||||
smesImageCache[SMES_INPUTTING] = image('icons/obj/power.dmi', "smes-oc1")
|
||||
smesImageCache[SMES_INPUT_ATTEMPT] = image('icons/obj/power.dmi', "smes-oc0")
|
||||
|
||||
if(outputting)
|
||||
overlays += smesImageCache[SMES_OUTPUTTING]
|
||||
else
|
||||
overlays += smesImageCache[SMES_NOT_OUTPUTTING]
|
||||
|
||||
if(inputting)
|
||||
overlays += image('icons/obj/power.dmi', "smes-oc1")
|
||||
overlays += smesImageCache[SMES_INPUTTING]
|
||||
else
|
||||
if(input_attempt)
|
||||
overlays += image('icons/obj/power.dmi', "smes-oc0")
|
||||
overlays += smesImageCache[SMES_INPUT_ATTEMPT]
|
||||
|
||||
var/clevel = chargedisplay()
|
||||
if(clevel>0)
|
||||
overlays += image('icons/obj/power.dmi', "smes-og[clevel]")
|
||||
overlays += smesImageCache[clevel]
|
||||
return
|
||||
|
||||
|
||||
@@ -420,4 +450,14 @@
|
||||
..()
|
||||
|
||||
|
||||
#undef SMESRATE
|
||||
#undef SMESRATE
|
||||
|
||||
#undef SMES_CLEVEL_1
|
||||
#undef SMES_CLEVEL_2
|
||||
#undef SMES_CLEVEL_3
|
||||
#undef SMES_CLEVEL_4
|
||||
#undef SMES_CLEVEL_5
|
||||
#undef SMES_OUTPUTTING
|
||||
#undef SMES_NOT_OUTPUTTING
|
||||
#undef SMES_INPUTTING
|
||||
#undef SMES_INPUT_ATTEMPT
|
||||
Reference in New Issue
Block a user