From b3e916cc68949659553b4a453d898bfe3a8c0203 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 09:44:16 -0500 Subject: [PATCH 01/25] e --- code/datums/wires/autoylathe.dm | 48 +++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 code/datums/wires/autoylathe.dm diff --git a/code/datums/wires/autoylathe.dm b/code/datums/wires/autoylathe.dm new file mode 100644 index 0000000000..736c9551ec --- /dev/null +++ b/code/datums/wires/autoylathe.dm @@ -0,0 +1,48 @@ +/datum/wires/autoylathe + holder_type = /obj/machinery/autoylathe + proper_name = "Autoylathe" + +/datum/wires/autoylathe/New(atom/holder) + wires = list( + WIRE_HACK, WIRE_DISABLE, + WIRE_SHOCK, WIRE_ZAP + ) + add_duds(6) + ..() + +/datum/wires/autoylathe/interactable(mob/user) + var/obj/machinery/autoylathe/A = holder + if(A.panel_open) + return TRUE + +/datum/wires/autoylathe/get_status() + var/obj/machinery/autoylathe/A = holder + var/list/status = list() + status += "The red light is [A.disabled ? "on" : "off"]." + status += "The blue light is [A.hacked ? "on" : "off"]." + return status + +/datum/wires/autoylathe/on_pulse(wire) + var/obj/machinery/autoylathe/A = holder + switch(wire) + if(WIRE_HACK) + A.adjust_hacked(!A.hacked) + addtimer(CALLBACK(A, /obj/machinery/autoylathe.proc/reset, wire), 60) + if(WIRE_SHOCK) + A.shocked = !A.shocked + addtimer(CALLBACK(A, /obj/machinery/autoylathe.proc/reset, wire), 60) + if(WIRE_DISABLE) + A.disabled = !A.disabled + addtimer(CALLBACK(A, /obj/machinery/autoylathe.proc/reset, wire), 60) + +/datum/wires/autoylathe/on_cut(wire, mend) + var/obj/machinery/autoylathe/A = holder + switch(wire) + if(WIRE_HACK) + A.adjust_hacked(!mend) + if(WIRE_HACK) + A.shocked = !mend + if(WIRE_DISABLE) + A.disabled = !mend + if(WIRE_ZAP) + A.shock(usr, 50) From af07c4354ee0fe3734f6eac8d7db436dd3f6fb89 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 09:45:38 -0500 Subject: [PATCH 02/25] e --- tgstation.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgstation.dme b/tgstation.dme index 0bad708dc4..6bb5455dcf 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -527,6 +527,7 @@ #include "code\datums\wires\airlock.dm" #include "code\datums\wires\apc.dm" #include "code\datums\wires\autolathe.dm" +#include "code\datums\wires\autoylathe.dm" #include "code\datums\wires\emitter.dm" #include "code\datums\wires\explosive.dm" #include "code\datums\wires\microwave.dm" @@ -3067,7 +3068,6 @@ #include "modular_citadel\code\datums\components\souldeath.dm" #include "modular_citadel\code\datums\status_effects\chems.dm" #include "modular_citadel\code\datums\status_effects\debuffs.dm" -#include "modular_citadel\code\datums\wires\autoylathe.dm" #include "modular_citadel\code\game\machinery\toylathe.dm" #include "modular_citadel\code\game\machinery\vending.dm" #include "modular_citadel\code\game\machinery\wishgranter.dm" From 3dac4e568dcfb5cb433c2ee59510549b2d68ccaa Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 09:45:49 -0500 Subject: [PATCH 03/25] begone --- .../code/datums/wires/autoylathe.dm | 48 ------------------- 1 file changed, 48 deletions(-) delete mode 100644 modular_citadel/code/datums/wires/autoylathe.dm diff --git a/modular_citadel/code/datums/wires/autoylathe.dm b/modular_citadel/code/datums/wires/autoylathe.dm deleted file mode 100644 index 736c9551ec..0000000000 --- a/modular_citadel/code/datums/wires/autoylathe.dm +++ /dev/null @@ -1,48 +0,0 @@ -/datum/wires/autoylathe - holder_type = /obj/machinery/autoylathe - proper_name = "Autoylathe" - -/datum/wires/autoylathe/New(atom/holder) - wires = list( - WIRE_HACK, WIRE_DISABLE, - WIRE_SHOCK, WIRE_ZAP - ) - add_duds(6) - ..() - -/datum/wires/autoylathe/interactable(mob/user) - var/obj/machinery/autoylathe/A = holder - if(A.panel_open) - return TRUE - -/datum/wires/autoylathe/get_status() - var/obj/machinery/autoylathe/A = holder - var/list/status = list() - status += "The red light is [A.disabled ? "on" : "off"]." - status += "The blue light is [A.hacked ? "on" : "off"]." - return status - -/datum/wires/autoylathe/on_pulse(wire) - var/obj/machinery/autoylathe/A = holder - switch(wire) - if(WIRE_HACK) - A.adjust_hacked(!A.hacked) - addtimer(CALLBACK(A, /obj/machinery/autoylathe.proc/reset, wire), 60) - if(WIRE_SHOCK) - A.shocked = !A.shocked - addtimer(CALLBACK(A, /obj/machinery/autoylathe.proc/reset, wire), 60) - if(WIRE_DISABLE) - A.disabled = !A.disabled - addtimer(CALLBACK(A, /obj/machinery/autoylathe.proc/reset, wire), 60) - -/datum/wires/autoylathe/on_cut(wire, mend) - var/obj/machinery/autoylathe/A = holder - switch(wire) - if(WIRE_HACK) - A.adjust_hacked(!mend) - if(WIRE_HACK) - A.shocked = !mend - if(WIRE_DISABLE) - A.disabled = !mend - if(WIRE_ZAP) - A.shock(usr, 50) From 933916a38685e139a58f9dd5f0e2fb03b03a9af3 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 09:46:58 -0500 Subject: [PATCH 04/25] e --- .../research/designs/autoylathe_designs.dm | 708 ++++++++++++++++++ 1 file changed, 708 insertions(+) create mode 100644 code/modules/research/designs/autoylathe_designs.dm diff --git a/code/modules/research/designs/autoylathe_designs.dm b/code/modules/research/designs/autoylathe_designs.dm new file mode 100644 index 0000000000..1773286e6b --- /dev/null +++ b/code/modules/research/designs/autoylathe_designs.dm @@ -0,0 +1,708 @@ +/datum/design/autoylathe + build_type = AUTOYLATHE + +/datum/design/autoylathe/mech + category = list("initial", "Figurines") + +/datum/design/autoylathe/mech/contraband + category = list("hacked", "Figurines") + +/datum/design/autoylathe/figure + category = list("initial", "Figurines") + +/datum/design/autoylathe/balloon + name = "Empty Water balloon" + id = "waterballoon" + materials = list(MAT_PLASTIC = 50) + build_path = /obj/item/toy/balloon + category = list("initial", "Toys") + +/datum/design/autoylathe/spinningtoy + name = "Toy Singularity" + id = "singuloutoy" + materials = list(MAT_PLASTIC = 500) + build_path = /obj/item/toy/spinningtoy + category = list("initial", "Toys") + +/datum/design/autoylathe/capgun + name = "Cap Gun" + id = "capgun" + materials = list(MAT_PLASTIC = 500) + build_path = /obj/item/toy/gun + category = list("initial", "Pistols") + +/datum/design/autoylathe/capgunammo + name = "Capgun Ammo" + id = "capgunammo" + materials = list(MAT_PLASTIC = 50) + build_path = /obj/item/toy/ammo/gun + category = list("initial", "misc") + +/datum/design/autoylathe/toysword + name = "Toy Sword" + id = "toysword" + materials = list(MAT_PLASTIC = 500) + build_path = /obj/item/toy/sword + category = list("initial", "Melee") + +/datum/design/autoylathe/foamblade + name = "Foam Armblade" + id = "foamblade" + materials = list(MAT_PLASTIC = 500) + build_path = /obj/item/toy/foamblade + category = list("initial", "Melee") + +/datum/design/autoylathe/windupbox + name = "Wind Up Toolbox" + id = "windupbox" + materials = list(MAT_PLASTIC = 500) + build_path = /obj/item/toy/windupToolbox + category = list("initial", "Toys") + +/datum/design/autoylathe/toydualsword + name = "Double-Bladed Toy Sword" + id = "dbtoysword" + materials = list(MAT_PLASTIC = 1000) + build_path = /obj/item/twohanded/dualsaber/toy + category = list("initial", "Melee") + +/datum/design/autoylathe/toykatana + name = "Replica Katana" + id = "toykatana" + materials = list(MAT_PLASTIC = 50, MAT_METAL = 450) + build_path = /obj/item/toy/katana + category = list("initial", "Melee") + +/datum/design/autoylathe/snappop + name = "Snap Pop" + id = "snappop_phoenix" + materials = list(MAT_PLASTIC = 50) + build_path = /obj/item/toy/snappop + category = list("initial", "Toys") + +/datum/design/autoylathe/mech/model1 + name = "Toy Ripley" + id = "toymech1" + materials = list(MAT_PLASTIC = 250) + build_path = /obj/item/toy/prize/ripley + +/datum/design/autoylathe/mech/model2 + name = "Toy Firefighter Ripley" + id = "toymech2" + materials = list(MAT_PLASTIC = 250) + build_path = /obj/item/toy/prize/fireripley + +/datum/design/autoylathe/mech/contraband/model3 + name = "Toy Deathsquad fireripley " + id = "toymech3" + materials = list(MAT_PLASTIC = 250) + build_path = /obj/item/toy/prize/deathripley + +/datum/design/autoylathe/mech/model4 + name = "Toy Gygax" + id = "toymech4" + materials = list(MAT_PLASTIC = 250) + build_path = /obj/item/toy/prize/gygax + +/datum/design/autoylathe/mech/model5 + name = "Toy Durand" + id = "toymech5" + materials = list(MAT_PLASTIC = 250) + build_path = /obj/item/toy/prize/durand + +/datum/design/autoylathe/mech/contraband/model6 + name = "Toy H.O.N.K." + id = "toymech6" + materials = list(MAT_PLASTIC = 250) + build_path = /obj/item/toy/prize/honk + +/datum/design/autoylathe/mech/contraband/model7 + name = "Toy Marauder" + id = "toymech7" + materials = list(MAT_PLASTIC = 250) + build_path = /obj/item/toy/prize/marauder + +/datum/design/autoylathe/mech/contraband/model8 + name = "Toy Seraph" + id = "toymech8" + materials = list(MAT_PLASTIC = 250) + build_path = /obj/item/toy/prize/seraph + +/datum/design/autoylathe/mech/contraband/model9 + name = "Toy Mauler" + id = "toymech9" + materials = list(MAT_PLASTIC = 250) + build_path = /obj/item/toy/prize/mauler + +/datum/design/autoylathe/mech/model10 + name = "Toy Odysseus" + id = "toymech10" + materials = list(MAT_PLASTIC = 250) + build_path = /obj/item/toy/prize/odysseus + +/datum/design/autoylathe/mech/model11 + name = "Toy Phazon" + id = "toymech11" + materials = list(MAT_PLASTIC = 250) + build_path = /obj/item/toy/prize/phazon + +/datum/design/autoylathe/mech/contraband/model12 + name = "Toy Reticence" + id = "toymech12" + materials = list(MAT_PLASTIC = 250) + build_path = /obj/item/toy/prize/reticence + category = list("hacked", "Figurines") + +/datum/design/autoylathe/talking/AI + name = "Toy AI" + id = "ToyAICore" + materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) + build_path = /obj/item/toy/talking/AI + category = list("initial", "Toys") + +/datum/design/autoylathe/talking/codex_gigas + name = "Toy Codex Gigas" + id = "ToyCodex" + materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) + build_path = /obj/item/toy/talking/codex_gigas + category = list("initial", "Toys") + +/datum/design/autoylathe/talking/owl + name = "Owl Action Figure" + id = "owlactionfig" + materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) + build_path = /obj/item/toy/talking/owl + +/datum/design/autoylathe/talking/griffin + name = "Griffon Action Figure" + id = "griffinactionfig" + materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) + build_path = /obj/item/toy/talking/griffin + +/datum/design/autoylathe/cards + name = "Deck of Cards" + id = "carddeck" + materials = list(MAT_PLASTIC = 250) + build_path = /obj/item/toy/cards/deck + category = list("initial", "Toys") + +/datum/design/autoylathe/nuke + name = "Nuclear Fission Explosive Toy" + id = "nuketoy" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/nuke + category = list("initial", "Toys") + +/datum/design/autoylathe/minimeteor + name = "Mini-Meteor" + id = "meattoy" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/minimeteor + category = list("hacked", "Misc") + +/datum/design/autoylathe/redbutton + name = "Big Red Button" + id = "redbutton" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/redbutton + category = list("initial", "Toys") + +/datum/design/autoylathe/beach_ball + name = "Beach Ball" + id = "beachball" + materials = list(MAT_PLASTIC = 500) + build_path = /obj/item/toy/beach_ball + category = list("initial", "Toys") + +/datum/design/autoylathe/clockwork_watch + name = "Clockwork Watch" + id = "clockwatch" + materials = list(MAT_PLASTIC = 1000) + build_path = /obj/item/toy/clockwork_watch + category = list("initial", "misc") + +/datum/design/autoylathe/dagger + name = "Toy Dagger" + id = "toydagger" + materials = list(MAT_PLASTIC = 1000) + build_path = /obj/item/toy/toy_dagger + category = list("initial", "Melee") + +/datum/design/autoylathe/xeno + name = "Xenomorph" + id = "xenomorph" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/toy_xeno + +/datum/design/autoylathe/cattoy + name = "Toy Mouse" + id = "cattoy" + materials = list(MAT_PLASTIC = 500) + build_path = /obj/item/toy/cattoy + category = list("initial", "Toys") + +/datum/design/autoylathe/figure/assistant + name = "Assistant" + id = "assfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/assistant + +/datum/design/autoylathe/figure/atmos + name = "Atmos Tech" + id = "atmfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/atmos + +/datum/design/autoylathe/figure/bartender + name = "Bartender" + id = "barfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/bartender + +/datum/design/autoylathe/figure/botanist + name = "Botanist" + id = "botfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/botanist + +/datum/design/autoylathe/figure/captain + name = "Captain" + id = "capfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/captain + +/datum/design/autoylathe/figure/cargotech + name = "Cargo Technician" + id = "carfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/cargotech + +/datum/design/autoylathe/figure/ce + name = "Chief Engineer" + id = "cefigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/ce + +/datum/design/autoylathe/figure/chaplain + name = "Chaplain" + id = "chafigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/chaplain + +/datum/design/autoylathe/figure/chef + name = "Chef" + id = "chefigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/chef + +/datum/design/autoylathe/figure/chemist + name = "Chemist" + id = "chmfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/chemist + +/datum/design/autoylathe/figure/clown + name = "Clown" + id = "clnfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/clown + +/datum/design/autoylathe/figure/cmo + name = "Chief Medical Officer" + id = "cmofigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/cmo + +/datum/design/autoylathe/figure/curator + name = "Curator" + id = "curfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/curator + +/datum/design/autoylathe/figure/borg + name = "Cyborg" + id = "cybfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/borg + +/datum/design/autoylathe/figure/detective + name = "Detective" + id = "detfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/detective + +/datum/design/autoylathe/figure/engineer + name = "Engineer" + id = "engfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/engineer + +/datum/design/autoylathe/figure/geneticist + name = "Geneticist" + id = "genfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/geneticist + +/datum/design/autoylathe/figure/hop + name = "Head of Personnel" + id = "hopfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/hop + +/datum/design/autoylathe/figure/hos + name = "Head of Security" + id = "hosfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/hos + +/datum/design/autoylathe/figure/janitor + name = "Janitor" + id = "janfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/janitor + +/datum/design/autoylathe/figure/lawyer + name = "Lawyer" + id = "lawfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/lawyer + +/datum/design/autoylathe/figure/md + name = "Medical Doctor" + id = "medfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/md + +/datum/design/autoylathe/figure/mime + name = "Mime" + id = "mimfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/mime + +/datum/design/autoylathe/figure/miner + name = "Miner" + id = "minfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/miner + +/datum/design/autoylathe/figure/rd + name = "Research Director" + id = "rdfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/rd + +/datum/design/autoylathe/figure/robotocist + name = "Robotocist" + id = "robfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/roboticist + +/datum/design/autoylathe/figure/qm + name = "Quartermaster" + id = "qtmfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/qm + +/datum/design/autoylathe/figure/scientist + name = "Scientist" + id = "scifigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/scientist + +/datum/design/autoylathe/figure/secofficer + name = "Security Officer" + id = "secfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/secofficer + +/datum/design/autoylathe/figure/virologist + name = "Virologist" + id = "virfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/virologist + +/datum/design/autoylathe/figure/warden + name = "Warden" + id = "warfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/warden + +/datum/design/autoylathe/figure/dsquad + name = "Deathsquad" + id = "dsqfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/dsquad + category = list("hacked", "Figurines") + +/datum/design/autoylathe/figure/ian + name = "Ian" + id = "ianfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/ian + category = list("hacked", "Figurines") + +/datum/design/autoylathe/figure/ninja + name = "Ninja" + id = "ninfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/ninja + category = list("hacked", "Figurines") + +/datum/design/autoylathe/figure/syndie + name = "Nuclear Operative" + id = "nucfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/syndie + category = list("hacked", "Figurines") + +/datum/design/autoylathe/figure/wizard + name = "Wizard" + id = "wizfigure" + materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) + build_path = /obj/item/toy/figure/wizard + category = list("hacked", "Figurines") + +/datum/design/autoylathe/dildo + name = "Customizable Dildo" + id = "dildo" + materials = list(MAT_PLASTIC = 2000) + build_path = /obj/item/dildo/custom + category = list("initial", "Adult") + +/datum/design/autoylathe/collar + name = "Collar" + id = "collar" + materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) + build_path = /obj/item/clothing/neck/petcollar + category = list("initial", "Adult") + +/datum/design/autoylathe/lastag/blue/gun + name = "Blue Lasertag Rifle" + id = "lastagrifleblue" + materials = list(MAT_PLASTIC = 2000, MAT_METAL = 500, MAT_GLASS = 500) + build_path = /obj/item/gun/energy/laser/bluetag + category = list("initial", "Rifles") + +/datum/design/autoylathe/lastag/red/gun + name = "Red Lasertag Rifle" + id = "lastagriflered" + materials = list(MAT_PLASTIC = 2000, MAT_METAL = 500, MAT_GLASS = 500) + build_path = /obj/item/gun/energy/laser/redtag + category = list("initial", "Rifles") + +/datum/design/autoylathe/lastag/blue/hat + name = "Blue Lasertag Helmet" + id = "lastaghatblue" + materials = list(MAT_PLASTIC = 4000, MAT_METAL = 1000, MAT_GLASS = 500) + build_path = /obj/item/clothing/head/helmet/bluetaghelm + category = list("initial", "Armor") + +/datum/design/autoylathe/lastag/blue/armor + name = "Blue Lasertag Armor" + id = "lastagarmorblue" + materials = list(MAT_PLASTIC = 8000, MAT_METAL = 2000, MAT_GLASS = 100) + build_path = /obj/item/clothing/suit/bluetag + category = list("initial", "Armor") + +/datum/design/autoylathe/lastag/red/hat + name = "Red Lasertag Helmet" + id = "lastaghelmetred" + materials = list(MAT_PLASTIC = 4000, MAT_METAL = 1000, MAT_GLASS = 500) + build_path = /obj/item/clothing/head/helmet/redtaghelm + category = list("initial", "Armor") + +/datum/design/autoylathe/lastag/red/armor + name = "Red Lasertag Armor" + id = "lastagarmorred" + materials = list(MAT_PLASTIC = 8000, MAT_METAL = 2000, MAT_GLASS = 1000) + build_path = /obj/item/clothing/suit/redtag + category = list("initial", "Armor") + +//because why not make a boxed kit with all of the lastag shit? +/obj/item/storage/box/blueteam + name = "Blue Team Kit" + +/obj/item/storage/box/blueteam/PopulateContents() + new /obj/item/clothing/head/helmet/bluetaghelm(src) + new /obj/item/clothing/suit/bluetag(src) + new /obj/item/gun/energy/laser/bluetag(src) + new /obj/item/clothing/gloves/color/blue(src) + new /obj/item/clothing/shoes/sneakers/blue(src) + new /obj/item/clothing/under/color/blue(src) + +/obj/item/storage/box/redteam + name = "Red Team Kit" + +/obj/item/storage/box/redteam/PopulateContents() + new /obj/item/clothing/head/helmet/redtaghelm(src) + new /obj/item/clothing/suit/redtag(src) + new /obj/item/gun/energy/laser/redtag(src) + new /obj/item/clothing/gloves/color/red(src) + new /obj/item/clothing/shoes/sneakers/red(src) + new /obj/item/clothing/under/color/red(src) + +/datum/design/autoylathe/lastag/blue + name = "Blue Lasertag Kit" + id = "lastagkitblue" + materials = list(MAT_PLASTIC = 16000, MAT_METAL = 4000, MAT_GLASS = 2000) + build_path = /obj/item/storage/box/blueteam + category = list("initial", "Misc") + +/datum/design/autoylathe/lastag/red + name = "Red Lasertag Kit" + id = "lastagkitred" + materials = list(MAT_PLASTIC = 16000, MAT_METAL = 4000, MAT_GLASS = 2000) + build_path = /obj/item/storage/box/redteam + category = list("initial", "Misc") + +/datum/design/foam_x9 + name = "Foam Force X9 Rifle" + id = "foam_x9" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + build_path = /obj/item/gun/ballistic/automatic/x9/toy + category = list("initial", "Rifles") + +/datum/design/foam_dart + name = "Box of Foam Darts" + id = "foam_dart" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 500, MAT_METAL = 100) + build_path = /obj/item/ammo_box/foambox + category = list("initial", "Misc") + +/datum/design/foam_magpistol + name = "Foam Force Magpistol" + id = "magfoam_launcher" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) + build_path = /obj/item/gun/ballistic/shotgun/toy/mag + category = list("initial", "Pistols") + +/datum/design/foam_magrifle + name = "Foam Force MagRifle" + id = "foam_magrifle" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + build_path = /obj/item/gun/ballistic/automatic/magrifle/toy + category = list("initial", "Rifles") + +/datum/design/foam_hyperburst + name = "MagTag Hyper Rifle" + id = "foam_hyperburst" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 4000, MAT_METAL = 2000, MAT_GLASS = 1000) + build_path = /obj/item/gun/energy/laser/practice/hyperburst + category = list("initial", "Rifles") + +/datum/design/foam_sp + name = "Foam Force Stealth Pistol" + id = "foam_sp" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 2000, MAT_METAL = 1000) + build_path = /obj/item/gun/ballistic/automatic/toy/pistol/stealth + category = list("initial", "Pistols") + +/datum/design/toyray + name = "RayTag Gun" + id = "toyray" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 2000, MAT_METAL = 1000, MAT_GLASS = 1000) + build_path = /obj/item/gun/energy/laser/practice/raygun + category = list("initial", "Pistols") + +/datum/design/am4c + name = "Foam Force AM4-C Rifle" + id = "foam_am4c" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + build_path = /obj/item/gun/ballistic/automatic/AM4C + category = list("initial", "Rifles") + +/datum/design/foam_f3 + name = "Replica F3 Justicar" + id = "foam_f3" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) + build_path = /obj/item/toy/gun/justicar + category = list("initial", "Pistols") + +/datum/design/toy_blaster + name = "pump-action plastic blaster" + id = "toy_blaster" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 2000, MAT_METAL = 750, MAT_GLASS = 1000) + build_path = /obj/item/gun/energy/pumpaction/toy + category = list("initial", "Rifles") + +/datum/design/capammo + name = "Box of Caps" + id = "capammo" + build_type = AUTOYLATHE + materials = list(MAT_METAL = 10, MAT_GLASS = 10) + build_path = /obj/item/toy/ammo/gun + category = list("initial", "Misc") + +/datum/design/foam_smg + name = "Foam Force SMG" + id = "foam_smg" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) + build_path = /obj/item/gun/ballistic/automatic/toy/unrestricted + category = list("initial", "Pistols") + +/datum/design/foam_pistol + name = "Foam Force Pistol" + id = "foam_pistol" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) + build_path = /obj/item/gun/ballistic/automatic/toy/pistol/unrestricted + category = list("initial", "Pistols") + +/datum/design/foam_shotgun + name = "Foam Force Shotgun" + id = "foam_shotgun" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + build_path = /obj/item/gun/ballistic/shotgun/toy/unrestricted + category = list("initial", "Rifles") + +/datum/design/foam_dartred + name = "Box of Lastag Red Foam Darts" + id = "redfoam_dart" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 500, MAT_METAL = 100) + build_path = /obj/item/ammo_box/foambox/tag/red + category = list("initial", "Misc") + +/datum/design/foam_dartblue + name = "Box of Lastag Blue Foam Darts" + id = "bluefoam_dart" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 500, MAT_METAL = 100) + build_path = /obj/item/ammo_box/foambox/tag/blue + category = list("initial", "Misc") + +/datum/design/foam_bow + name = "Foam Force Crossbow" + id = "foam_bow" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) + build_path = /obj/item/gun/ballistic/shotgun/toy/crossbow + category = list("initial", "Pistols") + +/datum/design/foam_c20 + name = "Donksoft C20R" + id = "foam_c20" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + build_path = /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted + category = list("hacked", "Rifles") + +/datum/design/foam_l6 + name = "Donksoft LMG" + id = "foam_LMG" + build_type = AUTOYLATHE + materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) + build_path = /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted + category = list("hacked", "Rifles") From 0bbacca4aa44e6a0626eb72f9dcf49c50d8cae4a Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 09:47:55 -0500 Subject: [PATCH 05/25] e --- tgstation.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgstation.dme b/tgstation.dme index 6bb5455dcf..f6f19330df 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2728,6 +2728,7 @@ #include "code\modules\research\stock_parts.dm" #include "code\modules\research\designs\AI_module_designs.dm" #include "code\modules\research\designs\autobotter_designs.dm" +#include "code\modules\research\designs\autoylathe_designs.dm" #include "code\modules\research\designs\biogenerator_designs.dm" #include "code\modules\research\designs\bluespace_designs.dm" #include "code\modules\research\designs\computer_part_designs.dm" @@ -3178,6 +3179,5 @@ #include "modular_citadel\code\modules\reagents\objects\clothes.dm" #include "modular_citadel\code\modules\reagents\objects\items.dm" #include "modular_citadel\code\modules\reagents\reagents\cit_reagents.dm" -#include "modular_citadel\code\modules\research\designs\autoylathe_designs.dm" #include "modular_citadel\interface\skin.dmf" // END_INCLUDE From d0cd6ae336a611e93e6da37cb7cf96a0ae473671 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 09:48:04 -0500 Subject: [PATCH 06/25] begone --- .../research/designs/autoylathe_designs.dm | 708 ------------------ 1 file changed, 708 deletions(-) delete mode 100644 modular_citadel/code/modules/research/designs/autoylathe_designs.dm diff --git a/modular_citadel/code/modules/research/designs/autoylathe_designs.dm b/modular_citadel/code/modules/research/designs/autoylathe_designs.dm deleted file mode 100644 index 1773286e6b..0000000000 --- a/modular_citadel/code/modules/research/designs/autoylathe_designs.dm +++ /dev/null @@ -1,708 +0,0 @@ -/datum/design/autoylathe - build_type = AUTOYLATHE - -/datum/design/autoylathe/mech - category = list("initial", "Figurines") - -/datum/design/autoylathe/mech/contraband - category = list("hacked", "Figurines") - -/datum/design/autoylathe/figure - category = list("initial", "Figurines") - -/datum/design/autoylathe/balloon - name = "Empty Water balloon" - id = "waterballoon" - materials = list(MAT_PLASTIC = 50) - build_path = /obj/item/toy/balloon - category = list("initial", "Toys") - -/datum/design/autoylathe/spinningtoy - name = "Toy Singularity" - id = "singuloutoy" - materials = list(MAT_PLASTIC = 500) - build_path = /obj/item/toy/spinningtoy - category = list("initial", "Toys") - -/datum/design/autoylathe/capgun - name = "Cap Gun" - id = "capgun" - materials = list(MAT_PLASTIC = 500) - build_path = /obj/item/toy/gun - category = list("initial", "Pistols") - -/datum/design/autoylathe/capgunammo - name = "Capgun Ammo" - id = "capgunammo" - materials = list(MAT_PLASTIC = 50) - build_path = /obj/item/toy/ammo/gun - category = list("initial", "misc") - -/datum/design/autoylathe/toysword - name = "Toy Sword" - id = "toysword" - materials = list(MAT_PLASTIC = 500) - build_path = /obj/item/toy/sword - category = list("initial", "Melee") - -/datum/design/autoylathe/foamblade - name = "Foam Armblade" - id = "foamblade" - materials = list(MAT_PLASTIC = 500) - build_path = /obj/item/toy/foamblade - category = list("initial", "Melee") - -/datum/design/autoylathe/windupbox - name = "Wind Up Toolbox" - id = "windupbox" - materials = list(MAT_PLASTIC = 500) - build_path = /obj/item/toy/windupToolbox - category = list("initial", "Toys") - -/datum/design/autoylathe/toydualsword - name = "Double-Bladed Toy Sword" - id = "dbtoysword" - materials = list(MAT_PLASTIC = 1000) - build_path = /obj/item/twohanded/dualsaber/toy - category = list("initial", "Melee") - -/datum/design/autoylathe/toykatana - name = "Replica Katana" - id = "toykatana" - materials = list(MAT_PLASTIC = 50, MAT_METAL = 450) - build_path = /obj/item/toy/katana - category = list("initial", "Melee") - -/datum/design/autoylathe/snappop - name = "Snap Pop" - id = "snappop_phoenix" - materials = list(MAT_PLASTIC = 50) - build_path = /obj/item/toy/snappop - category = list("initial", "Toys") - -/datum/design/autoylathe/mech/model1 - name = "Toy Ripley" - id = "toymech1" - materials = list(MAT_PLASTIC = 250) - build_path = /obj/item/toy/prize/ripley - -/datum/design/autoylathe/mech/model2 - name = "Toy Firefighter Ripley" - id = "toymech2" - materials = list(MAT_PLASTIC = 250) - build_path = /obj/item/toy/prize/fireripley - -/datum/design/autoylathe/mech/contraband/model3 - name = "Toy Deathsquad fireripley " - id = "toymech3" - materials = list(MAT_PLASTIC = 250) - build_path = /obj/item/toy/prize/deathripley - -/datum/design/autoylathe/mech/model4 - name = "Toy Gygax" - id = "toymech4" - materials = list(MAT_PLASTIC = 250) - build_path = /obj/item/toy/prize/gygax - -/datum/design/autoylathe/mech/model5 - name = "Toy Durand" - id = "toymech5" - materials = list(MAT_PLASTIC = 250) - build_path = /obj/item/toy/prize/durand - -/datum/design/autoylathe/mech/contraband/model6 - name = "Toy H.O.N.K." - id = "toymech6" - materials = list(MAT_PLASTIC = 250) - build_path = /obj/item/toy/prize/honk - -/datum/design/autoylathe/mech/contraband/model7 - name = "Toy Marauder" - id = "toymech7" - materials = list(MAT_PLASTIC = 250) - build_path = /obj/item/toy/prize/marauder - -/datum/design/autoylathe/mech/contraband/model8 - name = "Toy Seraph" - id = "toymech8" - materials = list(MAT_PLASTIC = 250) - build_path = /obj/item/toy/prize/seraph - -/datum/design/autoylathe/mech/contraband/model9 - name = "Toy Mauler" - id = "toymech9" - materials = list(MAT_PLASTIC = 250) - build_path = /obj/item/toy/prize/mauler - -/datum/design/autoylathe/mech/model10 - name = "Toy Odysseus" - id = "toymech10" - materials = list(MAT_PLASTIC = 250) - build_path = /obj/item/toy/prize/odysseus - -/datum/design/autoylathe/mech/model11 - name = "Toy Phazon" - id = "toymech11" - materials = list(MAT_PLASTIC = 250) - build_path = /obj/item/toy/prize/phazon - -/datum/design/autoylathe/mech/contraband/model12 - name = "Toy Reticence" - id = "toymech12" - materials = list(MAT_PLASTIC = 250) - build_path = /obj/item/toy/prize/reticence - category = list("hacked", "Figurines") - -/datum/design/autoylathe/talking/AI - name = "Toy AI" - id = "ToyAICore" - materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) - build_path = /obj/item/toy/talking/AI - category = list("initial", "Toys") - -/datum/design/autoylathe/talking/codex_gigas - name = "Toy Codex Gigas" - id = "ToyCodex" - materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) - build_path = /obj/item/toy/talking/codex_gigas - category = list("initial", "Toys") - -/datum/design/autoylathe/talking/owl - name = "Owl Action Figure" - id = "owlactionfig" - materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) - build_path = /obj/item/toy/talking/owl - -/datum/design/autoylathe/talking/griffin - name = "Griffon Action Figure" - id = "griffinactionfig" - materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) - build_path = /obj/item/toy/talking/griffin - -/datum/design/autoylathe/cards - name = "Deck of Cards" - id = "carddeck" - materials = list(MAT_PLASTIC = 250) - build_path = /obj/item/toy/cards/deck - category = list("initial", "Toys") - -/datum/design/autoylathe/nuke - name = "Nuclear Fission Explosive Toy" - id = "nuketoy" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/nuke - category = list("initial", "Toys") - -/datum/design/autoylathe/minimeteor - name = "Mini-Meteor" - id = "meattoy" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/minimeteor - category = list("hacked", "Misc") - -/datum/design/autoylathe/redbutton - name = "Big Red Button" - id = "redbutton" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/redbutton - category = list("initial", "Toys") - -/datum/design/autoylathe/beach_ball - name = "Beach Ball" - id = "beachball" - materials = list(MAT_PLASTIC = 500) - build_path = /obj/item/toy/beach_ball - category = list("initial", "Toys") - -/datum/design/autoylathe/clockwork_watch - name = "Clockwork Watch" - id = "clockwatch" - materials = list(MAT_PLASTIC = 1000) - build_path = /obj/item/toy/clockwork_watch - category = list("initial", "misc") - -/datum/design/autoylathe/dagger - name = "Toy Dagger" - id = "toydagger" - materials = list(MAT_PLASTIC = 1000) - build_path = /obj/item/toy/toy_dagger - category = list("initial", "Melee") - -/datum/design/autoylathe/xeno - name = "Xenomorph" - id = "xenomorph" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/toy_xeno - -/datum/design/autoylathe/cattoy - name = "Toy Mouse" - id = "cattoy" - materials = list(MAT_PLASTIC = 500) - build_path = /obj/item/toy/cattoy - category = list("initial", "Toys") - -/datum/design/autoylathe/figure/assistant - name = "Assistant" - id = "assfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/assistant - -/datum/design/autoylathe/figure/atmos - name = "Atmos Tech" - id = "atmfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/atmos - -/datum/design/autoylathe/figure/bartender - name = "Bartender" - id = "barfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/bartender - -/datum/design/autoylathe/figure/botanist - name = "Botanist" - id = "botfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/botanist - -/datum/design/autoylathe/figure/captain - name = "Captain" - id = "capfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/captain - -/datum/design/autoylathe/figure/cargotech - name = "Cargo Technician" - id = "carfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/cargotech - -/datum/design/autoylathe/figure/ce - name = "Chief Engineer" - id = "cefigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/ce - -/datum/design/autoylathe/figure/chaplain - name = "Chaplain" - id = "chafigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/chaplain - -/datum/design/autoylathe/figure/chef - name = "Chef" - id = "chefigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/chef - -/datum/design/autoylathe/figure/chemist - name = "Chemist" - id = "chmfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/chemist - -/datum/design/autoylathe/figure/clown - name = "Clown" - id = "clnfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/clown - -/datum/design/autoylathe/figure/cmo - name = "Chief Medical Officer" - id = "cmofigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/cmo - -/datum/design/autoylathe/figure/curator - name = "Curator" - id = "curfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/curator - -/datum/design/autoylathe/figure/borg - name = "Cyborg" - id = "cybfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/borg - -/datum/design/autoylathe/figure/detective - name = "Detective" - id = "detfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/detective - -/datum/design/autoylathe/figure/engineer - name = "Engineer" - id = "engfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/engineer - -/datum/design/autoylathe/figure/geneticist - name = "Geneticist" - id = "genfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/geneticist - -/datum/design/autoylathe/figure/hop - name = "Head of Personnel" - id = "hopfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/hop - -/datum/design/autoylathe/figure/hos - name = "Head of Security" - id = "hosfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/hos - -/datum/design/autoylathe/figure/janitor - name = "Janitor" - id = "janfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/janitor - -/datum/design/autoylathe/figure/lawyer - name = "Lawyer" - id = "lawfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/lawyer - -/datum/design/autoylathe/figure/md - name = "Medical Doctor" - id = "medfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/md - -/datum/design/autoylathe/figure/mime - name = "Mime" - id = "mimfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/mime - -/datum/design/autoylathe/figure/miner - name = "Miner" - id = "minfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/miner - -/datum/design/autoylathe/figure/rd - name = "Research Director" - id = "rdfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/rd - -/datum/design/autoylathe/figure/robotocist - name = "Robotocist" - id = "robfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/roboticist - -/datum/design/autoylathe/figure/qm - name = "Quartermaster" - id = "qtmfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/qm - -/datum/design/autoylathe/figure/scientist - name = "Scientist" - id = "scifigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/scientist - -/datum/design/autoylathe/figure/secofficer - name = "Security Officer" - id = "secfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/secofficer - -/datum/design/autoylathe/figure/virologist - name = "Virologist" - id = "virfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/virologist - -/datum/design/autoylathe/figure/warden - name = "Warden" - id = "warfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/warden - -/datum/design/autoylathe/figure/dsquad - name = "Deathsquad" - id = "dsqfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/dsquad - category = list("hacked", "Figurines") - -/datum/design/autoylathe/figure/ian - name = "Ian" - id = "ianfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/ian - category = list("hacked", "Figurines") - -/datum/design/autoylathe/figure/ninja - name = "Ninja" - id = "ninfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/ninja - category = list("hacked", "Figurines") - -/datum/design/autoylathe/figure/syndie - name = "Nuclear Operative" - id = "nucfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/syndie - category = list("hacked", "Figurines") - -/datum/design/autoylathe/figure/wizard - name = "Wizard" - id = "wizfigure" - materials = list(MAT_PLASTIC = 500, MAT_METAL = 50) - build_path = /obj/item/toy/figure/wizard - category = list("hacked", "Figurines") - -/datum/design/autoylathe/dildo - name = "Customizable Dildo" - id = "dildo" - materials = list(MAT_PLASTIC = 2000) - build_path = /obj/item/dildo/custom - category = list("initial", "Adult") - -/datum/design/autoylathe/collar - name = "Collar" - id = "collar" - materials = list(MAT_PLASTIC = 250, MAT_METAL = 50) - build_path = /obj/item/clothing/neck/petcollar - category = list("initial", "Adult") - -/datum/design/autoylathe/lastag/blue/gun - name = "Blue Lasertag Rifle" - id = "lastagrifleblue" - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 500, MAT_GLASS = 500) - build_path = /obj/item/gun/energy/laser/bluetag - category = list("initial", "Rifles") - -/datum/design/autoylathe/lastag/red/gun - name = "Red Lasertag Rifle" - id = "lastagriflered" - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 500, MAT_GLASS = 500) - build_path = /obj/item/gun/energy/laser/redtag - category = list("initial", "Rifles") - -/datum/design/autoylathe/lastag/blue/hat - name = "Blue Lasertag Helmet" - id = "lastaghatblue" - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 1000, MAT_GLASS = 500) - build_path = /obj/item/clothing/head/helmet/bluetaghelm - category = list("initial", "Armor") - -/datum/design/autoylathe/lastag/blue/armor - name = "Blue Lasertag Armor" - id = "lastagarmorblue" - materials = list(MAT_PLASTIC = 8000, MAT_METAL = 2000, MAT_GLASS = 100) - build_path = /obj/item/clothing/suit/bluetag - category = list("initial", "Armor") - -/datum/design/autoylathe/lastag/red/hat - name = "Red Lasertag Helmet" - id = "lastaghelmetred" - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 1000, MAT_GLASS = 500) - build_path = /obj/item/clothing/head/helmet/redtaghelm - category = list("initial", "Armor") - -/datum/design/autoylathe/lastag/red/armor - name = "Red Lasertag Armor" - id = "lastagarmorred" - materials = list(MAT_PLASTIC = 8000, MAT_METAL = 2000, MAT_GLASS = 1000) - build_path = /obj/item/clothing/suit/redtag - category = list("initial", "Armor") - -//because why not make a boxed kit with all of the lastag shit? -/obj/item/storage/box/blueteam - name = "Blue Team Kit" - -/obj/item/storage/box/blueteam/PopulateContents() - new /obj/item/clothing/head/helmet/bluetaghelm(src) - new /obj/item/clothing/suit/bluetag(src) - new /obj/item/gun/energy/laser/bluetag(src) - new /obj/item/clothing/gloves/color/blue(src) - new /obj/item/clothing/shoes/sneakers/blue(src) - new /obj/item/clothing/under/color/blue(src) - -/obj/item/storage/box/redteam - name = "Red Team Kit" - -/obj/item/storage/box/redteam/PopulateContents() - new /obj/item/clothing/head/helmet/redtaghelm(src) - new /obj/item/clothing/suit/redtag(src) - new /obj/item/gun/energy/laser/redtag(src) - new /obj/item/clothing/gloves/color/red(src) - new /obj/item/clothing/shoes/sneakers/red(src) - new /obj/item/clothing/under/color/red(src) - -/datum/design/autoylathe/lastag/blue - name = "Blue Lasertag Kit" - id = "lastagkitblue" - materials = list(MAT_PLASTIC = 16000, MAT_METAL = 4000, MAT_GLASS = 2000) - build_path = /obj/item/storage/box/blueteam - category = list("initial", "Misc") - -/datum/design/autoylathe/lastag/red - name = "Red Lasertag Kit" - id = "lastagkitred" - materials = list(MAT_PLASTIC = 16000, MAT_METAL = 4000, MAT_GLASS = 2000) - build_path = /obj/item/storage/box/redteam - category = list("initial", "Misc") - -/datum/design/foam_x9 - name = "Foam Force X9 Rifle" - id = "foam_x9" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) - build_path = /obj/item/gun/ballistic/automatic/x9/toy - category = list("initial", "Rifles") - -/datum/design/foam_dart - name = "Box of Foam Darts" - id = "foam_dart" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 500, MAT_METAL = 100) - build_path = /obj/item/ammo_box/foambox - category = list("initial", "Misc") - -/datum/design/foam_magpistol - name = "Foam Force Magpistol" - id = "magfoam_launcher" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) - build_path = /obj/item/gun/ballistic/shotgun/toy/mag - category = list("initial", "Pistols") - -/datum/design/foam_magrifle - name = "Foam Force MagRifle" - id = "foam_magrifle" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) - build_path = /obj/item/gun/ballistic/automatic/magrifle/toy - category = list("initial", "Rifles") - -/datum/design/foam_hyperburst - name = "MagTag Hyper Rifle" - id = "foam_hyperburst" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 2000, MAT_GLASS = 1000) - build_path = /obj/item/gun/energy/laser/practice/hyperburst - category = list("initial", "Rifles") - -/datum/design/foam_sp - name = "Foam Force Stealth Pistol" - id = "foam_sp" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 1000) - build_path = /obj/item/gun/ballistic/automatic/toy/pistol/stealth - category = list("initial", "Pistols") - -/datum/design/toyray - name = "RayTag Gun" - id = "toyray" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 1000, MAT_GLASS = 1000) - build_path = /obj/item/gun/energy/laser/practice/raygun - category = list("initial", "Pistols") - -/datum/design/am4c - name = "Foam Force AM4-C Rifle" - id = "foam_am4c" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) - build_path = /obj/item/gun/ballistic/automatic/AM4C - category = list("initial", "Rifles") - -/datum/design/foam_f3 - name = "Replica F3 Justicar" - id = "foam_f3" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) - build_path = /obj/item/toy/gun/justicar - category = list("initial", "Pistols") - -/datum/design/toy_blaster - name = "pump-action plastic blaster" - id = "toy_blaster" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 750, MAT_GLASS = 1000) - build_path = /obj/item/gun/energy/pumpaction/toy - category = list("initial", "Rifles") - -/datum/design/capammo - name = "Box of Caps" - id = "capammo" - build_type = AUTOYLATHE - materials = list(MAT_METAL = 10, MAT_GLASS = 10) - build_path = /obj/item/toy/ammo/gun - category = list("initial", "Misc") - -/datum/design/foam_smg - name = "Foam Force SMG" - id = "foam_smg" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) - build_path = /obj/item/gun/ballistic/automatic/toy/unrestricted - category = list("initial", "Pistols") - -/datum/design/foam_pistol - name = "Foam Force Pistol" - id = "foam_pistol" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) - build_path = /obj/item/gun/ballistic/automatic/toy/pistol/unrestricted - category = list("initial", "Pistols") - -/datum/design/foam_shotgun - name = "Foam Force Shotgun" - id = "foam_shotgun" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) - build_path = /obj/item/gun/ballistic/shotgun/toy/unrestricted - category = list("initial", "Rifles") - -/datum/design/foam_dartred - name = "Box of Lastag Red Foam Darts" - id = "redfoam_dart" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 500, MAT_METAL = 100) - build_path = /obj/item/ammo_box/foambox/tag/red - category = list("initial", "Misc") - -/datum/design/foam_dartblue - name = "Box of Lastag Blue Foam Darts" - id = "bluefoam_dart" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 500, MAT_METAL = 100) - build_path = /obj/item/ammo_box/foambox/tag/blue - category = list("initial", "Misc") - -/datum/design/foam_bow - name = "Foam Force Crossbow" - id = "foam_bow" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 2000, MAT_METAL = 250) - build_path = /obj/item/gun/ballistic/shotgun/toy/crossbow - category = list("initial", "Pistols") - -/datum/design/foam_c20 - name = "Donksoft C20R" - id = "foam_c20" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) - build_path = /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted - category = list("hacked", "Rifles") - -/datum/design/foam_l6 - name = "Donksoft LMG" - id = "foam_LMG" - build_type = AUTOYLATHE - materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500) - build_path = /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted - category = list("hacked", "Rifles") From ba20618bd0ba40e3528bc51459e4496f67aed64f Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 10:00:33 -0500 Subject: [PATCH 07/25] this file does literally nothing --- modular_citadel/code/datums/components/material_container.dm | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 modular_citadel/code/datums/components/material_container.dm diff --git a/modular_citadel/code/datums/components/material_container.dm b/modular_citadel/code/datums/components/material_container.dm deleted file mode 100644 index a7c50e37c5..0000000000 --- a/modular_citadel/code/datums/components/material_container.dm +++ /dev/null @@ -1,4 +0,0 @@ -/datum/material/plastic - name = "Plastic" - id = MAT_PLASTIC - sheet_type = /obj/item/stack/sheet/plastic \ No newline at end of file From ff069ecde2c5ce4f7ed2ec331da2969bb86c545d Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 10:00:46 -0500 Subject: [PATCH 08/25] e --- tgstation.dme | 1 - 1 file changed, 1 deletion(-) diff --git a/tgstation.dme b/tgstation.dme index f6f19330df..a8459cb3cb 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -3065,7 +3065,6 @@ #include "modular_citadel\code\_onclick\hud\screen_objects.dm" #include "modular_citadel\code\_onclick\hud\sprint.dm" #include "modular_citadel\code\_onclick\hud\stamina.dm" -#include "modular_citadel\code\datums\components\material_container.dm" #include "modular_citadel\code\datums\components\souldeath.dm" #include "modular_citadel\code\datums\status_effects\chems.dm" #include "modular_citadel\code\datums\status_effects\debuffs.dm" From 35353996bd1e8640af278c597e10ad179d7f3e4e Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 16:36:53 -0500 Subject: [PATCH 09/25] lazy copypaste --- .../items/circuitboards/machine_circuitboards.dm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index c1833ba44a..65a5dbdb14 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -1000,3 +1000,16 @@ /obj/item/stock_parts/capacitor = 1, /obj/item/stack/cable_coil = 5, /obj/item/reagent_containers/glass/beaker = 6) //So it can hold lots of chems + +/obj/item/circuitboard/machine/kinkmate + name = "Kinkmate Vendor (Machine Board)" + build_path = /obj/machinery/vending/kink + req_components = list(/obj/item/vending_refill/kink = 1) + +/obj/item/circuitboard/machine/autoylathe + name = "Autoylathe (Machine Board)" + build_path = /obj/machinery/autoylathe + req_components = list( + /obj/item/stock_parts/matter_bin = 3, + /obj/item/stock_parts/manipulator = 1, + /obj/item/stack/sheet/glass = 1) From a4da8a2dc4bed2ad6adc3d118ff08859e654ea11 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 16:37:38 -0500 Subject: [PATCH 10/25] bye --- .../items/circuitboards/machine_circuitboards.dm | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 modular_citadel/code/game/objects/items/circuitboards/machine_circuitboards.dm diff --git a/modular_citadel/code/game/objects/items/circuitboards/machine_circuitboards.dm b/modular_citadel/code/game/objects/items/circuitboards/machine_circuitboards.dm deleted file mode 100644 index e70028f5eb..0000000000 --- a/modular_citadel/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ /dev/null @@ -1,12 +0,0 @@ -/obj/item/circuitboard/machine/kinkmate - name = "Kinkmate Vendor (Machine Board)" - build_path = /obj/machinery/vending/kink - req_components = list(/obj/item/vending_refill/kink = 3) - -/obj/item/circuitboard/machine/autoylathe - name = "Autoylathe (Machine Board)" - build_path = /obj/machinery/autoylathe - req_components = list( - /obj/item/stock_parts/matter_bin = 3, - /obj/item/stock_parts/manipulator = 1, - /obj/item/stack/sheet/glass = 1) From c88f58bb6768978fb818494d7d4f8da2cddce867 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 16:41:44 -0500 Subject: [PATCH 11/25] hm --- code/modules/vending/kinkmate.dm | 43 ++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 code/modules/vending/kinkmate.dm diff --git a/code/modules/vending/kinkmate.dm b/code/modules/vending/kinkmate.dm new file mode 100644 index 0000000000..2b87f24e42 --- /dev/null +++ b/code/modules/vending/kinkmate.dm @@ -0,0 +1,43 @@ +/obj/machinery/vending/kink + name = "KinkMate" + desc = "A vending machine for all your unmentionable desires." + icon = 'icons/obj/citvending.dmi' + icon_state = "kink" + circuit = /obj/item/circuitboard/machine/kinkmate + product_slogans = "Kinky!;Sexy!;Check me out, big boy!" + vend_reply = "Have fun, you shameless pervert!" + products = list( + /obj/item/clothing/under/maid = 5, + /obj/item/clothing/under/janimaid = 5, + /obj/item/clothing/neck/petcollar = 5, + /obj/item/clothing/neck/petcollar/choker = 5, + /obj/item/clothing/neck/petcollar/leather = 5, + /obj/item/restraints/handcuffs/fake/kinky = 5, + /obj/item/clothing/glasses/sunglasses/blindfold = 4, + /obj/item/clothing/mask/muzzle = 4, + /obj/item/clothing/under/stripper_pink = 3, + /obj/item/clothing/under/stripper_green = 3, + /obj/item/clothing/under/corset = 3, + /obj/item/clothing/under/gear_harness = 10, + /obj/item/dildo/custom = 5, + /obj/item/electropack/shockcollar = 3, + /obj/item/assembly/signaler = 3 + ) + contraband = list( + /obj/item/clothing/neck/petcollar/locked = 2, + /obj/item/key/collar = 2, + /obj/item/clothing/head/kitty = 3, + /obj/item/clothing/head/rabbitears = 3, + /obj/item/clothing/under/keyholesweater = 2, + /obj/item/clothing/under/mankini = 2, + /obj/item/clothing/under/jabroni = 2, + /obj/item/dildo/flared/huge = 3, + /obj/item/reagent_containers/glass/bottle/crocin = 5, + /obj/item/reagent_containers/glass/bottle/camphor = 5 + ) + premium = list( + /obj/item/clothing/accessory/skullcodpiece/fake = 3, + /obj/item/reagent_containers/glass/bottle/hexacrocin = 10, + /obj/item/clothing/under/pants/chaps = 5 + ) + refill_canister = /obj/item/vending_refill/kink From ebf8d048fde27e8d34342ad753e2b68942fe741b Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 16:42:16 -0500 Subject: [PATCH 12/25] perhaps? --- code/modules/vending/sovietvend.dm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 code/modules/vending/sovietvend.dm diff --git a/code/modules/vending/sovietvend.dm b/code/modules/vending/sovietvend.dm new file mode 100644 index 0000000000..6193985ac1 --- /dev/null +++ b/code/modules/vending/sovietvend.dm @@ -0,0 +1,27 @@ +/obj/machinery/vending/sovietvend + name = "KomradeVendtink" + desc = "Rodina-mat' zovyot!" + icon = 'icons/obj/citvending.dmi' + icon_state = "soviet" + vend_reply = "The fascist and capitalist svin'ya shall fall, komrade!" + product_slogans = "Quality worth waiting in line for!; Get Hammer and Sickled!; Sosvietsky soyuz above all!; With capitalist pigsky, you would have paid a fortunetink! ; Craftink in Motherland herself!" + products = list( + /obj/item/clothing/under/soviet = 20, + /obj/item/clothing/head/ushanka = 20, + /obj/item/clothing/shoes/jackboots = 20, + /obj/item/clothing/head/squatter_hat = 20, + /obj/item/clothing/under/squatter_outfit = 20, + /obj/item/clothing/under/russobluecamooutfit = 20, + /obj/item/clothing/head/russobluecamohat = 20 + ) + contraband = list( + /obj/item/clothing/under/syndicate/tacticool = 4, + /obj/item/clothing/mask/balaclava = 4, + /obj/item/clothing/suit/russofurcoat = 4, + /obj/item/clothing/head/russofurhat = 4, + /obj/item/clothing/suit/space/hardsuit/soviet = 3, + /obj/item/gun/energy/laser/LaserAK = 4 + ) + premium = list() + + refill_canister = /obj/item/vending_refill/soviet From 18b78e7671ec8707fabce22b156f83ec48335adc Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 16:43:33 -0500 Subject: [PATCH 13/25] refill --- code/modules/vending/kinkmate.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/vending/kinkmate.dm b/code/modules/vending/kinkmate.dm index 2b87f24e42..f840f391fa 100644 --- a/code/modules/vending/kinkmate.dm +++ b/code/modules/vending/kinkmate.dm @@ -41,3 +41,8 @@ /obj/item/clothing/under/pants/chaps = 5 ) refill_canister = /obj/item/vending_refill/kink + +/obj/item/vending_refill/kink + machine_name = "KinkMate" + icon = 'modular_citadel/icons/vending_restock.dmi' + icon_state = "refill_kink" From 341e076d40bdeb8ea8b01d65b27c2d653f08c804 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 16:43:47 -0500 Subject: [PATCH 14/25] refill 2 --- code/modules/vending/sovietvend.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/vending/sovietvend.dm b/code/modules/vending/sovietvend.dm index 6193985ac1..086b37e4ee 100644 --- a/code/modules/vending/sovietvend.dm +++ b/code/modules/vending/sovietvend.dm @@ -25,3 +25,7 @@ premium = list() refill_canister = /obj/item/vending_refill/soviet + +/obj/item/vending_refill/soviet + machine_name = "sovietvend" + icon_state = "refill_soviet" From 38015d0d029e750fe4beb41c7433544f634486b6 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 16:45:52 -0500 Subject: [PATCH 15/25] moves this --- code/modules/vending/wardrobes.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index 894aecc600..cd643e4220 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -335,6 +335,8 @@ /obj/item/clothing/head/nemes = 1, /obj/item/clothing/head/pharaoh = 1, /obj/item/storage/fancy/candle_box = 3) + premium = list(/obj/item/toy/plush/plushvar = 1, + /obj/item/toy/plush/narplush = 1) refill_canister = /obj/item/vending_refill/wardrobe/chap_wardrobe /obj/item/vending_refill/wardrobe/chap_wardrobe From ceea7cd021646ff778a758c0dd502c948b29d666 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 16:47:22 -0500 Subject: [PATCH 16/25] moves these over too --- code/modules/vending/medical.dm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/code/modules/vending/medical.dm b/code/modules/vending/medical.dm index ac850efc66..8fabc27375 100644 --- a/code/modules/vending/medical.dm +++ b/code/modules/vending/medical.dm @@ -5,7 +5,7 @@ icon_deny = "med-deny" product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!" req_access = list(ACCESS_MEDICAL) - products = list(/obj/item/reagent_containers/syringe = 12, +products = list(/obj/item/reagent_containers/syringe = 12, /obj/item/reagent_containers/dropper = 3, /obj/item/healthanalyzer = 4, /obj/item/sensor_device = 2, @@ -24,6 +24,12 @@ /obj/item/reagent_containers/glass/bottle/morphine = 4, /obj/item/reagent_containers/glass/bottle/toxin = 3, /obj/item/reagent_containers/syringe/antiviral = 6, + /obj/item/storage/hypospraykit/fire = 2, + /obj/item/storage/hypospraykit/toxin = 2, + /obj/item/storage/hypospraykit/o2 = 2, + /obj/item/storage/hypospraykit/brute = 2, + /obj/item/storage/hypospraykit/enlarge = 2, + /obj/item/reagent_containers/glass/bottle/vial/small = 5, /obj/item/storage/briefcase/medical = 2) contraband = list(/obj/item/reagent_containers/pill/tox = 3, /obj/item/reagent_containers/pill/morphine = 4, From 87698297fbbc5c8955f396ba8cf634ca1c709195 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 16:47:28 -0500 Subject: [PATCH 17/25] bye bye --- .../code/game/machinery/vending.dm | 121 ------------------ 1 file changed, 121 deletions(-) delete mode 100755 modular_citadel/code/game/machinery/vending.dm diff --git a/modular_citadel/code/game/machinery/vending.dm b/modular_citadel/code/game/machinery/vending.dm deleted file mode 100755 index e75ba17801..0000000000 --- a/modular_citadel/code/game/machinery/vending.dm +++ /dev/null @@ -1,121 +0,0 @@ -/obj/machinery/vending/medical - products = list(/obj/item/reagent_containers/syringe = 12, - /obj/item/reagent_containers/dropper = 3, - /obj/item/healthanalyzer = 4, - /obj/item/sensor_device = 2, - /obj/item/pinpointer/crew = 2, - /obj/item/reagent_containers/medspray/sterilizine = 1, - /obj/item/stack/medical/gauze = 8, - /obj/item/reagent_containers/pill/patch/styptic = 5, - /obj/item/reagent_containers/medspray/styptic = 2, - /obj/item/reagent_containers/pill/patch/silver_sulf = 5, - /obj/item/reagent_containers/medspray/silver_sulf = 2, - /obj/item/reagent_containers/pill/insulin = 10, - /obj/item/reagent_containers/pill/salbutamol = 2, - /obj/item/reagent_containers/glass/bottle/charcoal = 4, - /obj/item/reagent_containers/glass/bottle/epinephrine = 4, - /obj/item/reagent_containers/glass/bottle/salglu_solution = 3, - /obj/item/reagent_containers/glass/bottle/morphine = 4, - /obj/item/reagent_containers/glass/bottle/toxin = 3, - /obj/item/reagent_containers/syringe/antiviral = 6, - /obj/item/storage/hypospraykit/fire = 2, - /obj/item/storage/hypospraykit/toxin = 2, - /obj/item/storage/hypospraykit/o2 = 2, - /obj/item/storage/hypospraykit/brute = 2, - /obj/item/storage/hypospraykit/enlarge = 2, - /obj/item/reagent_containers/glass/bottle/vial/small = 5) - -/obj/machinery/vending/wardrobe/chap_wardrobe - premium = list(/obj/item/toy/plush/plushvar = 1, - /obj/item/toy/plush/narplush = 1) - -#define STANDARD_CHARGE 1 -#define CONTRABAND_CHARGE 2 -#define COIN_CHARGE 3 - -/obj/machinery/vending/kink - name = "KinkMate" - desc = "A vending machine for all your unmentionable desires." - icon = 'icons/obj/citvending.dmi' - icon_state = "kink" - circuit = /obj/item/circuitboard/machine/kinkmate - product_slogans = "Kinky!;Sexy!;Check me out, big boy!" - vend_reply = "Have fun, you shameless pervert!" - products = list( - /obj/item/clothing/under/maid = 5, - /obj/item/clothing/under/janimaid = 5, - /obj/item/clothing/neck/petcollar = 5, - /obj/item/clothing/neck/petcollar/choker = 5, - /obj/item/clothing/neck/petcollar/leather = 5, - /obj/item/restraints/handcuffs/fake/kinky = 5, - /obj/item/clothing/glasses/sunglasses/blindfold = 4, - /obj/item/clothing/mask/muzzle = 4, - /obj/item/clothing/under/stripper_pink = 3, - /obj/item/clothing/under/stripper_green = 3, - /obj/item/clothing/under/corset = 3, - /obj/item/clothing/under/gear_harness = 10, - /obj/item/dildo/custom = 5, - /obj/item/electropack/shockcollar = 3, - /obj/item/assembly/signaler = 3 - ) - contraband = list( - /obj/item/clothing/neck/petcollar/locked = 2, - /obj/item/key/collar = 2, - /obj/item/clothing/head/kitty = 3, - /obj/item/clothing/head/rabbitears = 3, - /obj/item/clothing/under/keyholesweater = 2, - /obj/item/clothing/under/mankini = 2, - /obj/item/clothing/under/jabroni = 2, - /obj/item/dildo/flared/huge = 3, - /obj/item/reagent_containers/glass/bottle/crocin = 5, - /obj/item/reagent_containers/glass/bottle/camphor = 5 - ) - premium = list( - /obj/item/clothing/accessory/skullcodpiece/fake = 3, - /obj/item/reagent_containers/glass/bottle/hexacrocin = 10, - /obj/item/clothing/under/pants/chaps = 5 - ) - refill_canister = /obj/item/vending_refill/kink - -/obj/machinery/vending/sovietvend - name = "KomradeVendtink" - desc = "Rodina-mat' zovyot!" - icon = 'icons/obj/citvending.dmi' - icon_state = "soviet" - vend_reply = "The fascist and capitalist svin'ya shall fall, komrade!" - product_slogans = "Quality worth waiting in line for!; Get Hammer and Sickled!; Sosvietsky soyuz above all!; With capitalist pigsky, you would have paid a fortunetink! ; Craftink in Motherland herself!" - products = list( - /obj/item/clothing/under/soviet = 20, - /obj/item/clothing/head/ushanka = 20, - /obj/item/clothing/shoes/jackboots = 20, - /obj/item/clothing/head/squatter_hat = 20, - /obj/item/clothing/under/squatter_outfit = 20, - /obj/item/clothing/under/russobluecamooutfit = 20, - /obj/item/clothing/head/russobluecamohat = 20 - ) - contraband = list( - /obj/item/clothing/under/syndicate/tacticool = 4, - /obj/item/clothing/mask/balaclava = 4, - /obj/item/clothing/suit/russofurcoat = 4, - /obj/item/clothing/head/russofurhat = 4, - /obj/item/clothing/suit/space/hardsuit/soviet = 3, - /obj/item/gun/energy/laser/LaserAK = 4 - ) - premium = list() - - refill_canister = /obj/item/vending_refill/soviet - - -#undef STANDARD_CHARGE -#undef CONTRABAND_CHARGE -#undef COIN_CHARGE - - -/obj/item/vending_refill/kink - machine_name = "KinkMate" - icon = 'modular_citadel/icons/vending_restock.dmi' - icon_state = "refill_kink" - -/obj/item/vending_refill/soviet - machine_name = "sovietvend" - icon_state = "refill_soviet" From 440eac208d13d8e71359879106c083a7add2ef5f Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 16:47:36 -0500 Subject: [PATCH 18/25] cya --- tgstation.dme | 2 -- 1 file changed, 2 deletions(-) diff --git a/tgstation.dme b/tgstation.dme index a8459cb3cb..e674634532 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -3069,7 +3069,6 @@ #include "modular_citadel\code\datums\status_effects\chems.dm" #include "modular_citadel\code\datums\status_effects\debuffs.dm" #include "modular_citadel\code\game\machinery\toylathe.dm" -#include "modular_citadel\code\game\machinery\vending.dm" #include "modular_citadel\code\game\machinery\wishgranter.dm" #include "modular_citadel\code\game\objects\cit_screenshake.dm" #include "modular_citadel\code\game\objects\items.dm" @@ -3078,7 +3077,6 @@ #include "modular_citadel\code\game\objects\items\balls.dm" #include "modular_citadel\code\game\objects\items\boombox.dm" #include "modular_citadel\code\game\objects\items\stunsword.dm" -#include "modular_citadel\code\game\objects\items\circuitboards\machine_circuitboards.dm" #include "modular_citadel\code\game\objects\items\devices\radio\encryptionkey.dm" #include "modular_citadel\code\game\objects\items\devices\radio\headset.dm" #include "modular_citadel\code\game\objects\items\devices\radio\shockcollar.dm" From ff5901cadbfb8d6a9ac54fb4d5718eee30d919a2 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 16:50:40 -0500 Subject: [PATCH 19/25] hi --- code/game/machinery/toylathe.dm | 389 ++++++++++++++++++++++++++++++++ 1 file changed, 389 insertions(+) create mode 100644 code/game/machinery/toylathe.dm diff --git a/code/game/machinery/toylathe.dm b/code/game/machinery/toylathe.dm new file mode 100644 index 0000000000..ecd2132a9d --- /dev/null +++ b/code/game/machinery/toylathe.dm @@ -0,0 +1,389 @@ +#define AUTOYLATHE_MAIN_MENU 1 +#define AUTOYLATHE_CATEGORY_MENU 2 +#define AUTOYLATHE_SEARCH_MENU 3 + +/obj/machinery/autoylathe + name = "autoylathe" + desc = "It produces toys using plastic, metal and glass." + icon_state = "autolathe" + density = TRUE + use_power = IDLE_POWER_USE + idle_power_usage = 10 + active_power_usage = 100 + circuit = /obj/item/circuitboard/machine/autoylathe + layer = BELOW_OBJ_LAYER + + var/operating = FALSE + var/list/L = list() + var/list/LL = list() + var/hacked = FALSE + var/disabled = 0 + var/shocked = FALSE + var/hack_wire + var/disable_wire + var/shock_wire + + var/busy = FALSE + var/prod_coeff = 1 + + var/datum/design/being_built + var/datum/techweb/stored_research + var/list/datum/design/matching_designs + var/selected_category + var/screen = 1 + + var/list/categories = list( + "Toys", + "Figurines", + "Pistols", + "Rifles", + "Heavy", + "Melee", + "Armor", + "Adult", + "Misc", + "Imported" + ) + +/obj/machinery/autoylathe/Initialize() + AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_PLASTIC), 0, TRUE, null, null, CALLBACK(src, .proc/AfterMaterialInsert)) + . = ..() + + wires = new /datum/wires/autoylathe(src) + stored_research = new /datum/techweb/specialized/autounlocking/autoylathe + matching_designs = list() + +/obj/machinery/autoylathe/Destroy() + QDEL_NULL(wires) + return ..() + +/obj/machinery/autoylathe/ui_interact(mob/user) + . = ..() + if(!is_operational()) + return + + if(shocked && !(stat & NOPOWER)) + shock(user,50) + + var/dat + + switch(screen) + if(AUTOYLATHE_MAIN_MENU) + dat = main_win(user) + if(AUTOYLATHE_CATEGORY_MENU) + dat = category_win(user,selected_category) + if(AUTOYLATHE_SEARCH_MENU) + dat = search_win(user) + + var/datum/browser/popup = new(user, "Autoylathe", name, 400, 500) + popup.set_content(dat) + popup.open() + +/obj/machinery/autoylathe/on_deconstruction() + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) + materials.retrieve_all() + +/obj/machinery/autoylathe/attackby(obj/item/O, mob/user, params) + if (busy) + to_chat(user, "The autoylathe is busy. Please wait for completion of previous operation.") + return TRUE + + if(default_deconstruction_screwdriver(user, "autolathe_t", "autolathe", O)) + updateUsrDialog() + return TRUE + + if(default_deconstruction_crowbar(O)) + return TRUE + + if(panel_open && is_wire_tool(O)) + wires.interact(user) + return TRUE + + if(user.a_intent == INTENT_HARM) //so we can hit the machine + return ..() + + if(stat) + return TRUE + + if(istype(O, /obj/item/disk/design_disk)) + user.visible_message("[user] begins to load \the [O] in \the [src]...", + "You begin to load a design from \the [O]...", + "You hear the chatter of a floppy drive.") + busy = TRUE + var/obj/item/disk/design_disk/D = O + if(do_after(user, 14.4, target = src)) + for(var/B in D.blueprints) + if(B) + stored_research.add_design(B) + busy = FALSE + return TRUE + + return ..() + +/obj/machinery/autoylathe/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted) + if(ispath(type_inserted, /obj/item/stack/ore/bluespace_crystal)) + use_power(amount_inserted / 10) + else + switch(id_inserted) + if (MAT_METAL) + flick("autolathe_o",src)//plays metal insertion animation + if (MAT_GLASS) + flick("autolathe_r",src)//plays glass insertion animation + if (MAT_PLASTIC) + flick("autolathe_o",src)//plays metal insertion animation + use_power(amount_inserted / 10) + updateUsrDialog() + +/obj/machinery/autoylathe/Topic(href, href_list) + if(..()) + return + if (!busy) + if(href_list["menu"]) + screen = text2num(href_list["menu"]) + updateUsrDialog() + + if(href_list["category"]) + selected_category = href_list["category"] + updateUsrDialog() + + if(href_list["make"]) + + ///////////////// + //href protection + being_built = stored_research.isDesignResearchedID(href_list["make"]) + if(!being_built) + return + + var/multiplier = text2num(href_list["multiplier"]) + var/is_stack = ispath(being_built.build_path, /obj/item/stack) + multiplier = CLAMP(multiplier,1,50) + + ///////////////// + + var/coeff = (is_stack ? 1 : prod_coeff) //stacks are unaffected by production coefficient + var/metal_cost = being_built.materials[MAT_METAL] + var/glass_cost = being_built.materials[MAT_GLASS] + var/plastic_cost = being_built.materials[MAT_PLASTIC] + var/power = max(2000, (metal_cost+glass_cost+plastic_cost)*multiplier/5) + + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) + if((materials.amount(MAT_METAL) >= metal_cost*multiplier*coeff) && (materials.amount(MAT_GLASS) >= glass_cost*multiplier*coeff) && (materials.amount(MAT_PLASTIC) >= plastic_cost*multiplier*coeff)) + busy = TRUE + use_power(power) + icon_state = "autolathe_n" + var/time = is_stack ? 32 : 32*coeff*multiplier + addtimer(CALLBACK(src, .proc/make_item, power, metal_cost, glass_cost, plastic_cost, multiplier, coeff, is_stack), time) + + if(href_list["search"]) + matching_designs.Cut() + + for(var/v in stored_research.researched_designs) + var/datum/design/D = SSresearch.techweb_design_by_id(v) + if(findtext(D.name,href_list["to_search"])) + matching_designs.Add(D) + updateUsrDialog() + else + to_chat(usr, "The autoylathe is busy. Please wait for completion of previous operation.") + + updateUsrDialog() + + return + +/obj/machinery/autoylathe/proc/make_item(power, metal_cost, glass_cost, plastic_cost, multiplier, coeff, is_stack) + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) + var/atom/A = drop_location() + use_power(power) + var/list/materials_used = list(MAT_METAL=metal_cost*coeff*multiplier, MAT_GLASS=glass_cost*coeff*multiplier, MAT_PLASTIC=plastic_cost*coeff*multiplier) + materials.use_amount(materials_used) + + if(is_stack) + var/obj/item/stack/N = new being_built.build_path(A, multiplier) + N.update_icon() + N.autoylathe_crafted(src) + else + for(var/i=1, i<=multiplier, i++) + var/obj/item/new_item = new being_built.build_path(A) + new_item.materials = new_item.materials.Copy() + for(var/mat in materials_used) + new_item.materials[mat] = materials_used[mat] / multiplier + new_item.autoylathe_crafted(src) + icon_state = "autolathe" + busy = FALSE + updateDialog() + +/obj/machinery/autoylathe/RefreshParts() + var/T = 0 + for(var/obj/item/stock_parts/matter_bin/MB in component_parts) + T += MB.rating*75000 + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) + materials.max_amount = T + T=1.2 + for(var/obj/item/stock_parts/manipulator/M in component_parts) + T -= M.rating*0.2 + prod_coeff = CLAMP(T,1,0) // Coeff going 1 -> 0,8 -> 0,6 -> 0,4 + +/obj/machinery/autoylathe/proc/main_win(mob/user) + var/dat = "

