diff --git a/code/WorkInProgress/Chemistry-Reagents.dm b/code/WorkInProgress/Chemistry-Reagents.dm index 920f643c22..9fa35a5f55 100644 --- a/code/WorkInProgress/Chemistry-Reagents.dm +++ b/code/WorkInProgress/Chemistry-Reagents.dm @@ -2138,6 +2138,23 @@ datum ..() return + holywater + name = "Holy Water" + id = "holywater" + description = "The chaplains holy water." + reagent_state = LIQUID + on_mob_life(var/mob/living/M as mob) + if(!data) data = 1 + data++ + M.dizziness +=8 + if(data >= 45 && data <125) + if (!M.stuttering) M.stuttering = 1 + M.stuttering += 8 + else if(data >= 125 && prob(33)) + M.confused = max(M:confused+8,8) + ..() + return + tequilla name = "Tequila" id = "tequilla" diff --git a/code/WorkInProgress/Chemistry-Tools.dm b/code/WorkInProgress/Chemistry-Tools.dm index 98acd70934..8b8d88fd3a 100644 --- a/code/WorkInProgress/Chemistry-Tools.dm +++ b/code/WorkInProgress/Chemistry-Tools.dm @@ -1219,6 +1219,7 @@ var/inaccurate = 0 if( \ istype(W, /obj/item/weapon/kitchenknife) || \ + istype(W, /obj/item/weapon/butch) || \ istype(W, /obj/item/weapon/scalpel) || \ istype(W, /obj/item/weapon/kitchen/utensil/knife) \ ) @@ -2274,6 +2275,14 @@ ..() reagents.add_reagent("rum", 100) +/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater + name = "Flash of Holy Water" + desc = "A flask of the chaplains holy water." + icon_state = "holyflask" + New() + ..() + reagents.add_reagent("holywater", 100) + /obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth name = "Goldeneye Vermouth" desc = "Sweet, sweet dryness~" diff --git a/code/defines/obj/clothing/costume.dm b/code/defines/obj/clothing/costume.dm new file mode 100644 index 0000000000..b864087c08 --- /dev/null +++ b/code/defines/obj/clothing/costume.dm @@ -0,0 +1,130 @@ +//Costume spawner + +/obj/landmark/costume/New() //costume spawner, selects a random subclass and disappears + + var/list/options = typesof(/obj/landmark/costume) + var/PICK= options[rand(1,options.len)] + new PICK(src.loc) + del(src) + +//SUBCLASSES. Spawn a bunch of items and disappear likewise +/obj/landmark/costume/chicken/New() + new /obj/item/clothing/suit/chickensuit(src.loc) + del(src) + +/obj/landmark/costume/madscientist/New() + new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc) + new /obj/item/clothing/head/flatcap(src.loc) + new /obj/item/clothing/suit/labcoat/mad(src.loc) + new /obj/item/clothing/glasses/gglasses(src.loc) + del(src) + +/obj/landmark/costume/elpresidente/New() + new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc) + new /obj/item/clothing/head/flatcap(src.loc) + new /obj/item/clothing/mask/cigarette/cigar/havanian(src.loc) + new /obj/item/clothing/shoes/jackboots(src.loc) + del(src) + +/obj/landmark/costume/nyangirl/New() + new /obj/item/clothing/under/schoolgirl(src.loc) + new /obj/item/clothing/head/kitty(src.loc) + del(src) + +/obj/landmark/costume/maid/New() + new /obj/item/clothing/under/blackskirt(src.loc) + var/CHOICE = pick( /obj/item/clothing/head/beret , /obj/item/clothing/head/rabbitears ) + new CHOICE(src.loc) + new /obj/item/clothing/glasses/blindfold(src.loc) + del(src) + +/obj/landmark/costume/butler/New() + new /obj/item/clothing/suit/wcoat(src.loc) + new /obj/item/clothing/under/suit_jacket(src.loc) + new /obj/item/clothing/head/that(src.loc) + del(src) + +/obj/landmark/costume/judge/New() + new /obj/item/clothing/suit/judgerobe(src.loc) + new /obj/item/clothing/head/powdered_wig(src.loc) + del(src) + +/obj/landmark/costume/prig/New() + new /obj/item/clothing/suit/wcoat(src.loc) + new /obj/item/clothing/glasses/monocle(src.loc) + var/CHOICE= pick( /obj/item/clothing/head/bowler, /obj/item/clothing/head/that) + new CHOICE(src.loc) + new /obj/item/clothing/shoes/black(src.loc) + new /obj/item/weapon/cane(src.loc) + new /obj/item/clothing/under/sl_suit(src.loc) + new /obj/item/clothing/mask/gas/fakemoustache(src.loc) + del(src) + +/obj/landmark/costume/plaguedoctor/New() + new /obj/item/clothing/suit/bio_suit/plaguedoctorsuit(src.loc) + new /obj/item/clothing/head/plaguedoctorhat(src.loc) + del(src) + +/obj/landmark/costume/fakewizard/New() + new /obj/item/clothing/suit/wizrobe/fake(src.loc) + new /obj/item/clothing/head/wizard/fake(src.loc) + del(src) + +/obj/landmark/costume/nightowl/New() + new /obj/item/clothing/under/owl(src.loc) + new /obj/item/clothing/mask/owl_mask(src.loc) + del(src) + +/obj/landmark/costume/pirate/New() + new /obj/item/clothing/under/pirate(src.loc) + new /obj/item/clothing/suit/pirate(src.loc) + var/CHOICE = pick( /obj/item/clothing/head/pirate , /obj/item/clothing/head/bandana ) + new CHOICE(src.loc) + new /obj/item/clothing/glasses/eyepatch(src.loc) + del(src) + +/obj/landmark/costume/commie/New() + new /obj/item/clothing/under/soviet(src.loc) + new /obj/item/clothing/head/ushanka(src.loc) + del(src) + +/obj/landmark/costume/nurse/New() + new /obj/item/clothing/under/rank/nursesuit(src.loc) + new /obj/item/clothing/head/nursehat(src.loc) + new /obj/item/clothing/glasses/regular(src.loc) + new /obj/item/clothing/gloves/latex(src.loc) + new /obj/item/clothing/mask/surgical(src.loc) + del(src) + + +/obj/landmark/costume/imperium_monk/New() + new /obj/item/clothing/suit/imperium_monk(src.loc) + if (prob(25)) + new /obj/item/clothing/mask/gas/cyborg(src.loc) + del(src) + +/obj/landmark/costume/holiday_priest/New() + new /obj/item/clothing/suit/holidaypriest(src.loc) + del(src) + +/obj/landmark/costume/spiderman/New() + new /obj/item/clothing/under/spiderman(src.loc) + new /obj/item/clothing/mask/spiderman(src.loc) + del(src) + +/* +/obj/landmark/costume/cyborg/New() + new /obj/item/clothing/mask/gas/cyborg(src.loc) + new /obj/item/clothing/shoes/cyborg(src.loc) + new /obj/item/clothing/suit/cyborg_suit(src.loc) + new /obj/item/clothing/gloves/cyborg(src.loc) + + var/obj/item/weapon/card/id/W = new /obj/item/weapon/card/id(src.loc) + var/name = "Cyborg" + name += " [pick(rand(1, 999))]" + W.name = "Fake Cyborg Card" + W.access = list(access_theatre) + W.assignment = "Kill all humans! Beep. Boop." + W.registered = name + del(src) + */ \ No newline at end of file diff --git a/code/defines/obj/clothing/suit.dm b/code/defines/obj/clothing/suit.dm index 84f5ffa277..5b7bff002f 100644 --- a/code/defines/obj/clothing/suit.dm +++ b/code/defines/obj/clothing/suit.dm @@ -180,6 +180,19 @@ flags = FPRINT | TABLEPASS | ONESIZEFITSALL body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS allowed = list (/obj/item/weapon/kitchenknife) + allowed = list (/obj/item/weapon/butch) + +/obj/item/clothing/suit/apronchef + name = "A classic chef's apron." + desc = "A basic, dull, white chef's apron." + icon_state = "apronchef" + item_state = "apronchef" + gas_transfer_coefficient = 0.90 + permeability_coefficient = 0.50 + heat_transfer_coefficient = 0.50 + protective_temperature = 1000 //If you can't stand the heat, get back to the kitchen - Micro + flags = FPRINT | TABLEPASS | ONESIZEFITSALL + body_parts_covered = UPPER_TORSO|LOWER_TORSO /obj/item/clothing/suit/wizrobe name = "wizard robe" diff --git a/code/defines/obj/vending.dm b/code/defines/obj/vending.dm index 4692159ca8..7f3986aa5d 100644 --- a/code/defines/obj/vending.dm +++ b/code/defines/obj/vending.dm @@ -150,11 +150,11 @@ name = "Dinnerware" desc = "A kitchen and restaurant equipment vendor" icon_state = "dinnerware" - product_paths = "/obj/item/weapon/tray;/obj/item/weapon/kitchen/utensil/fork;/obj/item/weapon/kitchenknife;/obj/item/weapon/reagent_containers/food/drinks/drinkingglass" - product_amounts = "6;4;2;15" + product_paths = "/obj/item/weapon/tray;/obj/item/weapon/kitchen/utensil/fork;/obj/item/weapon/kitchenknife;/obj/item/weapon/reagent_containers/food/drinks/drinkingglass;/obj/item/clothing/suit/apronchef" + product_amounts = "6;4;2;15;2" //product_amounts = "8;5;4" Old totals - product_hidden = "/obj/item/weapon/kitchen/utensil/spoon;/obj/item/weapon/kitchen/utensil/knife;/obj/item/weapon/kitchen/rollingpin" - product_hideamt = "2;2;2" + product_hidden = "/obj/item/weapon/kitchen/utensil/spoon;/obj/item/weapon/kitchen/utensil/knife;/obj/item/weapon/kitchen/rollingpin;/obj/item/weapon/butch" + product_hideamt = "2;2;2;2" /obj/machinery/vending/sovietsoda diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 44ca9e4636..75c0293be2 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -26,6 +26,21 @@ m_amt = 1000 origin_tech = "materials=2" +/obj/item/weapon/bodybag + name = "body bag" + desc = "Bag mixed with a bit of body." + icon = 'closet.dmi' + icon_state = "bodybag" + flags = FPRINT | TABLEPASS| CONDUCT + force = 5.0 + throwforce = 5.0 + throw_speed = 1 + throw_range = 4 + w_class = 1.0 + g_amt = 7500 + m_amt = 1000 + origin_tech = "materials=2" + /obj/item/weapon/match name = "Match" desc = "A simple match stick, used for lighting tobacco" @@ -1782,6 +1797,20 @@ Total SMES charging rate should not exceed total power generation rate, or an ov m_amt = 12000 origin_tech = "materials=1" +/obj/item/weapon/butch + name = "Butcher's Cleaver" + icon = 'kitchen.dmi' + icon_state = "butch" + desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products." + flags = FPRINT | TABLEPASS | CONDUCT + force = 15.0 + w_class = 2.0 + throwforce = 8.0 + throw_speed = 3 + throw_range = 6 + m_amt = 12000 + origin_tech = "materials=1" + /obj/item/weapon/tray name = "Tray" icon = 'food.dmi' diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 215d5c5e3f..289071c2c4 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -445,6 +445,7 @@ istype(W, /obj/item/weapon/melee/energy/blade) || \ istype(W, /obj/item/weapon/shovel) || \ istype(W, /obj/item/weapon/kitchenknife) || \ + istype(W, /obj/item/weapon/butch) || \ istype(W, /obj/item/weapon/scalpel) || \ istype(W, /obj/item/weapon/kitchen/utensil/knife) || \ istype(W, /obj/item/weapon/shard) || \ diff --git a/code/game/objects/livestock.dm b/code/game/objects/livestock.dm index 8c3de927b4..8ccf968abb 100644 --- a/code/game/objects/livestock.dm +++ b/code/game/objects/livestock.dm @@ -130,6 +130,12 @@ I.loc = src.loc del(src) return + else if(istype(W, /obj/item/weapon/butch)) + user << "\red You butcher open the [src.name]!" + for (var/obj/item/I in src) + I.loc = src.loc + del(src) + return ..() bullet_act(flag, A as obj) diff --git a/code/modules/food/food.dm b/code/modules/food/food.dm index 9b0a850e2e..e2b21409f5 100644 --- a/code/modules/food/food.dm +++ b/code/modules/food/food.dm @@ -68,6 +68,17 @@ reagents.add_reagent("coco", 2) bitesize = 2 +/obj/item/weapon/reagent_containers/food/snacks/chocolateegg + name = "Chocolate Egg" + desc = "Such, sweet, fattening food." + icon_state = "chocolateegg" + New() + ..() + reagents.add_reagent("nutriment", 3) + reagents.add_reagent("sugar", 2) + reagents.add_reagent("coco", 2) + bitesize = 2 + /obj/item/weapon/reagent_containers/food/snacks/donut name = "donut" desc = "Goes great with Robust Coffee." @@ -159,6 +170,16 @@ reagents.add_reagent("carpotoxin", 3) src.bitesize = 6 +/obj/item/weapon/reagent_containers/food/snacks/fishfingers + name = "Fish Fingers" + desc = "A finger of fish." + icon_state = "fishfingers" + New() + ..() + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("carpotoxin", 3) + bitesize = 3 + /obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice name = "huge mushroom slice" desc = "A slice from a huge mushroom." @@ -206,6 +227,15 @@ reagents.add_reagent("nutriment", 3) bitesize = 2 +/obj/item/weapon/reagent_containers/food/snacks/sausage + name = "Sausage" + desc = "A piece of mixed, long meat." + icon_state = "sausage" + New() + ..() + reagents.add_reagent("nutriment", 6) + bitesize = 2 + /obj/item/weapon/reagent_containers/food/snacks/donkpocket name = "Donk-pocket" desc = "The food of choice for the seasoned traitor." @@ -859,6 +889,16 @@ reagents.add_reagent("tricordrazine", 3) bitesize = 5 +/obj/item/weapon/reagent_containers/food/snacks/mysterysoup + name = "Mystery soup" + desc = "A....strange, strange soup." + icon_state = "mysterysoup" + New() + ..() + reagents.add_reagent("nutriment", 12) + reagents.add_reagent("water", 7) + bitesize = 4 + /obj/item/weapon/reagent_containers/food/snacks/wishsoup name = "Wish Soup" desc = "I wish this was soup." @@ -1246,6 +1286,15 @@ reagents.add_reagent("metroid", 5) bitesize = 3 +/obj/item/weapon/reagent_containers/food/snacks/braincake + name = "Brain Cake" + desc = "A squishy cake-thing." + icon_state = "braincake" + New() + ..() + reagents.add_reagent("nutriment", 28) + bitesize = 3 + /////////////////////////////////////////////////Sliceable//////////////////////////////////////// // All the food items that can be sliced into smaller bits like Meatbread and Cheesewheels diff --git a/code/modules/food/recipes_microwave.dm b/code/modules/food/recipes_microwave.dm index 31a764a116..c5d492bc5c 100644 --- a/code/modules/food/recipes_microwave.dm +++ b/code/modules/food/recipes_microwave.dm @@ -1002,7 +1002,6 @@ items = list( /obj/item/weapon/reagent_containers/food/snacks/grown/bloodtomato, /obj/item/weapon/reagent_containers/food/snacks/grown/bloodtomato, - ) result = /obj/item/weapon/reagent_containers/food/snacks/bloodsoup @@ -1018,7 +1017,6 @@ items = list( /obj/item/weapon/reagent_containers/food/snacks/grown/banana, /obj/item/weapon/ore/clown, - ) result = /obj/item/weapon/reagent_containers/food/snacks/clownstears @@ -1026,6 +1024,52 @@ reagents = list("water" = 5) items = list( /obj/item/metroid_core, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/boiledmetroidcore \ No newline at end of file + result = /obj/item/weapon/reagent_containers/food/snacks/boiledmetroidcore + +/datum/recipe/braincake + reagents = list("milk" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /mob/living/carbon/brain, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/braincake + +/datum/recipe/chocolateegg + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/chocolateegg + +/datum/recipe/sausage + items = list( + /obj/item/weapon/reagent_containers/food/snacks/faggot, + /obj/item/weapon/reagent_containers/food/snacks/meat, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sausage + +/datum/recipe/fishfingers + items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/carpmeat, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/fishfingers + +/datum/recipe/mysterysoup + reagents = list("water" = 10, "blood" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/faggot, + /obj/item/weapon/reagent_containers/food/snacks/faggot, + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, + /obj/item/weapon/reagent_containers/food/snacks/egg, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/mysterysoup \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index f90265faa4..b4e8d80517 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -91,6 +91,8 @@ icon_state = "toiletbot" else if(icontype == "Bro") icon_state = "Brobot" + else if(icontype == "Rich") + icon_state = "maximillion" else icon_state = "Service2" modtype = "Butler" diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi index dcf5ad015c..4c8d7e94fb 100644 Binary files a/icons/mob/items_lefthand.dmi and b/icons/mob/items_lefthand.dmi differ diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi index d9221f358b..0561876fd3 100644 Binary files a/icons/mob/items_righthand.dmi and b/icons/mob/items_righthand.dmi differ diff --git a/icons/mob/robots.dmi b/icons/mob/robots.dmi index 9f16850de7..370cb59ad8 100644 Binary files a/icons/mob/robots.dmi and b/icons/mob/robots.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 8871800ec3..69bad83f41 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 9291056b3e..0984ea3026 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 5c2539888d..e87a744da5 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 6bee32c5ea..12b19ebceb 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi index 131a359102..a21efd0892 100644 Binary files a/icons/obj/kitchen.dmi and b/icons/obj/kitchen.dmi differ