Mass rename of 'metal' to steel, refactor of walls and falsewall mineral construction, refactor of materials and ores.

This commit is contained in:
Zuhayr
2015-04-22 21:27:45 +09:30
parent 12cb60daa3
commit dbf8e53020
104 changed files with 745 additions and 731 deletions

View File

@@ -4,7 +4,7 @@
icon = 'icons/obj/device.dmi'
icon_state = "forensic0-old" //GET A BETTER SPRITE.
item_state = "electronic"
matter = list("metal" = 150)
matter = list("steel" = 150)
origin_tech = "magnets=1;engineering=1"
/obj/item/weapon/mining_scanner/attack_self(mob/user as mob)

View File

@@ -111,7 +111,6 @@
var/sheets_per_tick = 10
var/list/ores_processing[0]
var/list/ores_stored[0]
var/list/ore_data[0]
var/list/alloy_data[0]
var/active = 0
@@ -123,11 +122,12 @@
for(var/alloytype in typesof(/datum/alloy)-/datum/alloy)
alloy_data += new alloytype()
for(var/oretype in typesof(/datum/ore)-/datum/ore)
var/datum/ore/OD = new oretype()
ore_data[OD.oretag] = OD
ores_processing[OD.oretag] = 0
ores_stored[OD.oretag] = 0
if(!ore_data || !ore_data.len)
for(var/oretype in typesof(/ore)-/ore)
var/ore/OD = new oretype()
ore_data[OD.name] = OD
ores_processing[OD.name] = 0
ores_stored[OD.name] = 0
//Locate our output and input machinery.
spawn(5)
@@ -150,7 +150,7 @@
for(var/i = 0,i<sheets_per_tick,i++)
var/obj/item/weapon/ore/O = locate() in input.loc
if(!O) break
if(!isnull(ores_stored[O.oretag])) ores_stored[O.oretag]++
if(!isnull(ores_stored[O.name])) ores_stored[O.name]++
O.loc = null
if(!active)
@@ -164,7 +164,7 @@
if(ores_stored[metal] > 0 && ores_processing[metal] != 0)
var/datum/ore/O = ore_data[metal]
var/ore/O = ore_data[metal]
if(!O) continue
@@ -206,24 +206,28 @@
var/can_make = Clamp(ores_stored[metal],0,sheets_per_tick-sheets)
if(can_make%2>0) can_make--
if(!can_make || ores_stored[metal] < 1)
var/material/M = name_to_mineral[O.compresses_to]
if(!istype(M) || !can_make || ores_stored[metal] < 1)
continue
for(var/i=0,i<can_make,i+=2)
ores_stored[metal]-=2
sheets+=2
new O.compresses_to(output.loc)
new M.stack_type(output.loc)
else if(ores_processing[metal] == 1 && O.smelts_to) //Smelting.
var/can_make = Clamp(ores_stored[metal],0,sheets_per_tick-sheets)
if(!can_make || ores_stored[metal] < 1)
var/material/M = name_to_mineral[O.smelts_to]
if(!istype(M) || !can_make || ores_stored[metal] < 1)
continue
for(var/i=0,i<can_make,i++)
ores_stored[metal]--
sheets++
new O.smelts_to(output.loc)
new M.stack_type(output.loc)
else
ores_stored[metal]--
sheets++

View File

@@ -89,8 +89,8 @@
stack_storage["glass"] = 0
stack_paths["glass"] = /obj/item/stack/sheet/glass
stack_storage["metal"] = 0
stack_paths["metal"] = /obj/item/stack/sheet/metal
stack_storage["steel"] = 0
stack_paths["steel"] = /obj/item/stack/sheet/metal
stack_storage["plasteel"] = 0
stack_paths["plasteel"] = /obj/item/stack/sheet/plasteel

View File