Autoylathe Menu:


" + dat += materials_printout() + + dat += "
\ + \ + \ + \ + \ + \ +

" + + var/line_length = 1 + dat += "" + + for(var/C in categories) + if(line_length > 2) + dat += "" + line_length = 1 + + dat += "" + line_length++ + + dat += "
[C]
" + return dat + +/obj/machinery/autoylathe/proc/category_win(mob/user,selected_category) + var/dat = "Return to main menu" + dat += "

Browsing [selected_category]:


" + dat += materials_printout() + + for(var/v in stored_research.researched_designs) + var/datum/design/D = SSresearch.techweb_design_by_id(v) + if(!(selected_category in D.category)) + continue + + if(disabled || !can_build(D)) + dat += "[D.name]" + else + dat += "[D.name]" + + if(ispath(D.build_path, /obj/item/stack)) + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) + var/max_multiplier = min(D.maxstack, D.materials[MAT_METAL] ?round(materials.amount(MAT_METAL)/D.materials[MAT_METAL]):INFINITY,D.materials[MAT_GLASS] ?round(materials.amount(MAT_GLASS)/D.materials[MAT_GLASS]):INFINITY,D.materials[MAT_PLASTIC] ?round(materials.amount(MAT_PLASTIC)/D.materials[MAT_PLASTIC]):INFINITY) + if (max_multiplier>10 && !disabled) + dat += " x10" + if (max_multiplier>25 && !disabled) + dat += " x25" + if(max_multiplier > 0 && !disabled) + dat += " x[max_multiplier]" + else + if(!disabled && can_build(D, 5)) + dat += " x5" + if(!disabled && can_build(D, 10)) + dat += " x10" + + dat += "[get_design_cost(D)]
" + + dat += "
" + return dat + +/obj/machinery/autoylathe/proc/search_win(mob/user) + var/dat = "Return to main menu" + dat += "

