This commit is contained in:
TrilbySpaceClone
2019-12-28 17:55:20 -05:00
parent 0b63e79098
commit 8aee20cdf3
9 changed files with 348 additions and 84 deletions

View File

@@ -1,70 +0,0 @@
/obj/machinery/kilm
name = "kilm"
desc = "A stone kilm, can be filled with logs for fuel."
icon = 'icons/obj/fireplace.dmi'
icon_state = "kilm"
use_power = NO_POWER_USE
density = TRUE
var/on = FALSE
var/filled = FALSE
var/charges = 0
var/making = null
/obj/machinery/kilm/attackby(obj/item/T, mob/user)
if(istype(T, /obj/item/grown/log))
charges ++
qdel(T)
/obj/machinery/kilm/attackby(obj/item/stack/ore/S, mob/user)
if(istype(S, /obj/item/stack/ore/glass))
if(S.amount <= 5)
user.show_message("<span class='notice'>You add the sand to the kilm.</span>", 1)
filled = TRUE
S.amount = (S.amount - 5)
if(S.amount < 5)
qdel(S)
else
user.show_message("<span class='notice'>You need a at lest five sand piles to make anything of use.</span>", 1)
/obj/machinery/kilm/attack_hand(mob/living/carbon/user)
. = ..()
if(.)
return
if(charges == 0)
to_chat(user, "The Kilm needs fuel to use.")
making = null
return
if(charges == 1)
to_chat(user, "The Kilm has some fuel and can be used to make a small flask.")
making = /obj/item/reagent_containers/glass/beaker/flask_small
return
if(charges == 2)
to_chat(user, "The Kilm has some fuel and can be used to make a honey jar.")
making = /obj/item/reagent_containers/glass/beaker/jar
return
if(charges == 3)
to_chat(user, "The Kilm has fuel and can be used to make a large flask.")
making = /obj/item/reagent_containers/glass/beaker/flask_large
return
if(charges == 4)
to_chat(user, "The Kilm has fuel and can be used to make a spouty flask.")
making = /obj/item/reagent_containers/glass/beaker/flaskspouty
return
if(charges == 5)
to_chat(user, "The Kilm has fuel and can be used to make a glass disk.")
making = /obj/item/reagent_containers/glass/beaker/glass_dish
return
if(charges >= 6) //You may want glass slug!
to_chat(user, "The Kilm has a lot of fuel and will make glass slug...")
making = null
return
return

View File

@@ -10,7 +10,15 @@
*/
GLOBAL_LIST_INIT(glass_recipes, list ( \
new/datum/stack_recipe("directional window", /obj/structure/window/unanchored, time = 0, on_floor = TRUE, window_checks = TRUE), \
new/datum/stack_recipe("fulltile window", /obj/structure/window/fulltile/unanchored, 2, time = 0, on_floor = TRUE, window_checks = TRUE) \
new/datum/stack_recipe("fulltile window", /obj/structure/window/fulltile/unanchored, 2, time = 0, on_floor = TRUE, window_checks = TRUE), \
null, \
new/datum/stack_recipe_list("glass working bases", list( \
new/datum/stack_recipe("chem dish", /obj/item/glasswork/glass_base/dish, 10), \
new/datum/stack_recipe("lens", /obj/item/glasswork/glass_base/lens, 15), \
new/datum/stack_recipe("spout flask", /obj/item/glasswork/glass_base/spouty, 20), \
new/datum/stack_recipe("small bulb flask", /obj/item/glasswork/glass_base/flask_small, 5), \
new/datum/stack_recipe("large bottle flask", /obj/item/glasswork/glass_base/flask_large, 15), \
)), \
))
/obj/item/stack/sheet/glass

View File

