Merge pull request #10482 from kappa-sama/modularthing
modular citadel file destruction but only slightly
This commit is contained in:
48
code/datums/wires/autoylathe.dm
Normal file
48
code/datums/wires/autoylathe.dm
Normal file
@@ -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)
|
||||
389
code/game/machinery/toylathe.dm
Normal file
389
code/game/machinery/toylathe.dm
Normal file
@@ -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, "<span class=\"alert\">The autoylathe is busy. Please wait for completion of previous operation.</span>")
|
||||
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, "<span class=\"alert\">The autoylathe is busy. Please wait for completion of previous operation.</span>")
|
||||
|
||||
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 = "<div class='statusDisplay'><h3>Autoylathe Menu:</h3><br>"
|
||||
dat += materials_printout()
|
||||
|
||||
dat += "<form name='search' action='?src=[REF(src)]'>\
|
||||
<input type='hidden' name='src' value='[REF(src)]'>\
|
||||
<input type='hidden' name='search' value='to_search'>\
|
||||
<input type='hidden' name='menu' value='[AUTOYLATHE_SEARCH_MENU]'>\
|
||||
<input type='text' name='to_search'>\
|
||||
<input type='submit' value='Search'>\
|
||||
</form><hr>"
|
||||
|
||||
var/line_length = 1
|
||||
dat += "<table style='width:100%' align='center'><tr>"
|
||||
|
||||
for(var/C in categories)
|
||||
if(line_length > 2)
|
||||
dat += "</tr><tr>"
|
||||
line_length = 1
|
||||
|
||||
dat += "<td><A href='?src=[REF(src)];category=[C];menu=[AUTOYLATHE_CATEGORY_MENU]'>[C]</A></td>"
|
||||
line_length++
|
||||
|
||||
dat += "</tr></table></div>"
|
||||
return dat
|
||||
|
||||
/obj/machinery/autoylathe/proc/category_win(mob/user,selected_category)
|
||||
var/dat = "<A href='?src=[REF(src)];menu=[AUTOYLATHE_MAIN_MENU]'>Return to main menu</A>"
|
||||
dat += "<div class='statusDisplay'><h3>Browsing [selected_category]:</h3><br>"
|
||||
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 += "<span class='linkOff'>[D.name]</span>"
|
||||
else
|
||||
dat += "<a href='?src=[REF(src)];make=[D.id];multiplier=1'>[D.name]</a>"
|
||||
|
||||
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 += " <a href='?src=[REF(src)];make=[D.id];multiplier=10'>x10</a>"
|
||||
if (max_multiplier>25 && !disabled)
|
||||
dat += " <a href='?src=[REF(src)];make=[D.id];multiplier=25'>x25</a>"
|
||||
if(max_multiplier > 0 && !disabled)
|
||||
dat += " <a href='?src=[REF(src)];make=[D.id];multiplier=[max_multiplier]'>x[max_multiplier]</a>"
|
||||
else
|
||||
if(!disabled && can_build(D, 5))
|
||||
dat += " <a href='?src=[REF(src)];make=[D.id];multiplier=5'>x5</a>"
|
||||
if(!disabled && can_build(D, 10))
|
||||
dat += " <a href='?src=[REF(src)];make=[D.id];multiplier=10'>x10</a>"
|
||||
|
||||
dat += "[get_design_cost(D)]<br>"
|
||||
|
||||
dat += "</div>"
|
||||
return dat
|
||||
|
||||
/obj/machinery/autoylathe/proc/search_win(mob/user)
|
||||
var/dat = "<A href='?src=[REF(src)];menu=[AUTOYLATHE_MAIN_MENU]'>Return to main menu</A>"
|
||||
dat += "<div class='statusDisplay'><h3>Search results:</h3><br>"
|
||||
dat += materials_printout()
|
||||
|
||||
for(var/v in matching_designs)
|
||||
var/datum/design/D = v
|
||||
if(disabled || !can_build(D))
|
||||
dat += "<span class='linkOff'>[D.name]</span>"
|
||||
else
|
||||
dat += "<a href='?src=[REF(src)];make=[D.id];multiplier=1'>[D.name]</a>"
|
||||
|
||||
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 += " <a href='?src=[REF(src)];make=[D.id];multiplier=10'>x10</a>"
|
||||
if (max_multiplier>25 && !disabled)
|
||||
dat += " <a href='?src=[REF(src)];make=[D.id];multiplier=25'>x25</a>"
|
||||
if(max_multiplier > 0 && !disabled)
|
||||
dat += " <a href='?src=[REF(src)];make=[D.id];multiplier=[max_multiplier]'>x[max_multiplier]</a>"
|
||||
|
||||
dat += "[get_design_cost(D)]<br>"
|
||||
|
||||
dat += "</div>"
|
||||
return dat
|
||||
|
||||
/obj/machinery/autoylathe/proc/materials_printout()
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
var/dat = "<b>Total amount:</b> [materials.total_amount] / [materials.max_amount] cm<sup>3</sup><br>"
|
||||
for(var/mat_id in materials.materials)
|
||||
var/datum/material/M = materials.materials[mat_id]
|
||||
dat += "<b>[M.name] amount:</b> [M.amount] cm<sup>3</sup><br>"
|
||||
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
|
||||
@@ -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)
|
||||
|
||||
708
code/modules/research/designs/autoylathe_designs.dm
Normal file
708
code/modules/research/designs/autoylathe_designs.dm
Normal file
@@ -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")
|
||||
48
code/modules/vending/kinkmate.dm
Normal file
48
code/modules/vending/kinkmate.dm
Normal file
@@ -0,0 +1,48 @@
|
||||
/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/item/vending_refill/kink
|
||||
machine_name = "KinkMate"
|
||||
icon = 'modular_citadel/icons/vending_restock.dmi'
|
||||
icon_state = "refill_kink"
|
||||
@@ -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,
|
||||
|
||||
31
code/modules/vending/sovietvend.dm
Normal file
31
code/modules/vending/sovietvend.dm
Normal file
@@ -0,0 +1,31 @@
|
||||
/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
|
||||
|
||||
/obj/item/vending_refill/soviet
|
||||
machine_name = "sovietvend"
|
||||
icon_state = "refill_soviet"
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user