Search results:


" + dat += materials_printout() + + for(var/v in matching_designs) + var/datum/design/D = v + if(disabled || !can_build(D)) + dat += "[D.name]" + else + dat += "[D.name]" + + if(ispath(D.build_path, /obj/item/stack)) + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) + var/max_multiplier = min(D.maxstack, D.materials[MAT_METAL] ?round(materials.amount(MAT_METAL)/D.materials[MAT_METAL]):INFINITY,D.materials[MAT_GLASS] ?round(materials.amount(MAT_GLASS)/D.materials[MAT_GLASS]):INFINITY,D.materials[MAT_PLASTIC] ?round(materials.amount(MAT_PLASTIC)/D.materials[MAT_PLASTIC]):INFINITY) + if (max_multiplier>10 && !disabled) + dat += " x10" + if (max_multiplier>25 && !disabled) + dat += " x25" + if(max_multiplier > 0 && !disabled) + dat += " x[max_multiplier]" + + dat += "[get_design_cost(D)]
" + + dat += "
" + return dat + +/obj/machinery/autoylathe/proc/materials_printout() + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) + var/dat = "Total amount: [materials.total_amount] / [materials.max_amount] cm3
" + for(var/mat_id in materials.materials) + var/datum/material/M = materials.materials[mat_id] + dat += "[M.name] amount: [M.amount] cm3
" + return dat + +/obj/machinery/autoylathe/proc/can_build(datum/design/D, amount = 1) + if(D.make_reagents.len) + return FALSE + + var/coeff = (ispath(D.build_path, /obj/item/stack) ? 1 : prod_coeff) + + var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) + if(D.materials[MAT_METAL] && (materials.amount(MAT_METAL) < (D.materials[MAT_METAL] * coeff * amount))) + return FALSE + if(D.materials[MAT_GLASS] && (materials.amount(MAT_GLASS) < (D.materials[MAT_GLASS] * coeff * amount))) + return FALSE + if(D.materials[MAT_PLASTIC] && (materials.amount(MAT_PLASTIC) < (D.materials[MAT_PLASTIC] * coeff * amount))) + return FALSE + return TRUE + +/obj/machinery/autoylathe/proc/get_design_cost(datum/design/D) + var/coeff = (ispath(D.build_path, /obj/item/stack) ? 1 : prod_coeff) + var/dat + if(D.materials[MAT_METAL]) + dat += "[D.materials[MAT_METAL] * coeff] metal " + if(D.materials[MAT_GLASS]) + dat += "[D.materials[MAT_GLASS] * coeff] glass " + if(D.materials[MAT_PLASTIC]) + dat += "[D.materials[MAT_PLASTIC] * coeff] plastic" + return dat + +/obj/machinery/autoylathe/proc/reset(wire) + switch(wire) + if(WIRE_HACK) + if(!wires.is_cut(wire)) + adjust_hacked(FALSE) + if(WIRE_SHOCK) + if(!wires.is_cut(wire)) + shocked = FALSE + if(WIRE_DISABLE) + if(!wires.is_cut(wire)) + disabled = FALSE + +/obj/machinery/autoylathe/proc/shock(mob/user, prb) + if(stat & (BROKEN|NOPOWER)) // unpowered, no shock + return FALSE + if(!prob(prb)) + return FALSE + var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread + s.set_up(5, 1, src) + s.start() + if (electrocute_mob(user, get_area(src), src, 0.7, TRUE)) + return TRUE + else + return FALSE + +/obj/machinery/autoylathe/proc/adjust_hacked(state) + hacked = state + for(var/id in SSresearch.techweb_designs) + var/datum/design/D = SSresearch.techweb_designs[id] + if((D.build_type & AUTOYLATHE) && ("hacked" in D.category)) + if(hacked) + stored_research.add_design(D) + else + stored_research.remove_design(D) + +/obj/machinery/autoylathe/hacked/Initialize() + . = ..() + adjust_hacked(TRUE) + +//Called when the object is constructed by an autoylathe +//Has a reference to the autoylathe so you can do !!FUN!! things with hacked lathes +/obj/item/proc/autoylathe_crafted(obj/machinery/autoylathe/A) + return From ff3370d38219f11d1c7cc322b52b5d0523c0e9f3 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 16:50:49 -0500 Subject: [PATCH 20/25] bye --- .../code/game/machinery/toylathe.dm | 389 ------------------ 1 file changed, 389 deletions(-) delete mode 100644 modular_citadel/code/game/machinery/toylathe.dm diff --git a/modular_citadel/code/game/machinery/toylathe.dm b/modular_citadel/code/game/machinery/toylathe.dm deleted file mode 100644 index ecd2132a9d..0000000000 --- a/modular_citadel/code/game/machinery/toylathe.dm +++ /dev/null @@ -1,389 +0,0 @@ -#define AUTOYLATHE_MAIN_MENU 1 -#define AUTOYLATHE_CATEGORY_MENU 2 -#define AUTOYLATHE_SEARCH_MENU 3 - -/obj/machinery/autoylathe - name = "autoylathe" - desc = "It produces toys using plastic, metal and glass." - icon_state = "autolathe" - density = TRUE - use_power = IDLE_POWER_USE - idle_power_usage = 10 - active_power_usage = 100 - circuit = /obj/item/circuitboard/machine/autoylathe - layer = BELOW_OBJ_LAYER - - var/operating = FALSE - var/list/L = list() - var/list/LL = list() - var/hacked = FALSE - var/disabled = 0 - var/shocked = FALSE - var/hack_wire - var/disable_wire - var/shock_wire - - var/busy = FALSE - var/prod_coeff = 1 - - var/datum/design/being_built - var/datum/techweb/stored_research - var/list/datum/design/matching_designs - var/selected_category - var/screen = 1 - - var/list/categories = list( - "Toys", - "Figurines", - "Pistols", - "Rifles", - "Heavy", - "Melee", - "Armor", - "Adult", - "Misc", - "Imported" - ) - -/obj/machinery/autoylathe/Initialize() - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_PLASTIC), 0, TRUE, null, null, CALLBACK(src, .proc/AfterMaterialInsert)) - . = ..() - - wires = new /datum/wires/autoylathe(src) - stored_research = new /datum/techweb/specialized/autounlocking/autoylathe - matching_designs = list() - -/obj/machinery/autoylathe/Destroy() - QDEL_NULL(wires) - return ..() - -/obj/machinery/autoylathe/ui_interact(mob/user) - . = ..() - if(!is_operational()) - return - - if(shocked && !(stat & NOPOWER)) - shock(user,50) - - var/dat - - switch(screen) - if(AUTOYLATHE_MAIN_MENU) - dat = main_win(user) - if(AUTOYLATHE_CATEGORY_MENU) - dat = category_win(user,selected_category) - if(AUTOYLATHE_SEARCH_MENU) - dat = search_win(user) - - var/datum/browser/popup = new(user, "Autoylathe", name, 400, 500) - popup.set_content(dat) - popup.open() - -/obj/machinery/autoylathe/on_deconstruction() - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - materials.retrieve_all() - -/obj/machinery/autoylathe/attackby(obj/item/O, mob/user, params) - if (busy) - to_chat(user, "The autoylathe is busy. Please wait for completion of previous operation.") - return TRUE - - if(default_deconstruction_screwdriver(user, "autolathe_t", "autolathe", O)) - updateUsrDialog() - return TRUE - - if(default_deconstruction_crowbar(O)) - return TRUE - - if(panel_open && is_wire_tool(O)) - wires.interact(user) - return TRUE - - if(user.a_intent == INTENT_HARM) //so we can hit the machine - return ..() - - if(stat) - return TRUE - - if(istype(O, /obj/item/disk/design_disk)) - user.visible_message("[user] begins to load \the [O] in \the [src]...", - "You begin to load a design from \the [O]...", - "You hear the chatter of a floppy drive.") - busy = TRUE - var/obj/item/disk/design_disk/D = O - if(do_after(user, 14.4, target = src)) - for(var/B in D.blueprints) - if(B) - stored_research.add_design(B) - busy = FALSE - return TRUE - - return ..() - -/obj/machinery/autoylathe/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted) - if(ispath(type_inserted, /obj/item/stack/ore/bluespace_crystal)) - use_power(amount_inserted / 10) - else - switch(id_inserted) - if (MAT_METAL) - flick("autolathe_o",src)//plays metal insertion animation - if (MAT_GLASS) - flick("autolathe_r",src)//plays glass insertion animation - if (MAT_PLASTIC) - flick("autolathe_o",src)//plays metal insertion animation - use_power(amount_inserted / 10) - updateUsrDialog() - -/obj/machinery/autoylathe/Topic(href, href_list) - if(..()) - return - if (!busy) - if(href_list["menu"]) - screen = text2num(href_list["menu"]) - updateUsrDialog() - - if(href_list["category"]) - selected_category = href_list["category"] - updateUsrDialog() - - if(href_list["make"]) - - ///////////////// - //href protection - being_built = stored_research.isDesignResearchedID(href_list["make"]) - if(!being_built) - return - - var/multiplier = text2num(href_list["multiplier"]) - var/is_stack = ispath(being_built.build_path, /obj/item/stack) - multiplier = CLAMP(multiplier,1,50) - - ///////////////// - - var/coeff = (is_stack ? 1 : prod_coeff) //stacks are unaffected by production coefficient - var/metal_cost = being_built.materials[MAT_METAL] - var/glass_cost = being_built.materials[MAT_GLASS] - var/plastic_cost = being_built.materials[MAT_PLASTIC] - var/power = max(2000, (metal_cost+glass_cost+plastic_cost)*multiplier/5) - - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - if((materials.amount(MAT_METAL) >= metal_cost*multiplier*coeff) && (materials.amount(MAT_GLASS) >= glass_cost*multiplier*coeff) && (materials.amount(MAT_PLASTIC) >= plastic_cost*multiplier*coeff)) - busy = TRUE - use_power(power) - icon_state = "autolathe_n" - var/time = is_stack ? 32 : 32*coeff*multiplier - addtimer(CALLBACK(src, .proc/make_item, power, metal_cost, glass_cost, plastic_cost, multiplier, coeff, is_stack), time) - - if(href_list["search"]) - matching_designs.Cut() - - for(var/v in stored_research.researched_designs) - var/datum/design/D = SSresearch.techweb_design_by_id(v) - if(findtext(D.name,href_list["to_search"])) - matching_designs.Add(D) - updateUsrDialog() - else - to_chat(usr, "The autoylathe is busy. Please wait for completion of previous operation.") - - updateUsrDialog() - - return - -/obj/machinery/autoylathe/proc/make_item(power, metal_cost, glass_cost, plastic_cost, multiplier, coeff, is_stack) - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/atom/A = drop_location() - use_power(power) - var/list/materials_used = list(MAT_METAL=metal_cost*coeff*multiplier, MAT_GLASS=glass_cost*coeff*multiplier, MAT_PLASTIC=plastic_cost*coeff*multiplier) - materials.use_amount(materials_used) - - if(is_stack) - var/obj/item/stack/N = new being_built.build_path(A, multiplier) - N.update_icon() - N.autoylathe_crafted(src) - else - for(var/i=1, i<=multiplier, i++) - var/obj/item/new_item = new being_built.build_path(A) - new_item.materials = new_item.materials.Copy() - for(var/mat in materials_used) - new_item.materials[mat] = materials_used[mat] / multiplier - new_item.autoylathe_crafted(src) - icon_state = "autolathe" - busy = FALSE - updateDialog() - -/obj/machinery/autoylathe/RefreshParts() - var/T = 0 - for(var/obj/item/stock_parts/matter_bin/MB in component_parts) - T += MB.rating*75000 - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - materials.max_amount = T - T=1.2 - for(var/obj/item/stock_parts/manipulator/M in component_parts) - T -= M.rating*0.2 - prod_coeff = CLAMP(T,1,0) // Coeff going 1 -> 0,8 -> 0,6 -> 0,4 - -/obj/machinery/autoylathe/proc/main_win(mob/user) - var/dat = "

