diff --git a/code/game/machinery/kilm.dm b/code/game/machinery/kilm.dm new file mode 100644 index 0000000000..7d724cf39a --- /dev/null +++ b/code/game/machinery/kilm.dm @@ -0,0 +1,70 @@ +/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("You add the sand to the kilm.", 1) + filled = TRUE + S.amount = (S.amount - 5) + if(S.amount < 5) + qdel(S) + else + user.show_message("You need a at lest five sand piles to make anything of use.", 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 diff --git a/code/modules/cargo/bounties/silly.dm b/code/modules/cargo/bounties/silly.dm index b88ec9f192..706a8a3385 100644 --- a/code/modules/cargo/bounties/silly.dm +++ b/code/modules/cargo/bounties/silly.dm @@ -51,4 +51,11 @@ name = "Strange Object" description = "Nanotrasen has taken an interest in strange objects. Find one in maint, and ship it off to CentCom right away." reward = 1000 - wanted_types = list(/obj/item/relic) \ No newline at end of file + wanted_types = list(/obj/item/relic) + +/datum/bounty/item/silly/toy_swords + name = "Toy Swords" + description = "Nanotrasen has partaken in a reenactment of a famous movie, but we only have lethal energy based swords. Send us some toys so we stop killing are actors." + reward = 1200 + required_count = 3 + wanted_types = list(/obj/item/toy/sword, /obj/item/toy/sword/cx) \ No newline at end of file diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index 40d21e4505..f41a43070d 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -9,6 +9,12 @@ /datum/supply_pack/costumes_toys group = "Costumes & Toys" +/datum/supply_pack/costumes_toys/randomised/fill(obj/structure/closet/crate/C) + var/list/L = contains.Copy() + for(var/i in 1 to num_contained) + var/item = pick_n_take(L) + new item(C) + /datum/supply_pack/costumes_toys/randomised name = "Collectable Hats Crate" desc = "Flaunt your status with three unique, highly-collectable hats!" @@ -289,12 +295,6 @@ crate_name = "wizard costume crate" crate_type = /obj/structure/closet/crate/wooden -/datum/supply_pack/costumes_toys/randomised/fill(obj/structure/closet/crate/C) - var/list/L = contains.Copy() - for(var/i in 1 to num_contained) - var/item = pick_n_take(L) - new item(C) - /datum/supply_pack/costumes_toys/wardrobes/autodrobe name = "Autodrobe Supply Crate" desc = "Autodrobe missing your favorite dress? Solve that issue today with this autodrobe refill." diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index 656474cc1d..7f625816b0 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -46,18 +46,6 @@ crate_name = "blood freezer" crate_type = /obj/structure/closet/crate/freezer -/datum/supply_pack/medical/bloodpackssynth - name = "Synthetics Blood Pack Crate" - desc = "Contains five synthetics blood packs for reintroducing blood to patients." - cost = 3000 - contains = list(/obj/item/reagent_containers/blood/synthetics, - /obj/item/reagent_containers/blood/synthetics, - /obj/item/reagent_containers/blood/synthetics, - /obj/item/reagent_containers/blood/synthetics, - /obj/item/reagent_containers/blood/synthetics) - crate_name = "blood freezer" - crate_type = /obj/structure/closet/crate/freezer - /datum/supply_pack/medical/defibs name = "Defibrillator Crate" desc = "Contains two defibrillators for bringing the recently deceased back to life." @@ -83,17 +71,6 @@ contains = list(/obj/machinery/iv_drip) crate_name = "iv drip 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." - cost = 5500 - access = ACCESS_SURGERY - contains = list(/obj/item/storage/belt/medical/surgery_belt_adv, - /obj/item/reagent_containers/medspray/synthflesh, - /obj/item/reagent_containers/medspray/sterilizine) - crate_name = "medco newest surgery tools" - crate_type = /obj/structure/closet/crate/medical - /datum/supply_pack/medical/medicalhardsuit name = "Medical Hardsuit" desc = "Got people being spaced left and right? Hole in the same room as the dead body of Hos or cap? Fear not, now you can buy one medical hardsuit with a mask and air tank to save your fellow crewmembers." @@ -194,6 +171,18 @@ /obj/item/roller) crate_name = "surgical supplies crate" +/datum/supply_pack/medical/bloodpackssynth + name = "Synthetics Blood Pack Crate" + desc = "Contains five synthetics blood packs for reintroducing blood to patients." + cost = 3000 + contains = list(/obj/item/reagent_containers/blood/synthetics, + /obj/item/reagent_containers/blood/synthetics, + /obj/item/reagent_containers/blood/synthetics, + /obj/item/reagent_containers/blood/synthetics, + /obj/item/reagent_containers/blood/synthetics) + crate_name = "blood freezer" + crate_type = /obj/structure/closet/crate/freezer + /datum/supply_pack/medical/firstaidtoxins name = "Toxin Treatment Kit Crate" desc = "Contains three first aid kits focused on healing damage dealt by heavy toxins." diff --git a/code/modules/cargo/packs/misc.dm b/code/modules/cargo/packs/misc.dm index c380d5411e..c353c49892 100644 --- a/code/modules/cargo/packs/misc.dm +++ b/code/modules/cargo/packs/misc.dm @@ -29,15 +29,6 @@ crate_name = "art supply crate" crate_type = /obj/structure/closet/crate/wooden -/datum/supply_pack/misc/captain_pen - name = "Captain Pen" - desc = "A spare Captain fountain pen." - access = ACCESS_CAPTAIN - cost = 10000 - contains = list(/obj/item/pen/fountain/captain) - crate_name = "captain pen" - crate_type = /obj/structure/closet/crate/secure/weapon //It is a combat pen - /datum/supply_pack/misc/bicycle name = "Bicycle" desc = "Nanotrasen reminds all employees to never toy with powers outside their control." @@ -98,6 +89,15 @@ /obj/item/storage/briefcase) crate_name = "bureaucracy crate" +/datum/supply_pack/misc/captain_pen + name = "Captain Pen" + desc = "A spare Captain fountain pen." + access = ACCESS_CAPTAIN + cost = 5000 + contains = list(/obj/item/pen/fountain/captain) + crate_name = "captain pen" + crate_type = /obj/structure/closet/crate/secure/weapon //It is a combat pen + /datum/supply_pack/misc/fountainpens name = "Calligraphy Crate" desc = "Sign death warrants in style with these seven executive fountain pens." diff --git a/code/modules/cargo/packs/organic.dm b/code/modules/cargo/packs/organic.dm index 78f10b0908..a232f3c59b 100644 --- a/code/modules/cargo/packs/organic.dm +++ b/code/modules/cargo/packs/organic.dm @@ -36,7 +36,7 @@ crate_name = "beekeeping starter crate" crate_type = /obj/structure/closet/crate/hydroponics -/datum/supply_pack/organic/candy/randomised +/datum/supply_pack/organic/randomised/candy name = "Candy Crate" desc = "For people that have a insatiable sweet tooth! Has ten candies to be eaten up.." cost = 2500 @@ -69,6 +69,12 @@ /obj/item/storage/fancy/donut_box) crate_name = "candy crate" +/datum/supply_pack/organic/randomised/candy/fill(obj/structure/closet/crate/C) + var/list/L = contains.Copy() + for(var/i in 1 to num_contained) + var/item = pick_n_take(L) + new item(C) + /datum/supply_pack/organic/exoticseeds name = "Exotic Seeds Crate" desc = "Any entrepreneuring botanist's dream. Contains twelve different seeds, including three replica-pod seeds and two mystery seeds!" diff --git a/code/modules/cargo/packs/science.dm b/code/modules/cargo/packs/science.dm index 25b8b2ddfb..44da4306da 100644 --- a/code/modules/cargo/packs/science.dm +++ b/code/modules/cargo/packs/science.dm @@ -24,7 +24,6 @@ name = "Advanced Alien Alloy Crate Crate" desc = "Hello brothers from the stars!!! Our fellow brethren have made contact at long last and gave us gifts man! They really did build the prymi- Connection Error- Bro we’ll send you a sheet of advanced alien alloy." cost = 15000 - contraband = TRUE DropPodOnly = TRUE contains = list(/obj/item/stack/sheet/mineral/abductor) crate_name = "alien bro alloy crate" @@ -82,6 +81,17 @@ /obj/item/integrated_electronics/wirer) crate_name = "circuitry starter pack 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." + cost = 5500 + access = ACCESS_SURGERY + contains = list(/obj/item/storage/belt/medical/surgery_belt_adv, + /obj/item/reagent_containers/medspray/synthflesh, + /obj/item/reagent_containers/medspray/sterilizine) + crate_name = "medco newest surgery tools" + crate_type = /obj/structure/closet/crate/medical + /datum/supply_pack/science/monkey name = "Monkey Cube Crate" desc = "Stop monkeying around! Contains seven monkey cubes. Just add water!" diff --git a/code/modules/cargo/packs/service.dm b/code/modules/cargo/packs/service.dm index 14bde519e1..a6dc989fd1 100644 --- a/code/modules/cargo/packs/service.dm +++ b/code/modules/cargo/packs/service.dm @@ -33,6 +33,16 @@ /obj/item/stack/packageWrap) crate_name = "cargo supplies crate" +/datum/supply_pack/service/janitor/janpimp + name = "Custodial Cruiser" + desc = "Clown steal your ride? Assistant lock it in the dorms? Order a new one and get back to cleaning in style!" + cost = 3000 + access = ACCESS_JANITOR + contains = list(/obj/vehicle/ridden/janicart, + /obj/item/key/janitor) + crate_name = "janitor ride crate" + crate_type = /obj/structure/closet/crate/large + /datum/supply_pack/service/carpet_exotic name = "Exotic Carpet Crate" desc = "Exotic carpets straight from Space Russia, for all your decorating needs. Contains 100 tiles each of 10 different flooring patterns." @@ -136,16 +146,6 @@ /obj/item/reagent_containers/spray/drying_agent) crate_name = "janitor backpack crate" -/datum/supply_pack/service/janitor/janpimp - name = "Custodial Cruiser" - desc = "Clown steal your ride? Assistant lock it in the dorms? Order a new one and get back to cleaning in style!" - cost = 3000 - access = ACCESS_JANITOR - contains = list(/obj/vehicle/ridden/janicart, - /obj/item/key/janitor) - crate_name = "janitor ride crate" - crate_type = /obj/structure/closet/crate/large - /datum/supply_pack/service/mule name = "MULEbot Crate" desc = "Pink-haired Quartermaster not doing her job? Replace her with this tireless worker, today!" diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 3ed505c360..3662d0b3cb 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -8,6 +8,14 @@ resistance_flags = ACID_PROOF container_HP = 2 +/obj/item/reagent_containers/glass/slug + name = "glass slug" + desc = "Seemingly useless wasted sand and fuel mixed in one... Or maybe it can be refined into something more usefull?" + 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)) @@ -157,8 +165,37 @@ /obj/item/reagent_containers/glass/beaker/jar name = "honey jar" desc = "A jar for honey. It can hold up to 50 units of sweet delight. Unable to withstand reagents of an extreme pH." - icon = 'icons/obj/chemical.dmi' - icon_state = "vapour" + icon_state = "honey" + +/obj/item/reagent_containers/glass/beaker/glass_dish + name = "glass dish" + desc = "A tiny glass dish. It can hold up to 3 units. Unable to withstand reagents of an extreme pH." + materials = list(MAT_GLASS=500) + icon_state = "glass_disk" + possible_transfer_amounts = list(0.1,0.5,0.75,1,2,3) + volume = 3 + +/obj/item/reagent_containers/glass/beaker/flask_large + name = "large flask" + desc = "A large flask. It can hold up to 80 units. Unable to withstand reagents of an extreme pH." + materials = list(MAT_GLASS=2500) + icon_state = "flasklarge" + volume = 80 + +/obj/item/reagent_containers/glass/beaker/flask_small + name = "small flask" + desc = "A small flask. It can hold up to 40 units. Unable to withstand reagents of an extreme pH." + materials = list(MAT_GLASS=1000) + icon_state = "flasksmall" + volume = 40 + +/obj/item/reagent_containers/glass/beaker/flaskspouty + name = "flask with spout" + desc = "A flask with a spout! It can hold up to 120 units. Unable to withstand reagents of an extreme pH." + materials = list(MAT_GLASS=2500) + icon_state = "flaskspouty" + possible_transfer_amounts = list(1,2,3,4,5,10,15,20,25,30,50,100,120) + volume = 120 /obj/item/reagent_containers/glass/beaker/large name = "large beaker" diff --git a/code/modules/research/designs/autobotter_designs.dm b/code/modules/research/designs/autobotter_designs.dm index 7b56beaf77..57c5f1ce2a 100644 --- a/code/modules/research/designs/autobotter_designs.dm +++ b/code/modules/research/designs/autobotter_designs.dm @@ -307,7 +307,7 @@ desc = "Allows for the blowing, and bottling of Blooddrop bottles." id = "blooddrop" category = list("Wines") - reagents_list = list("champagne" = 30, "co2" = 30, "wine" = 10, "grape_juice" = 30) + reagents_list = list("champagne" = 30, "co2" = 30, "wine" = 10, "grapejuice" = 30) build_path = /obj/item/export/bottle/blooddrop /datum/design/bottle/export/slim_gold @@ -323,7 +323,7 @@ desc = "Allows for the blowing, and bottling of White Bloodmoon bottles." id = "white_bloodmoon" category = list("Wines") - reagents_list = list("synthflesh" = 50, "blood" = 50, "gib" = 10) + reagents_list = list("synthflesh" = 50, "blood" = 50, "liquidgibs" = 10) build_path = /obj/item/export/bottle/white_bloodmoon /datum/design/bottle/export/greenroad diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi index 701c3a2467..2f938768ac 100644 Binary files a/icons/obj/chemical.dmi and b/icons/obj/chemical.dmi differ diff --git a/icons/obj/fireplace.dmi b/icons/obj/fireplace.dmi index d1a157e009..df03958368 100644 Binary files a/icons/obj/fireplace.dmi and b/icons/obj/fireplace.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 2e0142c49f..3f65111bbe 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -616,6 +616,7 @@ #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"