First pass on wall refactor/mining changes.

This commit is contained in:
Zuhayr
2015-04-22 17:27:44 +09:30
parent 1c29c800ad
commit 12cb60daa3
7 changed files with 88 additions and 13 deletions

View File

@@ -1044,6 +1044,7 @@
#include "code\modules\mining\machine_unloading.dm"
#include "code\modules\mining\mine_items.dm"
#include "code\modules\mining\mine_turfs.dm"
#include "code\modules\mining\mineral_effect.dm"
#include "code\modules\mining\minerals.dm"
#include "code\modules\mining\mint.dm"
#include "code\modules\mining\money_bag.dm"

View File

@@ -239,7 +239,7 @@
// zone.RemoveTurf(src)
// if(!zone.CheckStatus())
// zone.SetStatus(ZONE_ACTIVE)
var/old_opacity = opacity
var/turf/simulated/W = new N( locate(src.x, src.y, src.z) )
//W.Assimilate_Air()
@@ -264,6 +264,11 @@
S.update_starlight()
W.levelupdate()
// Testing if this fixes bugs with lighting not updating.
if(old_opacity != W.opacity)
W.UpdateAffectingLights()
return W
else

View File

@@ -1,12 +1,3 @@
/**********************Light************************/
//this item is intended to give the effect of entering the mine, so that light gradually fades
/obj/effect/light_emitter
name = "Light-emtter"
anchored = 1
unacidable = 1
luminosity = 8
/**********************Miner Lockers**************************/
/obj/structure/closet/secure_closet/miner
@@ -35,8 +26,66 @@
new /obj/item/device/flashlight/lantern(src)
new /obj/item/weapon/shovel(src)
new /obj/item/weapon/pickaxe(src)
new /obj/item/clothing/glasses/meson(src)
new /obj/item/clothing/glasses/orescanner(src)
/******************************Goggles*******************************/
/obj/item/clothing/glasses/orescanner
name = "resonance scanners"
desc = "A set of goggles geared towards detecting different concentrations of minerals."
icon_state = "meson"
item_state = "glasses"
icon_action_button = "action_meson"
toggleable = 1
active = 0
var/mob/living/carbon/human/wearer
var/list/ore_nodes = list()
/obj/item/clothing/glasses/orescanner/New()
..()
processing_objects |= src
/obj/item/clothing/glasses/orescanner/Del()
processing_objects -= src
..()
/obj/item/clothing/glasses/orescanner/equipped(var/mob/living/carbon/human/M)
..()
remove_ore_images()
wearer = null
if(istype(M) && M.glasses == src)
wearer = M
/obj/item/clothing/glasses/orescanner/dropped()
..()
remove_ore_images()
wearer = null
/obj/item/clothing/glasses/orescanner/process()
remove_ore_images()
if(active)
if(!wearer || wearer.glasses != src)
return
for(var/obj/effect/mineral/M in range(wearer,6))
// Maybe make a cache for this so multiple miners aren't spawning copies.
ore_nodes += image(M.icon, loc = get_turf(M), icon_state = M.icon_state)
if(ore_nodes.len && wearer.client && wearer.client.images)
wearer.client.images |= ore_nodes
/obj/item/clothing/glasses/orescanner/proc/remove_ore_images()
if(!ore_nodes)
ore_nodes = list()
if(ore_nodes.len)
if(wearer && wearer.client && wearer.client.images)
for(var/image/I in ore_nodes)
wearer.client.images -= I
del(I)
ore_nodes.Cut()
/obj/item/clothing/glasses/orescanner/dropped()
remove_ore_images()
wearer = null
/******************************Lantern*******************************/

View File

@@ -95,13 +95,13 @@
/turf/simulated/mineral/proc/UpdateMineral()
clear_ore_effects()
if(!mineral)
name = "\improper Rock"
icon_state = "rock"
return
name = "\improper [mineral.display_name] deposit"
overlays.Cut()
overlays += "rock_[mineral.name]"
new /obj/effect/mineral(src, mineral)
//Not even going to touch this pile of spaghetti
/turf/simulated/mineral/attackby(obj/item/weapon/W as obj, mob/user as mob)
@@ -234,10 +234,15 @@
else
return attack_hand(user)
/turf/simulated/mineral/proc/clear_ore_effects()
for(var/obj/effect/mineral/M in contents)
del(M)
/turf/simulated/mineral/proc/DropMineral()
if(!mineral)
return
clear_ore_effects()
var/obj/item/weapon/ore/O = new mineral.ore (src)
if(istype(O))
geologic_data.UpdateNearbyArtifactInfo(src)
@@ -274,6 +279,7 @@
var/list/step_overlays = list("n" = NORTH, "s" = SOUTH, "e" = EAST, "w" = WEST)
//Add some rubble, you did just clear out a big chunk of rock.
var/turf/simulated/floor/plating/airless/asteroid/N = ChangeTurf(/turf/simulated/floor/plating/airless/asteroid)
N.overlay_detail = "asteroid[rand(0,9)]"

View File

@@ -0,0 +1,14 @@
/obj/effect/mineral
name = "mineral vein"
icon = 'icons/obj/mining.dmi'
desc = "Shiny."
mouse_opacity = 0
density = 0
anchored = 1
/obj/effect/mineral/New(var/newloc, var/mineral/M)
..(newloc)
name = "[M.display_name] deposit"
icon_state = "rock_[M.name]"
var/turf/T = get_turf(src)
layer = T.layer+0.1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

After

Width:  |  Height:  |  Size: 137 KiB