mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-10 15:45:05 +01:00
Free photocopier is now really free (#91894)
This commit is contained in:
@@ -5,6 +5,10 @@
|
||||
"ad" = (
|
||||
/turf/open/space,
|
||||
/area/space)
|
||||
"ae" = (
|
||||
/obj/machinery/photocopier/gratis/prebuilt,
|
||||
/turf/open/floor/iron/grimy,
|
||||
/area/centcom/central_command_areas/briefing)
|
||||
"ak" = (
|
||||
/obj/item/kirbyplants/organic/plant21,
|
||||
/obj/effect/turf_decal/tile/red/anticorner/contrasted{
|
||||
@@ -428,6 +432,33 @@
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/centcom/central_command_areas/control)
|
||||
"bY" = (
|
||||
/obj/machinery/button/door/indestructible{
|
||||
id = "CCsec3";
|
||||
name = "CC Shutter 3 Control";
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/machinery/button/door/indestructible{
|
||||
id = "CCcustoms2";
|
||||
name = "CC Shutter 2 Control";
|
||||
pixel_x = 9;
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/button/door/indestructible{
|
||||
id = "CCsec1";
|
||||
name = "CC Shutter 1 Control";
|
||||
pixel_y = 40
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/obj/machinery/button/door/indestructible{
|
||||
id = "CCsec4";
|
||||
name = "CC Shutter 4 Control";
|
||||
pixel_x = -9;
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/photocopier/gratis/prebuilt,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/centcom/central_command_areas/control)
|
||||
"bZ" = (
|
||||
/obj/effect/turf_decal/tile/green,
|
||||
/obj/effect/light_emitter/thunderdome,
|
||||
@@ -1163,6 +1194,16 @@
|
||||
/obj/effect/light_emitter/thunderdome,
|
||||
/turf/open/floor/iron,
|
||||
/area/centcom/tdome/arena)
|
||||
"fg" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/book/manual/wiki/barman_recipes,
|
||||
/obj/item/reagent_containers/cup/glass/shaker,
|
||||
/obj/item/rag,
|
||||
/obj/machinery/newscaster/directional/south,
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/obj/machinery/light/small/directional/east,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/centcom/tdome/observation)
|
||||
"fh" = (
|
||||
/obj/item/kirbyplants/organic/plant22,
|
||||
/obj/effect/turf_decal/tile/green/half/contrasted,
|
||||
@@ -1200,6 +1241,14 @@
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/turf/open/floor/plating,
|
||||
/area/centcom/central_command_areas/evacuation)
|
||||
"fu" = (
|
||||
/obj/structure/reagent_dispensers/fueltank,
|
||||
/obj/item/weldingtool/experimental,
|
||||
/obj/effect/decal/cleanable/blood/oil,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/turf/open/floor/iron,
|
||||
/area/centcom/central_command_areas/admin)
|
||||
"fw" = (
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/turf/open/floor/iron,
|
||||
@@ -1253,6 +1302,16 @@
|
||||
},
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/centcom/central_command_areas/evacuation/ship)
|
||||
"fJ" = (
|
||||
/obj/structure/reagent_dispensers/watertank,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 6
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/blood/oil,
|
||||
/obj/machinery/light/small/directional/west,
|
||||
/turf/open/floor/iron/smooth_large,
|
||||
/area/centcom/central_command_areas/evacuation/ship)
|
||||
"fM" = (
|
||||
/obj/structure/filingcabinet/medical,
|
||||
/obj/machinery/firealarm/directional/west,
|
||||
@@ -1572,33 +1631,6 @@
|
||||
/obj/machinery/griddle,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/centcom/tdome/observation)
|
||||
"hw" = (
|
||||
/obj/machinery/photocopier/prebuilt,
|
||||
/obj/machinery/button/door/indestructible{
|
||||
id = "CCsec3";
|
||||
name = "CC Shutter 3 Control";
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/machinery/button/door/indestructible{
|
||||
id = "CCcustoms2";
|
||||
name = "CC Shutter 2 Control";
|
||||
pixel_x = 9;
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/button/door/indestructible{
|
||||
id = "CCsec1";
|
||||
name = "CC Shutter 1 Control";
|
||||
pixel_y = 40
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/obj/machinery/button/door/indestructible{
|
||||
id = "CCsec4";
|
||||
name = "CC Shutter 4 Control";
|
||||
pixel_x = -9;
|
||||
pixel_y = 32
|
||||
},
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/centcom/central_command_areas/control)
|
||||
"hz" = (
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/turf/open/floor/iron/dark,
|
||||
@@ -3699,6 +3731,13 @@
|
||||
/obj/effect/mapping_helpers/airlock/access/all/admin/captain,
|
||||
/turf/open/floor/iron,
|
||||
/area/centcom/central_command_areas/prison)
|
||||
"qM" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 6
|
||||
},
|
||||
/obj/machinery/photocopier/gratis/prebuilt,
|
||||
/turf/open/floor/iron,
|
||||
/area/centcom/central_command_areas/supply)
|
||||
"qO" = (
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 8
|
||||
@@ -4570,6 +4609,14 @@
|
||||
},
|
||||
/turf/open/floor/iron,
|
||||
/area/centcom/central_command_areas/evacuation)
|
||||
"uK" = (
|
||||
/obj/machinery/power/terminal{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/obj/effect/decal/cleanable/blood/oil,
|
||||
/turf/open/floor/iron/smooth_large,
|
||||
/area/centcom/central_command_areas/evacuation/ship)
|
||||
"uM" = (
|
||||
/obj/machinery/chem_master/condimaster{
|
||||
name = "HoochMaster 2000"
|
||||
@@ -4939,16 +4986,6 @@
|
||||
/obj/structure/flora/bush/pointy/style_random,
|
||||
/turf/open/floor/grass,
|
||||
/area/centcom/tdome/administration)
|
||||
"wk" = (
|
||||
/obj/structure/reagent_dispensers/watertank,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 6
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/blood/oil,
|
||||
/obj/machinery/light/small/directional/west,
|
||||
/turf/open/floor/iron/smooth_large,
|
||||
/area/centcom/central_command_areas/evacuation/ship)
|
||||
"wl" = (
|
||||
/obj/machinery/modular_computer/preset/id/centcom{
|
||||
dir = 1
|
||||
@@ -5559,14 +5596,6 @@
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/centcom/tdome/observation)
|
||||
"za" = (
|
||||
/obj/machinery/power/terminal{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/obj/effect/decal/cleanable/blood/oil,
|
||||
/turf/open/floor/iron/smooth_large,
|
||||
/area/centcom/central_command_areas/evacuation/ship)
|
||||
"zb" = (
|
||||
/obj/machinery/computer/records/medical{
|
||||
dir = 4
|
||||
@@ -6100,14 +6129,6 @@
|
||||
/obj/machinery/light/small/directional/west,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/centcom/central_command_areas/admin)
|
||||
"Bm" = (
|
||||
/obj/structure/reagent_dispensers/fueltank,
|
||||
/obj/item/weldingtool/experimental,
|
||||
/obj/effect/decal/cleanable/blood/oil,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/turf/open/floor/iron,
|
||||
/area/centcom/central_command_areas/admin)
|
||||
"Bo" = (
|
||||
/obj/effect/turf_decal/tile/green{
|
||||
dir = 8
|
||||
@@ -6874,10 +6895,6 @@
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/centcom/tdome/administration)
|
||||
"EU" = (
|
||||
/obj/machinery/photocopier/prebuilt,
|
||||
/turf/open/floor/iron/grimy,
|
||||
/area/centcom/central_command_areas/briefing)
|
||||
"EV" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/machinery/microwave{
|
||||
@@ -7063,13 +7080,6 @@
|
||||
/obj/effect/light_emitter/thunderdome,
|
||||
/turf/closed/indestructible/fakeglass,
|
||||
/area/centcom/tdome/observation)
|
||||
"Gd" = (
|
||||
/obj/machinery/photocopier/prebuilt,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 6
|
||||
},
|
||||
/turf/open/floor/iron,
|
||||
/area/centcom/central_command_areas/supply)
|
||||
"Gf" = (
|
||||
/obj/machinery/firealarm/directional/east,
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump{
|
||||
@@ -9581,16 +9591,6 @@
|
||||
/obj/item/stack/sheet/mineral/plasma/five,
|
||||
/turf/open/floor/iron/smooth_edge,
|
||||
/area/centcom/central_command_areas/evacuation/ship)
|
||||
"Tf" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/book/manual/wiki/barman_recipes,
|
||||
/obj/item/reagent_containers/cup/glass/shaker,
|
||||
/obj/item/rag,
|
||||
/obj/machinery/newscaster/directional/south,
|
||||
/obj/effect/turf_decal/tile/neutral/fourcorners,
|
||||
/obj/machinery/light/small/directional/east,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/centcom/tdome/observation)
|
||||
"Tg" = (
|
||||
/obj/item/storage/briefcase{
|
||||
pixel_x = -3;
|
||||
@@ -36394,7 +36394,7 @@ aa
|
||||
KH
|
||||
Lt
|
||||
KK
|
||||
wk
|
||||
fJ
|
||||
Qt
|
||||
Lk
|
||||
cP
|
||||
@@ -41276,7 +41276,7 @@ aa
|
||||
aa
|
||||
Lt
|
||||
fQ
|
||||
za
|
||||
uK
|
||||
MX
|
||||
DL
|
||||
ep
|
||||
@@ -47399,7 +47399,7 @@ On
|
||||
Zf
|
||||
Zf
|
||||
On
|
||||
Bm
|
||||
fu
|
||||
Hz
|
||||
Hz
|
||||
Hz
|
||||
@@ -47925,7 +47925,7 @@ wz
|
||||
qR
|
||||
Rd
|
||||
eF
|
||||
EU
|
||||
ae
|
||||
TE
|
||||
az
|
||||
eF
|
||||
@@ -52533,7 +52533,7 @@ kj
|
||||
kj
|
||||
nm
|
||||
iF
|
||||
Gd
|
||||
qM
|
||||
iR
|
||||
oJ
|
||||
lo
|
||||
@@ -53829,7 +53829,7 @@ Za
|
||||
tK
|
||||
gL
|
||||
io
|
||||
hw
|
||||
bY
|
||||
uc
|
||||
kl
|
||||
xV
|
||||
@@ -57200,7 +57200,7 @@ JV
|
||||
dG
|
||||
ym
|
||||
TV
|
||||
Tf
|
||||
fg
|
||||
QC
|
||||
dj
|
||||
Mf
|
||||
|
||||
@@ -79,12 +79,16 @@ GLOBAL_LIST_INIT(paper_blanks, init_paper_blanks())
|
||||
var/mob/living/ass
|
||||
/// A reference to the toner cartridge that's inserted into the copier. Null if there is no cartridge.
|
||||
var/obj/item/toner/toner_cartridge
|
||||
/// Type path of toner this photocopier should starts with. Null if he should start without it.
|
||||
var/obj/item/toner/starting_toner
|
||||
/// How many copies will be printed with one click of the "copy" button.
|
||||
var/num_copies = 1
|
||||
/// Used with photos. Determines if the copied photo will be in greyscale or color.
|
||||
var/color_mode = PHOTO_COLOR
|
||||
/// Indicates whether the printer is currently busy copying or not.
|
||||
var/busy = FALSE
|
||||
/// How much does it cost to use this photocopier.
|
||||
var/usage_cost = PHOTOCOPIER_FEE
|
||||
/// Variable that holds a reference to any object supported for photocopying inside the photocopier
|
||||
var/obj/object_copy
|
||||
/// Variable for the UI telling us how many copies are in the queue.
|
||||
@@ -111,12 +115,9 @@ GLOBAL_LIST_INIT(paper_blanks, init_paper_blanks())
|
||||
)
|
||||
|
||||
/obj/machinery/photocopier/prebuilt
|
||||
starting_toner = /obj/item/toner
|
||||
starting_paper = 30
|
||||
|
||||
/obj/machinery/photocopier/prebuilt/Initialize(mapload)
|
||||
toner_cartridge = new(src)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/photocopier/get_save_vars()
|
||||
. = ..()
|
||||
. += NAMEOF(src, paper_stack)
|
||||
@@ -128,10 +129,12 @@ GLOBAL_LIST_INIT(paper_blanks, init_paper_blanks())
|
||||
AddElement(/datum/element/elevation, pixel_shift = 8) //enough to look like your bums are on the machine.
|
||||
if(starting_paper)
|
||||
paper_stack[created_paper] = starting_paper
|
||||
if(starting_toner)
|
||||
toner_cartridge = new starting_toner(src)
|
||||
|
||||
/// Simply adds the necessary components for this to function.
|
||||
/obj/machinery/photocopier/proc/setup_components()
|
||||
AddComponent(/datum/component/payment, PHOTOCOPIER_FEE, SSeconomy.get_dep_account(ACCOUNT_CIV), PAYMENT_CLINICAL)
|
||||
AddComponent(/datum/component/payment, usage_cost, SSeconomy.get_dep_account(ACCOUNT_CIV), PAYMENT_CLINICAL)
|
||||
|
||||
/obj/machinery/photocopier/RefreshParts()
|
||||
. = ..()
|
||||
@@ -420,7 +423,7 @@ GLOBAL_LIST_INIT(paper_blanks, init_paper_blanks())
|
||||
if(get_paper_count(created_paper) < paper_use * copies_amount)
|
||||
copies_amount = FLOOR(get_paper_count(created_paper) / paper_use, 1)
|
||||
error_message = span_warning("An error message flashes across \the [src]'s screen: \"Not enough paper to perform [copies_amount >= 1 ? "full " : ""]operation.\"")
|
||||
if(!(obj_flags & EMAGGED) && (copies_amount > 0) && (attempt_charge(src, user, (copies_amount - 1) * PHOTOCOPIER_FEE) & COMPONENT_OBJ_CANCEL_CHARGE))
|
||||
if(!(obj_flags & EMAGGED) && (copies_amount > 0) && (attempt_charge(src, user, (copies_amount - 1) * usage_cost) & COMPONENT_OBJ_CANCEL_CHARGE))
|
||||
copies_amount = 0
|
||||
error_message = span_warning("An error message flashes across \the [src]'s screen: \"Failed to charge bank account. Aborting.\"")
|
||||
|
||||
@@ -853,10 +856,11 @@ GLOBAL_LIST_INIT(paper_blanks, init_paper_blanks())
|
||||
/// Subtype of photocopier that is free to use.
|
||||
/obj/machinery/photocopier/gratis
|
||||
desc = "Does the same important paperwork, but it's free to use! The best type of free."
|
||||
usage_cost = 0 // it's free! no charge! very cool and gratis-pilled.
|
||||
|
||||
/obj/machinery/photocopier/gratis/setup_components()
|
||||
// it's free! no charge! very cool and gratis-pilled.
|
||||
AddComponent(/datum/component/payment, 0, SSeconomy.get_dep_account(ACCOUNT_CIV), PAYMENT_CLINICAL)
|
||||
/obj/machinery/photocopier/gratis/prebuilt
|
||||
starting_toner = /obj/item/toner
|
||||
starting_paper = 30
|
||||
|
||||
/*
|
||||
* Toner cartridge
|
||||
|
||||
Reference in New Issue
Block a user