Autoylathe Menu:


" - dat += materials_printout() - - dat += "
\ - \ - \ - \ - \ - \ -

" - - var/line_length = 1 - dat += "" - - for(var/C in categories) - if(line_length > 2) - dat += "" - line_length = 1 - - dat += "" - line_length++ - - dat += "
[C]
" - return dat - -/obj/machinery/autoylathe/proc/category_win(mob/user,selected_category) - var/dat = "Return to main menu" - dat += "

Browsing [selected_category]:


" - dat += materials_printout() - - for(var/v in stored_research.researched_designs) - var/datum/design/D = SSresearch.techweb_design_by_id(v) - if(!(selected_category in D.category)) - continue - - if(disabled || !can_build(D)) - dat += "[D.name]" - else - dat += "[D.name]" - - if(ispath(D.build_path, /obj/item/stack)) - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/max_multiplier = min(D.maxstack, D.materials[MAT_METAL] ?round(materials.amount(MAT_METAL)/D.materials[MAT_METAL]):INFINITY,D.materials[MAT_GLASS] ?round(materials.amount(MAT_GLASS)/D.materials[MAT_GLASS]):INFINITY,D.materials[MAT_PLASTIC] ?round(materials.amount(MAT_PLASTIC)/D.materials[MAT_PLASTIC]):INFINITY) - if (max_multiplier>10 && !disabled) - dat += " x10" - if (max_multiplier>25 && !disabled) - dat += " x25" - if(max_multiplier > 0 && !disabled) - dat += " x[max_multiplier]" - else - if(!disabled && can_build(D, 5)) - dat += " x5" - if(!disabled && can_build(D, 10)) - dat += " x10" - - dat += "[get_design_cost(D)]
" - - dat += "
" - return dat - -/obj/machinery/autoylathe/proc/search_win(mob/user) - var/dat = "Return to main menu" - dat += "

