Labor Camp (Gulag) Rework (#14707)

* remap, machines and a lot

* Update cyberiad.dmm
This commit is contained in:
Varghh
2020-10-26 19:25:06 -03:00
committed by GitHub
parent 818bebc39d
commit 7a1326664d
6 changed files with 1448 additions and 406 deletions
+4 -12
View File
@@ -18,7 +18,6 @@
. = ..()
announcer = new /obj/item/radio/intercom(null)
announcer.config(list("Security" = 0))
locate_stacking_machine()
if(!sheet_values)
for(var/sheet_type in subtypesof(/obj/item/stack/sheet))
@@ -70,7 +69,7 @@
data["id_inserted"] = inserted_id != null
if(inserted_id)
data["id_name"] = inserted_id.registered_name
data["id_points"] = inserted_id.points
data["id_points"] = inserted_id.mining_points
data["id_goal"] = inserted_id.goal
if(check_auth())
can_go_home = TRUE
@@ -103,7 +102,7 @@
if("claim_points")
if(!inserted_id)
return
inserted_id.points += stacking_machine.points
inserted_id.mining_points += stacking_machine.points
stacking_machine.points = 0
to_chat(usr, "Points transferred.")
if("move_shuttle")
@@ -129,14 +128,7 @@
/obj/machinery/mineral/labor_claim_console/proc/check_auth()
if(emagged)
return TRUE //Shuttle is emagged, let any ol' person through
return (istype(inserted_id) && inserted_id.points >= inserted_id.goal) //Otherwise, only let them out if the prisoner's reached his quota.
/obj/machinery/mineral/labor_claim_console/proc/locate_stacking_machine()
stacking_machine = locate(/obj/machinery/mineral/stacking_machine, get_step(src, machinedir))
if(stacking_machine)
stacking_machine.CONSOLE = src
else
qdel(src)
return (istype(inserted_id) && inserted_id.mining_points >= inserted_id.goal) //Otherwise, only let them out if the prisoner's reached his quota.
/obj/machinery/mineral/labor_claim_console/emag_act(mob/user)
if(!(emagged))
@@ -179,7 +171,7 @@
if(istype(I, /obj/item/card/id/prisoner))
var/obj/item/card/id/prisoner/prisoner_id = I
to_chat(user, "<span class='notice'><B>ID: [prisoner_id.registered_name]</B></span>")
to_chat(user, "<span class='notice'>Points Collected:[prisoner_id.points]</span>")
to_chat(user, "<span class='notice'>Points Collected:[prisoner_id.mining_points]</span>")
to_chat(user, "<span class='notice'>Point Quota: [prisoner_id.goal]</span>")
to_chat(user, "<span class='notice'>Collect points by bringing smelted minerals to the Labor Shuttle stacking machine. Reach your quota to earn your release.</span>")
else
+20
View File
@@ -25,6 +25,7 @@
var/datum/research/files
var/obj/item/disk/design_disk/inserted_disk
var/list/supply_consoles = list("Science", "Robotics", "Research Director's Desk", "Mechanic", "Engineering" = list("metal", "glass", "plasma"), "Chief Engineer's Desk" = list("metal", "glass", "plasma"), "Atmospherics" = list("metal", "glass", "plasma"), "Bar" = list("uranium", "plasma"), "Virology" = list("plasma", "uranium", "gold"))
var/anyuse = FALSE
/obj/machinery/mineral/ore_redemption/New()
..()
@@ -54,6 +55,11 @@
req_access = list(ACCESS_FREE_GOLEMS)
req_access_reclaim = ACCESS_FREE_GOLEMS
/obj/machinery/mineral/ore_redemption/labor
name = "labor camp ore redemption machine"
req_access = list()
anyuse = TRUE
/obj/machinery/mineral/ore_redemption/golem/New()
..()
component_parts = list()
@@ -65,6 +71,17 @@
component_parts += new /obj/item/stack/sheet/glass(null)
RefreshParts()
/obj/machinery/mineral/ore_redemption/labor/New()
..()
component_parts = list()
component_parts += new /obj/item/circuitboard/ore_redemption/labor(null)
component_parts += new /obj/item/stock_parts/matter_bin(null)
component_parts += new /obj/item/stock_parts/manipulator(null)
component_parts += new /obj/item/stock_parts/micro_laser(null)
component_parts += new /obj/item/assembly/igniter(null)
component_parts += new /obj/item/stack/sheet/glass(null)
RefreshParts()
/obj/machinery/mineral/ore_redemption/Destroy()
QDEL_NULL(files)
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
@@ -311,6 +328,9 @@
if(req_access_reclaim in inserted_id.access)
inserted_id.mining_points += points
points = 0
if(anyuse)
inserted_id.mining_points += points
points = 0
else
to_chat(usr, "<span class='warning'>Required access not found.</span>")
else if(href_list["insert_id"])
+41
View File
@@ -299,6 +299,47 @@
EQUIPMENT("The Liberator's Legacy", /obj/item/storage/box/rndboards, 2000),
)
/**********************Mining Equiment Vendor (Gulag)**************************/
/obj/machinery/mineral/equipment_vendor/labor
name = "labor camp equipment vendor"
desc = "An equipment vendor for scum, points collected at an ore redemption machine can be spent here."
/obj/machinery/mineral/equipment_vendor/labor/New()
..()
component_parts = list()
component_parts += new /obj/item/circuitboard/mining_equipment_vendor/labor(null)
component_parts += new /obj/item/stock_parts/matter_bin(null)
component_parts += new /obj/item/stock_parts/matter_bin(null)
component_parts += new /obj/item/stock_parts/matter_bin(null)
component_parts += new /obj/item/stack/sheet/glass(null)
RefreshParts()
/obj/machinery/mineral/equipment_vendor/labor/Initialize()
. = ..()
prize_list = list()
prize_list["Scum"] += list(
EQUIPMENT("Trauma Kit", /obj/item/stack/medical/bruise_pack/advanced, 150),
EQUIPMENT("Whisky", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 100),
EQUIPMENT("Beer", /obj/item/reagent_containers/food/drinks/cans/beer, 50),
EQUIPMENT("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe/premium, 250),
EQUIPMENT("Cigarettes", /obj/item/storage/fancy/cigarettes, 100),
EQUIPMENT("Medical Marijuana", /obj/item/storage/fancy/cigarettes/cigpack_med, 250),
EQUIPMENT("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 150),
EQUIPMENT("Box of matches", /obj/item/storage/box/matches, 50),
EQUIPMENT("Cheeseburger", /obj/item/reagent_containers/food/snacks/cheeseburger, 150),
EQUIPMENT("Big Burger", /obj/item/reagent_containers/food/snacks/bigbiteburger, 250),
EQUIPMENT("Recycled Prisoner", /obj/item/reagent_containers/food/snacks/soylentgreen, 500),
EQUIPMENT("Crayons", /obj/item/storage/fancy/crayons, 350),
EQUIPMENT("Plushie", /obj/random/plushie, 750),
EQUIPMENT("Dnd set", /obj/item/storage/box/characters, 500),
EQUIPMENT("Dice set", /obj/item/storage/box/dice, 250),
EQUIPMENT("Cards", /obj/item/toy/cards/deck, 150),
EQUIPMENT("Guitar", /obj/item/instrument/guitar, 750),
EQUIPMENT("Synthesizer", /obj/item/instrument/piano_synth, 1500),
EQUIPMENT("Diamond Pickaxe", /obj/item/pickaxe/diamond, 2000)
)
/**********************Mining Equipment Datum**************************/
/datum/data/mining_equipment