@@ -92,11 +92,38 @@
export_types = list(/obj/item/stock_parts/cell/bluespace)
/datum/export/cellyellow
cost = 40
cost = 200
unit_name = "slime power cell"
export_types = list(/obj/item/stock_parts/cell/high/slime)
/datum/export/cellyellowhyper
cost = 120 //Takes a lot to make and is really good
cost = 1200 //Takes a lot to make and is really good
unit_name = "hyper slime power cell"
export_types = list(/obj/item/stock_parts/cell/high/slime/hypercharged)
export_types = list(/obj/item/stock_parts/cell/high/slime/hypercharged)
//Glass working stuff
/datum/export/glasswork_dish
cost = 300
unit_name = "small glass dish"
export_types = list(/obj/item/reagent_containers/glass/beaker/glass_dish)
/datum/export/glasswork_lens
cost = 1800
unit_name = "small glass lens"
export_types = list(/obj/item/lens)
/datum/export/glasswork_spouty
cost = 1200
unit_name = "flask with spout"
export_types = list(/obj/item/reagent_containers/glass/beaker/flaskspouty)
/datum/export/glasswork_smallflask
cost = 600
unit_name = "small flask"
export_types = list(/obj/item/reagent_containers/glass/beaker/flask_small)
/datum/export/glasswork_largeflask
cost = 1000
unit_name = "large flask"
export_types = list(/obj/item/reagent_containers/glass/beaker/flask_large)

View File

@@ -81,6 +81,16 @@
/obj/item/integrated_electronics/wirer)
crate_name = "circuitry starter pack crate"
/datum/supply_pack/science/glasswork
name = "GlassBlower Gear Crate"
desc = "Learn and make glassworks of usefull things for a profit! Contains glassworking tools and blowing rods. Glass not included."
cost = 1000
contains = list(/obj/item/glasswork/glasskit,
/obj/item/glasswork/glasskit,
/obj/item/glasswork/blowing_rod,
/obj/item/glasswork/blowing_rod)
crate_name = "glassblower gear crate"
/datum/supply_pack/science/adv_surgery_tools
name = "Med-Co Advanced surgery tools"
desc = "A full set of Med-Co advanced surgery tools, this crate also comes with a spay of synth flesh as well as a can of . Requires Surgery access to open."

View File

