diff --git a/code/WorkInProgress/mining.dm b/code/WorkInProgress/mining.dm
index a962cc1daa4..be6a8a5ba2c 100644
--- a/code/WorkInProgress/mining.dm
+++ b/code/WorkInProgress/mining.dm
@@ -12,10 +12,7 @@
/area/mine/lobby
name = "Mining station"
- requires_power = 0
- luminosity = 1
icon_state = "mine"
- sd_lighting = 0
/**********************Mineral deposits**************************/
@@ -32,6 +29,20 @@
var/spread = 0 //will the seam spread?
var/spreadChance = 0 //the percentual chance of an ore spreading to the neighbouring tiles
+
+/turf/simulated/mineral/ex_act(severity)
+ switch(severity)
+ if(3.0)
+ return
+ if(2.0)
+ if (prob(70))
+ src.mineralAmt -= 1 //some of the stuff gets blown up
+ src.gets_drilled()
+ if(1.0)
+ src.mineralAmt -= 2 //some of the stuff gets blown up
+ src.gets_drilled()
+ return
+
/turf/simulated/mineral/New()
desc = "0"
if (mineralName && mineralAmt && spread && spreadChance)
@@ -263,6 +274,9 @@
spawn(2)
updateMineralOverlays()
+/turf/simulated/floor/airless/asteroid/ex_act(severity)
+ return
+
/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")
usr << "\red You don't have the dexterity to do this!"
@@ -1211,6 +1225,11 @@
var/obj/machinery/mineral/output = null
var/amt_silver = 0 //amount of silver
var/amt_gold = 0 //amount of gold
+ var/amt_diamond = 0
+ var/amt_iron = 0
+ var/amt_plasma = 0
+ var/amt_uranium = 0
+ var/amt_clown = 0
var/newCoins = 0 //how many coins the machine made in it's last load
var/processing = 0
@@ -1228,12 +1247,28 @@
if (src.output && src.input)
var/obj/item/stack/sheet/O
O = locate(/obj/item/stack/sheet, input.loc)
- if (istype(O,/obj/item/stack/sheet/gold))
- amt_gold += 100
- del(O)
- if (istype(O,/obj/item/stack/sheet/silver))
- amt_silver += 100
- del(O)
+ if(O)
+ if (istype(O,/obj/item/stack/sheet/gold))
+ amt_gold += 100
+ del(O)
+ if (istype(O,/obj/item/stack/sheet/silver))
+ amt_silver += 100
+ del(O)
+ if (istype(O,/obj/item/stack/sheet/diamond))
+ amt_diamond += 100
+ del(O)
+ if (istype(O,/obj/item/stack/sheet/plasma))
+ amt_plasma += 100
+ del(O)
+ if (istype(O,/obj/item/weapon/ore/uranium))
+ amt_uranium += 100
+ del(O)
+ if (istype(O,/obj/item/stack/sheet/metal))
+ amt_iron += 100
+ del(O)
+ if (istype(O,/obj/item/stack/sheet/clown))
+ amt_clown += 100
+ del(O)
/obj/machinery/mineral/mint/attack_hand(user as mob)
@@ -1252,6 +1287,11 @@
dat += text("
Gold inserterd: [amt_gold]")
dat += text("
Silver inserterd: [amt_silver]")
+ dat += text("
Iron inserterd: [amt_iron]")
+ dat += text("
Diamond inserterd: [amt_diamond]")
+ dat += text("
Plasma inserterd: [amt_plasma]")
+ dat += text("
Uranium inserterd: [amt_uranium]")
+ dat += text("
Bananium inserterd: [amt_clown]")
dat += text("
Make coins")
dat += text("
found: [newCoins]")
@@ -1279,6 +1319,37 @@
newCoins++
src.updateUsrDialog()
sleep(5);
+ while(amt_diamond > 0)
+ new /obj/item/weapon/coin/diamond(output.loc)
+ amt_diamond -= 20
+ newCoins++
+ src.updateUsrDialog()
+ sleep(5);
+ while(amt_iron > 0)
+ new /obj/item/weapon/coin/iron(output.loc)
+ amt_iron -= 20
+ newCoins++
+ src.updateUsrDialog()
+ sleep(5);
+ while(amt_plasma > 0)
+ new /obj/item/weapon/coin/plasma(output.loc)
+ amt_plasma -= 20
+ newCoins++
+ src.updateUsrDialog()
+ sleep(5);
+ while(amt_uranium > 0)
+ new /obj/item/weapon/coin/uranium(output.loc)
+ amt_uranium -= 20
+ newCoins++
+ src.updateUsrDialog()
+ sleep(5);
+ while(amt_clown > 0)
+ new /obj/item/weapon/coin/clown(output.loc)
+ amt_clown -= 20
+ newCoins++
+ src.updateUsrDialog()
+ sleep(5);
+
processing = 0;
src.updateUsrDialog()
return
@@ -1308,6 +1379,26 @@
name = "Silver coin"
icon_state = "coin_silver"
+/obj/item/weapon/coin/diamond
+ name = "Diamond coin"
+ icon_state = "coin_diamond"
+
+/obj/item/weapon/coin/iron
+ name = "Iron coin"
+ icon_state = "coin_iron"
+
+/obj/item/weapon/coin/plasma
+ name = "Solid plasma coin"
+ icon_state = "coin_plasma"
+
+/obj/item/weapon/coin/uranium
+ name = "Uranium coin"
+ icon_state = "coin_uranium"
+
+/obj/item/weapon/coin/clown
+ name = "Bananaium coin"
+ icon_state = "coin_clown"
+
/**********************Gas extractor**************************/
@@ -1512,6 +1603,7 @@
icon_state = "rail"
dir = 2
var/id = null //this is needed for switches to work Set to the same on the whole length of the track
+ anchored = 1
/**********************Rail intersection**************************/
@@ -2007,12 +2099,12 @@ for (var/client/C)
dat += text("
Scrap current shuttle")
else
dat += text("Available ships to build:
")
- dat += text("Planet hopper - Tiny, Slow
")
- dat += text("Blunder Bus - Small, Decent speed
")
- dat += text("Space dinghy - Medium size, Decent speed
")
- dat += text("Boxvan MMDLVIr - Medium size, Decent speed
")
- dat += text("Boxvan MMDLVI - Security eidition - Large, Rather slow
")
- dat += text("Space station 4 - Huge, Slow
")
+ dat += text("Planet hopper - Tiny, Slow, 25000 metal
")
+ dat += text("Blunder Bus - Small, Decent speed, 60000 metal
")
+ dat += text("Space dinghy - Medium size, Decent speed, 100000 metal
")
+ dat += text("Boxvan MMDLVIr - Medium size, Decent speed, 120000 metal
")
+ dat += text("Boxvan MMDLVI - Security eidition - Large, Rather slow, 125000 metal
")
+ dat += text("Space station 4 - Huge, Slow, 250000 metal
")
user << browse("[dat]", "window=shipbuilder")
diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi
index 10572a23fe3..3d8d571f78b 100644
Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ
diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi
index d334401862e..33c9e1b105f 100644
Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