adds the GRILL (#46844)

* a

* GRILL GANG

* sipp

* sip

* seep

* grug

* FSAIUGANOHNHOE

* bru

* a

* finish him

* compilies ^w^

* WOOO

* holy crap

* woo

* a

* h

* woo

* woo

* woo

* awoo

* aa

* aw shet

* heck you floyd

* at ath

* awo

* we like compiling code

* awo

* coal mat

* awoo

* aasdga

* a

* nice

* awoo

* awwoooooooooooooooooooooooo

* awoo

* spaceport bars

* grill gang

* aw

* awooo

* yee

* aw

* flod

* awoo

* awoo

* yesyesyyes

* a

* awoo

* holy sht

* h

* awoo

* awo

* aaaaaaaaa

* awoooooooooo

* awoo

* aw man

* honk

* well boys we did it

* oh mama mia

* ok cobby flushed

* awoo

* removes fun

* yeep

* i just said something

* vruh obama

* ye

* awoo

* awooooooo
This commit is contained in:
Fikou
2019-10-05 19:40:40 +02:00
committed by moo
parent 77ad5f5bfb
commit 05f0c2c1f3
17 changed files with 291 additions and 25 deletions

View File

@@ -31023,7 +31023,7 @@
/obj/item/trash/cheesie,
/obj/item/trash/raisins,
/obj/item/trash/candy,
/obj/item/trash/coal,
/obj/item/stack/sheet/mineral/coal,
/obj/item/trash/can,
/turf/open/floor/plating,
/area/maintenance/disposal)
@@ -39942,7 +39942,7 @@
},
/obj/structure/closet/crate/trashcart,
/obj/item/storage/bag/trash,
/obj/item/trash/coal,
/obj/item/stack/sheet/mineral/coal,
/obj/item/trash/can,
/obj/item/trash/can,
/obj/item/trash/can,
@@ -41529,7 +41529,7 @@
/obj/item/storage/bag/trash,
/obj/item/trash/can,
/obj/item/trash/chips,
/obj/item/trash/coal,
/obj/item/stack/sheet/mineral/coal,
/obj/item/trash/raisins,
/obj/item/trash/syndi_cakes,
/obj/structure/cable,

View File

@@ -0,0 +1,26 @@
/datum/component/sizzle
var/mutable_appearance/sizzling
var/sizzlealpha = 0
dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS
/datum/component/sizzle/Initialize()
if(!isatom(parent))
return COMPONENT_INCOMPATIBLE
setup_sizzle()
/datum/component/sizzle/InheritComponent(datum/component/C, i_am_original)
var/atom/food = parent
sizzlealpha += 5
sizzling.alpha = sizzlealpha
food.cut_overlay(sizzling)
food.add_overlay(sizzling)
/datum/component/sizzle/proc/setup_sizzle()
var/atom/food = parent
var/icon/grill_marks = icon(initial(food.icon), initial(food.icon_state)) //we only want to apply grill marks to the initial icon_state for each object
grill_marks.Blend("#fff", ICON_ADD) //fills the icon_state with white (except where it's transparent)
grill_marks.Blend(icon('icons/obj/kitchen.dmi', "grillmarks"), ICON_MULTIPLY) //adds grill marks and the remaining white areas become transparent
sizzling = new(grill_marks)
sizzling.alpha = sizzlealpha
food.add_overlay(sizzling)

View File

@@ -39,6 +39,13 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/grill
mid_length = 2
mid_sounds = list('sound/machines/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/fryer/deep_fryer_2.ogg' = 1)
volume = 30
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/microwave
start_sound = 'sound/machines/microwave/microwave-start.ogg'
start_length = 10

View File