@@ -26,66 +26,7 @@
new /obj/item/device/flashlight/lantern(src)
new /obj/item/weapon/shovel(src)
new /obj/item/weapon/pickaxe(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
new /obj/item/clothing/glasses/minerals(src)
/******************************Lantern*******************************/
@@ -108,7 +49,7 @@
icon_state = "pickaxe"
item_state = "jackhammer"
w_class = 4.0
matter = list("metal" = 3750)
matter = list("steel" = 3750)
var/digspeed = 40 //moving the delay to an item var so R&D can make improved picks. --NEO
origin_tech = "materials=1;engineering=1"
attack_verb = list("hit", "pierced", "sliced", "attacked")
@@ -168,6 +109,7 @@
origin_tech = "materials=4;phorontech=3;engineering=3"
desc = "A rock cutter that uses bursts of hot plasma. You could use it to cut limbs off of xenos! Or, you know, mine stuff."
drill_verb = "cutting"
drill_sound = 'sound/items/Welder.ogg'
sharp = 1
edge = 1
@@ -210,7 +152,7 @@
throwforce = 4.0
item_state = "shovel"
w_class = 3.0
matter = list("metal" = 50)
matter = list("steel" = 50)
origin_tech = "materials=1;engineering=1"
attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked")
sharp = 0

View File

@@ -11,7 +11,7 @@
density = 1
blocks_air = 1
temperature = T0C
var/mineral/mineral
var/ore/mineral
var/mined_ore = 0
var/last_act = 0
var/emitter_blasts_taken = 0 // EMITTER MINING! Muhehe.
@@ -375,12 +375,9 @@
/turf/simulated/mineral/random/New()
if (prob(mineralChance) && !mineral)
var/mineral_name = pickweight(mineralSpawnChanceList) //temp mineral name
if(!name_to_mineral)
SetupMinerals()
if (mineral_name && mineral_name in name_to_mineral)
mineral = name_to_mineral[mineral_name]
mineral_name = lowertext(mineral_name)
if (mineral_name && (mineral_name in ore_data))
mineral = ore_data[mineral_name]
UpdateMineral()
. = ..()

View File

@@ -5,10 +5,15 @@
mouse_opacity = 0
density = 0
anchored = 1
var/image/scanner_image
/obj/effect/mineral/New(var/newloc, var/mineral/M)
/obj/effect/mineral/New(var/newloc, var/ore/M)
..(newloc)
name = "[M.display_name] deposit"
icon_state = "rock_[M.name]"
var/turf/T = get_turf(src)
layer = T.layer+0.1
layer = T.layer+0.1
var/ore/O = ore_data[M.name]
if(O)
scanner_image = image(icon, loc = get_turf(src), icon_state = (O.scan_icon ? O.scan_icon : icon_state))

View File

@@ -2,71 +2,95 @@ var/list/name_to_mineral
/proc/SetupMinerals()
name_to_mineral = list()
for(var/type in typesof(/mineral) - /mineral)
var/mineral/new_mineral = new type
for(var/type in typesof(/material) - /material)
var/material/new_mineral = new type
if(!new_mineral.name)
continue
name_to_mineral[new_mineral.name] = new_mineral
name_to_mineral[lowertext(new_mineral.name)] = new_mineral
return 1
/mineral
var/name // Tag for use in overlay generation/list population .
var/display_name // What am I called?
var/result_amount // How much ore?
var/spread = 1 // Does this type of deposit spread?
var/spread_chance // Chance of spreading in any direction
var/ore // Path to the ore produced when tile is mined.
/material
var/name // Tag for use in overlay generation/list population .
var/walltype_solid
var/walltype_false
var/doortype
var/stack_type
var/unmeltable
var/cut_delay
/material/uranium
name = "uranium"
walltype_solid = /turf/simulated/wall/mineral/uranium
walltype_false = /obj/structure/falsewall/uranium
doortype = /obj/machinery/door/airlock/uranium
stack_type = /obj/item/stack/sheet/mineral/uranium
/mineral/New()
. = ..()
if(!display_name)
display_name = name
/material/diamond
name = "diamond"
walltype_solid = /turf/simulated/wall/mineral/diamond
walltype_false = /obj/structure/falsewall/diamond
doortype = /obj/machinery/door/airlock/diamond
stack_type = /obj/item/stack/sheet/mineral/diamond
unmeltable = 1
cut_delay = 60
/mineral/uranium
name = "Uranium"
result_amount = 5
spread_chance = 10
ore = /obj/item/weapon/ore/uranium
/material/gold
name = "gold"
walltype_solid = /turf/simulated/wall/mineral/gold
walltype_false = /obj/structure/falsewall/gold
doortype = /obj/machinery/door/airlock/gold
stack_type = /obj/item/stack/sheet/mineral/gold
/mineral/platinum
name = "Platinum"
result_amount = 5
spread_chance = 10
ore = /obj/item/weapon/ore/osmium
/material/silver
name = "silver"
walltype_solid = /turf/simulated/wall/mineral/silver
walltype_false = /obj/structure/falsewall/silver
doortype = /obj/machinery/door/airlock/silver
stack_type = /obj/item/stack/sheet/mineral/silver
/mineral/iron
name = "Iron"
result_amount = 5
spread_chance = 25
ore = /obj/item/weapon/ore/iron
/material/phoron
name = "phoron"
walltype_solid = /turf/simulated/wall/mineral/phoron
walltype_false = /obj/structure/falsewall/phoron
doortype = /obj/machinery/door/airlock/phoron
stack_type = /obj/item/stack/sheet/mineral/phoron
/mineral/coal
name = "Coal"
result_amount = 5
spread_chance = 25
ore = /obj/item/weapon/ore/coal
/material/sandstone
name = "sandstone"
walltype_solid = /turf/simulated/wall/mineral/sandstone
walltype_false = /obj/structure/falsewall/sandstone
stack_type = /obj/item/stack/sheet/mineral/sandstone
/mineral/diamond
name = "Diamond"
result_amount = 5
spread_chance = 10
ore = /obj/item/weapon/ore/diamond
/material/steel
name = "steel"
stack_type = /obj/item/stack/sheet/metal
walltype_solid = /turf/simulated/wall
walltype_false = /obj/structure/falsewall
/mineral/gold
name = "Gold"
result_amount = 5
spread_chance = 10
ore = /obj/item/weapon/ore/gold
/material/glass
name = "glass"
stack_type = /obj/item/stack/sheet/glass
/mineral/silver
name = "Silver"
result_amount = 5
spread_chance = 10
ore = /obj/item/weapon/ore/silver
/material/plastic
name = "plastic"
stack_type = /obj/item/stack/sheet/mineral/plastic
/mineral/phoron
name = "Phoron"
result_amount = 5
spread_chance = 25
ore = /obj/item/weapon/ore/phoron
/material/osmium
name = "osmium"
stack_type = /obj/item/stack/sheet/mineral/osmium
/material/tritium
name = "tritium"
stack_type = /obj/item/stack/sheet/mineral/tritium
/material/mhydrogen
name = "mhydrogen"
stack_type = /obj/item/stack/sheet/mineral/mhydrogen
/material/platinum
name = "platinum"
stack_type = /obj/item/stack/sheet/mineral/platinum
/material/iron
name = "iron"
stack_type = /obj/item/stack/sheet/mineral/iron

View File

@@ -17,7 +17,7 @@
var/amt_uranium = 0
var/newCoins = 0 //how many coins the machine made in it's last load
var/processing = 0
var/chosen = "metal" //which material will be used to make coins
var/chosen = "steel" //which material will be used to make coins
var/coinsToProduce = 10
@@ -81,7 +81,7 @@
else
dat += text("<A href='?src=\ref[src];choose=silver'>Choose</A>")
dat += text("<br><font color='#555555'><b>Iron inserted: </b>[amt_iron]</font> ")
if (chosen == "metal")
if (chosen == "steel")
dat += text("chosen")
else
dat += text("<A href='?src=\ref[src];choose=metal'>Choose</A>")
@@ -133,7 +133,7 @@
icon_state = "coinpress1"
var/obj/item/weapon/moneybag/M
switch(chosen)
if("metal")
if("steel")
while(amt_iron > 0 && coinsToProduce > 0)
if (locate(/obj/item/weapon/moneybag,output.loc))
M = locate(/obj/item/weapon/moneybag,output.loc)

View File

@@ -4,71 +4,71 @@
icon_state = "ore2"
w_class = 2
var/datum/geosample/geologic_data
var/oretag
var/mineral
/obj/item/weapon/ore/uranium
name = "pitchblende"
icon_state = "Uranium ore"
icon_state = "ore_uranium"
origin_tech = "materials=5"
oretag = "uranium"
mineral = "uranium"
/obj/item/weapon/ore/iron
name = "hematite"
icon_state = "Iron ore"
icon_state = "ore_iron"
origin_tech = "materials=1"
oretag = "hematite"
mineral = "hematite"
/obj/item/weapon/ore/coal
name = "carbonaceous rock"
icon_state = "Coal ore"
icon_state = "ore_coal"
origin_tech = "materials=1"
oretag = "coal"
mineral = "coal"
/obj/item/weapon/ore/glass
name = "impure silicates"
icon_state = "Glass ore"
icon_state = "ore_glass"
origin_tech = "materials=1"
oretag = "sand"
mineral = "sand"
/obj/item/weapon/ore/phoron
name = "phoron crystals"
icon_state = "Phoron ore"
icon_state = "ore_phoron"
origin_tech = "materials=2"
oretag = "phoron"
mineral = "phoron"
/obj/item/weapon/ore/silver
name = "native silver ore"
icon_state = "Silver ore"
icon_state = "ore_silver"
origin_tech = "materials=3"
oretag = "silver"
mineral = "silver"
/obj/item/weapon/ore/gold
name = "native gold ore"
icon_state = "Gold ore"
icon_state = "ore_gold"
origin_tech = "materials=4"
oretag = "gold"
mineral = "gold"
/obj/item/weapon/ore/diamond
name = "diamonds"
icon_state = "Diamond ore"
icon_state = "ore_diamond"
origin_tech = "materials=6"
oretag = "diamond"
mineral = "diamond"
/obj/item/weapon/ore/osmium
name = "raw platinum"
icon_state = "Platinum ore"
oretag = "platinum"
icon_state = "ore_platinum"
mineral = "platinum"
/obj/item/weapon/ore/hydrogen
name = "raw hydrogen"
icon_state = "Phazon"
oretag = "hydrogen"
icon_state = "ore_hydrogen"
mineral = "mhydrogen"
/obj/item/weapon/ore/slag
name = "Slag"
desc = "Completely useless"
desc = "Someone screwed up..."
icon_state = "slag"
oretag = "slag"
mineral = "slag"
/obj/item/weapon/ore/New()
pixel_x = rand(0,16)-8

View File

@@ -1,52 +1,133 @@
/datum/ore
var/oretag
var/global/list/ore_data = list()
/ore
var/name
var/display_name
var/alloy
var/smelts_to
var/compresses_to
var/result_amount // How much ore?
var/spread = 1 // Does this type of deposit spread?
var/spread_chance // Chance of spreading in any direction
var/ore // Path to the ore produced when tile is mined.
var/scan_icon // Overlay for ore scanners.
// Xenoarch stuff. No idea what it's for, just refactored it to be less awful.
var/list/xarch_ages = list(
"thousand" = 999,
"million" = 999
)
var/xarch_source_mineral = "iron"
/datum/ore/uranium
smelts_to = /obj/item/stack/sheet/mineral/uranium
oretag = "uranium"
/ore/New()
. = ..()
if(!display_name)
display_name = name
/datum/ore/iron
smelts_to = /obj/item/stack/sheet/mineral/iron
/ore/uranium
name = "uranium"
display_name = "pitchblende"
smelts_to = "uranium"
result_amount = 5
spread_chance = 10
ore = /obj/item/weapon/ore/uranium
scan_icon = "mineral_uncommon"
xarch_ages = list(
"thousand" = 999,
"million" = 704
)
xarch_source_mineral = "potassium"
/ore/hematite
name = "iron"
display_name = "hematite"
smelts_to = "iron"
alloy = 1
oretag = "hematite"
result_amount = 5
spread_chance = 25
ore = /obj/item/weapon/ore/iron
scan_icon = "mineral_common"
/datum/ore/coal
smelts_to = /obj/item/stack/sheet/mineral/plastic
/ore/coal
name = "coal"
display_name = "carbonaceous rock"
smelts_to = "plastic"
alloy = 1
oretag = "coal"
result_amount = 5
spread_chance = 25
ore = /obj/item/weapon/ore/coal
scan_icon = "mineral_common"
/datum/ore/glass
smelts_to = /obj/item/stack/sheet/glass
compresses_to = /obj/item/stack/sheet/mineral/sandstone
oretag = "sand"
/ore/glass
name = "sand"
display_name = "impure silicates"
smelts_to = "glass"
compresses_to = "sandstone"
/datum/ore/phoron
/ore/phoron
name = "phoron"
display_name = "phoron crystals"
compresses_to = "phoron"
//smelts_to = something that explodes violently on the conveyor, huhuhuhu
compresses_to = /obj/item/stack/sheet/mineral/phoron
oretag = "phoron"
result_amount = 5
spread_chance = 25
ore = /obj/item/weapon/ore/phoron
scan_icon = "mineral_uncommon"
xarch_ages = list(
"thousand" = 999,
"million" = 999,
"billion" = 13,
"billion_lower" = 10
)
xarch_source_mineral = "phoron"
/datum/ore/silver
smelts_to = /obj/item/stack/sheet/mineral/silver
oretag = "silver"
/ore/silver
name = "silver"
display_name = "native silver"
smelts_to = "silver"
result_amount = 5
spread_chance = 10
ore = /obj/item/weapon/ore/silver
scan_icon = "mineral_uncommon"
/datum/ore/gold
smelts_to = /obj/item/stack/sheet/mineral/gold
oretag = "gold"
/ore/gold
smelts_to = "gold"
name = "gold"
display_name = "native gold"
result_amount = 5
spread_chance = 10
ore = /obj/item/weapon/ore/gold
scan_icon = "mineral_uncommon"
xarch_ages = list(
"thousand" = 999,
"million" = 999,
"billion" = 4,
"billion_lower" = 3
)
/datum/ore/diamond
compresses_to = /obj/item/stack/sheet/mineral/diamond
oretag = "diamond"
/ore/diamond
name = "diamonds"
display_name = "diamond"
compresses_to = "diamond"
result_amount = 5
spread_chance = 10
ore = /obj/item/weapon/ore/diamond
scan_icon = "mineral_rare"
xarch_source_mineral = "nitrogen"
/datum/ore/osmium
smelts_to = /obj/item/stack/sheet/mineral/platinum
compresses_to = /obj/item/stack/sheet/mineral/osmium
/ore/platinum
name = "platinum"
display_name = "raw platinum"
smelts_to = "platinum"
compresses_to = "osmium"
alloy = 1
oretag = "platinum"
result_amount = 5
spread_chance = 10
ore = /obj/item/weapon/ore/osmium
scan_icon = "mineral_rare"
/datum/ore/hydrogen
smelts_to = /obj/item/stack/sheet/mineral/tritium
compresses_to = /obj/item/stack/sheet/mineral/mhydrogen
oretag = "hydrogen"
/ore/hydrogen
name = "mhydrogen"
display_name = "metallic hydrogen"
smelts_to = "tritium"
compresses_to = "mhydrogen"
scan_icon = "mineral_rare"