mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 19:44:09 +01:00
Labor Camp (Gulag) Rework (#14707)
* remap, machines and a lot * Update cyberiad.dmm
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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"])
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user