@@ -86,7 +86,7 @@ GLOBAL_LIST_EMPTY(possible_gifts)
/obj/item/clothing/suit/poncho/red,
/obj/item/clothing/suit/snowman,
/obj/item/clothing/head/snowman,
/obj/item/trash/coal)
/obj/item/stack/sheet/mineral/coal)
gift_type_list += subtypesof(/obj/item/clothing/head/collectable)
gift_type_list += subtypesof(/obj/item/toy) - (((typesof(/obj/item/toy/cards) - /obj/item/toy/cards/deck) + /obj/item/toy/figure + /obj/item/toy/ammo)) //All toys, except for abstract types and syndicate cards.

View File

@@ -15,8 +15,8 @@ Mineral Sheets
Others:
- Adamantine
- Mythril
- Enriched Uranium
- Abductor
- Alien Alloy
- Coal
*/
/obj/item/stack/sheet/mineral/Initialize(mapload)
@@ -377,7 +377,7 @@ GLOBAL_LIST_INIT(adamantine_recipes, list(
*/
/obj/item/stack/sheet/mineral/runite
name = "Runite"
name = "runite"
desc = "Rare material found in distant lands."
singular_name = "runite bar"
icon_state = "sheet-runite"
@@ -422,3 +422,36 @@ GLOBAL_LIST_INIT(abductor_recipes, list ( \
/obj/item/stack/sheet/mineral/abductor/Initialize(mapload, new_amount, merge = TRUE)
recipes = GLOB.abductor_recipes
. = ..()
/*
* Coal
*/
/obj/item/stack/sheet/mineral/coal
name = "coal"
desc = "Someone's gotten on the naughty list."
icon = 'icons/obj/mining.dmi'
icon_state = "slag"
singular_name = "coal lump"
merge_type = /obj/item/stack/sheet/mineral/coal
grind_results = list(/datum/reagent/carbon = 20)
/obj/item/stack/sheet/mineral/coal/attackby(obj/item/W, mob/user, params)
if(W.get_temperature() > 300)//If the temperature of the object is over 300, then ignite
var/turf/T = get_turf(src)
message_admins("Coal ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(T)]")
log_game("Coal ignited by [key_name(user)] in [AREACOORD(T)]")
fire_act(W.get_temperature())
return TRUE
else
return ..()
/obj/item/stack/sheet/mineral/coal/fire_act(exposed_temperature, exposed_volume)
atmos_spawn_air("co2=[amount*10];TEMP=[exposed_temperature]")
qdel(src)
/obj/item/stack/sheet/mineral/coal/five
amount = 5
/obj/item/stack/sheet/mineral/coal/ten
amount = 10

View File

@@ -105,15 +105,3 @@
/obj/item/trash/attack(mob/M, mob/living/user)
return
/obj/item/trash/coal
name = "lump of coal"
icon = 'icons/obj/mining.dmi'
icon_state = "slag"
desc = "Someone's gotten on the naughty list."
grind_results = list(/datum/reagent/carbon = 20)
/obj/item/trash/coal/burn()
visible_message("<span class='warning'>[src] fuses into a diamond! Someone wasn't so naughty after all...</span>")
new /obj/item/stack/ore/diamond(loc)
qdel(src)

View File

@@ -424,7 +424,7 @@
/obj/item/clothing/suit/armor/bulletproof,
/obj/item/clothing/suit/armor/bulletproof)
crate_name = "bulletproof armor crate"
/datum/supply_pack/security/armory/bullethelmets
name = "Bulletproof Helmets Crate"
desc = "Contains three bulletproof helmets. Requires Armory access to open."
@@ -1834,6 +1834,27 @@
/obj/item/vending_refill/hydronutrients)
crate_name = "hydroponics supply crate"
/datum/supply_pack/organic/grill
name = "Grilling Starter Kit"
desc = "Hey dad I'm Hungry. Hi Hungry I'm THE NEW GRILLING STARTER KIT ONLY 5000 BUX GET NOW! Contains a grill and fuel."
cost = 5000
crate_type = /obj/structure/closet/crate
contains = list(/obj/item/stack/sheet/mineral/coal/five,
/obj/machinery/grill/unwrenched,
/obj/item/reagent_containers/food/drinks/soda_cans/monkey_energy
)
crate_name = "grilling starter kit crate"
/datum/supply_pack/organic/grillfuel
name = "Grilling Fuel Kit"
desc = "Contains propane and propane accessories. (Note: doesn't contain any actual propane.)"
cost = 2000
crate_type = /obj/structure/closet/crate
contains = list(/obj/item/stack/sheet/mineral/coal/ten,
/obj/item/reagent_containers/food/drinks/soda_cans/monkey_energy
)
crate_name = "grilling fuel kit crate"
//////////////////////////////////////////////////////////////////////////////
////////////////////////////// Livestock /////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////

View File

@@ -549,6 +549,13 @@
list_reagents = list(/datum/reagent/consumable/grey_bull = 20)
foodtype = SUGAR | JUNKFOOD
/obj/item/reagent_containers/food/drinks/soda_cans/monkey_energy
name = "Monkey Energy"
desc = "Unleash the ape!"
icon_state = "monkey_energy"
list_reagents = list(/datum/reagent/consumable/monkey_energy = 50)
foodtype = SUGAR | JUNKFOOD
/obj/item/reagent_containers/food/drinks/soda_cans/air
name = "canned air"
desc = "There is no air shortage. Do not drink."

View File

@@ -22,7 +22,7 @@
foodtype = GRAIN
/obj/item/reagent_containers/food/snacks/grilledcheese
name = "grilled cheese sandwich"
name = "cheese sandwich"
desc = "Goes great with Tomato soup!"
icon = 'icons/obj/food/burgerbread.dmi'
icon_state = "toastedsandwich"

View File

@@ -0,0 +1,140 @@
//I JUST WANNA GRILL FOR GOD'S SAKE
/obj/machinery/grill
name = "grill"
desc = "Just like the old days."
icon = 'icons/obj/kitchen.dmi'
icon_state = "grill_open"
density = TRUE
layer = BELOW_OBJ_LAYER
use_power = NO_POWER_USE
var/grill_fuel = 0
var/obj/item/reagent_containers/food/grilled_item
var/grill_time = 0
var/datum/looping_sound/grill/grill_loop
/obj/machinery/grill/Initialize()
. = ..()
grill_loop = new(list(src), FALSE)
/obj/machinery/grill/update_icon()
if(grilled_item)
icon_state = "grill"
else if(grill_fuel)
icon_state = "grill_on"
else
icon_state = "grill_open"
/obj/machinery/grill/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/stack/sheet/mineral/coal) || istype(I, /obj/item/stack/sheet/mineral/wood))
var/obj/item/stack/S = I
var/stackamount = S.get_amount()
to_chat(user, "<span class='notice'>You put [stackamount] [I]s in [src].</span>")
if(istype(I, /obj/item/stack/sheet/mineral/coal))
grill_fuel += (500 * stackamount)
else
grill_fuel += (50 * stackamount)
S.use(stackamount)
update_icon()
return
if(I.resistance_flags & INDESTRUCTIBLE)
to_chat(user, "<span class='warning'>You don't feel it would be wise to grill [I]...</span>")
return ..()
if(istype(I, /obj/item/reagent_containers))
if(istype(I, /obj/item/reagent_containers/food) && !istype(I, /obj/item/reagent_containers/food/drinks))
if(HAS_TRAIT(I, TRAIT_NODROP) || (I.item_flags & (ABSTRACT | DROPDEL)))
return ..()
else if(!grill_fuel)
to_chat(user, "<span class='notice'>There is not enough fuel.</span>")
return
else if(!grilled_item && user.transferItemToLoc(I, src))
grilled_item = I
to_chat(user, "<span class='notice'>You put the [grilled_item] on [src].</span>")
update_icon()
grill_loop.start()
return
else
if(I.reagents.has_reagent(/datum/reagent/consumable/monkey_energy))
grill_fuel += (20 * (I.reagents.get_reagent_amount(/datum/reagent/consumable/monkey_energy)))
to_chat(user, "<span class='notice'>You pour the Monkey Energy in [src].</span>")
I.reagents.remove_reagent(/datum/reagent/consumable/monkey_energy, I.reagents.get_reagent_amount(/datum/reagent/consumable/monkey_energy))
update_icon()
return
..()
/obj/machinery/grill/process()
..()
update_icon()
if(!grill_fuel)
return
else
grill_fuel -= 1
if(prob(1))
var/datum/effect_system/smoke_spread/bad/smoke = new
smoke.set_up(1, loc)
smoke.start()
if(grilled_item)
grill_time += 1
grilled_item.reagents.add_reagent(/datum/reagent/consumable/char, 1)
grill_fuel -= 10
grilled_item.AddComponent(/datum/component/sizzle)
/obj/machinery/grill/Exited(atom/movable/AM)
if(AM == grilled_item)
finish_grill()
grilled_item = null
..()
/obj/machinery/grill/Destroy()
grilled_item = null
. = ..()
/obj/machinery/grill/handle_atom_del(atom/A)
if(A == grilled_item)
grilled_item = null
. = ..()
/obj/machinery/grill/wrench_act(mob/living/user, obj/item/I)
default_unfasten_wrench(user, I)
. = ..()
/obj/machinery/grill/deconstruct(disassembled = TRUE)
finish_grill()
if(!(flags_1 & NODECONSTRUCT_1))
new /obj/item/stack/sheet/metal(loc, 5)
new /obj/item/stack/rods(loc, 5)
..()
/obj/machinery/grill/attack_ai(mob/user)
return
/obj/machinery/grill/attack_hand(mob/user)
if(grilled_item)
to_chat(user, "<span class='notice'>You take out [grilled_item] from [src].</span>")
grilled_item.forceMove(drop_location())
update_icon()
return
return ..()
/obj/machinery/grill/proc/finish_grill()
switch(grill_time) //no 0-9 to prevent spam
if(10 to 15)
grilled_item.name = "lightly-grilled [grilled_item.name]"
grilled_item.desc = "[grilled_item.desc] It's been lightly grilled."
if(16 to 39)
grilled_item.name = "grilled [grilled_item.name]"
grilled_item.desc = "[grilled_item.desc] It's been grilled."
grilled_item.foodtype |= FRIED
if(40 to 50)
grilled_item.name = "heavily grilled [grilled_item.name]"
grilled_item.desc = "[grilled_item.desc] It's been heavily grilled."
grilled_item.foodtype |= FRIED
if(51 to INFINITY) //grill marks reach max alpha
grilled_item.name = "Powerfully Grilled [grilled_item.name]"
grilled_item.desc = "A [grilled_item.name]. Reminds you of your wife, wait, no, it's prettier!"
grilled_item.foodtype |= FRIED
grill_time = 0
grill_loop.stop()
/obj/machinery/grill/unwrenched
anchored = FALSE