@@ -0,0 +1,298 @@
//This file is for glass working types of things!
/obj/item/glasswork
name = "This is a bug report it!"
desc = "Failer to code. Contact your local bug remover..."
icon = 'icons/obj/glassworks.dmi'
w_class = WEIGHT_CLASS_SMALL
force = 0
throw_speed = 1
throw_range = 3
/obj/item/glasswork/glasskit
name = "Glass Working Tools"
desc = "A lovely belt of most the tools you will need to shape, mold, and refine glass into more advanced shapes."
icon_state = "glass_tools"
/obj/item/glasswork/blowing_rod
name = "Glass Working Blow Rod"
desc = "A hollow metal stick made for glass blowing."
icon_state = "blowing_rods_unused"
/obj/item/glasswork/glass_base
name = "Glass Fodder Sheet"
desc = "A sheet of glass set aside for glass working"
icon_state = "glass_base"
var/next_step = null
var/make = null
var/rod = /obj/item/glasswork/blowing_rod
/obj/item/lens
name = "Optical Lens"
desc = "Good for selling or crafting, by itself its useless"
//////////////////////Chem Disk/////////////////////
//Two Steps //
//Sells for 300 cr, takes 10 glass shets //
//Usefull for chem spliting //
////////////////////////////////////////////////////
/obj/item/glasswork/glass_base/dish
name = "Glass Fodder Sheet"
desc = "A set of glass sheets set aside for glass working, this one is ideal for a small glass dish. Needs to be cut with some tools."
next_step = /obj/item/glasswork/glass_base/glass_dish
make = /obj/item/reagent_containers/glass/beaker/glass_dish
/obj/item/glasswork/glass_base/dish/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/glass_base))
new next_step(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/dish)
/obj/item/glasswork/glass_base/glass_dish
name = "Half Chem Dish Sheet"
desc = "A sheet of glass cut in half, looks like it still needs some more sanding down"
icon_state = "glass_base_half"
/obj/item/glasswork/glass_base/glass_dish/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/glass_base))
new make(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/glass_dish)
//////////////////////Lens//////////////////////////
//Six Steps //
//Sells for 1800 cr, takes 15 glass shets //
//Usefull for selling and later crafting //
////////////////////////////////////////////////////
/obj/item/glasswork/glass_base/lens
name = "Glass Fodder Sheet"
desc = "A set of glass sheets set aside for glass working, this one is ideal for a small glass lens. Needs to be cut with some tools."
next_step = /obj/item/glasswork/glass_base/glass_dish
make = /obj/item/lens
/obj/item/glasswork/glass_base/lens/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/glass_base))
new next_step(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/lens)
/obj/item/glasswork/glass_base/glass_lens
name = "Glass Fodder Sheet"
desc = "Cut glass ready to be heated. Needs to be heated with some tools."
icon_state = "glass_base_half"
next_step = /obj/item/glasswork/glass_base/glass_lens/part2
/obj/item/glasswork/glass_base/glass_lens/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/weldingtool))
new next_step(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/glass_lens)
/obj/item/glasswork/glass_base/glass_lens/part2
name = "Glass Fodder Sheet"
desc = "Cut glass that has been heated. Needs to be heated more with some tools."
icon_state = "glass_base_heat"
next_step = /obj/item/glasswork/glass_base/glass_lens/part3
/obj/item/glasswork/glass_base/glass_lens/part2/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/weldingtool))
new next_step(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/glass_lens/part2)
/obj/item/glasswork/glass_base/glass_lens/part3
name = "Glass Fodder Sheet"
desc = "Cut glass that has been heated into a blob of hot glass. Needs to be placed onto a blow tube."
icon_state = "glass_base_molding"
next_step = /obj/item/glasswork/glass_base/glass_lens/part4
/obj/item/glasswork/glass_base/glass_lens/part3/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/blowing_rod))
new next_step(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/glass_lens/part3)
qdel(I)
/obj/item/glasswork/glass_base/glass_lens/part4
name = "Glass Fodder Sheet"
desc = "Cut glass that has been heated into a blob of hot glass. Needs to be cut off onto a blow tube."
icon_state = "blowing_rods_inuse"
next_step = /obj/item/glasswork/glass_base/glass_lens/part5
/obj/item/glasswork/glass_base/glass_lens/part4/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/glass_base))
new next_step(user.loc, 1)
new rod(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/glass_lens/part4)
/obj/item/glasswork/glass_base/glass_lens/part5
name = "Unpolished glass lens"
desc = "A small unpolished glass lens. Could be polished with some cloth."
icon_state = "glass_optics"
next_step = /obj/item/glasswork/glass_base/glass_lens/part6
/obj/item/glasswork/glass_base/glass_lens/part5/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/stack/sheet/cloth))
new next_step(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/glass_lens/part5)
/obj/item/glasswork/glass_base/glass_lens/part6
name = "Unrefined glass lens"
desc = "A small polished glass lens. Just needs to be refined with some sandstone."
icon_state = "glass_optics"
/obj/item/glasswork/glass_base/glass_lens/part6/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/stack/sheet/mineral/sandstone))
new make(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/glass_lens/part6)
//////////////////////Spouty Flask//////////////////
//Four Steps //
//Sells for 1200 cr, takes 20 glass shets //
//Usefull for selling and chemical things //
////////////////////////////////////////////////////
/obj/item/glasswork/glass_base/spouty
name = "Glass Fodder Sheet"
desc = "A set of glass sheets set aside for glass working, this one is ideal for a spout beaker. Needs to be cut with some tools."
next_step = /obj/item/glasswork/glass_base/spouty/part2
make = /obj/item/reagent_containers/glass/beaker/flaskspouty
/obj/item/glasswork/glass_base/spouty/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/glass_base))
new next_step(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/spouty)
/obj/item/glasswork/glass_base/spouty/part2
name = "Glass Fodder Sheet"
desc = "Cut glass that has been heated. Needs to be heated more with some tools."
icon_state = "glass_base_heat"
next_step = /obj/item/glasswork/glass_base/spouty/part3
/obj/item/glasswork/glass_base/spouty/part2/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/weldingtool))
new next_step(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/spouty/part2)
/obj/item/glasswork/glass_base/spouty/part3
name = "Glass Fodder Sheet"
desc = "Cut glass that has been heated into a blob of hot glass. Needs to be placed onto a blow tube."
icon_state = "glass_base_molding"
next_step = /obj/item/glasswork/glass_base/spouty/part4
/obj/item/glasswork/glass_base/glass_lens/part3/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/blowing_rod))
new next_step(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/glass_lens/part3)
qdel(I)
/obj/item/glasswork/glass_base/spouty/part4
name = "Glass Fodder Sheet"
desc = "Cut glass that has been heated into a blob of hot glass. Needs to be cut off onto a blow tube."
icon_state = "blowing_rods_inuse"
/obj/item/glasswork/glass_base/spouty/part4/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/glass_base))
new make(user.loc, 1)
new rod(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/spouty/part4)
//////////////////////Small Bulb Flask//////////////
//Two Steps //
//Sells for 600 cr, takes 5 glass shets //
//Usefull for selling and chemical things //
////////////////////////////////////////////////////
/obj/item/glasswork/glass_base/flask_small
name = "Glass Fodder Sheet"
desc = "A set of glass sheets set aside for glass working, this one is ideal for a small flask. Needs to be heated with some tools."
next_step = /obj/item/glasswork/glass_base/flask_small/part1
make = /obj/item/reagent_containers/glass/beaker/flask_small
/obj/item/glasswork/glass_base/flask_small/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/weldingtool))
new next_step(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/flask_small)
/obj/item/glasswork/glass_base/flask_small/part1
name = "Metled Glass"
desc = "A blob of metled glass, this one is ideal for a small flask. Needs to be blown with some tools."
icon_state = "glass_base_molding"
next_step = /obj/item/glasswork/glass_base/spouty/part2
/obj/item/glasswork/glass_base/flask_small/part1/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/blowing_rod))
new next_step(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/flask_small/part1)
qdel(I)
/obj/item/glasswork/glass_base/flask_small/part2
name = "Metled Glass"
desc = "A blob of metled glass on the end of a blowing rod. Needs to be cut off with some tools."
icon_state = "blowing_rods_inuse"
/obj/item/glasswork/glass_base/flask_small/part2/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/glass_base))
new make(user.loc, 1)
new rod(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/flask_small/part2)
//////////////////////Large Bulb Flask//////////////
//Two Steps //
//Sells for 1000 cr, takes 15 glass shets //
//Usefull for selling and chemical things //
////////////////////////////////////////////////////
/obj/item/glasswork/glass_base/flask_large
name = "Glass Fodder Sheet"
desc = "A set of glass sheets set aside for glass working, this one is ideal for a large flask. Needs to be heated with some tools."
next_step = /obj/item/glasswork/glass_base/flask_large/part1
make = /obj/item/reagent_containers/glass/beaker/flask_large
/obj/item/glasswork/glass_base/flask_large/part1/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/weldingtool))
new next_step(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/flask_large/part1)
/obj/item/glasswork/glass_base/flask_large/part1
name = "Metled Glass"
desc = "A blob of metled glass, this one is ideal for a large flask. Needs to be blown with some tools."
icon_state = "glass_base_molding"
next_step = /obj/item/glasswork/glass_base/flask_large/part2
/obj/item/glasswork/glass_base/flask_large/part2/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/blowing_rod))
new next_step(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/flask_large/part2)
qdel(I)
/obj/item/glasswork/glass_base/flask_large/part2
name = "Metled Glass"
desc = "A blob of metled glass on the end of a blowing rod. Needs to be cut off with some tools."
icon_state = "blowing_rods_inuse"
/obj/item/glasswork/glass_base/flask_large/part2/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/glass_base))
new make(user.loc, 1)
new rod(user.loc, 1)
qdel(/obj/item/glasswork/glass_base/flask_large/part2)

