From 7f8c32994a226e994c83c0cbc1f63c88289c253a Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Mon, 27 Feb 2012 20:09:56 -0500 Subject: [PATCH 1/6] fixed engine/reinforced floor construction --- code/game/turf.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/turf.dm b/code/game/turf.dm index 73e2545a90c..1688e4d92ec 100644 --- a/code/game/turf.dm +++ b/code/game/turf.dm @@ -169,6 +169,8 @@ E.dir = old_dir E.icon_state = "engine" + W.levelupdate() + return E /turf/simulated/Entered(atom/A, atom/OL) if (istype(A,/mob/living/carbon)) From 91e2814bc3e9f187079562a4b4637debb0db6140 Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Mon, 27 Feb 2012 20:31:39 -0500 Subject: [PATCH 2/6] derp'd spelling the turf fix --- code/game/turf.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/turf.dm b/code/game/turf.dm index 1688e4d92ec..8da08eacb13 100644 --- a/code/game/turf.dm +++ b/code/game/turf.dm @@ -169,7 +169,7 @@ E.dir = old_dir E.icon_state = "engine" - W.levelupdate() + E.levelupdate() return E /turf/simulated/Entered(atom/A, atom/OL) From 4452344e2e4ac2e3bbdd292f65970db661d10227 Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Mon, 27 Feb 2012 21:18:20 -0500 Subject: [PATCH 3/6] food fixes / improvements --- code/defines/mob/simple_animal/corgi.dm | 2 +- code/game/machinery/kitchen/juicer.dm | 2 ++ code/modules/chemical/Chemistry-Reagents.dm | 14 ++++++++++++++ code/modules/chemical/Chemistry-Recipes.dm | 2 +- code/modules/chemical/Chemistry-Tools.dm | 7 ++----- code/modules/food/food.dm | 14 ++++++++++++++ code/modules/food/recipes_microwave.dm | 6 ++++++ 7 files changed, 40 insertions(+), 7 deletions(-) diff --git a/code/defines/mob/simple_animal/corgi.dm b/code/defines/mob/simple_animal/corgi.dm index ee07f6427d6..f86729daec0 100644 --- a/code/defines/mob/simple_animal/corgi.dm +++ b/code/defines/mob/simple_animal/corgi.dm @@ -329,7 +329,7 @@ dir = i sleep(1) -/obj/item/weapon/reagent_containers/food/snacks/meat/corgi +/obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/corgi name = "Corgi meat" desc = "Tastes like... well you know..." diff --git a/code/game/machinery/kitchen/juicer.dm b/code/game/machinery/kitchen/juicer.dm index c329a4a883b..0a32cd32242 100644 --- a/code/game/machinery/kitchen/juicer.dm +++ b/code/game/machinery/kitchen/juicer.dm @@ -21,6 +21,8 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/lime = "limejuice", /obj/item/weapon/reagent_containers/food/snacks/watermelonslice = "watermelonjuice", /obj/item/weapon/reagent_containers/food/snacks/grown/poisonberries = "poisonberryjuice", + /obj/item/weapon/reagent_containers/food/snacks/grown/grapes = "grapejuice", + /obj/item/weapon/reagent_containers/food/snacks/grown/greengrapes = "grapejuice", ) /obj/machinery/juicer/New() diff --git a/code/modules/chemical/Chemistry-Reagents.dm b/code/modules/chemical/Chemistry-Reagents.dm index df748a5ab2c..e2566516f6e 100644 --- a/code/modules/chemical/Chemistry-Reagents.dm +++ b/code/modules/chemical/Chemistry-Reagents.dm @@ -2131,6 +2131,20 @@ datum ..() return + grapejuice + name = "Grape Juice" + id = "grapejuice" + description = "A tasty, purple juice made from grapes." + reagent_state = LIQUID + nutriment_factor = 1 * REAGENTS_METABOLISM + color = "#333386" // rgb: 51, 51, 134 + + on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + M:nutrition += nutriment_factor + ..() + return + berryjuice name = "Berry Juice" id = "berryjuice" diff --git a/code/modules/chemical/Chemistry-Recipes.dm b/code/modules/chemical/Chemistry-Recipes.dm index a403d17e01c..8ec84a262ad 100644 --- a/code/modules/chemical/Chemistry-Recipes.dm +++ b/code/modules/chemical/Chemistry-Recipes.dm @@ -969,7 +969,7 @@ datum name = "Wine" id = "wine" result = "wine" - required_reagents = list("berryjuice" = 10) + required_reagents = list("grapejuice" = 10) required_catalysts = list("enzyme" = 5) result_amount = 10 diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm index da586839b8d..0e5a77a8b00 100644 --- a/code/modules/chemical/Chemistry-Tools.dm +++ b/code/modules/chemical/Chemistry-Tools.dm @@ -1518,12 +1518,9 @@ inaccurate = 1 else if(W.w_class <= 2 && istype(src,/obj/item/weapon/reagent_containers/food/snacks/sliceable)) user << "\red You slip [W] inside [src]." - user.u_equip(W) - if ((user.client && user.s_active != src)) - user.client.screen -= W - W.dropped(user) + user.drop_item() + W.loc = src add_fingerprint(user) - contents += W return else return 1 diff --git a/code/modules/food/food.dm b/code/modules/food/food.dm index e6d2c0dc642..c5a2f62e054 100644 --- a/code/modules/food/food.dm +++ b/code/modules/food/food.dm @@ -799,6 +799,8 @@ desc = "A piece of hot spicy meat." icon_state = "meatstake" trash = "plate" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/cutlet + slices_num = 3 New() ..() reagents.add_reagent("nutriment", 4) @@ -806,6 +808,18 @@ reagents.add_reagent("blackpepper", 1) bitesize = 3 +/obj/item/weapon/reagent_containers/food/snacks/sliceable/cookedmeat + name = "Simple, cooked meat" + desc = "A chunk of meat." + icon_state = "meatstake" + trash = "plate" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/cutlet + slices_num = 3 + New() + ..() + reagents.add_reagent("nutriment", 3) + bitesize = 3 + /obj/item/weapon/reagent_containers/food/snacks/spacylibertyduff name = "Spacy Liberty Duff" desc = "Jello gelatin, from Alfred Hubbard's cookbook" diff --git a/code/modules/food/recipes_microwave.dm b/code/modules/food/recipes_microwave.dm index d5922514f52..7060477a596 100644 --- a/code/modules/food/recipes_microwave.dm +++ b/code/modules/food/recipes_microwave.dm @@ -461,6 +461,12 @@ ) result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/meatsteak +/datum/recipe/cookedmeat + items = list( + /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/cookedmeat + /datum/recipe/syntisteak reagents = list("sodiumchloride" = 1, "blackpepper" = 1) items = list( From 5719daf3d85207beb5ecc5dcca27d40c49ddac4c Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Mon, 27 Feb 2012 21:23:50 -0500 Subject: [PATCH 4/6] fancy new manifest --- code/defines/obj.dm | 104 ++++++++++++++++++++++++++ code/game/machinery/computer/id.dm | 9 +-- code/game/objects/devices/PDA/cart.dm | 3 +- code/game/objects/items.dm | 5 +- 4 files changed, 108 insertions(+), 13 deletions(-) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index c574a8285ed..b8658dadf68 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -107,6 +107,110 @@ //This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character(). var/locked[] = list() + proc/get_manifest(monochrome) + var/list/heads = new() + var/list/sec = new() + var/list/eng = new() + var/list/med = new() + var/list/sci = new() + var/list/civ = new() + var/list/bot = new() + var/list/misc = new() + + var/dat = {" + + + + "} + var/even = 0 + + // sort mobs + for(var/datum/data/record/t in data_core.general) + var/name = t.fields["name"] + var/rank = t.fields["rank"] + + //world << "[name]: [rank]" + + if(rank in command_positions) + heads[name] = rank + if(rank in security_positions) + sec[name] = rank + continue + if(rank in engineering_positions) + eng[name] = rank + continue + if(rank in medical_positions) + med[name] = rank + continue + if(rank in science_positions) + sci[name] = rank + continue + if(rank in civilian_positions) + civ[name] = rank + continue + if(rank in nonhuman_positions) + bot[name] = rank + continue + + if(!(name in heads)) + misc[name] = rank + + if(heads.len > 0) + dat += "" + for(name in heads) + dat += "" + even = !even + if(sec.len > 0) + dat += "" + for(name in sec) + dat += "" + even = !even + if(eng.len > 0) + dat += "" + for(name in eng) + dat += "" + even = !even + if(med.len > 0) + dat += "" + for(name in med) + dat += "" + even = !even + if(sci.len > 0) + dat += "" + for(name in sci) + dat += "" + even = !even + if(civ.len > 0) + dat += "" + for(name in civ) + dat += "" + even = !even + // in case somebody is insane and added them to the manifest, why not + if(bot.len > 0) + dat += "" + for(name in bot) + dat += "" + even = !even + // misc guys + if(misc.len > 0) + dat += "" + for(name in misc) + dat += "" + even = !even + + + dat += "
NameRank
Heads
[name][heads[name]]
Security
[name][sec[name]]
Engineering
[name][eng[name]]
Medical
[name][med[name]]
Science
[name][sci[name]]
Civilian
[name][civ[name]]
Silicon
[name][bot[name]]
Miscellaneous
[name][misc[name]]
" + dat = dd_replacetext(dat, "\n", "") // so it can be placed on paper correctly + dat = dd_replacetext(dat, "\t", "") + return dat + /obj/effect/equip_e name = "equip e" var/mob/source = null diff --git a/code/game/machinery/computer/id.dm b/code/game/machinery/computer/id.dm index 05cc6749c91..6583bc5f416 100644 --- a/code/game/machinery/computer/id.dm +++ b/code/game/machinery/computer/id.dm @@ -52,9 +52,7 @@ if (!( ticker )) return if (mode) // accessing crew manifest - var/crew = "" - for(var/datum/data/record/t in data_core.general) - crew += "[t.fields["name"]] - [t.fields["rank"]]
" + var/crew = data_core.get_manifest() dat = "Crew Manifest:
Please use the security record computer to modify entries.
[crew]Print