View File

@@ -17,7 +17,7 @@
subcategory = CAT_SANDWICH
/datum/crafting_recipe/food/grilledcheesesandwich
name = "Grilled cheese sandwich"
name = "Cheese sandwich"
reqs = list(
/obj/item/reagent_containers/food/snacks/breadslice/plain = 2,
/obj/item/reagent_containers/food/snacks/cheesewedge = 2

View File

@@ -534,6 +534,32 @@
..()
. = 1
/datum/reagent/consumable/monkey_energy
name = "Monkey Energy"
description = "The only drink that will make you unleash the ape."
color = "#f39b03" // rgb: 243, 155, 3
taste_description = "barbecue and nostalgia"
glass_icon_state = "monkey_energy_glass"
glass_name = "glass of Monkey Energy"
glass_desc = "You can unleash the ape, but without the pop of the can?"
/datum/reagent/consumable/monkey_energy/on_mob_life(mob/living/carbon/M)
M.Jitter(20)
M.dizziness +=1
M.drowsyness = 0
M.AdjustSleeping(-40, FALSE)
M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
..()
/datum/reagent/consumable/monkey_energy/on_mob_metabolize(mob/living/L)
..()
if(ismonkey(L))
L.add_movespeed_modifier(type, update=TRUE, priority=100, multiplicative_slowdown=-0.75, blacklisted_movetypes=(FLYING|FLOATING))
/datum/reagent/consumable/monkey_energy/on_mob_end_metabolize(mob/living/L)
L.remove_movespeed_modifier(type)
..()
/datum/reagent/consumable/ice
name = "Ice"
description = "Frozen water, your dentist wouldn't like you chewing this."

View File

@@ -279,11 +279,11 @@
/datum/reagent/consumable/condensedcapsaicin/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(!ishuman(M) && !ismonkey(M))
return
var/mob/living/carbon/victim = M
if(method == TOUCH || method == VAPOR)
var/pepper_proof = victim.is_pepper_proof()
//check for protection
//actually handle the pepperspray effects
if (!(pepper_proof)) // you need both eye and mouth protection
@@ -296,7 +296,7 @@
victim.add_movespeed_modifier(MOVESPEED_ID_PEPPER_SPRAY, update=TRUE, priority=100, multiplicative_slowdown=0.25, blacklisted_movetypes=(FLYING|FLOATING))
addtimer(CALLBACK(victim, /mob.proc/remove_movespeed_modifier, MOVESPEED_ID_PEPPER_SPRAY), 10 SECONDS)
victim.update_damage_hud()
/datum/reagent/consumable/condensedcapsaicin/on_mob_life(mob/living/carbon/M)
if(prob(5))
M.visible_message("<span class='warning'>[M] [pick("dry heaves!","coughs!","splutters!")]</span>")
@@ -734,3 +734,18 @@
taste_mult = 2
taste_description = "caramel"
reagent_state = SOLID
/datum/reagent/consumable/char
name = "Char"
description = "Essence of the grill. Has strange properties when overdosed."
reagent_state = LIQUID
nutriment_factor = 5 * REAGENTS_METABOLISM
color = "#C8C8C8"
taste_mult = 6
taste_description = "smoke"
overdose_threshold = 25
/datum/reagent/consumable/char/overdose_process(mob/living/carbon/M)
if(prob(10))
M.say(pick("I hate my wife.", "I just want to grill for God's sake.", "I wish I could just go on my lawnmower and cut the grass.", "Yep, Quake. That was a good game...", "Yeah, my PDA has wi-fi. A wife I hate."), forced = /datum/reagent/consumable/char)
..()

View File

@@ -17,6 +17,7 @@
/obj/item/reagent_containers/food/drinks/soda_cans/shamblers = 6)
premium = list(/obj/item/reagent_containers/food/drinks/drinkingglass/filled/nuka_cola = 1,
/obj/item/reagent_containers/food/drinks/soda_cans/air = 1,
/obj/item/reagent_containers/food/drinks/soda_cans/monkey_energy = 1,
/obj/item/reagent_containers/food/drinks/soda_cans/grey_bull = 1)
refill_canister = /obj/item/vending_refill/cola
default_price = 10

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -394,6 +394,7 @@
#include "code\datums\components\rotation.dm"
#include "code\datums\components\shrapnel.dm"
#include "code\datums\components\shrink.dm"
#include "code\datums\components\sizzle.dm"
#include "code\datums\components\slippery.dm"
#include "code\datums\components\spawner.dm"
#include "code\datums\components\spill.dm"
@@ -1806,6 +1807,7 @@
#include "code\modules\food_and_drinks\kitchen_machinery\deep_fryer.dm"
#include "code\modules\food_and_drinks\kitchen_machinery\food_cart.dm"
#include "code\modules\food_and_drinks\kitchen_machinery\gibber.dm"
#include "code\modules\food_and_drinks\kitchen_machinery\grill.dm"
#include "code\modules\food_and_drinks\kitchen_machinery\icecream_vat.dm"
#include "code\modules\food_and_drinks\kitchen_machinery\microwave.dm"
#include "code\modules\food_and_drinks\kitchen_machinery\monkeyrecycler.dm"