mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Conflicts: baystation12.dme code/__HELPERS/global_lists.dm code/__HELPERS/type2type.dm code/__HELPERS/unsorted.dm code/datums/datumvars.dm code/datums/disease.dm code/datums/organs/organ_external.dm code/datums/supplypacks.dm code/defines/obj.dm code/game/area/areas.dm code/game/atoms.dm code/game/gamemodes/cult/cult_structures.dm code/game/gamemodes/cult/runes.dm code/game/gamemodes/events.dm code/game/gamemodes/events/ninja_equipment.dm code/game/gamemodes/events/space_ninja.dm code/game/gamemodes/game_mode.dm code/game/gamemodes/gameticker.dm code/game/hud.dm code/game/jobs/access.dm code/game/jobs/job/civilian.dm code/game/machinery/alarm.dm code/game/machinery/cloning.dm code/game/machinery/computer/cloning.dm code/game/machinery/computer/medical.dm code/game/machinery/computer/syndicate_shuttle.dm code/game/machinery/telecomms/broadcaster.dm code/game/machinery/telecomms/machine_interactions.dm code/game/objects/effects/decals/contraband.dm code/game/objects/effects/signs.dm code/game/objects/items/devices/PDA/PDA.dm code/game/objects/items/devices/PDA/cart.dm code/game/objects/items/weapons/photography.dm code/game/objects/structures/door_assembly.dm code/game/objects/structures/window.dm code/game/sound.dm code/game/verbs/ooc.dm code/global.dm code/modules/DetectiveWork/detective_work.dm code/modules/DetectiveWork/evidence.dm code/modules/DetectiveWork/footprints_and_rag.dm code/modules/DetectiveWork/scanner.dm code/modules/admin/player_panel.dm code/modules/admin/verbs/adminhelp.dm code/modules/admin/verbs/adminpm.dm code/modules/awaymissions/gateway.dm code/modules/client/client defines.dm code/modules/client/client procs.dm code/modules/client/preferences.dm code/modules/clothing/spacesuits/rig.dm code/modules/mining/machine_processing.dm code/modules/mining/machine_stacking.dm code/modules/mining/mint.dm code/modules/mining/ores_coins.dm code/modules/mining/satchel_ore_boxdm.dm code/modules/mob/living/carbon/alien/alien.dm code/modules/mob/living/carbon/carbon.dm code/modules/mob/living/carbon/carbon_defines.dm code/modules/mob/living/carbon/human/human_damage.dm code/modules/mob/living/carbon/human/life.dm code/modules/mob/living/carbon/human/update_icons.dm code/modules/mob/living/living.dm code/modules/mob/living/say.dm code/modules/mob/mob.dm code/modules/mob/mob_cleanup.dm code/modules/mob/mob_defines.dm code/modules/mob/mob_transformation_simple.dm code/modules/mob/new_player/login.dm code/modules/mob/new_player/new_player.dm code/modules/mob/new_player/preferences_setup.dm code/modules/mob/new_player/savefile.dm code/modules/mob/new_player/sprite_accessories.dm code/modules/paperwork/folders.dm code/modules/paperwork/paper.dm code/modules/paperwork/photocopier.dm code/modules/projectiles/guns/energy/special.dm code/modules/projectiles/guns/projectile/automatic.dm code/setup.dm code/unused/mining/datum_processing_recipe.dm code/unused/powerarmor/powerarmor.dm code/world.dm html/changelog.html icons/effects/96x96.dmi icons/mob/head.dmi icons/mob/items_lefthand.dmi icons/mob/items_righthand.dmi icons/mob/suit.dmi icons/obj/clothing/hats.dmi icons/obj/clothing/suits.dmi icons/obj/hydroponics.dmi icons/obj/items.dmi icons/turf/areas.dmi icons/turf/walls.dmi maps/RandomZLevels/fileList.txt maps/RandomZLevels/spacebattle.dmm Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
386 lines
13 KiB
Plaintext
386 lines
13 KiB
Plaintext
/**********************Mineral stacking unit console**************************/
|
|
|
|
/obj/machinery/mineral/stacking_unit_console
|
|
name = "stacking machine console"
|
|
icon = 'icons/obj/machines/mining_machines.dmi'
|
|
icon_state = "console"
|
|
density = 1
|
|
anchored = 1
|
|
var/obj/machinery/mineral/stacking_machine/machine = null
|
|
var/machinedir = SOUTHEAST
|
|
|
|
/obj/machinery/mineral/stacking_unit_console/New()
|
|
..()
|
|
spawn(7)
|
|
src.machine = locate(/obj/machinery/mineral/stacking_machine, get_step(src, machinedir))
|
|
if (machine)
|
|
machine.CONSOLE = src
|
|
else
|
|
del(src)
|
|
|
|
/obj/machinery/mineral/stacking_unit_console/attack_hand(user as mob)
|
|
|
|
var/dat
|
|
|
|
dat += text("<b>Stacking unit console</b><br><br>")
|
|
|
|
if(machine.ore_iron)
|
|
dat += text("Iron: [machine.ore_iron] <A href='?src=\ref[src];release=iron'>Release</A><br>")
|
|
if(machine.ore_plasteel)
|
|
dat += text("Plasteel: [machine.ore_plasteel] <A href='?src=\ref[src];release=plasteel'>Release</A><br>")
|
|
if(machine.ore_glass)
|
|
dat += text("Glass: [machine.ore_glass] <A href='?src=\ref[src];release=glass'>Release</A><br>")
|
|
if(machine.ore_rglass)
|
|
dat += text("Reinforced Glass: [machine.ore_rglass] <A href='?src=\ref[src];release=rglass'>Release</A><br>")
|
|
if(machine.ore_plasma)
|
|
dat += text("Plasma: [machine.ore_plasma] <A href='?src=\ref[src];release=plasma'>Release</A><br>")
|
|
if(machine.ore_gold)
|
|
dat += text("Gold: [machine.ore_gold] <A href='?src=\ref[src];release=gold'>Release</A><br>")
|
|
if(machine.ore_silver)
|
|
dat += text("Silver: [machine.ore_silver] <A href='?src=\ref[src];release=silver'>Release</A><br>")
|
|
if(machine.ore_uranium)
|
|
dat += text("Uranium: [machine.ore_uranium] <A href='?src=\ref[src];release=uranium'>Release</A><br>")
|
|
if(machine.ore_diamond)
|
|
dat += text("Diamond: [machine.ore_diamond] <A href='?src=\ref[src];release=diamond'>Release</A><br>")
|
|
if(machine.ore_wood)
|
|
dat += text("Wood: [machine.ore_wood] <A href='?src=\ref[src];release=wood'>Release</A><br>")
|
|
if(machine.ore_cardboard)
|
|
dat += text("Cardboard: [machine.ore_cardboard] <A href='?src=\ref[src];release=cardboard'>Release</A><br>")
|
|
if(machine.ore_cloth)
|
|
dat += text("Cloth: [machine.ore_cloth] <A href='?src=\ref[src];release=cloth'>Release</A><br>")
|
|
if(machine.ore_leather)
|
|
dat += text("Leather: [machine.ore_leather] <A href='?src=\ref[src];release=leather'>Release</A><br>")
|
|
if(machine.ore_clown)
|
|
dat += text("Bananium: [machine.ore_clown] <A href='?src=\ref[src];release=clown'>Release</A><br>")
|
|
if(machine.ore_adamantine)
|
|
dat += text ("Adamantine: [machine.ore_adamantine] <A href='?src=\ref[src];release=adamantine'>Release</A><br>")
|
|
if(machine.ore_mythril)
|
|
dat += text ("Mythril: [machine.ore_mythril] <A href='?src=\ref[src];release=adamantine'>Release</A><br>")
|
|
|
|
dat += text("<br>Stacking: [machine.stack_amt]<br><br>")
|
|
|
|
user << browse("[dat]", "window=console_stacking_machine")
|
|
|
|
/obj/machinery/mineral/stacking_unit_console/Topic(href, href_list)
|
|
if(..())
|
|
return
|
|
usr.set_machine(src)
|
|
src.add_fingerprint(usr)
|
|
if(href_list["release"])
|
|
switch(href_list["release"])
|
|
if ("plasma")
|
|
if (machine.ore_plasma > 0)
|
|
var/obj/item/stack/sheet/mineral/plasma/G = new /obj/item/stack/sheet/mineral/plasma
|
|
G.amount = machine.ore_plasma
|
|
G.loc = machine.output.loc
|
|
machine.ore_plasma = 0
|
|
if ("uranium")
|
|
if (machine.ore_uranium > 0)
|
|
var/obj/item/stack/sheet/mineral/uranium/G = new /obj/item/stack/sheet/mineral/uranium
|
|
G.amount = machine.ore_uranium
|
|
G.loc = machine.output.loc
|
|
machine.ore_uranium = 0
|
|
if ("glass")
|
|
if (machine.ore_glass > 0)
|
|
var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass
|
|
G.amount = machine.ore_glass
|
|
G.loc = machine.output.loc
|
|
machine.ore_glass = 0
|
|
if ("rglass")
|
|
if (machine.ore_rglass > 0)
|
|
var/obj/item/stack/sheet/rglass/G = new /obj/item/stack/sheet/rglass
|
|
G.amount = machine.ore_rglass
|
|
G.loc = machine.output.loc
|
|
machine.ore_rglass = 0
|
|
if ("gold")
|
|
if (machine.ore_gold > 0)
|
|
var/obj/item/stack/sheet/mineral/gold/G = new /obj/item/stack/sheet/mineral/gold
|
|
G.amount = machine.ore_gold
|
|
G.loc = machine.output.loc
|
|
machine.ore_gold = 0
|
|
if ("silver")
|
|
if (machine.ore_silver > 0)
|
|
var/obj/item/stack/sheet/mineral/silver/G = new /obj/item/stack/sheet/mineral/silver
|
|
G.amount = machine.ore_silver
|
|
G.loc = machine.output.loc
|
|
machine.ore_silver = 0
|
|
if ("diamond")
|
|
if (machine.ore_diamond > 0)
|
|
var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond
|
|
G.amount = machine.ore_diamond
|
|
G.loc = machine.output.loc
|
|
machine.ore_diamond = 0
|
|
if ("iron")
|
|
if (machine.ore_iron > 0)
|
|
var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal
|
|
G.amount = machine.ore_iron
|
|
G.loc = machine.output.loc
|
|
machine.ore_iron = 0
|
|
if ("plasteel")
|
|
if (machine.ore_plasteel > 0)
|
|
var/obj/item/stack/sheet/plasteel/G = new /obj/item/stack/sheet/plasteel
|
|
G.amount = machine.ore_plasteel
|
|
G.loc = machine.output.loc
|
|
machine.ore_plasteel = 0
|
|
if ("wood")
|
|
if (machine.ore_wood > 0)
|
|
var/obj/item/stack/sheet/wood/G = new /obj/item/stack/sheet/wood
|
|
G.amount = machine.ore_wood
|
|
G.loc = machine.output.loc
|
|
machine.ore_wood = 0
|
|
if ("cardboard")
|
|
if (machine.ore_cardboard > 0)
|
|
var/obj/item/stack/sheet/cardboard/G = new /obj/item/stack/sheet/cardboard
|
|
G.amount = machine.ore_cardboard
|
|
G.loc = machine.output.loc
|
|
machine.ore_cardboard = 0
|
|
if ("cloth")
|
|
if (machine.ore_cloth > 0)
|
|
var/obj/item/stack/sheet/cloth/G = new /obj/item/stack/sheet/cloth
|
|
G.amount = machine.ore_cloth
|
|
G.loc = machine.output.loc
|
|
machine.ore_cloth = 0
|
|
if ("leather")
|
|
if (machine.ore_leather > 0)
|
|
var/obj/item/stack/sheet/leather/G = new /obj/item/stack/sheet/leather
|
|
G.amount = machine.ore_diamond
|
|
G.loc = machine.output.loc
|
|
machine.ore_leather = 0
|
|
if ("clown")
|
|
if (machine.ore_clown > 0)
|
|
var/obj/item/stack/sheet/mineral/clown/G = new /obj/item/stack/sheet/mineral/clown
|
|
G.amount = machine.ore_clown
|
|
G.loc = machine.output.loc
|
|
machine.ore_clown = 0
|
|
if ("adamantine")
|
|
if (machine.ore_adamantine > 0)
|
|
var/obj/item/stack/sheet/mineral/adamantine/G = new /obj/item/stack/sheet/mineral/adamantine
|
|
G.amount = machine.ore_adamantine
|
|
G.loc = machine.output.loc
|
|
machine.ore_adamantine = 0
|
|
if ("mythril")
|
|
if (machine.ore_mythril > 0)
|
|
var/obj/item/stack/sheet/mineral/mythril/G = new /obj/item/stack/sheet/mineral/mythril
|
|
G.amount = machine.ore_mythril
|
|
G.loc = machine.output.loc
|
|
machine.ore_mythril = 0
|
|
src.updateUsrDialog()
|
|
return
|
|
|
|
|
|
/**********************Mineral stacking unit**************************/
|
|
|
|
|
|
/obj/machinery/mineral/stacking_machine
|
|
name = "stacking machine"
|
|
icon = 'icons/obj/machines/mining_machines.dmi'
|
|
icon_state = "stacker"
|
|
density = 1
|
|
anchored = 1.0
|
|
var/obj/machinery/mineral/stacking_unit_console/CONSOLE
|
|
var/stk_types = list()
|
|
var/stk_amt = list()
|
|
var/obj/machinery/mineral/input = null
|
|
var/obj/machinery/mineral/output = null
|
|
var/ore_gold = 0;
|
|
var/ore_silver = 0;
|
|
var/ore_diamond = 0;
|
|
var/ore_plasma = 0;
|
|
var/ore_iron = 0;
|
|
var/ore_uranium = 0;
|
|
var/ore_clown = 0;
|
|
var/ore_glass = 0;
|
|
var/ore_rglass = 0;
|
|
var/ore_plasteel = 0;
|
|
var/ore_wood = 0
|
|
var/ore_cardboard = 0
|
|
var/ore_cloth = 0;
|
|
var/ore_leather = 0;
|
|
var/ore_adamantine = 0;
|
|
var/ore_mythril = 0;
|
|
var/stack_amt = 50; //ammount to stack before releassing
|
|
|
|
/obj/machinery/mineral/stacking_machine/New()
|
|
..()
|
|
spawn( 5 )
|
|
for (var/dir in cardinal)
|
|
src.input = locate(/obj/machinery/mineral/input, get_step(src, dir))
|
|
if(src.input) break
|
|
for (var/dir in cardinal)
|
|
src.output = locate(/obj/machinery/mineral/output, get_step(src, dir))
|
|
if(src.output) break
|
|
processing_objects.Add(src)
|
|
return
|
|
return
|
|
|
|
/obj/machinery/mineral/stacking_machine/process()
|
|
if (src.output && src.input)
|
|
var/obj/item/O
|
|
while (locate(/obj/item, input.loc))
|
|
O = locate(/obj/item, input.loc)
|
|
if (istype(O,/obj/item/stack/sheet/metal))
|
|
ore_iron+= O:amount;
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/mineral/diamond))
|
|
ore_diamond+= O:amount;
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/mineral/plasma))
|
|
ore_plasma+= O:amount
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/mineral/gold))
|
|
ore_gold+= O:amount
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/mineral/silver))
|
|
ore_silver+= O:amount
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/mineral/clown))
|
|
ore_clown+= O:amount
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/mineral/uranium))
|
|
ore_uranium+= O:amount
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/glass))
|
|
ore_glass+= O:amount
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/rglass))
|
|
ore_rglass+= O:amount
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/plasteel))
|
|
ore_plasteel+= O:amount
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/mineral/adamantine))
|
|
ore_adamantine+= O:amount
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/mineral/mythril))
|
|
ore_mythril+= O:amount
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/cardboard))
|
|
ore_cardboard+= O:amount
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/wood))
|
|
ore_wood+= O:amount
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/cloth))
|
|
ore_cloth+= O:amount
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/stack/sheet/leather))
|
|
ore_leather+= O:amount
|
|
del(O)
|
|
continue
|
|
if (istype(O,/obj/item/weapon/ore/slag))
|
|
del(O)
|
|
continue
|
|
O.loc = src.output.loc
|
|
if (ore_gold >= stack_amt)
|
|
var/obj/item/stack/sheet/mineral/gold/G = new /obj/item/stack/sheet/mineral/gold
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_gold -= stack_amt
|
|
return
|
|
if (ore_silver >= stack_amt)
|
|
var/obj/item/stack/sheet/mineral/silver/G = new /obj/item/stack/sheet/mineral/silver
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_silver -= stack_amt
|
|
return
|
|
if (ore_diamond >= stack_amt)
|
|
var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_diamond -= stack_amt
|
|
return
|
|
if (ore_plasma >= stack_amt)
|
|
var/obj/item/stack/sheet/mineral/plasma/G = new /obj/item/stack/sheet/mineral/plasma
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_plasma -= stack_amt
|
|
return
|
|
if (ore_iron >= stack_amt)
|
|
var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_iron -= stack_amt
|
|
return
|
|
if (ore_clown >= stack_amt)
|
|
var/obj/item/stack/sheet/mineral/clown/G = new /obj/item/stack/sheet/mineral/clown
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_clown -= stack_amt
|
|
return
|
|
if (ore_uranium >= stack_amt)
|
|
var/obj/item/stack/sheet/mineral/uranium/G = new /obj/item/stack/sheet/mineral/uranium
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_uranium -= stack_amt
|
|
return
|
|
if (ore_glass >= stack_amt)
|
|
var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_glass -= stack_amt
|
|
return
|
|
if (ore_rglass >= stack_amt)
|
|
var/obj/item/stack/sheet/rglass/G = new /obj/item/stack/sheet/rglass
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_rglass -= stack_amt
|
|
return
|
|
if (ore_plasteel >= stack_amt)
|
|
var/obj/item/stack/sheet/plasteel/G = new /obj/item/stack/sheet/plasteel
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_plasteel -= stack_amt
|
|
return
|
|
if (ore_wood >= stack_amt)
|
|
var/obj/item/stack/sheet/wood/G = new /obj/item/stack/sheet/wood
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_wood -= stack_amt
|
|
return
|
|
if (ore_cardboard >= stack_amt)
|
|
var/obj/item/stack/sheet/cardboard/G = new /obj/item/stack/sheet/cardboard
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_cardboard -= stack_amt
|
|
return
|
|
if (ore_cloth >= stack_amt)
|
|
var/obj/item/stack/sheet/cloth/G = new /obj/item/stack/sheet/cloth
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_cloth -= stack_amt
|
|
return
|
|
if (ore_leather >= stack_amt)
|
|
var/obj/item/stack/sheet/leather/G = new /obj/item/stack/sheet/leather
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_leather -= stack_amt
|
|
return
|
|
if (ore_adamantine >= stack_amt)
|
|
var/obj/item/stack/sheet/mineral/adamantine/G = new /obj/item/stack/sheet/mineral/adamantine
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_adamantine -= stack_amt
|
|
return
|
|
if (ore_mythril >= stack_amt)
|
|
var/obj/item/stack/sheet/mineral/mythril/G = new /obj/item/stack/sheet/mineral/mythril
|
|
G.amount = stack_amt
|
|
G.loc = output.loc
|
|
ore_mythril -= stack_amt
|
|
return
|
|
return
|