Access ID modification console.
" else var/header = "
Identification Card Modifier
" @@ -245,10 +243,7 @@ printing = 1 sleep(50) var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( loc ) - var/t1 = "Crew Manifest:
" - for(var/datum/data/record/t in data_core.general) - t1 += "[t.fields["name"]] - [t.fields["rank"]]
" - P.info = t1 + P.info = "Crew Manifest:
" + data_core.get_manifest() P.name = "paper - 'Crew Manifest'" printing = null if (modify) diff --git a/code/game/objects/devices/PDA/cart.dm b/code/game/objects/devices/PDA/cart.dm index b3e9698f6de..488db44b814 100644 --- a/code/game/objects/devices/PDA/cart.dm +++ b/code/game/objects/devices/PDA/cart.dm @@ -235,8 +235,7 @@ Code: menu = "

Crew Manifest

" menu += "Entries cannot be modified from this terminal.

" - for (var/datum/data/record/t in data_core.general) - menu += "[t.fields["name"]] - [t.fields["rank"]]
" + menu += data_core.get_manifest(1) menu += "
" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 81e8d63dad0..0fc8d0c57e9 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -228,11 +228,8 @@ return /obj/effect/manifest/proc/manifest() - var/dat = "Crew Manifest:
" - for(var/mob/living/carbon/human/M in world) - dat += text(" [] - []
", M.name, M.get_assignment()) var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.loc ) - P.info = dat + P.info = "Crew Manifest:
" + data_core.get_manifest() P.name = "paper - 'Crew Manifest'" //SN src = null del(src) From 8531d099bb118b84df18ddd3c43c2fe3336e7fe0 Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Mon, 27 Feb 2012 21:40:32 -0500 Subject: [PATCH 5/6] since hands and feet are organs, check_zone should leave it as is --- code/modules/mob/mob_helpers.dm | 8 -------- 1 file changed, 8 deletions(-) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 57338de3d7c..c84b909cd33 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -111,14 +111,6 @@ proc/isorgan(A) zone = "head" if("mouth") zone = "head" - if("l_hand") - zone = "l_arm" - if("r_hand") - zone = "r_arm" - if("l_foot") - zone = "l_leg" - if("r_foot") - zone = "r_leg" if("groin") zone = "chest" return zone From dff472ad66facada194f9feceeabb79857b0bfa8 Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Mon, 27 Feb 2012 23:25:57 -0500 Subject: [PATCH 6/6] removed stupid shoving things into food thing --- code/modules/chemical/Chemistry-Tools.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm index 0e5a77a8b00..b2b1a58a488 100644 --- a/code/modules/chemical/Chemistry-Tools.dm +++ b/code/modules/chemical/Chemistry-Tools.dm @@ -1516,12 +1516,12 @@ istype(W, /obj/item/weapon/shovel) \ ) inaccurate = 1 - else if(W.w_class <= 2 && istype(src,/obj/item/weapon/reagent_containers/food/snacks/sliceable)) + /*else if(W.w_class <= 2 && istype(src,/obj/item/weapon/reagent_containers/food/snacks/sliceable)) user << "\red You slip [W] inside [src]." user.drop_item() W.loc = src add_fingerprint(user) - return + return*/ else return 1 if ( \