View File

@@ -8,15 +8,6 @@
resistance_flags = ACID_PROOF
container_HP = 2
/obj/item/reagent_containers/glass/slug
name = "glass slug"
desc = "A small slug of solid glass, produced from a kiln."
icon_state = "glassslug"
amount_per_transfer_from_this = 0
possible_transfer_amounts = list(0)
volume = 0
resistance_flags = ACID_PROOF
/obj/item/reagent_containers/glass/attack(mob/M, mob/user, obj/target)
if(!canconsume(M, user))
return

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

BIN
icons/obj/glassworks.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -632,7 +632,6 @@
#include "code\game\machinery\hologram.dm"
#include "code\game\machinery\igniter.dm"
#include "code\game\machinery\iv_drip.dm"
#include "code\game\machinery\kilm.dm"
#include "code\game\machinery\launch_pad.dm"
#include "code\game\machinery\lightswitch.dm"
#include "code\game\machinery\limbgrower.dm"
@@ -1675,6 +1674,7 @@
#include "code\modules\clothing\under\jobs\Plasmaman\medsci.dm"
#include "code\modules\clothing\under\jobs\Plasmaman\security.dm"
#include "code\modules\crafting\craft.dm"
#include "code\modules\crafting\glassware.dm"
#include "code\modules\crafting\guncrafting.dm"
#include "code\modules\crafting\recipes.dm"
#include "code\modules\crafting\recipes\recipes_clothing.dm"