Search results:


" - dat += materials_printout() - - for(var/v in matching_designs) - var/datum/design/D = v - if(disabled || !can_build(D)) - dat += "[D.name]" - else - dat += "[D.name]" - - if(ispath(D.build_path, /obj/item/stack)) - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/max_multiplier = min(D.maxstack, D.materials[MAT_METAL] ?round(materials.amount(MAT_METAL)/D.materials[MAT_METAL]):INFINITY,D.materials[MAT_GLASS] ?round(materials.amount(MAT_GLASS)/D.materials[MAT_GLASS]):INFINITY,D.materials[MAT_PLASTIC] ?round(materials.amount(MAT_PLASTIC)/D.materials[MAT_PLASTIC]):INFINITY) - if (max_multiplier>10 && !disabled) - dat += " x10" - if (max_multiplier>25 && !disabled) - dat += " x25" - if(max_multiplier > 0 && !disabled) - dat += " x[max_multiplier]" - - dat += "[get_design_cost(D)]
" - - dat += "
" - return dat - -/obj/machinery/autoylathe/proc/materials_printout() - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/dat = "Total amount: [materials.total_amount] / [materials.max_amount] cm3
" - for(var/mat_id in materials.materials) - var/datum/material/M = materials.materials[mat_id] - dat += "[M.name] amount: [M.amount] cm3
" - return dat - -/obj/machinery/autoylathe/proc/can_build(datum/design/D, amount = 1) - if(D.make_reagents.len) - return FALSE - - var/coeff = (ispath(D.build_path, /obj/item/stack) ? 1 : prod_coeff) - - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - if(D.materials[MAT_METAL] && (materials.amount(MAT_METAL) < (D.materials[MAT_METAL] * coeff * amount))) - return FALSE - if(D.materials[MAT_GLASS] && (materials.amount(MAT_GLASS) < (D.materials[MAT_GLASS] * coeff * amount))) - return FALSE - if(D.materials[MAT_PLASTIC] && (materials.amount(MAT_PLASTIC) < (D.materials[MAT_PLASTIC] * coeff * amount))) - return FALSE - return TRUE - -/obj/machinery/autoylathe/proc/get_design_cost(datum/design/D) - var/coeff = (ispath(D.build_path, /obj/item/stack) ? 1 : prod_coeff) - var/dat - if(D.materials[MAT_METAL]) - dat += "[D.materials[MAT_METAL] * coeff] metal " - if(D.materials[MAT_GLASS]) - dat += "[D.materials[MAT_GLASS] * coeff] glass " - if(D.materials[MAT_PLASTIC]) - dat += "[D.materials[MAT_PLASTIC] * coeff] plastic" - return dat - -/obj/machinery/autoylathe/proc/reset(wire) - switch(wire) - if(WIRE_HACK) - if(!wires.is_cut(wire)) - adjust_hacked(FALSE) - if(WIRE_SHOCK) - if(!wires.is_cut(wire)) - shocked = FALSE - if(WIRE_DISABLE) - if(!wires.is_cut(wire)) - disabled = FALSE - -/obj/machinery/autoylathe/proc/shock(mob/user, prb) - if(stat & (BROKEN|NOPOWER)) // unpowered, no shock - return FALSE - if(!prob(prb)) - return FALSE - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() - if (electrocute_mob(user, get_area(src), src, 0.7, TRUE)) - return TRUE - else - return FALSE - -/obj/machinery/autoylathe/proc/adjust_hacked(state) - hacked = state - for(var/id in SSresearch.techweb_designs) - var/datum/design/D = SSresearch.techweb_designs[id] - if((D.build_type & AUTOYLATHE) && ("hacked" in D.category)) - if(hacked) - stored_research.add_design(D) - else - stored_research.remove_design(D) - -/obj/machinery/autoylathe/hacked/Initialize() - . = ..() - adjust_hacked(TRUE) - -//Called when the object is constructed by an autoylathe -//Has a reference to the autoylathe so you can do !!FUN!! things with hacked lathes -/obj/item/proc/autoylathe_crafted(obj/machinery/autoylathe/A) - return From 390a6d6a742d9757443a633189c8b7b451d11ddf Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 16:51:32 -0500 Subject: [PATCH 21/25] bye bye --- tgstation.dme | 1 - 1 file changed, 1 deletion(-) diff --git a/tgstation.dme b/tgstation.dme index e674634532..c24c13b210 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -3068,7 +3068,6 @@ #include "modular_citadel\code\datums\components\souldeath.dm" #include "modular_citadel\code\datums\status_effects\chems.dm" #include "modular_citadel\code\datums\status_effects\debuffs.dm" -#include "modular_citadel\code\game\machinery\toylathe.dm" #include "modular_citadel\code\game\machinery\wishgranter.dm" #include "modular_citadel\code\game\objects\cit_screenshake.dm" #include "modular_citadel\code\game\objects\items.dm" From 63e4f698aa2f9d5ef76344c90c7314c1c0130dbb Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 17:02:30 -0500 Subject: [PATCH 22/25] vendors --- tgstation.dme | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tgstation.dme b/tgstation.dme index c24c13b210..3674fd27db 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -3021,6 +3021,7 @@ #include "code\modules\vending\engineering.dm" #include "code\modules\vending\engivend.dm" #include "code\modules\vending\games.dm" +#include "code\modules\vending\kinkmate.dm" #include "code\modules\vending\liberation.dm" #include "code\modules\vending\liberation_toy.dm" #include "code\modules\vending\magivend.dm" @@ -3033,6 +3034,7 @@ #include "code\modules\vending\security.dm" #include "code\modules\vending\snack.dm" #include "code\modules\vending\sovietsoda.dm" +#include "code\modules\vending\sovietvend.dm" #include "code\modules\vending\sustenance.dm" #include "code\modules\vending\toys.dm" #include "code\modules\vending\wardrobes.dm" From f69c67cf5cdf6fc9dc39bbc211f9bf5764767f2f Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 17:03:48 -0500 Subject: [PATCH 23/25] tabs --- code/modules/vending/medical.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/vending/medical.dm b/code/modules/vending/medical.dm index 8fabc27375..d32af7de03 100644 --- a/code/modules/vending/medical.dm +++ b/code/modules/vending/medical.dm @@ -5,7 +5,7 @@ icon_deny = "med-deny" product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!" req_access = list(ACCESS_MEDICAL) -products = list(/obj/item/reagent_containers/syringe = 12, + products = list(/obj/item/reagent_containers/syringe = 12, /obj/item/reagent_containers/dropper = 3, /obj/item/healthanalyzer = 4, /obj/item/sensor_device = 2, From 5d19ad52126870c3c531a19ab1cd53a5c7c93fdb Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 8 Jan 2020 17:04:49 -0500 Subject: [PATCH 25/25] autoylathe --- tgstation.dme | 1 + 1 file changed, 1 insertion(+) diff --git a/tgstation.dme b/tgstation.dme index 3674fd27db..c7f4f8866d 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -663,6 +663,7 @@ #include "code\game\machinery\syndicatebeacon.dm" #include "code\game\machinery\syndicatebomb.dm" #include "code\game\machinery\teleporter.dm" +#include "code\game\machinery\toylathe.dm" #include "code\game\machinery\transformer.dm" #include "code\game\machinery\turnstile.dm" #include "code\game\machinery\washing_machine.dm"