Merge remote-tracking branch 'citadel/master' into mobility_flags

This commit is contained in:
kevinz000
2020-02-27 20:11:36 -07:00
196 changed files with 170125 additions and 14092 deletions
@@ -24,7 +24,7 @@ GLOBAL_LIST_EMPTY(blob_nodes)
hud_type = /datum/hud/blob_overmind
var/obj/structure/blob/core/blob_core = null // The blob overmind's core
var/blob_points = 0
var/max_blob_points = 100
var/max_blob_points = 250
var/last_attack = 0
var/datum/reagent/blob/blob_reagent_datum = new/datum/reagent/blob()
var/list/blob_mobs = list()
@@ -208,7 +208,7 @@
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*
// Destroy the Solar Arrays
/datum/objective/bloodsucker/solars
@@ -228,7 +228,7 @@
if (SC && SC.lastgen > 0 && SC.connected_panels.len > 0 && SC.connected_tracker)
return FALSE
return TRUE
*/
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -379,20 +379,21 @@
protege_objective.generate_objective()
add_objective(protege_objective)
if (rand(0,1) == 0)
//if (rand(0,1) == 0)
// Heart Thief Objective
var/datum/objective/bloodsucker/heartthief/heartthief_objective = new
heartthief_objective.owner = owner
heartthief_objective.generate_objective()
add_objective(heartthief_objective)
var/datum/objective/bloodsucker/heartthief/heartthief_objective = new
heartthief_objective.owner = owner
heartthief_objective.generate_objective()
add_objective(heartthief_objective)
/*
else
// Solars Objective
// Solars Objective, doesnt work due to TG updates.
var/datum/objective/bloodsucker/solars/solars_objective = new
solars_objective.owner = owner
solars_objective.generate_objective()
add_objective(solars_objective)
*/
// Survive Objective
var/datum/objective/bloodsucker/survive/survive_objective = new
survive_objective.owner = owner
@@ -2,40 +2,56 @@
/datum/action/bloodsucker/cloak
name = "Cloak of Darkness"
desc = "Blend into the shadows and become invisible to the untrained eye."
desc = "Blend into the shadows and become invisible to the untrained eye. Movement is slowed in brightly lit areas."
button_icon_state = "power_cloak"
bloodcost = 5
cooldown = 50
bloodsucker_can_buy = TRUE
amToggle = TRUE
warn_constant_cost = TRUE
var/was_running
var/light_min = 0.2 // If lum is above this, no good.
var/moveintent_was_run
var/walk_threshold = 0.4 // arbitrary number, to be changed. edit in last commit: this is fine after testing on box station for a bit
var/lum
/datum/action/bloodsucker/cloak/CheckCanUse(display_error)
. = ..()
if(!.)
return
// Must be Dark
var/turf/T = owner.loc
if(istype(T) && T.get_lumcount() > light_min)
to_chat(owner, "<span class='warning'>This area is not dark enough to blend in</span>")
return FALSE
// must have nobody around to see the cloak
var/watchers = viewers(9,get_turf(owner))
for(var/mob/living/M in watchers)
if(M != owner)
to_chat(owner, "<span class='warning'>You may only vanish into the shadows unseen.</span>")
return FALSE
return TRUE
/datum/action/bloodsucker/cloak/ActivatePower()
var/datum/antagonist/bloodsucker/bloodsuckerdatum = owner.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)
var/mob/living/user = owner
was_running = (user.m_intent == MOVE_INTENT_RUN)
if(was_running)
user.toggle_move_intent()
ADD_TRAIT(user, TRAIT_NORUNNING, "cloak of darkness")
while(bloodsuckerdatum && ContinueActive(user))
// Pay Blood Toll (if awake)
owner.alpha = max(20, owner.alpha - min(75, 10 + 5 * level_current))
owner.alpha = max(35, owner.alpha - min(75, 10 + 5 * level_current))
bloodsuckerdatum.AddBloodVolume(-0.2)
sleep(5) // Check every few ticks that we haven't disabled this power
moveintent_was_run = (user.m_intent == MOVE_INTENT_RUN)
var/turf/T = get_turf(user)
lum = T.get_lumcount()
if(istype(owner.loc))
if(lum > walk_threshold)
if(moveintent_was_run)
user.toggle_move_intent()
ADD_TRAIT(user, TRAIT_NORUNNING, "cloak of darkness")
if(lum < walk_threshold)
if(!moveintent_was_run)
user.toggle_move_intent()
REMOVE_TRAIT(user, TRAIT_NORUNNING, "cloak of darkness")
sleep(5) // Check every few ticks
/datum/action/bloodsucker/cloak/ContinueActive(mob/living/user, mob/living/target)
if (!..())
@@ -43,15 +59,11 @@
if(user.stat == !CONSCIOUS) // Must be CONSCIOUS
to_chat(owner, "<span class='warning'>Your cloak failed due to you falling unconcious! </span>")
return FALSE
var/turf/T = owner.loc // Must be DARK
if(istype(T) && T.get_lumcount() > light_min)
to_chat(owner, "<span class='warning'>Your cloak failed due to there being too much light!</span>")
return FALSE
return TRUE
/datum/action/bloodsucker/cloak/DeactivatePower(mob/living/user = owner, mob/living/target)
..()
REMOVE_TRAIT(user, TRAIT_NORUNNING, "cloak of darkness")
user.alpha = 255
if(was_running && user.m_intent != MOVE_INTENT_RUN)
if(!moveintent_was_run)
user.toggle_move_intent()
@@ -7,9 +7,9 @@
button_icon_state = "power_lunge"
bloodcost = 10
cooldown = 120
target_range = 3
target_range = 5
power_activates_immediately = TRUE
message_Trigger = ""//"Whom will you subvert to your will?"
message_Trigger = "Whom will you ensnare within your grasp?"
must_be_capacitated = TRUE
bloodsucker_can_buy = TRUE
@@ -58,26 +58,28 @@
var/do_knockdown = !is_A_facing_B(target,owner) || owner.alpha <= 0 || istype(owner.loc, /obj/structure/closet)
// CAUSES: Target has their back to me, I'm invisible, or I'm in a Closet
// Step One: Heatseek toward Target's Turf
walk_towards(owner, T, 0.1, 10) // NOTE: this runs in the background! to cancel it, you need to use walk(owner.current,0), or give them a new path.
addtimer(CALLBACK(owner, .proc/_walk, 0), 2 SECONDS)
var/mob/living/L = owner
if(get_turf(owner) != T && !(isliving(target) && target.Adjacent(owner)) && owner.incapacitated() && !CHECK_MOBILITY(L, MOBILITY_STAND))
var/send_dir = get_dir(owner, T)
new /datum/forced_movement(owner, get_ranged_target_turf(owner, send_dir, 1), 1, FALSE)
owner.spin(10)
// Step Two: Check if I'm at/adjectent to Target's CURRENT turf (not original...that was just a destination)
sleep(1)
if(target.Adjacent(owner))
// LEVEL 2: If behind target, mute or unconscious!
if(do_knockdown) // && level_current >= 1)
target.DefaultCombatKnockdown(15 + 10 * level_current,1)
target.adjustStaminaLoss(40 + 10 * level_current)
// Cancel Walk (we were close enough to contact them)
walk(owner, 0)
target.Stun(10,1) //Without this the victim can just walk away
target.grabbedby(owner) // Taken from mutations.dm under changelings
target.grippedby(owner, instant = TRUE) //instant aggro grab
addtimer(CALLBACK(owner, .proc/_walk, 0), 2 SECONDS) target.playsound_local(get_turf(owner), 'sound/bloodsucker/lunge_warn.ogg', 60, FALSE, pressure_affected = FALSE) // target-only telegraphing
owner.playsound_local(owner, 'sound/bloodsucker/lunge_warn.ogg', 60, FALSE, pressure_affected = FALSE) // audio feedback to the user
if(do_mob(owner, owner, 6, TRUE, TRUE))
walk_towards(owner, T, 0.1, 10) // yes i know i shouldn't use this but i don't know how to work in anything better
if(get_turf(owner) != T && !(isliving(target) && target.Adjacent(owner)) && owner.incapacitated() && !CHECK_MOBILITY(owner, MOBILITY_STAND))
var/send_dir = get_dir(owner, T)
new /datum/forced_movement(owner, get_ranged_target_turf(owner, send_dir, 1), 1, FALSE)
owner.spin(10)
// Step Two: Check if I'm at/adjectent to Target's CURRENT turf (not original...that was just a destination)
for(var/i in 1 to 6)
if (target.Adjacent(owner))
// LEVEL 2: If behind target, mute or unconscious!
if(do_knockdown) // && level_current >= 1)
target.Knockdown(15 + 10 * level_current,1)
target.adjustStaminaLoss(40 + 10 * level_current)
// Cancel Walk (we were close enough to contact them)
walk(owner, 0)
target.Stun(10,1) //Without this the victim can just walk away
target.grabbedby(owner) // Taken from mutations.dm under changelings
target.grippedby(owner, instant = TRUE) //instant aggro grab
break
sleep(i*3)
/datum/action/bloodsucker/targeted/lunge/DeactivatePower(mob/living/user = owner, mob/living/target)
..() // activate = FALSE
@@ -11,24 +11,25 @@
button_icon_state = "power_mez"
bloodcost = 30
cooldown = 300
target_range = 1
power_activates_immediately = FALSE
target_range = 3
power_activates_immediately = TRUE
message_Trigger = "Whom will you subvert to your will?"
must_be_capacitated = TRUE
bloodsucker_can_buy = TRUE
var/success
/datum/action/bloodsucker/targeted/mesmerize/CheckCanUse(display_error)
. = ..()
if(!.)
return
if (!owner.getorganslot(ORGAN_SLOT_EYES))
if(!owner.getorganslot(ORGAN_SLOT_EYES))
if (display_error)
to_chat(owner, "<span class='warning'>You have no eyes with which to mesmerize.</span>")
return FALSE
// Check: Eyes covered?
var/mob/living/L = owner
if (istype(L) && L.is_eyes_covered() || !isturf(owner.loc))
if (display_error)
if(istype(L) && L.is_eyes_covered() || !isturf(owner.loc))
if(display_error)
to_chat(owner, "<span class='warning'>Your eyes are concealed from sight.</span>")
return FALSE
return TRUE
@@ -38,46 +39,51 @@
/datum/action/bloodsucker/targeted/mesmerize/CheckCanTarget(atom/A,display_error)
// Check: Self
if (A == owner)
if(A == owner)
return FALSE
var/mob/living/carbon/target = A // We already know it's carbon due to CheckValidTarget()
// Bloodsucker
if (target.mind && target.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER))
if(target.mind && target.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER))
if (display_error)
to_chat(owner, "<span class='warning'>Bloodsuckers are immune to [src].</span>")
return FALSE
// Dead/Unconscious
if (target.stat > CONSCIOUS)
if(target.stat > CONSCIOUS)
if (display_error)
to_chat(owner, "<span class='warning'>Your victim is not [(target.stat == DEAD || HAS_TRAIT(target, TRAIT_FAKEDEATH))?"alive":"conscious"].</span>")
return FALSE
// Check: Target has eyes?
if (!target.getorganslot(ORGAN_SLOT_EYES))
if(!target.getorganslot(ORGAN_SLOT_EYES))
if (display_error)
to_chat(owner, "<span class='warning'>They have no eyes!</span>")
return FALSE
// Check: Target blind?
if (target.eye_blind > 0)
if(target.eye_blind > 0)
if (display_error)
to_chat(owner, "<span class='warning'>Your victim's eyes are glazed over. They cannot perceive you.</span>")
return FALSE
// Check: Target See Me? (behind wall)
if (!(owner in view(target_range, get_turf(target))))
if(!(target in view(target_range, get_turf(owner))))
// Sub-Check: GET CLOSER
//if (!(owner in range(target_range, get_turf(target)))
// if (display_error)
// to_chat(owner, "<span class='warning'>You're too far from your victim.</span>")
if (display_error)
if(display_error)
to_chat(owner, "<span class='warning'>You're too far outside your victim's view.</span>")
return FALSE
if(target.has_status_effect(STATUS_EFFECT_MESMERIZE)) // ?
return TRUE
// Check: Facing target?
if (!is_A_facing_B(owner,target)) // in unsorted.dm
if(!is_A_facing_B(owner,target)) // in unsorted.dm
if (display_error)
to_chat(owner, "<span class='warning'>You must be facing your victim.</span>")
return FALSE
// Check: Target facing me?
if (CHECK_MOBILITY(target, MOBILITY_STAND) && !is_A_facing_B(target,owner))
if (display_error)
if(display_error)
to_chat(owner, "<span class='warning'>Your victim must be facing you to see into your eyes.</span>")
return FALSE
return TRUE
@@ -88,19 +94,28 @@
var/mob/living/user = owner
if(istype(target))
target.Stun(40) //Utterly useless without this, its okay since there are so many checks to go through
target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 45) //So you cant rotate with combat mode, plus fancy status alert
var/power_time = 138 + level_current * 12
target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 30)
user.apply_status_effect(STATUS_EFFECT_MESMERIZE, 30)
if(do_mob(user, target, 30, TRUE, TRUE)) // 3 seconds windup
success = CheckCanTarget(target)
if(success) // target just has to be out of view when it is fully charged in order to avoid
PowerActivatedSuccessfully() // blood & cooldown only altered if power activated successfully - less "fuck you"-y
target.face_atom(user)
target.apply_status_effect(STATUS_EFFECT_MESMERIZE, power_time) // pretty much purely cosmetic
target.Stun(power_time)
to_chat(user, "<span class='notice'>[target] is fixed in place by your hypnotic gaze.</span>")
target.next_move = world.time + power_time // <--- Use direct change instead. We want an unmodified delay to their next move // target.changeNext_move(power_time) // check click.dm
target.notransform = TRUE // <--- Fuck it. We tried using next_move, but they could STILL resist. We're just doing a hard freeze.
else
to_chat(user, "<span class='warning'>[target] has escaped your gaze!</span>")
DeactivatePower()
DeactivateRangedAbility()
StartCooldown()
// oops! if they knew how they could just spam stun the victim and themselves.
if(do_mob(user, target, 40, 0, TRUE, extra_checks = CALLBACK(src, .proc/ContinueActive, user, target)))
PowerActivatedSuccessfully() // PAY COST! BEGIN COOLDOWN!
var/power_time = 90 + level_current * 12
target.apply_status_effect(STATUS_EFFECT_MESMERIZE, power_time + 80)
to_chat(user, "<span class='notice'>[target] is fixed in place by your hypnotic gaze.</span>")
target.Stun(power_time)
target.next_move = world.time + power_time // <--- Use direct change instead. We want an unmodified delay to their next move // target.changeNext_move(power_time) // check click.dm
target.notransform = TRUE // <--- Fuck it. We tried using next_move, but they could STILL resist. We're just doing a hard freeze.
spawn(power_time)
if(istype(target))
if(istype(target) && success)
target.notransform = FALSE
// They Woke Up! (Notice if within view)
if(istype(user) && target.stat == CONSCIOUS && (target in view(10, get_turf(user))) )
@@ -158,6 +158,23 @@
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/medical/paramedic
desc = "It's made of a special fiber that provides minor protection against biohazards. It has a dark blue cross on the chest denoting that the wearer is a trained paramedic."
name = "paramedic jumpsuit"
icon_state = "paramedic"
item_state = "w_suit"
permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
/obj/item/clothing/under/rank/medical/paramedic/skirt
name = "paramedic jumpskirt"
desc = "It's made of a special fiber that provides minor protection against biohazards. It has a dark blue cross on the chest denoting that the wearer is a trained paramedic."
icon_state = "paramedic_skirt"
item_state = "w_suit"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/nursesuit
desc = "It's a jumpsuit commonly worn by nursing staff in the medical department."
name = "nurse's suit"
+1 -2
View File
@@ -19,7 +19,6 @@
icon_state = "trek_engsec"
item_color = "trek_engsec"
item_state = "r_suit"
armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) //more sec than eng, but w/e.
strip_delay = 50
/obj/item/clothing/under/trek/medsci
@@ -69,4 +68,4 @@
desc = "Something about it feels off..."
icon_state = "trek_Q"
item_color = "trek_Q"
item_state = "r_suit"
item_state = "r_suit"
+1 -1
View File
@@ -24,7 +24,7 @@
/datum/round_event/ghost_role/sentience/spawn_role()
var/list/mob/dead/observer/candidates
candidates = get_candidates(ROLE_ALIEN, null, ROLE_ALIEN)
candidates = get_candidates(ROLE_SENTIENCE, null, ROLE_SENTIENCE)
// find our chosen mob to breathe life into
// Mobs have to be simple animals, mindless and on station
@@ -19,7 +19,7 @@
jobs_to_revolt = list("Assistant")
nation_name = pick("Assa", "Mainte", "Tunnel", "Gris", "Grey", "Liath", "Grigio", "Ass", "Assi")
if("white")
jobs_to_revolt = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist")
jobs_to_revolt = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Paramedic", "Virologist")
nation_name = pick("Mede", "Healtha", "Recova", "Chemi", "Geneti", "Viro", "Psych")
if("yellow")
jobs_to_revolt = list("Chief Engineer", "Station Engineer", "Atmospheric Technician")
@@ -85,6 +85,20 @@
tastes = list("cake" = 4, "cream cheese" = 3)
foodtype = GRAIN | DAIRY
/obj/item/reagent_containers/food/snacks/store/cake/brioche
name = "brioche cake"
desc = "A ring of sweet, glazed buns."
icon_state = "briochecake"
slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/brioche
slices_num = 6
bonus_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 2)
/obj/item/reagent_containers/food/snacks/cakeslice/brioche
name = "brioche cake slice"
desc = "Delicious sweet-bread. Who needs anything else?"
icon_state = "briochecake_slice"
filling_color = "#FFD700"
/obj/item/reagent_containers/food/snacks/cakeslice/cheese
name = "cheese cake slice"
desc = "Slice of pure cheestisfaction."
@@ -375,7 +389,7 @@ obj/item/reagent_containers/food/snacks/store/cake/pound_cake
/obj/item/reagent_containers/food/snacks/cakeslice/peach_slice
name = "peach cake slice"
desc = "A slice of peach cake."
icon_state = "peach_slice"
icon_state = "peachcake_slice"
filling_color = "#00FFFF"
tastes = list("cake" = 1, "sugar" = 1, "peachjuice" = 10)
foodtype = GRAIN | SUGAR | DAIRY
@@ -396,4 +410,4 @@ obj/item/reagent_containers/food/snacks/store/cake/pound_cake
icon_state = "trumpetcakeslice"
filling_color = "#7A3D80"
tastes = list("cake" = 4, "violets" = 2, "jam" = 2)
foodtype = GRAIN | DAIRY | FRUIT | SUGAR
foodtype = GRAIN | DAIRY | FRUIT | SUGAR
@@ -101,7 +101,7 @@
desc = "A fried egg with a side of bacon. Delicious!"
icon_state = "baconegg"
bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1)
bitesize = 1
bitesize = 2
filling_color = "#FFFFF0"
tastes = list("egg" = 2, "bacon" = 2, "salt" = 1, "pepper" = 1)
foodtype = MEAT | FRIED | BREAKFAST
@@ -151,8 +151,17 @@
desc = "There is only one egg on this, how rude."
icon_state = "benedict"
bonus_reagents = list(/datum/reagent/consumable/nutriment/vitamin = 4)
trash = /obj/item/trash/plate
w_class = WEIGHT_CLASS_NORMAL
trash = /obj/item/trash/plate
list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 4)
tastes = list("egg" = 1, "bacon" = 1, "bun" = 1)
foodtype = MEAT | BREAKFAST
/obj/item/reagent_containers/food/snacks/scotchegg
name = "scotch egg"
desc = "A boiled egg wrapped in a delicious, seasoned meatball."
icon_state = "scotchegg"
bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 2)
bitesize = 3
filling_color = "#FFFFF0"
list_reagents = list(/datum/reagent/consumable/nutriment = 6)
@@ -325,7 +325,7 @@
/obj/item/reagent_containers/food/snacks/corndog
name = "corndog plate"
desc = "A plate with two small corn dogs, with two dimples of ketchup and mustard to dip them in."
icon_state = "dorndog"
icon_state = "corndog"
trash = /obj/item/trash/plate/alt
tastes = list("hotdog" = 2, "mustard and ketchup" = 1, "fryed bread" = 1)
bonus_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/consumable/mustard = 5, /datum/reagent/consumable/ketchup = 5)
@@ -359,4 +359,4 @@
list_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/consumable/bbqsauce = 5)
bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1)
tastes = list("meat" = 3, "smokey sauce" = 1)
foodtype = MEAT
foodtype = MEAT
@@ -674,3 +674,26 @@
if (7000 to INFINITY)
burn()
..()
//Easter Stuff
/obj/item/reagent_containers/food/snacks/chocolatebunny
name = "chocolate bunny"
desc = "Contains less than 10% real rabbit!"
icon_state = "chocolatebunny"
bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1)
list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sugar = 2, /datum/reagent/consumable/coco = 2)
filling_color = "#A0522D"
/obj/item/reagent_containers/food/snacks/soup/mammi
name = "Mammi"
desc = "A bowl of mushy bread and milk. It reminds you, not too fondly, of a bowel movement."
icon_state = "mammi"
bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 1)
list_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 1)
/obj/item/reagent_containers/food/snacks/hotcrossbun
bitesize = 2
name = "hot-cross bun"
desc = "The Cross represents the Assistants that died for your sins."
icon_state = "hotcrossbun"
@@ -3,36 +3,6 @@
////////////////////////////////////////////////BREAD////////////////////////////////////////////////
/datum/crafting_recipe/food/meatbread
name = "Meat bread"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet/plain = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 3
)
result = /obj/item/reagent_containers/food/snacks/store/bread/meat
subcategory = CAT_BREAD
/datum/crafting_recipe/food/xenomeatbread
name = "Xenomeat bread"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 3
)
result = /obj/item/reagent_containers/food/snacks/store/bread/xenomeat
subcategory = CAT_BREAD
/datum/crafting_recipe/food/spidermeatbread
name = "Spidermeat bread"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet/spider = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 3
)
result = /obj/item/reagent_containers/food/snacks/store/bread/spidermeat
subcategory = CAT_BREAD
/datum/crafting_recipe/food/banananutbread
name = "Banana nut bread"
reqs = list(
@@ -44,16 +14,6 @@
result = /obj/item/reagent_containers/food/snacks/store/bread/banana
subcategory = CAT_BREAD
/datum/crafting_recipe/food/tofubread
name = "Tofu bread"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
/obj/item/reagent_containers/food/snacks/tofu = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 3
)
result = /obj/item/reagent_containers/food/snacks/store/bread/tofu
subcategory = CAT_BREAD
/datum/crafting_recipe/food/creamcheesebread
name = "Cream cheese bread"
reqs = list(
@@ -64,6 +24,16 @@
result = /obj/item/reagent_containers/food/snacks/store/bread/creamcheese
subcategory = CAT_BREAD
/datum/crafting_recipe/food/meatbread
name = "Meat bread"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet/plain = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 3
)
result = /obj/item/reagent_containers/food/snacks/store/bread/meat
subcategory = CAT_BREAD
/datum/crafting_recipe/food/mimanabread
name = "Mimana bread"
reqs = list(
@@ -75,6 +45,38 @@
result = /obj/item/reagent_containers/food/snacks/store/bread/mimana
subcategory = CAT_BREAD
/datum/crafting_recipe/food/spidermeatbread
name = "Spidermeat bread"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet/spider = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 3
)
result = /obj/item/reagent_containers/food/snacks/store/bread/spidermeat
subcategory = CAT_BREAD
/datum/crafting_recipe/food/tofubread
name = "Tofu bread"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
/obj/item/reagent_containers/food/snacks/tofu = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 3
)
result = /obj/item/reagent_containers/food/snacks/store/bread/tofu
subcategory = CAT_BREAD
/datum/crafting_recipe/food/xenomeatbread
name = "Xenomeat bread"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 3
)
result = /obj/item/reagent_containers/food/snacks/store/bread/xenomeat
subcategory = CAT_BREAD
////////////////////////////////////////////////TOAST////////////////////////////////////////////////
/datum/crafting_recipe/food/butteredtoast
name = "Buttered Toast"
reqs = list(
@@ -84,6 +86,45 @@
result = /obj/item/reagent_containers/food/snacks/butteredtoast
subcategory = CAT_BREAD
/datum/crafting_recipe/food/slimetoast
name = "Slime toast"
reqs = list(
/datum/reagent/toxin/slimejelly = 5,
/obj/item/reagent_containers/food/snacks/breadslice/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/jelliedtoast/slime
subcategory = CAT_BREAD
/datum/crafting_recipe/food/jelliedtoast
name = "Jellied toast"
reqs = list(
/datum/reagent/consumable/cherryjelly = 5,
/obj/item/reagent_containers/food/snacks/breadslice/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/jelliedtoast/cherry
subcategory = CAT_BREAD
/datum/crafting_recipe/food/peanutbuttertoast
name = "Peanut butter toast"
reqs = list(
/datum/reagent/consumable/peanut_butter = 5,
/obj/item/reagent_containers/food/snacks/breadslice/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/peanut_buttertoast
subcategory = CAT_BREAD
////////////////////////////////////////////////MISC////////////////////////////////////////////////
/datum/crafting_recipe/food/baguette
name = "Baguette"
time = 40
reqs = list(/datum/reagent/consumable/sodiumchloride = 1,
/datum/reagent/consumable/blackpepper = 1,
/obj/item/reagent_containers/food/snacks/pastrybase = 2
)
result = /obj/item/reagent_containers/food/snacks/baguette
subcategory = CAT_BREAD
/datum/crafting_recipe/food/butterbiscuit
name = "Butter Biscuit"
reqs = list(
@@ -100,4 +141,13 @@
/obj/item/reagent_containers/food/snacks/butter = 3,
)
result = /obj/item/reagent_containers/food/snacks/butterdog
subcategory = CAT_BREAD
/datum/crafting_recipe/food/twobread
name = "Two bread"
reqs = list(
/datum/reagent/consumable/ethanol/wine = 5,
/obj/item/reagent_containers/food/snacks/breadslice/plain = 2
)
result = /obj/item/reagent_containers/food/snacks/twobread
subcategory = CAT_BREAD
@@ -1,8 +1,74 @@
// see code/module/crafting/table.dm
////////////////////////////////////////////////BURGERS////////////////////////////////////////////////
////////////////////////////////////////////////STANDARD BURGS////////////////////////////////////////////////
/datum/crafting_recipe/food/burger
name = "Burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/plain
subcategory = CAT_BURGER
/datum/crafting_recipe/food/baconburger
name = "Bacon Burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/bacon = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/baconburger
subcategory = CAT_BURGER
/datum/crafting_recipe/food/bigbiteburger
name = "Big bite burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 2,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/bigbite
subcategory = CAT_BURGER
/datum/crafting_recipe/food/superbiteburger
name = "Super bite burger"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 5,
/datum/reagent/consumable/blackpepper = 5,
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 5,
/obj/item/reagent_containers/food/snacks/grown/tomato = 4,
/obj/item/reagent_containers/food/snacks/cheesewedge = 3,
/obj/item/reagent_containers/food/snacks/boiledegg = 1,
/obj/item/reagent_containers/food/snacks/meat/bacon = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/superbite
subcategory = CAT_BURGER
/datum/crafting_recipe/food/cheeseburger
name = "Cheese Burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 1,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/cheese
subcategory = CAT_BURGER
/datum/crafting_recipe/food/corgiburger
name = "Corgi burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/slab/corgi = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/corgi
subcategory = CAT_BURGER
/datum/crafting_recipe/food/humanburger
name = "Human burger"
@@ -16,26 +82,37 @@
result = /obj/item/reagent_containers/food/snacks/burger/human
subcategory = CAT_BURGER
/datum/crafting_recipe/food/burger
name = "Burger"
/datum/crafting_recipe/food/ribburger
name = "McRib"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 1,
/obj/item/reagent_containers/food/snacks/bbqribs = 1, //The sauce is already included in the ribs
/obj/item/reagent_containers/food/snacks/onion_slice = 1, //feel free to remove if too burdensome.
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/plain
result = /obj/item/reagent_containers/food/snacks/burger/rib
subcategory = CAT_BURGER
/datum/crafting_recipe/food/corgiburger
name = "Corgi burger"
/datum/crafting_recipe/food/mcguffin
name = "McGuffin"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/slab/corgi = 1,
/obj/item/reagent_containers/food/snacks/friedegg = 1,
/obj/item/reagent_containers/food/snacks/meat/bacon = 2,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/corgi
result = /obj/item/reagent_containers/food/snacks/burger/mcguffin
subcategory = CAT_BURGER
/datum/crafting_recipe/food/tofuburger
name = "Tofu burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/tofu = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/tofu
subcategory = CAT_BURGER
///////////////EXOTIC//////////////////
/datum/crafting_recipe/food/appendixburger
name = "Appendix burger"
reqs = list(
@@ -54,15 +131,6 @@
result = /obj/item/reagent_containers/food/snacks/burger/brain
subcategory = CAT_BURGER
/datum/crafting_recipe/food/xenoburger
name = "Xeno burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/steak/xeno = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/xeno
subcategory = CAT_BURGER
/datum/crafting_recipe/food/bearger
name = "Bearger"
reqs = list(
@@ -72,6 +140,16 @@
result = /obj/item/reagent_containers/food/snacks/burger/bearger
subcategory = CAT_BURGER
/datum/crafting_recipe/food/chickenburger
name = "Chicken Sandwich"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/steak/chicken = 1,
/datum/reagent/consumable/mayonnaise = 5,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/chicken
subcategory = CAT_BURGER
/datum/crafting_recipe/food/fishburger
name = "Fish burger"
reqs = list(
@@ -82,25 +160,73 @@
result = /obj/item/reagent_containers/food/snacks/burger/fish
subcategory = CAT_BURGER
/datum/crafting_recipe/food/tofuburger
name = "Tofu burger"
/datum/crafting_recipe/food/fivealarmburger
name = "Five alarm burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/tofu = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
/obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2,
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/tofu
result = /obj/item/reagent_containers/food/snacks/burger/fivealarm
subcategory = CAT_BURGER
/datum/crafting_recipe/food/ghostburger
name = "Ghost burger"
/datum/crafting_recipe/food/slimeburger
name = "Jelly burger"
reqs = list(
/obj/item/ectoplasm = 1,
/datum/reagent/consumable/sodiumchloride = 2,
/datum/reagent/toxin/slimejelly = 5,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/ghost
result = /obj/item/reagent_containers/food/snacks/burger/jelly/slime
subcategory = CAT_BURGER
/datum/crafting_recipe/food/jellyburger
name = "Jelly burger"
reqs = list(
/datum/reagent/consumable/cherryjelly = 5,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/jelly/cherry
subcategory = CAT_BURGER
/datum/crafting_recipe/food/baseballburger
name = "Home run baseball burger"
reqs = list(
/obj/item/melee/baseball_bat = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/baseball
subcategory = CAT_BURGER
/datum/crafting_recipe/food/ratburger
name = "Rat burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/deadmouse = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/rat
subcategory = CAT_BURGER
/datum/crafting_recipe/food/soylentburger
name = "Soylent Burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/soylentgreen = 1, //two full meats worth.
/obj/item/reagent_containers/food/snacks/cheesewedge = 2,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/soylent
subcategory = CAT_BURGER
/datum/crafting_recipe/food/xenoburger
name = "Xeno burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/steak/xeno = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/xeno
subcategory = CAT_BURGER
////////////MYSTICAL////////////////
/datum/crafting_recipe/food/clownburger
name = "Clown burger"
reqs = list(
@@ -119,6 +245,35 @@
result = /obj/item/reagent_containers/food/snacks/burger/mime
subcategory = CAT_BURGER
/datum/crafting_recipe/food/ghostburger
name = "Ghost burger"
reqs = list(
/obj/item/ectoplasm = 1,
/datum/reagent/consumable/sodiumchloride = 2,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/ghost
subcategory = CAT_BURGER
/datum/crafting_recipe/food/spellburger
name = "Spell burger"
reqs = list(
/obj/item/clothing/head/wizard/fake = 1,
)
result = /obj/item/reagent_containers/food/snacks/burger/spell
subcategory = CAT_BURGER
/datum/crafting_recipe/food/spellburger2
name = "Spell burger"
reqs = list(
/obj/item/clothing/head/wizard = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/spell
subcategory = CAT_BURGER
////////////COLORED BURGERS//////////////
/datum/crafting_recipe/food/redburger
name = "Red burger"
reqs = list(
@@ -197,154 +352,4 @@
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/white
subcategory = CAT_BURGER
/datum/crafting_recipe/food/spellburger
name = "Spell burger"
reqs = list(
/obj/item/clothing/head/wizard/fake = 1,
)
result = /obj/item/reagent_containers/food/snacks/burger/spell
subcategory = CAT_BURGER
/datum/crafting_recipe/food/spellburger2
name = "Spell burger"
reqs = list(
/obj/item/clothing/head/wizard = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/spell
subcategory = CAT_BURGER
/datum/crafting_recipe/food/bigbiteburger
name = "Big bite burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 2,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/bigbite
subcategory = CAT_BURGER
/datum/crafting_recipe/food/superbiteburger
name = "Super bite burger"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 5,
/datum/reagent/consumable/blackpepper = 5,
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 5,
/obj/item/reagent_containers/food/snacks/grown/tomato = 4,
/obj/item/reagent_containers/food/snacks/cheesewedge = 3,
/obj/item/reagent_containers/food/snacks/boiledegg = 1,
/obj/item/reagent_containers/food/snacks/meat/bacon = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/superbite
subcategory = CAT_BURGER
/datum/crafting_recipe/food/slimeburger
name = "Jelly burger"
reqs = list(
/datum/reagent/toxin/slimejelly = 5,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/jelly/slime
subcategory = CAT_BURGER
/datum/crafting_recipe/food/jellyburger
name = "Jelly burger"
reqs = list(
/datum/reagent/consumable/cherryjelly = 5,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/jelly/cherry
subcategory = CAT_BURGER
/datum/crafting_recipe/food/fivealarmburger
name = "Five alarm burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2,
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/fivealarm
subcategory = CAT_BURGER
/datum/crafting_recipe/food/ratburger
name = "Rat burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/deadmouse = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/rat
subcategory = CAT_BURGER
/datum/crafting_recipe/food/baseballburger
name = "Home run baseball burger"
reqs = list(
/obj/item/melee/baseball_bat = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/baseball
subcategory = CAT_BURGER
/datum/crafting_recipe/food/baconburger
name = "Bacon Burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/bacon = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/baconburger
subcategory = CAT_BURGER
/datum/crafting_recipe/food/cheeseburger
name = "Cheese Burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 1,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/cheese
subcategory = CAT_BURGER
/datum/crafting_recipe/food/soylentburger
name = "Soylent Burger"
reqs = list(
/obj/item/reagent_containers/food/snacks/soylentgreen = 1, //two full meats worth.
/obj/item/reagent_containers/food/snacks/cheesewedge = 2,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/soylent
subcategory = CAT_BURGER
/datum/crafting_recipe/food/ribburger
name = "McRib"
reqs = list(
/obj/item/reagent_containers/food/snacks/bbqribs = 1, //The sauce is already included in the ribs
/obj/item/reagent_containers/food/snacks/onion_slice = 1, //feel free to remove if too burdensome.
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/rib
subcategory = CAT_BURGER
/datum/crafting_recipe/food/mcguffin
name = "McGuffin"
reqs = list(
/obj/item/reagent_containers/food/snacks/friedegg = 1,
/obj/item/reagent_containers/food/snacks/meat/bacon = 2,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/mcguffin
subcategory = CAT_BURGER
/datum/crafting_recipe/food/chickenburger
name = "Chicken Sandwich"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/steak/chicken = 1,
/datum/reagent/consumable/mayonnaise = 5,
/obj/item/reagent_containers/food/snacks/bun = 1
)
result = /obj/item/reagent_containers/food/snacks/burger/chicken
subcategory = CAT_BURGER
@@ -1,7 +1,93 @@
// see code/module/crafting/table.dm
////////////////////////////////////////////////CAKE////////////////////////////////////////////////
////////////////////////////////////////////////FRUIT CAKE////////////////////////////////////////////////
/datum/crafting_recipe/food/applecake
name = "Apple cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/apple = 2
)
result = /obj/item/reagent_containers/food/snacks/store/cake/apple
subcategory = CAT_CAKE
/datum/crafting_recipe/food/bscccake
name = "Blackberry and strawberry chocolate cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/chocolatebar = 2,
/obj/item/reagent_containers/food/snacks/grown/berries = 5
)
result = /obj/item/reagent_containers/food/snacks/store/cake/bscc
subcategory = CAT_CAKE
/datum/crafting_recipe/food/bscvcake
name = "Blackberry and strawberry vanilla cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/berries = 5
)
result = /obj/item/reagent_containers/food/snacks/store/cake/bsvc
subcategory = CAT_CAKE
/datum/crafting_recipe/food/lemoncake
name = "Lemon cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2
)
result = /obj/item/reagent_containers/food/snacks/store/cake/lemon
subcategory = CAT_CAKE
/datum/crafting_recipe/food/limecake
name = "Lime cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2
)
result = /obj/item/reagent_containers/food/snacks/store/cake/lime
subcategory = CAT_CAKE
/datum/crafting_recipe/food/orangecake
name = "Orange cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/citrus/orange = 2
)
result = /obj/item/reagent_containers/food/snacks/store/cake/orange
subcategory = CAT_CAKE
/datum/crafting_recipe/food/peachcake
name = "Peach cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/peach = 5
)
result = /obj/item/reagent_containers/food/snacks/store/cake/peach_cake
subcategory = CAT_CAKE
///////////////////////////////////FANCY////////////////////////////////////////////
/datum/crafting_recipe/food/birthdaycake
name = "Birthday cake"
reqs = list(
/datum/reagent/consumable/sugar = 5,
/datum/reagent/consumable/caramel =2,
/obj/item/candle = 1,
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/store/cake/birthday
subcategory = CAT_CAKE
/datum/crafting_recipe/food/briochecake
name = "Brioche cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/datum/reagent/consumable/sugar = 2
)
result = /obj/item/reagent_containers/food/snacks/store/cake/brioche
subcategory = CAT_CAKE
/datum/crafting_recipe/food/carrotcake
name = "Carrot cake"
@@ -21,42 +107,6 @@
result = /obj/item/reagent_containers/food/snacks/store/cake/cheese
subcategory = CAT_CAKE
/datum/crafting_recipe/food/applecake
name = "Apple cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/apple = 2
)
result = /obj/item/reagent_containers/food/snacks/store/cake/apple
subcategory = CAT_CAKE
/datum/crafting_recipe/food/orangecake
name = "Orange cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/citrus/orange = 2
)
result = /obj/item/reagent_containers/food/snacks/store/cake/orange
subcategory = CAT_CAKE
/datum/crafting_recipe/food/limecake
name = "Lime cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2
)
result = /obj/item/reagent_containers/food/snacks/store/cake/lime
subcategory = CAT_CAKE
/datum/crafting_recipe/food/lemoncake
name = "Lemon cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2
)
result = /obj/item/reagent_containers/food/snacks/store/cake/lemon
subcategory = CAT_CAKE
/datum/crafting_recipe/food/chocolatecake
name = "Chocolate cake"
reqs = list(
@@ -66,35 +116,6 @@
result = /obj/item/reagent_containers/food/snacks/store/cake/chocolate
subcategory = CAT_CAKE
/datum/crafting_recipe/food/birthdaycake
name = "Birthday cake"
reqs = list(
/datum/reagent/consumable/sugar = 5,
/datum/reagent/consumable/caramel =2,
/obj/item/candle = 1,
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/store/cake/birthday
subcategory = CAT_CAKE
/datum/crafting_recipe/food/braincake
name = "Brain cake"
reqs = list(
/obj/item/organ/brain = 1,
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/store/cake/brain
subcategory = CAT_CAKE
/datum/crafting_recipe/food/slimecake
name = "Slime cake"
reqs = list(
/obj/item/slime_extract = 1,
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/store/cake/slimecake
subcategory = CAT_CAKE
/datum/crafting_recipe/food/pumpkinspicecake
name = "Pumpkin spice cake"
reqs = list(
@@ -104,6 +125,26 @@
result = /obj/item/reagent_containers/food/snacks/store/cake/pumpkinspice
subcategory = CAT_CAKE
/datum/crafting_recipe/food/poundcake
name = "Pound cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 4
)
result = /obj/item/reagent_containers/food/snacks/store/cake/pound_cake
subcategory = CAT_CAKE
/datum/crafting_recipe/food/vanillacake
name = "Vanilla cake"
always_availible = FALSE
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/vanillapod = 2
)
result = /obj/item/reagent_containers/food/snacks/store/cake/vanilla_cake
subcategory = CAT_CAKE
/////////////SPECIAL////////////
/datum/crafting_recipe/food/holycake
name = "Angel food cake"
reqs = list(
@@ -113,12 +154,24 @@
result = /obj/item/reagent_containers/food/snacks/store/cake/holy_cake
subcategory = CAT_CAKE
/datum/crafting_recipe/food/poundcake
name = "Pound cake"
/datum/crafting_recipe/food/braincake
name = "Brain cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 4
/obj/item/organ/brain = 1,
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/store/cake/pound_cake
result = /obj/item/reagent_containers/food/snacks/store/cake/brain
subcategory = CAT_CAKE
/datum/crafting_recipe/food/clowncake
name = "Clown cake"
always_availible = FALSE
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/sundae = 2,
/obj/item/reagent_containers/food/snacks/grown/banana = 5
)
result = /obj/item/reagent_containers/food/snacks/store/cake/clown_cake
subcategory = CAT_CAKE
/datum/crafting_recipe/food/hardwarecake
@@ -131,53 +184,13 @@
result = /obj/item/reagent_containers/food/snacks/store/cake/hardware_cake
subcategory = CAT_CAKE
/datum/crafting_recipe/food/bscccake
name = "blackberry and strawberry chocolate cake"
/datum/crafting_recipe/food/slimecake
name = "Slime cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/chocolatebar = 2,
/obj/item/reagent_containers/food/snacks/grown/berries = 5
/obj/item/slime_extract = 1,
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/store/cake/bscc
subcategory = CAT_CAKE
/datum/crafting_recipe/food/bscvcake
name = "blackberry and strawberry vanilla cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/berries = 5
)
result = /obj/item/reagent_containers/food/snacks/store/cake/bsvc
subcategory = CAT_CAKE
/datum/crafting_recipe/food/clowncake
name = "clown cake"
always_availible = FALSE
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/sundae = 2,
/obj/item/reagent_containers/food/snacks/grown/banana = 5
)
result = /obj/item/reagent_containers/food/snacks/store/cake/clown_cake
subcategory = CAT_CAKE
/datum/crafting_recipe/food/vanillacake
name = "vanilla cake"
always_availible = FALSE
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/vanillapod = 2
)
result = /obj/item/reagent_containers/food/snacks/store/cake/vanilla_cake
subcategory = CAT_CAKE
/datum/crafting_recipe/food/peachcake
name = "Peach cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/peach = 5
)
result = /obj/item/reagent_containers/food/snacks/store/cake/peach_cake
result = /obj/item/reagent_containers/food/snacks/store/cake/slimecake
subcategory = CAT_CAKE
/datum/crafting_recipe/food/trumpetcake
@@ -0,0 +1,255 @@
// see code/module/crafting/table.dm
////////////////////////////////////////////////DONUTS////////////////////////////////////////////////
/datum/crafting_recipe/food/donut
time = 15
name = "Donut"
reqs = list(
/datum/reagent/consumable/sugar = 1,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/plain
subcategory = CAT_DONUT
/datum/crafting_recipe/food/donut/chaos
name = "Chaos donut"
reqs = list(
/datum/reagent/consumable/frostoil = 5,
/datum/reagent/consumable/capsaicin = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/chaos
datum/crafting_recipe/food/donut/meat
time = 15
name = "Meat donut"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/slab = 1,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/meat
/datum/crafting_recipe/food/donut/jelly
name = "Jelly donut"
reqs = list(
/datum/reagent/consumable/berryjuice = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/plain
/datum/crafting_recipe/food/donut/slimejelly
name = "Slime jelly donut"
reqs = list(
/datum/reagent/toxin/slimejelly = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain
/datum/crafting_recipe/food/donut/glaze
time = 15
name = "glaze donut"
reqs = list(
/datum/reagent/consumable/sugar = 10,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/glaze
subcategory = CAT_DONUT
/datum/crafting_recipe/food/donut/berry
name = "Berry Donut"
reqs = list(
/datum/reagent/consumable/berryjuice = 3,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/berry
/datum/crafting_recipe/food/donut/trumpet
name = "Spaceman's Donut"
reqs = list(
/datum/reagent/medicine/polypyr = 3,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/trumpet
/datum/crafting_recipe/food/donut/apple
name = "Apple Donut"
reqs = list(
/datum/reagent/consumable/applejuice = 3,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/apple
/datum/crafting_recipe/food/donut/caramel
name = "Caramel Donut"
reqs = list(
/datum/reagent/consumable/caramel = 3,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/caramel
/datum/crafting_recipe/food/donut/choco
name = "Chocolate Donut"
reqs = list(
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/choco
/datum/crafting_recipe/food/donut/blumpkin
name = "Blumpkin Donut"
reqs = list(
/datum/reagent/consumable/blumpkinjuice = 3,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/blumpkin
/datum/crafting_recipe/food/donut/bungo
name = "Bungo Donut"
reqs = list(
/datum/reagent/consumable/bungojuice = 3,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/bungo
/datum/crafting_recipe/food/donut/matcha
name = "Matcha Donut"
reqs = list(
/datum/reagent/toxin/teapowder = 3,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/matcha
////////////////////////////////////////////////////JELLY DONUTS///////////////////////////////////////////////////////
/datum/crafting_recipe/food/donut/jelly/apple
name = "Apple Jelly Donut"
reqs = list(
/datum/reagent/consumable/applejuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/apple
/datum/crafting_recipe/food/donut/jelly/berry
name = "Berry Jelly Donut"
reqs = list(
/datum/reagent/consumable/berryjuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/berry
/datum/crafting_recipe/food/donut/jelly/blumpkin
name = "Blumpkin Jelly Donut"
reqs = list(
/datum/reagent/consumable/blumpkinjuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin
/datum/crafting_recipe/food/donut/jelly/bungo
name = "Bungo Jelly Donut"
reqs = list(
/datum/reagent/consumable/bungojuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/bungo
/datum/crafting_recipe/food/donut/jelly/caramel
name = "Caramel Jelly Donut"
reqs = list(
/datum/reagent/consumable/caramel = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/caramel
/datum/crafting_recipe/food/donut/jelly/choco
name = "Chocolate Jelly Donut"
reqs = list(
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/choco
/datum/crafting_recipe/food/donut/jelly/matcha
name = "Matcha Jelly Donut"
reqs = list(
/datum/reagent/toxin/teapowder = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/matcha
/datum/crafting_recipe/food/donut/jelly/trumpet
name = "Spaceman's Jelly Donut"
reqs = list(
/datum/reagent/medicine/polypyr = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/trumpet
////////////////////////////////////////////////////SLIME DONUTS///////////////////////////////////////////////////////
/datum/crafting_recipe/food/donut/slimejelly/apple
name = "Apple Slime Donut"
reqs = list(
/datum/reagent/consumable/applejuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple
/datum/crafting_recipe/food/donut/slimejelly/berry
name = "Berry Slime Donut"
reqs = list(
/datum/reagent/consumable/berryjuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry
/datum/crafting_recipe/food/donut/slimejelly/blumpkin
name = "Blumpkin Slime Donut"
reqs = list(
/datum/reagent/consumable/blumpkinjuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin
/datum/crafting_recipe/food/donut/slimejelly/bungo
name = "Bungo Slime Donut"
reqs = list(
/datum/reagent/consumable/bungojuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo
/datum/crafting_recipe/food/donut/slimejelly/caramel
name = "Caramel Slime Donut"
reqs = list(
/datum/reagent/consumable/caramel = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel
/datum/crafting_recipe/food/donut/slimejelly/choco
name = "Chocolate Slime Donut"
reqs = list(
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco
/datum/crafting_recipe/food/donut/slimejelly/trumpet
name = "Spaceman's Slime Donut"
reqs = list(
/datum/reagent/medicine/polypyr = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet
/datum/crafting_recipe/food/donut/slimejelly/matcha
name = "Matcha Slime Donut"
reqs = list(
/datum/reagent/toxin/teapowder = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha
@@ -59,4 +59,15 @@
/obj/item/reagent_containers/food/snacks/grown/corn = 1
)
result = /obj/item/reagent_containers/food/snacks/salad/eggbowl
subcategory = CAT_EGG
/datum/crafting_recipe/food/scotchegg
name = "Scotch egg"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 1,
/datum/reagent/consumable/blackpepper = 1,
/obj/item/reagent_containers/food/snacks/boiledegg = 1,
/obj/item/reagent_containers/food/snacks/faggot = 1
)
result = /obj/item/reagent_containers/food/snacks/scotchegg
subcategory = CAT_EGG
@@ -3,6 +3,64 @@
//Misc. Frozen.//
/////////////////
/datum/crafting_recipe/food/banana_split
name = "Banana Split"
always_availible = FALSE
reqs = list(
/obj/item/reagent_containers/food/snacks/icecream = 3,
/obj/item/reagent_containers/food/snacks/grown/banana = 1,
/obj/item/reagent_containers/food/snacks/grown/cherries = 1,
/obj/item/reagent_containers/food/snacks/chocolatebar = 1
)
result = /obj/item/reagent_containers/food/snacks/banana_split
subcategory = CAT_ICE
/datum/crafting_recipe/food/bluecharrie_float
name = "Blue Cherry Shake"
always_availible = FALSE
reqs = list(
/obj/item/reagent_containers/food/snacks/icecream = 1,
/obj/item/reagent_containers/food/snacks/grown/bluecherries = 3,
/obj/item/reagent_containers/food/drinks/drinkingglass = 1
)
result = /obj/item/reagent_containers/food/snacks/bluecharrie_float
subcategory = CAT_ICE
/datum/crafting_recipe/food/charrie_float
name = "Cherry Shake"
always_availible = FALSE
reqs = list(
/obj/item/reagent_containers/food/snacks/icecream = 1,
/obj/item/reagent_containers/food/snacks/grown/cherries = 3,
/obj/item/reagent_containers/food/drinks/drinkingglass = 1
)
result = /obj/item/reagent_containers/food/snacks/charrie_float
subcategory = CAT_ICE
/datum/crafting_recipe/food/root_float
name = "Cola Float"
always_availible = FALSE
reqs = list(
/obj/item/reagent_containers/food/snacks/icecream = 1,
/obj/item/reagent_containers/food/snacks/grown/cherries = 1,
/datum/reagent/consumable/space_cola = 10,
/obj/item/reagent_containers/food/drinks/drinkingglass = 1
)
result = /obj/item/reagent_containers/food/snacks/cola_float
subcategory = CAT_ICE
/datum/crafting_recipe/food/honkdae
name ="Honkdae"
reqs = list(
/datum/reagent/consumable/cream = 5,
/obj/item/clothing/mask/gas/clown_hat = 1,
/obj/item/reagent_containers/food/snacks/grown/cherries = 1,
/obj/item/reagent_containers/food/snacks/grown/banana = 2,
/obj/item/reagent_containers/food/snacks/icecream = 1
)
result = /obj/item/reagent_containers/food/snacks/honkdae
subcategory = CAT_ICE
/datum/crafting_recipe/food/icecreamsandwich
name = "Icecream sandwich"
reqs = list(
@@ -14,7 +72,7 @@
subcategory = CAT_ICE
/datum/crafting_recipe/food/spacefreezy
name ="Space freezy"
name ="Space Freezy"
reqs = list(
/datum/reagent/consumable/bluecherryjelly = 5,
/datum/reagent/consumable/spacemountainwind = 15,
@@ -34,105 +92,8 @@
result = /obj/item/reagent_containers/food/snacks/sundae
subcategory = CAT_ICE
/datum/crafting_recipe/food/honkdae
name ="Honkdae"
reqs = list(
/datum/reagent/consumable/cream = 5,
/obj/item/clothing/mask/gas/clown_hat = 1,
/obj/item/reagent_containers/food/snacks/grown/cherries = 1,
/obj/item/reagent_containers/food/snacks/grown/banana = 2,
/obj/item/reagent_containers/food/snacks/icecream = 1
)
result = /obj/item/reagent_containers/food/snacks/honkdae
subcategory = CAT_ICE
/datum/crafting_recipe/food/banana_split
name = "Banana Split"
always_availible = FALSE
reqs = list(
/obj/item/reagent_containers/food/snacks/icecream = 3,
/obj/item/reagent_containers/food/snacks/grown/banana = 1,
/obj/item/reagent_containers/food/snacks/grown/cherries = 1,
/obj/item/reagent_containers/food/snacks/chocolatebar = 1
)
result = /obj/item/reagent_containers/food/snacks/banana_split
subcategory = CAT_ICE
/datum/crafting_recipe/food/root_float
name = "Cola Float"
always_availible = FALSE
reqs = list(
/obj/item/reagent_containers/food/snacks/icecream = 1,
/obj/item/reagent_containers/food/snacks/grown/cherries = 1,
/datum/reagent/consumable/space_cola = 10,
/obj/item/reagent_containers/food/drinks/drinkingglass = 1
)
result = /obj/item/reagent_containers/food/snacks/cola_float
subcategory = CAT_ICE
/datum/crafting_recipe/food/charrie_float
name = "Cherry Shake"
always_availible = FALSE
reqs = list(
/obj/item/reagent_containers/food/snacks/icecream = 1,
/obj/item/reagent_containers/food/snacks/grown/cherries = 3,
/obj/item/reagent_containers/food/drinks/drinkingglass = 1
)
result = /obj/item/reagent_containers/food/snacks/charrie_float
subcategory = CAT_ICE
/datum/crafting_recipe/food/bluecharrie_float
name = "Blue Cherry Shake"
always_availible = FALSE
reqs = list(
/obj/item/reagent_containers/food/snacks/icecream = 1,
/obj/item/reagent_containers/food/snacks/grown/bluecherries = 3,
/obj/item/reagent_containers/food/drinks/drinkingglass = 1
)
result = /obj/item/reagent_containers/food/snacks/bluecharrie_float
subcategory = CAT_ICE
//////////////////////////SNOW CONES///////////////////////
/datum/crafting_recipe/food/flavorless_sc
name = "Flavorless snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15
)
result = /obj/item/reagent_containers/food/snacks/snowcones
subcategory = CAT_ICE
/datum/crafting_recipe/food/pineapple_sc
name = "Pineapple snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/obj/item/reagent_containers/food/snacks/pineappleslice = 2
)
result = /obj/item/reagent_containers/food/snacks/snowcones/pineapple
subcategory = CAT_ICE
/datum/crafting_recipe/food/lime_sc
name = "Lime snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/limejuice = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/lime
subcategory = CAT_ICE
/datum/crafting_recipe/food/lemon_sc
name = "Lemon snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/lemonjuice = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/lemon
subcategory = CAT_ICE
/datum/crafting_recipe/food/apple_sc
name = "Apple snowcone"
reqs = list(
@@ -143,24 +104,14 @@
result = /obj/item/reagent_containers/food/snacks/snowcones/apple
subcategory = CAT_ICE
/datum/crafting_recipe/food/grape_sc
name = "Grape snowcone"
/datum/crafting_recipe/food/berry_sc
name = "Berry snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/grapejuice = 5
/datum/reagent/consumable/berryjuice = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/grape
subcategory = CAT_ICE
/datum/crafting_recipe/food/orange_sc
name = "Orange snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/orangejuice = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/orange
result = /obj/item/reagent_containers/food/snacks/snowcones/berry
subcategory = CAT_ICE
/datum/crafting_recipe/food/blue_sc
@@ -183,14 +134,13 @@
result = /obj/item/reagent_containers/food/snacks/snowcones/red
subcategory = CAT_ICE
/datum/crafting_recipe/food/berry_sc
name = "Berry snowcone"
/datum/crafting_recipe/food/flavorless_sc
name = "Flavorless snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/berryjuice = 5
/datum/reagent/consumable/ice = 15
)
result = /obj/item/reagent_containers/food/snacks/snowcones/berry
result = /obj/item/reagent_containers/food/snacks/snowcones
subcategory = CAT_ICE
/datum/crafting_recipe/food/fruitsalad_sc
@@ -206,24 +156,84 @@
result = /obj/item/reagent_containers/food/snacks/snowcones/fruitsalad
subcategory = CAT_ICE
/datum/crafting_recipe/food/mime_sc
name = "Mime snowcone"
/datum/crafting_recipe/food/grape_sc
name = "Grape snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/nothing = 5
/datum/reagent/consumable/grapejuice = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/mime
result = /obj/item/reagent_containers/food/snacks/snowcones/grape
subcategory = CAT_ICE
/datum/crafting_recipe/food/clown_sc
name = "Clown snowcone"
/datum/crafting_recipe/food/honey_sc
name = "Honey snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/laughter = 5
/datum/reagent/consumable/honey = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/clown
result = /obj/item/reagent_containers/food/snacks/snowcones/honey
subcategory = CAT_ICE
/datum/crafting_recipe/food/lemon_sc
name = "Lemon snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/lemonjuice = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/lemon
subcategory = CAT_ICE
/datum/crafting_recipe/food/lime_sc
name = "Lime snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/limejuice = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/lime
subcategory = CAT_ICE
/datum/crafting_recipe/food/orange_sc
name = "Orange snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/orangejuice = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/orange
subcategory = CAT_ICE
/datum/crafting_recipe/food/pineapple_sc
name = "Pineapple snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/obj/item/reagent_containers/food/snacks/pineappleslice = 2
)
result = /obj/item/reagent_containers/food/snacks/snowcones/pineapple
subcategory = CAT_ICE
/datum/crafting_recipe/food/pwrgame_sc
name = "Pwrgame snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/pwr_game = 15
)
result = /obj/item/reagent_containers/food/snacks/snowcones/pwrgame
subcategory = CAT_ICE
/datum/crafting_recipe/food/rainbow_sc
name = "Rainbow snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/colorful_reagent = 1 //Harder to make
)
result = /obj/item/reagent_containers/food/snacks/snowcones/rainbow
subcategory = CAT_ICE
/datum/crafting_recipe/food/soda_sc
@@ -246,32 +256,24 @@
result = /obj/item/reagent_containers/food/snacks/snowcones/spacemountainwind
subcategory = CAT_ICE
/datum/crafting_recipe/food/pwrgame_sc
name = "Pwrgame snowcone"
/////I don't like seperating the clown and mime.///
/datum/crafting_recipe/food/mime_sc
name = "Mime snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/pwr_game = 15
/datum/reagent/consumable/nothing = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/pwrgame
result = /obj/item/reagent_containers/food/snacks/snowcones/mime
subcategory = CAT_ICE
/datum/crafting_recipe/food/honey_sc
name = "Honey snowcone"
/datum/crafting_recipe/food/clown_sc
name = "Clown snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/consumable/honey = 5
/datum/reagent/consumable/laughter = 5
)
result = /obj/item/reagent_containers/food/snacks/snowcones/honey
subcategory = CAT_ICE
/datum/crafting_recipe/food/rainbow_sc
name = "Rainbow snowcone"
reqs = list(
/obj/item/reagent_containers/food/drinks/sillycup = 1,
/datum/reagent/consumable/ice = 15,
/datum/reagent/colorful_reagent = 1 //Harder to make
)
result = /obj/item/reagent_containers/food/snacks/snowcones/rainbow
subcategory = CAT_ICE
result = /obj/item/reagent_containers/food/snacks/snowcones/clown
subcategory = CAT_ICE
@@ -1,3 +1,5 @@
// see code/module/crafting/table.dm
////////////////////////////////////////////////KEBABS////////////////////////////////////////////////
/datum/crafting_recipe/food/humankebab
@@ -36,6 +38,18 @@
result = /obj/item/reagent_containers/food/snacks/kebab/tail
subcategory = CAT_MEAT
/datum/crafting_recipe/food/fiestaskewer
name = "Fiesta Skewer"
reqs = list(
/obj/item/stack/rods = 1,
/obj/item/reagent_containers/food/snacks/grown/chili = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
/obj/item/reagent_containers/food/snacks/grown/corn = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/kebab/fiesta
subcategory = CAT_MEAT
// see code/module/crafting/table.dm
////////////////////////////////////////////////MR SPIDER////////////////////////////////////////////////
@@ -52,6 +66,36 @@
////////////////////////////////////////////////MISC RECIPE's////////////////////////////////////////////////
/datum/crafting_recipe/food/ribs
name = "BBQ Ribs"
reqs = list(
/datum/reagent/consumable/bbqsauce = 5,
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 2,
/obj/item/stack/rods = 2
)
result = /obj/item/reagent_containers/food/snacks/bbqribs
subcategory = CAT_MEAT
/datum/crafting_recipe/food/nugget
name = "Chicken nugget"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/cutlet = 1
)
result = /obj/item/reagent_containers/food/snacks/nugget
subcategory = CAT_MEAT
/datum/crafting_recipe/food/corndog
name = "Corndog meal"
reqs = list(
/obj/item/stack/rods = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
/obj/item/reagent_containers/food/snacks/bun = 1,
/datum/reagent/consumable/mustard = 5,
/datum/reagent/consumable/ketchup = 5
)
result = /obj/item/reagent_containers/food/snacks/corndog
subcategory = CAT_MEAT
/datum/crafting_recipe/food/cornedbeef
name = "Corned beef"
reqs = list(
@@ -72,16 +116,6 @@
result = /obj/item/reagent_containers/food/snacks/bearsteak
subcategory = CAT_MEAT
/datum/crafting_recipe/food/enchiladas
name = "Enchiladas"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
/obj/item/reagent_containers/food/snacks/grown/chili = 2,
/obj/item/reagent_containers/food/snacks/tortilla = 2
)
result = /obj/item/reagent_containers/food/snacks/enchiladas
subcategory = CAT_MEAT
/datum/crafting_recipe/food/stewedsoymeat
name = "Stewed soymeat"
reqs = list(
@@ -101,23 +135,6 @@
result = /obj/item/reagent_containers/food/snacks/sausage
subcategory = CAT_MEAT
/datum/crafting_recipe/food/nugget
name = "Chicken nugget"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/cutlet = 1
)
result = /obj/item/reagent_containers/food/snacks/nugget
subcategory = CAT_MEAT
/datum/crafting_recipe/food/rawkhinkali
name = "Raw Khinkali"
reqs = list(
/obj/item/reagent_containers/food/snacks/doughslice = 1,
/obj/item/reagent_containers/food/snacks/faggot = 1
)
result = /obj/item/reagent_containers/food/snacks/rawkhinkali
subcategory = CAT_MEAT
/datum/crafting_recipe/food/pigblanket
name = "Pig in a Blanket"
reqs = list(
@@ -128,18 +145,6 @@
result = /obj/item/reagent_containers/food/snacks/pigblanket
subcategory = CAT_MEAT
/datum/crafting_recipe/food/corndog
name = "Corndog meal"
reqs = list(
/obj/item/stack/rods = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
/obj/item/reagent_containers/food/snacks/bun = 1,
/datum/reagent/consumable/mustard = 5,
/datum/reagent/consumable/ketchup = 5
)
result = /obj/item/reagent_containers/food/snacks/corndog
subcategory = CAT_MEAT
/datum/crafting_recipe/food/ratkebab
name = "Rat Kebab"
reqs = list(
@@ -166,25 +171,3 @@
)
result = /obj/item/reagent_containers/food/snacks/salad/ricepork
subcategory = CAT_MEAT
/datum/crafting_recipe/food/fiestaskewer
name = "Fiesta Skewer"
reqs = list(
/obj/item/stack/rods = 1,
/obj/item/reagent_containers/food/snacks/grown/chili = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
/obj/item/reagent_containers/food/snacks/grown/corn = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/kebab/fiesta
subcategory = CAT_MEAT
/datum/crafting_recipe/food/ribs
name = "BBQ Ribs"
reqs = list(
/datum/reagent/consumable/bbqsauce = 5,
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 2,
/obj/item/stack/rods = 2
)
result = /obj/item/reagent_containers/food/snacks/bbqribs
subcategory = CAT_MEAT
@@ -0,0 +1,111 @@
// see code/module/crafting/table.dm
////////////////////////////////////////////////"MEXICAN"////////////////////////////////////////////////
/datum/crafting_recipe/food/burrito
name ="Burrito"
reqs = list(
/obj/item/reagent_containers/food/snacks/tortilla = 1,
/obj/item/reagent_containers/food/snacks/grown/soybeans = 2
)
result = /obj/item/reagent_containers/food/snacks/burrito
subcategory = CAT_MEXICAN
/datum/crafting_recipe/food/cheesyburrito
name ="Cheesy burrito"
reqs = list(
/obj/item/reagent_containers/food/snacks/tortilla = 1,
/obj/item/reagent_containers/food/snacks/cheesewedge = 2,
/obj/item/reagent_containers/food/snacks/grown/soybeans = 1
)
result = /obj/item/reagent_containers/food/snacks/cheesyburrito
subcategory = CAT_MEXICAN
/datum/crafting_recipe/food/enchiladas
name = "Enchiladas"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
/obj/item/reagent_containers/food/snacks/grown/chili = 2,
/obj/item/reagent_containers/food/snacks/tortilla = 2
)
result = /obj/item/reagent_containers/food/snacks/enchiladas
subcategory = CAT_MEXICAN
/datum/crafting_recipe/food/carneburrito
name ="Carne de asada burrito"
reqs = list(
/obj/item/reagent_containers/food/snacks/tortilla = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
/obj/item/reagent_containers/food/snacks/grown/soybeans = 1
)
result = /obj/item/reagent_containers/food/snacks/carneburrito
subcategory = CAT_MEXICAN
/datum/crafting_recipe/food/fuegoburrito
name ="Fuego plasma burrito"
reqs = list(
/obj/item/reagent_containers/food/snacks/tortilla = 1,
/obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2,
/obj/item/reagent_containers/food/snacks/grown/soybeans = 1
)
result = /obj/item/reagent_containers/food/snacks/fuegoburrito
subcategory = CAT_MEXICAN
/datum/crafting_recipe/food/taco
name ="Classic Taco"
reqs = list(
/obj/item/reagent_containers/food/snacks/tortilla = 1,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
/obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
)
result = /obj/item/reagent_containers/food/snacks/taco
subcategory = CAT_MEXICAN
/datum/crafting_recipe/food/tacoplain
name ="Plain Taco"
reqs = list(
/obj/item/reagent_containers/food/snacks/tortilla = 1,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
)
result = /obj/item/reagent_containers/food/snacks/taco/plain
subcategory = CAT_MEXICAN
/datum/crafting_recipe/food/nachos
name ="Nachos"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 1,
/obj/item/reagent_containers/food/snacks/tortilla = 1
)
result = /obj/item/reagent_containers/food/snacks/nachos
subcategory = CAT_MEXICAN
/datum/crafting_recipe/food/cheesynachos
name ="Cheesy nachos"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 1,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/tortilla = 1
)
result = /obj/item/reagent_containers/food/snacks/cheesynachos
subcategory = CAT_MEXICAN
/datum/crafting_recipe/food/cubannachos
name ="Cuban nachos"
reqs = list(
/datum/reagent/consumable/ketchup = 5,
/obj/item/reagent_containers/food/snacks/grown/chili = 2,
/obj/item/reagent_containers/food/snacks/tortilla = 1
)
result = /obj/item/reagent_containers/food/snacks/cubannachos
subcategory = CAT_MEXICAN
/datum/crafting_recipe/food/wrap
name = "Wrap"
reqs = list(/datum/reagent/consumable/soysauce = 10,
/obj/item/reagent_containers/food/snacks/friedegg = 1,
/obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
)
result = /obj/item/reagent_containers/food/snacks/eggwrap
subcategory = CAT_MEXICAN
@@ -1,62 +1,77 @@
// see code/module/crafting/table.dm
// MISC
//////////////////Eastern Foods//////////////////////
/datum/crafting_recipe/food/candiedapple
name = "Candied apple"
reqs = list(/datum/reagent/water = 5,
/datum/reagent/consumable/sugar = 5,
/obj/item/reagent_containers/food/snacks/grown/apple = 1
)
result = /obj/item/reagent_containers/food/snacks/candiedapple
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/spiderlollipop
name = "Spider Lollipop"
reqs = list(/obj/item/stack/rods = 1,
/datum/reagent/consumable/sugar = 5,
/datum/crafting_recipe/food/chawanmushi
name = "Chawanmushi"
reqs = list(
/datum/reagent/water = 5,
/obj/item/reagent_containers/food/snacks/spiderling = 1
/datum/reagent/consumable/soysauce = 5,
/obj/item/reagent_containers/food/snacks/boiledegg = 2,
/obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 1
)
result = /obj/item/reagent_containers/food/snacks/spiderlollipop
result = /obj/item/reagent_containers/food/snacks/chawanmushi
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/chococoin
name = "Choco coin"
/datum/crafting_recipe/food/khachapuri
name = "Khachapuri"
reqs = list(
/obj/item/coin = 1,
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
/datum/reagent/consumable/eggyolk = 5,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/store/bread/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/chococoin
result = /obj/item/reagent_containers/food/snacks/khachapuri
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/fudgedice
name = "Fudge dice"
/datum/crafting_recipe/food/rawkhinkali
name = "Raw Khinkali"
reqs = list(
/obj/item/dice = 1,
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
/obj/item/reagent_containers/food/snacks/doughslice = 1,
/obj/item/reagent_containers/food/snacks/faggot = 1
)
result = /obj/item/reagent_containers/food/snacks/fudgedice
result = /obj/item/reagent_containers/food/snacks/rawkhinkali
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/chocoorange
name = "Choco orange"
/datum/crafting_recipe/food/meatbun
name = "Meat bun"
reqs = list(
/obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1,
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
/datum/reagent/consumable/soysauce = 5,
/obj/item/reagent_containers/food/snacks/bun = 1,
/obj/item/reagent_containers/food/snacks/faggot = 1,
/obj/item/reagent_containers/food/snacks/grown/cabbage = 1
)
result = /obj/item/reagent_containers/food/snacks/chocoorange
result = /obj/item/reagent_containers/food/snacks/meatbun
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/loadedbakedpotato
name = "Loaded baked potato"
/////////////////////////////////MISC/////////////////////////////////////
/datum/crafting_recipe/food/beans
name = "Beans"
time = 40
reqs = list(
/obj/item/reagent_containers/food/snacks/grown/potato = 1,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1
reqs = list(/datum/reagent/consumable/ketchup = 5,
/obj/item/reagent_containers/food/snacks/grown/soybeans = 2
)
result = /obj/item/reagent_containers/food/snacks/loadedbakedpotato
result = /obj/item/reagent_containers/food/snacks/beans
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/branrequests
name = "Bran Requests Cereal"
reqs = list(
/obj/item/reagent_containers/food/snacks/grown/wheat = 1,
/obj/item/reagent_containers/food/snacks/no_raisin = 1,
)
result = /obj/item/reagent_containers/food/snacks/branrequests
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/oatmeal
name = "Oatmeal"
reqs = list(
/datum/reagent/consumable/milk = 10,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/oat = 1
)
result = /obj/item/reagent_containers/food/snacks/salad/oatmeal
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/cheesyfries
@@ -68,24 +83,6 @@
result = /obj/item/reagent_containers/food/snacks/cheesyfries
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/wrap
name = "Wrap"
reqs = list(/datum/reagent/consumable/soysauce = 10,
/obj/item/reagent_containers/food/snacks/friedegg = 1,
/obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
)
result = /obj/item/reagent_containers/food/snacks/eggwrap
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/beans
name = "Beans"
time = 40
reqs = list(/datum/reagent/consumable/ketchup = 5,
/obj/item/reagent_containers/food/snacks/grown/soybeans = 2
)
result = /obj/item/reagent_containers/food/snacks/beans
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/eggplantparm
name ="Eggplant parmigiana"
reqs = list(
@@ -95,91 +92,14 @@
result = /obj/item/reagent_containers/food/snacks/eggplantparm
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/baguette
name = "Baguette"
/datum/crafting_recipe/food/loadedbakedpotato
name = "Loaded baked potato"
time = 40
reqs = list(/datum/reagent/consumable/sodiumchloride = 1,
/datum/reagent/consumable/blackpepper = 1,
/obj/item/reagent_containers/food/snacks/pastrybase = 2
)
result = /obj/item/reagent_containers/food/snacks/baguette
subcategory = CAT_MISCFOOD
////////////////////////////////////////////////TOAST////////////////////////////////////////////////
/datum/crafting_recipe/food/slimetoast
name = "Slime toast"
reqs = list(
/datum/reagent/toxin/slimejelly = 5,
/obj/item/reagent_containers/food/snacks/breadslice/plain = 1
/obj/item/reagent_containers/food/snacks/grown/potato = 1,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1
)
result = /obj/item/reagent_containers/food/snacks/jelliedtoast/slime
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/jelliedtoast
name = "Jellied toast"
reqs = list(
/datum/reagent/consumable/cherryjelly = 5,
/obj/item/reagent_containers/food/snacks/breadslice/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/jelliedtoast/cherry
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/peanutbuttertoast
name = "Peanut butter toast"
reqs = list(
/datum/reagent/consumable/peanut_butter = 5,
/obj/item/reagent_containers/food/snacks/breadslice/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/peanut_buttertoast
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/twobread
name = "Two bread"
reqs = list(
/datum/reagent/consumable/ethanol/wine = 5,
/obj/item/reagent_containers/food/snacks/breadslice/plain = 2
)
result = /obj/item/reagent_containers/food/snacks/twobread
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/burrito
name ="Burrito"
reqs = list(
/obj/item/reagent_containers/food/snacks/tortilla = 1,
/obj/item/reagent_containers/food/snacks/grown/soybeans = 2
)
result = /obj/item/reagent_containers/food/snacks/burrito
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/cheesyburrito
name ="Cheesy burrito"
reqs = list(
/obj/item/reagent_containers/food/snacks/tortilla = 1,
/obj/item/reagent_containers/food/snacks/cheesewedge = 2,
/obj/item/reagent_containers/food/snacks/grown/soybeans = 1
)
result = /obj/item/reagent_containers/food/snacks/cheesyburrito
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/carneburrito
name ="Carne de asada burrito"
reqs = list(
/obj/item/reagent_containers/food/snacks/tortilla = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
/obj/item/reagent_containers/food/snacks/grown/soybeans = 1
)
result = /obj/item/reagent_containers/food/snacks/carneburrito
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/fuegoburrito
name ="Fuego plasma burrito"
reqs = list(
/obj/item/reagent_containers/food/snacks/tortilla = 1,
/obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2,
/obj/item/reagent_containers/food/snacks/grown/soybeans = 1
)
result = /obj/item/reagent_containers/food/snacks/fuegoburrito
result = /obj/item/reagent_containers/food/snacks/loadedbakedpotato
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/melonfruitbowl
@@ -195,35 +115,6 @@
result = /obj/item/reagent_containers/food/snacks/melonfruitbowl
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/nachos
name ="Nachos"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 1,
/obj/item/reagent_containers/food/snacks/tortilla = 1
)
result = /obj/item/reagent_containers/food/snacks/nachos
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/cheesynachos
name ="Cheesy nachos"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 1,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/tortilla = 1
)
result = /obj/item/reagent_containers/food/snacks/cheesynachos
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/cubannachos
name ="Cuban nachos"
reqs = list(
/datum/reagent/consumable/ketchup = 5,
/obj/item/reagent_containers/food/snacks/grown/chili = 2,
/obj/item/reagent_containers/food/snacks/tortilla = 1
)
result = /obj/item/reagent_containers/food/snacks/cubannachos
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/melonkeg
name ="Melon keg"
reqs = list(
@@ -235,16 +126,6 @@
result = /obj/item/reagent_containers/food/snacks/melonkeg
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/honeybar
name = "Honey nut bar"
reqs = list(
/obj/item/reagent_containers/food/snacks/grown/oat = 1,
/datum/reagent/consumable/honey = 5
)
result = /obj/item/reagent_containers/food/snacks/honeybar
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/stuffedlegion
name = "Stuffed legion"
time = 40
@@ -257,7 +138,6 @@
result = /obj/item/reagent_containers/food/snacks/stuffedlegion
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/lizardwine //not a subtype of /datum/crafting_recipe/food due to a bug where the resulting bottle would contain 100u of lizardwine and 100u of ethanol.
name = "Lizard wine"
time = 40
@@ -269,7 +149,6 @@
category = CAT_FOOD
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/powercrepe
name = "Powercrepe"
time = 40
@@ -283,36 +162,6 @@
result = /obj/item/reagent_containers/food/snacks/powercrepe
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/taco
name ="Classic Taco"
reqs = list(
/obj/item/reagent_containers/food/snacks/tortilla = 1,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
/obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
)
result = /obj/item/reagent_containers/food/snacks/taco
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/tacoplain
name ="Plain Taco"
reqs = list(
/obj/item/reagent_containers/food/snacks/tortilla = 1,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 1,
)
result = /obj/item/reagent_containers/food/snacks/taco/plain
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/branrequests
name = "Bran Requests Cereal"
reqs = list(
/obj/item/reagent_containers/food/snacks/grown/wheat = 1,
/obj/item/reagent_containers/food/snacks/no_raisin = 1,
)
result = /obj/item/reagent_containers/food/snacks/branrequests
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/ricepudding
name = "Rice pudding"
reqs = list(
@@ -322,22 +171,3 @@
)
result = /obj/item/reagent_containers/food/snacks/salad/ricepudding
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/riceball
name = "Onigiri"
reqs = list(
/datum/reagent/consumable/soysauce = 1,
/obj/item/reagent_containers/food/snacks/grown/kudzupod = 1,
/obj/item/reagent_containers/food/snacks/salad/boiledrice = 1
)
result = /obj/item/reagent_containers/food/snacks/riceball
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/chocolatestrawberry
name = "Chocolate Strawberry"
reqs = list(
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
/obj/item/reagent_containers/food/snacks/grown/strawberry = 1
)
result = /obj/item/reagent_containers/food/snacks/chocolatestrawberry
subcategory = CAT_MISCFOOD
@@ -1,259 +1,108 @@
// see code/module/crafting/table.dm
////////////////////////////////////////////////DONUTS////////////////////////////////////////////////
////////////////////////////////////////////////MUFFINS////////////////////////////////////////////////
/datum/crafting_recipe/food/donut
/datum/crafting_recipe/food/muffin
time = 15
name = "Donut"
name = "Muffin"
reqs = list(
/datum/reagent/consumable/sugar = 1,
/datum/reagent/consumable/milk = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/plain
result = /obj/item/reagent_containers/food/snacks/muffin
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/donut/chaos
name = "Chaos donut"
/datum/crafting_recipe/food/berrymuffin
name = "Berry muffin"
reqs = list(
/datum/reagent/consumable/frostoil = 5,
/datum/reagent/consumable/capsaicin = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
/datum/reagent/consumable/milk = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/berries = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/chaos
datum/crafting_recipe/food/donut/meat
time = 15
name = "Meat donut"
reqs = list(
/obj/item/reagent_containers/food/snacks/meat/slab = 1,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/meat
/datum/crafting_recipe/food/donut/jelly
name = "Jelly donut"
reqs = list(
/datum/reagent/consumable/berryjuice = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/plain
/datum/crafting_recipe/food/donut/slimejelly
name = "Slime jelly donut"
reqs = list(
/datum/reagent/toxin/slimejelly = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain
/datum/crafting_recipe/food/donut/glaze
time = 15
name = "glaze donut"
reqs = list(
/datum/reagent/consumable/sugar = 10,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/glaze
result = /obj/item/reagent_containers/food/snacks/muffin/berry
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/donut/berry
name = "Berry Donut"
/datum/crafting_recipe/food/booberrymuffin
name = "Booberry muffin"
reqs = list(
/datum/reagent/consumable/berryjuice = 3,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
/datum/reagent/consumable/milk = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/berries = 1,
/obj/item/ectoplasm = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/berry
result = /obj/item/reagent_containers/food/snacks/muffin/booberry
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/donut/trumpet
name = "Spaceman's Donut"
/datum/crafting_recipe/food/poppymuffin
name = "Poppy muffin"
reqs = list(
/datum/reagent/medicine/polypyr = 3,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
/datum/reagent/consumable/milk = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 1,
/obj/item/seeds/poppy = 1
)
result = /obj/item/reagent_containers/food/snacks/muffin/poppy
subcategory = CAT_PASTRY
result = /obj/item/reagent_containers/food/snacks/donut/trumpet
////////////////////////////////////////////CUPCAKES////////////////////////////////////////////
/datum/crafting_recipe/food/donut/apple
name = "Apple Donut"
/datum/crafting_recipe/food/cherrycupcake
name = "Cherry cupcake"
reqs = list(
/datum/reagent/consumable/applejuice = 3,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/cherries = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/apple
result = /obj/item/reagent_containers/food/snacks/cherrycupcake
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/donut/caramel
name = "Caramel Donut"
/datum/crafting_recipe/food/bluecherrycupcake
name = "Blue cherry cupcake"
reqs = list(
/datum/reagent/consumable/caramel = 3,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/bluecherries = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/caramel
result = /obj/item/reagent_containers/food/snacks/bluecherrycupcake
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/donut/choco
name = "Chocolate Donut"
/datum/crafting_recipe/food/strawberrycupcake
name = "Strawberry cherry cupcake"
reqs = list(
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/strawberry = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/choco
result = /obj/item/reagent_containers/food/snacks/strawberrycupcake
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/donut/blumpkin
name = "Blumpkin Donut"
////////////////////////////////////////////COOKIES////////////////////////////////////////////
/datum/crafting_recipe/food/raisincookie
name = "Raisin cookie"
reqs = list(
/datum/reagent/consumable/blumpkinjuice = 3,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
/obj/item/reagent_containers/food/snacks/no_raisin = 1,
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/oat = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/blumpkin
result = /obj/item/reagent_containers/food/snacks/raisincookie
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/donut/bungo
name = "Bungo Donut"
/datum/crafting_recipe/food/oatmealcookie
name = "Oatmeal cookie"
reqs = list(
/datum/reagent/consumable/bungojuice = 3,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/oat = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/bungo
result = /obj/item/reagent_containers/food/snacks/oatmealcookie
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/donut/matcha
name = "Matcha Donut"
/datum/crafting_recipe/food/sugarcookie
time = 15
name = "Sugar cookie"
reqs = list(
/datum/reagent/toxin/teapowder = 3,
/obj/item/reagent_containers/food/snacks/donut/plain = 1
/datum/reagent/consumable/sugar = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/matcha
////////////////////////////////////////////////////JELLY DONUTS///////////////////////////////////////////////////////
/datum/crafting_recipe/food/donut/jelly/berry
name = "Berry Jelly Donut"
reqs = list(
/datum/reagent/consumable/berryjuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/berry
/datum/crafting_recipe/food/donut/jelly/trumpet
name = "Spaceman's Jelly Donut"
reqs = list(
/datum/reagent/medicine/polypyr = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/trumpet
/datum/crafting_recipe/food/donut/jelly/apple
name = "Apple Jelly Donut"
reqs = list(
/datum/reagent/consumable/applejuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/apple
/datum/crafting_recipe/food/donut/jelly/caramel
name = "Caramel Jelly Donut"
reqs = list(
/datum/reagent/consumable/caramel = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/caramel
/datum/crafting_recipe/food/donut/jelly/choco
name = "Chocolate Jelly Donut"
reqs = list(
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/choco
/datum/crafting_recipe/food/donut/jelly/blumpkin
name = "Blumpkin Jelly Donut"
reqs = list(
/datum/reagent/consumable/blumpkinjuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin
/datum/crafting_recipe/food/donut/jelly/bungo
name = "Bungo Jelly Donut"
reqs = list(
/datum/reagent/consumable/bungojuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/bungo
/datum/crafting_recipe/food/donut/jelly/matcha
name = "Matcha Jelly Donut"
reqs = list(
/datum/reagent/toxin/teapowder = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/matcha
////////////////////////////////////////////////////SLIME DONUTS///////////////////////////////////////////////////////
/datum/crafting_recipe/food/donut/slimejelly/berry
name = "Berry Slime Donut"
reqs = list(
/datum/reagent/consumable/berryjuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry
/datum/crafting_recipe/food/donut/slimejelly/trumpet
name = "Spaceman's Slime Donut"
reqs = list(
/datum/reagent/medicine/polypyr = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet
/datum/crafting_recipe/food/donut/slimejelly/apple
name = "Apple Slime Donut"
reqs = list(
/datum/reagent/consumable/applejuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple
/datum/crafting_recipe/food/donut/slimejelly/caramel
name = "Caramel Slime Donut"
reqs = list(
/datum/reagent/consumable/caramel = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel
/datum/crafting_recipe/food/donut/slimejelly/choco
name = "Chocolate Slime Donut"
reqs = list(
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco
/datum/crafting_recipe/food/donut/slimejelly/blumpkin
name = "Blumpkin Slime Donut"
reqs = list(
/datum/reagent/consumable/blumpkinjuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin
/datum/crafting_recipe/food/donut/slimejelly/bungo
name = "Bungo Slime Donut"
reqs = list(
/datum/reagent/consumable/bungojuice = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo
/datum/crafting_recipe/food/donut/slimejelly/matcha
name = "Matcha Slime Donut"
reqs = list(
/datum/reagent/toxin/teapowder = 3,
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha
result = /obj/item/reagent_containers/food/snacks/sugarcookie
subcategory = CAT_PASTRY
////////////////////////////////////////////////WAFFLES AND PANCAKES////////////////////////////////////////////////
@@ -321,7 +170,6 @@ datum/crafting_recipe/food/donut/meat
result = /obj/item/reagent_containers/food/snacks/pancakes/chocolatechip
subcategory = CAT_PASTRY
////////////////////////////////////////////////DONKPOCCKETS////////////////////////////////////////////////
/datum/crafting_recipe/food/donkpocket
@@ -344,92 +192,26 @@ datum/crafting_recipe/food/donut/meat
result = /obj/item/reagent_containers/food/snacks/dankpocket
subcategory = CAT_PASTRY
////////////////////////////////////////////////MUFFINS////////////////////////////////////////////////
/datum/crafting_recipe/food/muffin
time = 15
name = "Muffin"
reqs = list(
/datum/reagent/consumable/milk = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
)
result = /obj/item/reagent_containers/food/snacks/muffin
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/berrymuffin
name = "Berry muffin"
reqs = list(
/datum/reagent/consumable/milk = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/berries = 1
)
result = /obj/item/reagent_containers/food/snacks/muffin/berry
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/booberrymuffin
name = "Booberry muffin"
reqs = list(
/datum/reagent/consumable/milk = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/berries = 1,
/obj/item/ectoplasm = 1
)
result = /obj/item/reagent_containers/food/snacks/muffin/booberry
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/poppymuffin
name = "Poppy muffin"
reqs = list(
/datum/reagent/consumable/milk = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 1,
/obj/item/seeds/poppy = 1
)
result = /obj/item/reagent_containers/food/snacks/muffin/poppy
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/chawanmushi
name = "Chawanmushi"
reqs = list(
/datum/reagent/water = 5,
/datum/reagent/consumable/soysauce = 5,
/obj/item/reagent_containers/food/snacks/boiledegg = 2,
/obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 1
)
result = /obj/item/reagent_containers/food/snacks/chawanmushi
subcategory = CAT_PASTRY
////////////////////////////////////////////OTHER////////////////////////////////////////////
/datum/crafting_recipe/food/meatbun
name = "Meat bun"
/datum/crafting_recipe/food/chococornet
name = "Choco cornet"
reqs = list(
/datum/reagent/consumable/soysauce = 5,
/obj/item/reagent_containers/food/snacks/bun = 1,
/obj/item/reagent_containers/food/snacks/faggot = 1,
/obj/item/reagent_containers/food/snacks/grown/cabbage = 1
/datum/reagent/consumable/sodiumchloride = 1,
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/chocolatebar = 1
)
result = /obj/item/reagent_containers/food/snacks/meatbun
result = /obj/item/reagent_containers/food/snacks/chococornet
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/khachapuri
name = "Khachapuri"
reqs = list(
/datum/reagent/consumable/eggyolk = 5,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/store/bread/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/khachapuri
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/sugarcookie
/datum/crafting_recipe/food/cracker
time = 15
name = "Sugar cookie"
name = "Cracker"
reqs = list(
/datum/reagent/consumable/sugar = 5,
/obj/item/reagent_containers/food/snacks/pastrybase = 1
/datum/reagent/consumable/sodiumchloride = 1,
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
)
result = /obj/item/reagent_containers/food/snacks/sugarcookie
result = /obj/item/reagent_containers/food/snacks/cracker
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/fortunecookie
@@ -445,6 +227,34 @@ datum/crafting_recipe/food/donut/meat
result = /obj/item/reagent_containers/food/snacks/fortunecookie
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/honeybun
name = "Honey bun"
reqs = list(
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/datum/reagent/consumable/honey = 5
)
result = /obj/item/reagent_containers/food/snacks/honeybun
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/hotcrossbun
name = "Hot-Cross Bun"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
/datum/reagent/consumable/sugar = 1
)
result = /obj/item/reagent_containers/food/snacks/hotcrossbun
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/mammi
name = "Mammi"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
/datum/reagent/consumable/milk = 5
)
result = /obj/item/reagent_containers/food/snacks/soup/mammi
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/poppypretzel
time = 15
name = "Poppy pretzel"
@@ -465,78 +275,3 @@ datum/crafting_recipe/food/donut/meat
result = /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/cracker
time = 15
name = "Cracker"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 1,
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
)
result = /obj/item/reagent_containers/food/snacks/cracker
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/chococornet
name = "Choco cornet"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 1,
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/chocolatebar = 1
)
result = /obj/item/reagent_containers/food/snacks/chococornet
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/oatmealcookie
name = "Oatmeal cookie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/oat = 1
)
result = /obj/item/reagent_containers/food/snacks/oatmealcookie
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/raisincookie
name = "Raisin cookie"
reqs = list(
/obj/item/reagent_containers/food/snacks/no_raisin = 1,
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/oat = 1
)
result = /obj/item/reagent_containers/food/snacks/raisincookie
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/cherrycupcake
name = "Cherry cupcake"
reqs = list(
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/cherries = 1
)
result = /obj/item/reagent_containers/food/snacks/cherrycupcake
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/bluecherrycupcake
name = "Blue cherry cupcake"
reqs = list(
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/bluecherries = 1
)
result = /obj/item/reagent_containers/food/snacks/bluecherrycupcake
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/strawberrycupcake
name = "Strawberry cherry cupcake"
reqs = list(
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/obj/item/reagent_containers/food/snacks/grown/strawberry = 1
)
result = /obj/item/reagent_containers/food/snacks/strawberrycupcake
subcategory = CAT_PASTRY
/datum/crafting_recipe/food/honeybun
name = "Honey bun"
reqs = list(
/obj/item/reagent_containers/food/snacks/pastrybase = 1,
/datum/reagent/consumable/honey = 5
)
result = /obj/item/reagent_containers/food/snacks/honeybun
subcategory = CAT_PASTRY
@@ -1,7 +1,16 @@
// see code/module/crafting/table.dm
////////////////////////////////////////////////PIES////////////////////////////////////////////////
//////////////////////////////////FRUITS/////////////////////////////////////////
/datum/crafting_recipe/food/applepie
name = "Apple pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/apple = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/applepie
subcategory = CAT_PIE
/datum/crafting_recipe/food/bananacreampie
name = "Banana cream pie"
@@ -13,33 +22,13 @@
result = /obj/item/reagent_containers/food/snacks/pie/cream
subcategory = CAT_PIE
/datum/crafting_recipe/food/meatpie
name = "Meat pie"
reqs = list(
/datum/reagent/consumable/blackpepper = 1,
/datum/reagent/consumable/sodiumchloride = 1,
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/meatpie
subcategory = CAT_PIE
/datum/crafting_recipe/food/tofupie
name = "Tofu pie"
/datum/crafting_recipe/food/berryclafoutis
name = "Berry clafoutis"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/tofu = 1
/obj/item/reagent_containers/food/snacks/grown/berries = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/tofupie
subcategory = CAT_PIE
/datum/crafting_recipe/food/xenopie
name = "Xeno pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/xemeatpie
result = /obj/item/reagent_containers/food/snacks/pie/berryclafoutis
subcategory = CAT_PIE
/datum/crafting_recipe/food/cherrypie
@@ -51,13 +40,53 @@
result = /obj/item/reagent_containers/food/snacks/pie/cherrypie
subcategory = CAT_PIE
/datum/crafting_recipe/food/berryclafoutis
name = "Berry clafoutis"
/datum/crafting_recipe/food/frostypie
name = "Frosty pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/berries = 1
/obj/item/reagent_containers/food/snacks/grown/bluecherries = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/berryclafoutis
result = /obj/item/reagent_containers/food/snacks/pie/frostypie
subcategory = CAT_PIE
/datum/crafting_recipe/food/grapetart
name = "Grape tart"
reqs = list(
/datum/reagent/consumable/milk = 5,
/datum/reagent/consumable/sugar = 5,
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/grapes = 3
)
result = /obj/item/reagent_containers/food/snacks/pie/grapetart
subcategory = CAT_PIE
/datum/crafting_recipe/food/peachpie
name = "Peach Pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/peach = 3
)
result = /obj/item/reagent_containers/food/snacks/pie/peachpie
subcategory = CAT_PIE
/datum/crafting_recipe/food/strawberrypie
name = "Strawberry pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/strawberry = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/strawberrypie
subcategory = CAT_PIE
//////////OTHER PIES/////////
/datum/crafting_recipe/food/amanitapie
name = "Amanita pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/amanita_pie
subcategory = CAT_PIE
/datum/crafting_recipe/food/bearypie
@@ -70,64 +99,14 @@
result = /obj/item/reagent_containers/food/snacks/pie/bearypie
subcategory = CAT_PIE
/datum/crafting_recipe/food/amanitapie
name = "Amanita pie"
/datum/crafting_recipe/food/baklava
name = "Baklava pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 1
/obj/item/reagent_containers/food/snacks/butter = 1,
/obj/item/reagent_containers/food/snacks/tortilla = 4, //Layers
/obj/item/seeds/wheat/oat = 3
)
result = /obj/item/reagent_containers/food/snacks/pie/amanita_pie
subcategory = CAT_PIE
/datum/crafting_recipe/food/plumppie
name = "Plump pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/plump_pie
subcategory = CAT_PIE
/datum/crafting_recipe/food/applepie
name = "Apple pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/apple = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/applepie
subcategory = CAT_PIE
/datum/crafting_recipe/food/pumpkinpie
name = "Pumpkin pie"
reqs = list(
/datum/reagent/consumable/milk = 5,
/datum/reagent/consumable/sugar = 5,
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/pumpkin = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/pumpkinpie
subcategory = CAT_PIE
/datum/crafting_recipe/food/goldenappletart
name = "Golden apple tart"
reqs = list(
/datum/reagent/consumable/milk = 5,
/datum/reagent/consumable/sugar = 5,
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/apple/gold = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/appletart
subcategory = CAT_PIE
/datum/crafting_recipe/food/grapetart
name = "Grape tart"
reqs = list(
/datum/reagent/consumable/milk = 5,
/datum/reagent/consumable/sugar = 5,
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/grapes = 3
)
result = /obj/item/reagent_containers/food/snacks/pie/grapetart
result = /obj/item/reagent_containers/food/snacks/pie/baklava
subcategory = CAT_PIE
/datum/crafting_recipe/food/blumpkinpie
@@ -151,32 +130,66 @@
result = /obj/item/reagent_containers/food/snacks/pie/dulcedebatata
subcategory = CAT_PIE
/datum/crafting_recipe/food/frostypie
name = "Frosty pie"
/datum/crafting_recipe/food/meatpie
name = "Meat pie"
reqs = list(
/datum/reagent/consumable/blackpepper = 1,
/datum/reagent/consumable/sodiumchloride = 1,
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/bluecherries = 1
/obj/item/reagent_containers/food/snacks/meat/steak/plain = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/frostypie
result = /obj/item/reagent_containers/food/snacks/pie/meatpie
subcategory = CAT_PIE
/datum/crafting_recipe/food/strawberrypie
name = "Strawberry pie"
/datum/crafting_recipe/food/plumppie
name = "Plump pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/strawberry = 1
/obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/strawberrypie
result = /obj/item/reagent_containers/food/snacks/pie/plump_pie
subcategory = CAT_PIE
/datum/crafting_recipe/food/baklava
name = "Baklava pie"
/datum/crafting_recipe/food/pumpkinpie
name = "Pumpkin pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/butter = 1,
/obj/item/reagent_containers/food/snacks/tortilla = 4, //Layers
/obj/item/seeds/wheat/oat = 3
/datum/reagent/consumable/milk = 5,
/datum/reagent/consumable/sugar = 5,
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/pumpkin = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/baklava
result = /obj/item/reagent_containers/food/snacks/pie/pumpkinpie
subcategory = CAT_PIE
/datum/crafting_recipe/food/tofupie
name = "Tofu pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/tofu = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/tofupie
subcategory = CAT_PIE
/datum/crafting_recipe/food/xenopie
name = "Xeno pie"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/xemeatpie
subcategory = CAT_PIE
//////////////TARTS//////////////
/datum/crafting_recipe/food/goldenappletart
name = "Golden apple tart"
reqs = list(
/datum/reagent/consumable/milk = 5,
/datum/reagent/consumable/sugar = 5,
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/apple/gold = 1
)
result = /obj/item/reagent_containers/food/snacks/pie/appletart
subcategory = CAT_PIE
/datum/crafting_recipe/food/mimetart
@@ -216,11 +229,77 @@
result = /obj/item/reagent_containers/food/snacks/pie/cocolavatart
subcategory = CAT_PIE
/datum/crafting_recipe/food/peachpie
name = "Peach Pie"
////////////////////////////////////////////SWEETS////////////////////////////////////////////
/datum/crafting_recipe/food/candiedapple
name = "Candied apple"
reqs = list(/datum/reagent/water = 5,
/datum/reagent/consumable/sugar = 5,
/obj/item/reagent_containers/food/snacks/grown/apple = 1
)
result = /obj/item/reagent_containers/food/snacks/candiedapple
subcategory = CAT_PIE
/datum/crafting_recipe/food/chococoin
name = "Choco coin"
reqs = list(
/obj/item/reagent_containers/food/snacks/pie/plain = 1,
/obj/item/reagent_containers/food/snacks/grown/peach = 3
)
result = /obj/item/reagent_containers/food/snacks/pie/peachpie
/obj/item/coin = 1,
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
)
result = /obj/item/reagent_containers/food/snacks/chococoin
subcategory = CAT_PIE
/datum/crafting_recipe/food/chocoorange
name = "Choco orange"
reqs = list(
/obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1,
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
)
result = /obj/item/reagent_containers/food/snacks/chocoorange
subcategory = CAT_PIE
/datum/crafting_recipe/food/chocolatebunny
name = "Chocolate bunny"
reqs = list(
/datum/reagent/consumable/sugar = 2,
/obj/item/reagent_containers/food/snacks/chocolatebar = 1
)
result = /obj/item/reagent_containers/food/snacks/chocolatebunny
subcategory = CAT_PIE
/datum/crafting_recipe/food/chocolatestrawberry
name = "Chocolate Strawberry"
reqs = list(
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
/obj/item/reagent_containers/food/snacks/grown/strawberry = 1
)
result = /obj/item/reagent_containers/food/snacks/chocolatestrawberry
subcategory = CAT_PIE
/datum/crafting_recipe/food/fudgedice
name = "Fudge dice"
reqs = list(
/obj/item/dice = 1,
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
)
result = /obj/item/reagent_containers/food/snacks/fudgedice
subcategory = CAT_PIE
/datum/crafting_recipe/food/honeybar
name = "Honey nut bar"
reqs = list(
/obj/item/reagent_containers/food/snacks/grown/oat = 1,
/datum/reagent/consumable/honey = 5
)
result = /obj/item/reagent_containers/food/snacks/honeybar
subcategory = CAT_PIE
/datum/crafting_recipe/food/spiderlollipop
name = "Spider Lollipop"
reqs = list(/obj/item/stack/rods = 1,
/datum/reagent/consumable/sugar = 5,
/datum/reagent/water = 5,
/obj/item/reagent_containers/food/snacks/spiderling = 1
)
result = /obj/item/reagent_containers/food/snacks/spiderlollipop
subcategory = CAT_PIE
@@ -3,6 +3,40 @@
////////////////////////////////////////////////PIZZA!!!////////////////////////////////////////////////
/datum/crafting_recipe/food/dankpizza
name = "Dank pizza"
reqs = list(
/obj/item/reagent_containers/food/snacks/pizzabread = 1,
/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/pizza/dank
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/donkpocketpizza
name = "Donkpocket pizza"
reqs = list(
/obj/item/reagent_containers/food/snacks/pizzabread = 1,
/obj/item/reagent_containers/food/snacks/donkpocket/warm = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/pizza/donkpocket
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/pineapplepizza
name = "Hawaiian pizza"
reqs = list(
/obj/item/reagent_containers/food/snacks/pizzabread = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
/obj/item/reagent_containers/food/snacks/pineappleslice = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/pizza/pineapple
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/margheritapizza
name = "Margherita pizza"
reqs = list(
@@ -24,18 +58,6 @@
result = /obj/item/reagent_containers/food/snacks/pizza/meat
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/arnold
name = "Arnold pizza"
reqs = list(
/obj/item/reagent_containers/food/snacks/pizzabread = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 3,
/obj/item/ammo_casing/c9mm = 8,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/pizza/arnold
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/mushroompizza
name = "Mushroom pizza"
reqs = list(
@@ -45,6 +67,17 @@
result = /obj/item/reagent_containers/food/snacks/pizza/mushroom
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/sassysagepizza
name = "Sassysage pizza"
reqs = list(
/obj/item/reagent_containers/food/snacks/pizzabread = 1,
/obj/item/reagent_containers/food/snacks/faggot = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/pizza/sassysage
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/vegetablepizza
name = "Vegetable pizza"
reqs = list(
@@ -57,50 +90,7 @@
result = /obj/item/reagent_containers/food/snacks/pizza/vegetable
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/donkpocketpizza
name = "Donkpocket pizza"
reqs = list(
/obj/item/reagent_containers/food/snacks/pizzabread = 1,
/obj/item/reagent_containers/food/snacks/donkpocket/warm = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/pizza/donkpocket
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/dankpizza
name = "Dank pizza"
reqs = list(
/obj/item/reagent_containers/food/snacks/pizzabread = 1,
/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/pizza/dank
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/sassysagepizza
name = "Sassysage pizza"
reqs = list(
/obj/item/reagent_containers/food/snacks/pizzabread = 1,
/obj/item/reagent_containers/food/snacks/faggot = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/pizza/sassysage
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/pineapplepizza
name = "Hawaiian pizza"
reqs = list(
/obj/item/reagent_containers/food/snacks/pizzabread = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
/obj/item/reagent_containers/food/snacks/pineappleslice = 3,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/pizza/pineapple
subcategory = CAT_PIZZA
//////Special Pizzas/////
/datum/crafting_recipe/food/pineapplepizza/anomaly
name = "Anomaly Hawaiian pizza"
@@ -120,3 +110,15 @@
tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
result = /obj/item/pizzabox/infinite
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/arnold
name = "Arnold pizza"
reqs = list(
/obj/item/reagent_containers/food/snacks/pizzabread = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 3,
/obj/item/ammo_casing/c9mm = 8,
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/pizza/arnold
subcategory = CAT_PIZZA
@@ -3,16 +3,6 @@
////////////////////////////////////////////////SALADS////////////////////////////////////////////////
/datum/crafting_recipe/food/herbsalad
name = "Herb salad"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
/obj/item/reagent_containers/food/snacks/grown/apple = 1
)
result = /obj/item/reagent_containers/food/snacks/salad/herbsalad
subcategory = CAT_SALAD
/datum/crafting_recipe/food/aesirsalad
name = "Aesir salad"
reqs = list(
@@ -23,38 +13,16 @@
result = /obj/item/reagent_containers/food/snacks/salad/aesirsalad
subcategory = CAT_SALAD
/datum/crafting_recipe/food/validsalad
name = "Valid salad"
/datum/crafting_recipe/food/citrusdelight
name = "Citrus delight"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
/obj/item/reagent_containers/food/snacks/grown/potato = 1,
/obj/item/reagent_containers/food/snacks/faggot = 1
)
result = /obj/item/reagent_containers/food/snacks/salad/validsalad
subcategory = CAT_SALAD
/obj/item/reagent_containers/food/snacks/grown/citrus/lime = 1,
/obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 1,
/obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1
/datum/crafting_recipe/food/monkeysdelight
name = "Monkeys delight"
reqs = list(
/datum/reagent/consumable/flour = 5,
/datum/reagent/consumable/sodiumchloride = 1,
/datum/reagent/consumable/blackpepper = 1,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/monkeycube = 1,
/obj/item/reagent_containers/food/snacks/grown/banana = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/monkeysdelight
subcategory = CAT_SALAD
/datum/crafting_recipe/food/oatmeal
name = "Oatmeal"
reqs = list(
/datum/reagent/consumable/milk = 10,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/oat = 1
)
result = /obj/item/reagent_containers/food/snacks/salad/oatmeal
result = /obj/item/reagent_containers/food/snacks/salad/citrusdelight
subcategory = CAT_SALAD
/datum/crafting_recipe/food/fruitsalad
@@ -70,6 +38,16 @@
result = /obj/item/reagent_containers/food/snacks/salad/fruit
subcategory = CAT_SALAD
/datum/crafting_recipe/food/herbsalad
name = "Herb salad"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
/obj/item/reagent_containers/food/snacks/grown/apple = 1
)
result = /obj/item/reagent_containers/food/snacks/salad/herbsalad
subcategory = CAT_SALAD
/datum/crafting_recipe/food/junglesalad
name = "Jungle salad"
reqs = list(
@@ -83,14 +61,26 @@
result = /obj/item/reagent_containers/food/snacks/salad/jungle
subcategory = CAT_SALAD
/datum/crafting_recipe/food/citrusdelight
name = "Citrus delight"
/datum/crafting_recipe/food/monkeysdelight
name = "Monkeys delight"
reqs = list(
/datum/reagent/consumable/flour = 5,
/datum/reagent/consumable/sodiumchloride = 1,
/datum/reagent/consumable/blackpepper = 1,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/monkeycube = 1,
/obj/item/reagent_containers/food/snacks/grown/banana = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/monkeysdelight
subcategory = CAT_SALAD
/datum/crafting_recipe/food/validsalad
name = "Valid salad"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/citrus/lime = 1,
/obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 1,
/obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1
/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
/obj/item/reagent_containers/food/snacks/grown/potato = 1,
/obj/item/reagent_containers/food/snacks/faggot = 1
)
result = /obj/item/reagent_containers/food/snacks/salad/citrusdelight
result = /obj/item/reagent_containers/food/snacks/salad/validsalad
subcategory = CAT_SALAD
@@ -84,7 +84,6 @@
result = /obj/item/reagent_containers/food/snacks/peanutbutter_sandwich
subcategory = CAT_SANDWICH
/datum/crafting_recipe/food/notasandwich
name = "Not a sandwich"
reqs = list(
@@ -113,4 +112,4 @@
/obj/item/reagent_containers/food/snacks/sausage = 1
)
result = /obj/item/reagent_containers/food/snacks/hotdog
subcategory = CAT_SANDWICH
subcategory = CAT_SANDWICH //I don't agree with this.
@@ -1,4 +1,6 @@
//////////////////////////Sushi Components///////////////////////
// see code/module/crafting/table.dm
///////////////////////Sushi Components///////////////////////////
/datum/crafting_recipe/food/sushi_rice
name = "Sushi Rice"
@@ -7,7 +9,7 @@
/datum/reagent/consumable/rice = 10
)
result = /obj/item/reagent_containers/food/snacks/sushi_rice
subcategory = CAT_FISH
subcategory = CAT_SEAFOOD
/datum/crafting_recipe/food/sea_weed
name = "Sea Weed Sheet"
@@ -17,17 +19,7 @@
/obj/item/reagent_containers/food/snacks/grown/kudzupod = 1,
)
result = /obj/item/reagent_containers/food/snacks/sea_weed
subcategory = CAT_FISH
/datum/crafting_recipe/food/tuna_can
name = "Can of Tuna"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 15,
/datum/reagent/consumable/cooking_oil = 5,
/obj/item/reagent_containers/food/snacks/carpmeat = 1,
)
result = /obj/item/reagent_containers/food/snacks/tuna
subcategory = CAT_FISH
subcategory = CAT_SEAFOOD
//////////////////////////Sushi/////////////////////////////////
@@ -39,7 +31,7 @@
/obj/item/reagent_containers/food/snacks/carpmeat = 1
)
result = /obj/item/reagent_containers/food/snacks/sashimi
subcategory = CAT_FISH
subcategory = CAT_SEAFOOD
/datum/crafting_recipe/food/riceball
name = "Onigiri"
@@ -49,7 +41,7 @@
/obj/item/reagent_containers/food/snacks/sushi_rice = 1
)
result = /obj/item/reagent_containers/food/snacks/riceball
subcategory = CAT_FISH
subcategory = CAT_SEAFOOD
/datum/crafting_recipe/food/sushie_egg
name = "Tobiko"
@@ -59,7 +51,7 @@
/obj/item/reagent_containers/food/snacks/sea_weed = 2,
)
result = /obj/item/reagent_containers/food/snacks/tobiko
subcategory = CAT_FISH
subcategory = CAT_SEAFOOD
/datum/crafting_recipe/food/sushie_basic
name = "Funa Hosomaki"
@@ -70,7 +62,7 @@
/obj/item/reagent_containers/food/snacks/sea_weed = 3,
)
result = /obj/item/reagent_containers/food/snacks/sushie_basic
subcategory = CAT_FISH
subcategory = CAT_SEAFOOD
/datum/crafting_recipe/food/sushie_adv
name = "Funa Nigiri"
@@ -80,7 +72,7 @@
/obj/item/reagent_containers/food/snacks/carpmeat = 1
)
result = /obj/item/reagent_containers/food/snacks/sushie_adv
subcategory = CAT_FISH
subcategory = CAT_SEAFOOD
/datum/crafting_recipe/food/sushie_pro
name = "Well made Funa Nigiri"
@@ -91,19 +83,19 @@
/obj/item/reagent_containers/food/snacks/sea_weed = 1
)
result = /obj/item/reagent_containers/food/snacks/sushie_pro
subcategory = CAT_FISH
subcategory = CAT_SEAFOOD
///////////////Gaijin junk/////////////////////////////////////
//////////////////////////////////////////////FISH///////////////////////////////////////////
/datum/crafting_recipe/food/fishfingers
name = "Fish fingers"
/datum/crafting_recipe/food/tuna_can
name = "Can of Tuna"
reqs = list(
/datum/reagent/consumable/flour = 5,
/obj/item/reagent_containers/food/snacks/bun = 1,
/obj/item/reagent_containers/food/snacks/carpmeat = 1
/datum/reagent/consumable/sodiumchloride = 15,
/datum/reagent/consumable/cooking_oil = 5,
/obj/item/reagent_containers/food/snacks/carpmeat = 1,
)
result = /obj/item/reagent_containers/food/snacks/fishfingers
subcategory = CAT_FISH
result = /obj/item/reagent_containers/food/snacks/tuna
subcategory = CAT_SEAFOOD
/datum/crafting_recipe/food/cubancarp
name = "Cuban carp"
@@ -113,7 +105,17 @@
/obj/item/reagent_containers/food/snacks/carpmeat = 1
)
result = /obj/item/reagent_containers/food/snacks/cubancarp
subcategory = CAT_FISH
subcategory = CAT_SEAFOOD
/datum/crafting_recipe/food/fishfingers
name = "Fish fingers"
reqs = list(
/datum/reagent/consumable/flour = 5,
/obj/item/reagent_containers/food/snacks/bun = 1,
/obj/item/reagent_containers/food/snacks/carpmeat = 1
)
result = /obj/item/reagent_containers/food/snacks/fishfingers
subcategory = CAT_SEAFOOD
/datum/crafting_recipe/food/fishandchips
name = "Fish and chips"
@@ -122,4 +124,4 @@
/obj/item/reagent_containers/food/snacks/carpmeat = 1
)
result = /obj/item/reagent_containers/food/snacks/fishandchips
subcategory = CAT_FISH
subcategory = CAT_SEAFOOD
@@ -3,71 +3,46 @@
////////////////////////////////////////////////SOUP////////////////////////////////////////////////
/datum/crafting_recipe/food/meatballsoup
name = "Meatball soup"
/datum/crafting_recipe/food/amanitajelly
name = "Amanita jelly"
reqs = list(
/datum/reagent/consumable/ethanol/vodka = 5,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 3
)
result = /obj/item/reagent_containers/food/snacks/soup/amanitajelly
subcategory = CAT_SOUP
/datum/crafting_recipe/food/beetsoup
name = "Beet soup"
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/faggot = 1,
/obj/item/reagent_containers/food/snacks/grown/carrot = 1,
/obj/item/reagent_containers/food/snacks/grown/potato = 1
/obj/item/reagent_containers/food/snacks/grown/whitebeet = 1,
/obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
)
result = /obj/item/reagent_containers/food/snacks/soup/meatball
result = /obj/item/reagent_containers/food/snacks/soup/beet
subcategory = CAT_SOUP
/datum/crafting_recipe/food/vegetablesoup
name = "Vegetable soup"
/datum/crafting_recipe/food/bloodsoup
name = "Blood soup"
reqs = list(
/datum/reagent/blood = 10,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato/blood = 2
)
result = /obj/item/reagent_containers/food/snacks/soup/blood
subcategory = CAT_SOUP
/datum/crafting_recipe/food/clownstears
name = "Clowns tears"
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/carrot = 1,
/obj/item/reagent_containers/food/snacks/grown/corn = 1,
/obj/item/reagent_containers/food/snacks/grown/eggplant = 1,
/obj/item/reagent_containers/food/snacks/grown/potato = 1
/obj/item/reagent_containers/food/snacks/grown/banana = 1,
/obj/item/stack/ore/bananium = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/vegetable
subcategory = CAT_SOUP
/datum/crafting_recipe/food/nettlesoup
name = "Nettle soup"
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/nettle = 1,
/obj/item/reagent_containers/food/snacks/grown/potato = 1,
/obj/item/reagent_containers/food/snacks/boiledegg = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/nettle
subcategory = CAT_SOUP
/datum/crafting_recipe/food/wingfangchu
name = "Wingfangchu"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
/datum/reagent/consumable/soysauce = 5,
/obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 2
)
result = /obj/item/reagent_containers/food/snacks/soup/wingfangchu
subcategory = CAT_SOUP
/datum/crafting_recipe/food/wishsoup
name = "Wish soup"
reqs = list(
/datum/reagent/water = 20,
/obj/item/reagent_containers/glass/bowl = 1
)
result= /obj/item/reagent_containers/food/snacks/soup/wish
subcategory = CAT_SOUP
/datum/crafting_recipe/food/hotchili
name = "Hot chili"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
/obj/item/reagent_containers/food/snacks/grown/chili = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/hotchili
result = /obj/item/reagent_containers/food/snacks/soup/clownstears
subcategory = CAT_SOUP
/datum/crafting_recipe/food/coldchili
@@ -81,16 +56,6 @@
result = /obj/item/reagent_containers/food/snacks/soup/coldchili
subcategory = CAT_SOUP
/datum/crafting_recipe/food/tomatosoup
name = "Tomato soup"
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 2
)
result = /obj/item/reagent_containers/food/snacks/soup/tomato
subcategory = CAT_SOUP
/datum/crafting_recipe/food/eyeballsoup
name = "Eyeball soup"
reqs = list(
@@ -102,6 +67,28 @@
result = /obj/item/reagent_containers/food/snacks/soup/tomato/eyeball
subcategory = CAT_SOUP
/datum/crafting_recipe/food/hotchili
name = "Hot chili"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/meat/cutlet = 2,
/obj/item/reagent_containers/food/snacks/grown/chili = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/hotchili
subcategory = CAT_SOUP
/datum/crafting_recipe/food/meatballsoup
name = "Meatball soup"
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/faggot = 1,
/obj/item/reagent_containers/food/snacks/grown/carrot = 1,
/obj/item/reagent_containers/food/snacks/grown/potato = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/meatball
subcategory = CAT_SOUP
/datum/crafting_recipe/food/milosoup
name = "Milo soup"
@@ -114,35 +101,15 @@
result = /obj/item/reagent_containers/food/snacks/soup/milo
subcategory = CAT_SOUP
/datum/crafting_recipe/food/bloodsoup
name = "Blood soup"
/datum/crafting_recipe/food/mushroomsoup
name = "Mushroom soup"
reqs = list(
/datum/reagent/blood = 10,
/datum/reagent/consumable/milk = 5,
/datum/reagent/water = 5,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato/blood = 2
/obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/blood
subcategory = CAT_SOUP
/datum/crafting_recipe/food/slimesoup
name = "Slime soup"
reqs = list(
/datum/reagent/water = 10,
/datum/reagent/toxin/slimejelly = 5,
/obj/item/reagent_containers/glass/bowl = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/slime
subcategory = CAT_SOUP
/datum/crafting_recipe/food/clownstears
name = "Clowns tears"
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/banana = 1,
/obj/item/stack/ore/bananium = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/clownstears
result = /obj/item/reagent_containers/food/snacks/soup/mushroom
subcategory = CAT_SOUP
/datum/crafting_recipe/food/mysterysoup
@@ -158,26 +125,37 @@
result = /obj/item/reagent_containers/food/snacks/soup/mystery
subcategory = CAT_SOUP
/datum/crafting_recipe/food/mushroomsoup
name = "Mushroom soup"
reqs = list(
/datum/reagent/consumable/milk = 5,
/datum/reagent/water = 5,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/mushroom
subcategory = CAT_SOUP
/datum/crafting_recipe/food/beetsoup
name = "Beet soup"
/datum/crafting_recipe/food/nettlesoup
name = "Nettle soup"
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/whitebeet = 1,
/obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
/obj/item/reagent_containers/food/snacks/grown/nettle = 1,
/obj/item/reagent_containers/food/snacks/grown/potato = 1,
/obj/item/reagent_containers/food/snacks/boiledegg = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/beet
result = /obj/item/reagent_containers/food/snacks/soup/nettle
subcategory = CAT_SOUP
/datum/crafting_recipe/food/redbeetsoup
name = "Red beet soup"
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/redbeet = 1,
/obj/item/reagent_containers/food/snacks/grown/cabbage = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/beet/red
subcategory = CAT_SOUP
/datum/crafting_recipe/food/slimesoup
name = "Slime soup"
reqs = list(
/datum/reagent/water = 10,
/datum/reagent/toxin/slimejelly = 5,
/obj/item/reagent_containers/glass/bowl = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/slime
subcategory = CAT_SOUP
/datum/crafting_recipe/food/stew
@@ -205,16 +183,6 @@
result = /obj/item/reagent_containers/food/snacks/soup/spacylibertyduff
subcategory = CAT_SOUP
/datum/crafting_recipe/food/amanitajelly
name = "Amanita jelly"
reqs = list(
/datum/reagent/consumable/ethanol/vodka = 5,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 3
)
result = /obj/item/reagent_containers/food/snacks/soup/amanitajelly
subcategory = CAT_SOUP
/datum/crafting_recipe/food/sweetpotatosoup
name = "Sweet potato soup"
reqs = list(
@@ -226,13 +194,44 @@
result = /obj/item/reagent_containers/food/snacks/soup/sweetpotato
subcategory = CAT_SOUP
/datum/crafting_recipe/food/redbeetsoup
name = "Red beet soup"
/datum/crafting_recipe/food/tomatosoup
name = "Tomato soup"
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/redbeet = 1,
/obj/item/reagent_containers/food/snacks/grown/cabbage = 1
/obj/item/reagent_containers/food/snacks/grown/tomato = 2
)
result = /obj/item/reagent_containers/food/snacks/soup/beet/red
result = /obj/item/reagent_containers/food/snacks/soup/tomato
subcategory = CAT_SOUP
/datum/crafting_recipe/food/vegetablesoup
name = "Vegetable soup"
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/reagent_containers/food/snacks/grown/carrot = 1,
/obj/item/reagent_containers/food/snacks/grown/corn = 1,
/obj/item/reagent_containers/food/snacks/grown/eggplant = 1,
/obj/item/reagent_containers/food/snacks/grown/potato = 1
)
result = /obj/item/reagent_containers/food/snacks/soup/vegetable
subcategory = CAT_SOUP
/datum/crafting_recipe/food/wingfangchu
name = "Wingfangchu"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
/datum/reagent/consumable/soysauce = 5,
/obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 2
)
result = /obj/item/reagent_containers/food/snacks/soup/wingfangchu
subcategory = CAT_SOUP
/datum/crafting_recipe/food/wishsoup
name = "Wish soup"
reqs = list(
/datum/reagent/water = 20,
/obj/item/reagent_containers/glass/bowl = 1
)
result= /obj/item/reagent_containers/food/snacks/soup/wish
subcategory = CAT_SOUP
@@ -3,15 +3,6 @@
////////////////////////////////////////////////SPAGHETTI////////////////////////////////////////////////
/datum/crafting_recipe/food/tomatopasta
name = "Tomato pasta"
reqs = list(
/obj/item/reagent_containers/food/snacks/boiledspaghetti = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 2
)
result = /obj/item/reagent_containers/food/snacks/pastatomato
subcategory = CAT_SPAGHETTI
/datum/crafting_recipe/food/copypasta
name = "Copypasta"
reqs = list(
@@ -38,6 +29,17 @@
result = /obj/item/reagent_containers/food/snacks/spesslaw
subcategory = CAT_SPAGHETTI
/datum/crafting_recipe/food/tomatopasta
name = "Tomato pasta"
reqs = list(
/obj/item/reagent_containers/food/snacks/boiledspaghetti = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 2
)
result = /obj/item/reagent_containers/food/snacks/pastatomato
subcategory = CAT_SPAGHETTI
////////////NOODLES///////////
/datum/crafting_recipe/food/beefnoodle
name = "Beef noodle"
reqs = list(
+5 -93
View File
@@ -140,96 +140,8 @@
containsPrize = FALSE
qdel(src)
//Easter Recipes + food
/obj/item/reagent_containers/food/snacks/hotcrossbun
bitesize = 2
name = "hot-cross bun"
desc = "The Cross represents the Assistants that died for your sins."
icon_state = "hotcrossbun"
/datum/crafting_recipe/food/hotcrossbun
name = "Hot-Cross Bun"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
/datum/reagent/consumable/sugar = 1
)
result = /obj/item/reagent_containers/food/snacks/hotcrossbun
category = CAT_MISCFOOD
/obj/item/reagent_containers/food/snacks/store/cake/brioche
name = "brioche cake"
desc = "A ring of sweet, glazed buns."
icon_state = "briochecake"
slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/brioche
slices_num = 6
bonus_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 2)
/obj/item/reagent_containers/food/snacks/cakeslice/brioche
name = "brioche cake slice"
desc = "Delicious sweet-bread. Who needs anything else?"
icon_state = "briochecake_slice"
filling_color = "#FFD700"
/datum/crafting_recipe/food/briochecake
name = "Brioche cake"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
/datum/reagent/consumable/sugar = 2
)
result = /obj/item/reagent_containers/food/snacks/store/cake/brioche
category = CAT_MISCFOOD
/obj/item/reagent_containers/food/snacks/scotchegg
name = "scotch egg"
desc = "A boiled egg wrapped in a delicious, seasoned meatball."
icon_state = "scotchegg"
bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 2)
bitesize = 3
filling_color = "#FFFFF0"
list_reagents = list(/datum/reagent/consumable/nutriment = 6)
/datum/crafting_recipe/food/scotchegg
name = "Scotch egg"
reqs = list(
/datum/reagent/consumable/sodiumchloride = 1,
/datum/reagent/consumable/blackpepper = 1,
/obj/item/reagent_containers/food/snacks/boiledegg = 1,
/obj/item/reagent_containers/food/snacks/faggot = 1
)
result = /obj/item/reagent_containers/food/snacks/scotchegg
category = CAT_MISCFOOD
/obj/item/reagent_containers/food/snacks/soup/mammi
name = "Mammi"
desc = "A bowl of mushy bread and milk. It reminds you, not too fondly, of a bowel movement."
icon_state = "mammi"
bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 1)
list_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 1)
/datum/crafting_recipe/food/mammi
name = "Mammi"
reqs = list(
/obj/item/reagent_containers/food/snacks/store/bread/plain = 1,
/obj/item/reagent_containers/food/snacks/chocolatebar = 1,
/datum/reagent/consumable/milk = 5
)
result = /obj/item/reagent_containers/food/snacks/soup/mammi
category = CAT_MISCFOOD
/obj/item/reagent_containers/food/snacks/chocolatebunny
name = "chocolate bunny"
desc = "Contains less than 10% real rabbit!"
icon_state = "chocolatebunny"
bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1)
list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sugar = 2, /datum/reagent/consumable/coco = 2)
filling_color = "#A0522D"
/datum/crafting_recipe/food/chocolatebunny
name = "Chocolate bunny"
reqs = list(
/datum/reagent/consumable/sugar = 2,
/obj/item/reagent_containers/food/snacks/chocolatebar = 1
)
result = /obj/item/reagent_containers/food/snacks/chocolatebunny
category = CAT_MISCFOOD
/*
Easter Recipes + Food moved to appropriate files.
\code\modules\food_and_drinks\
\code\modules\food_and_drinks\recipes\
*/
+1 -1
View File
@@ -357,7 +357,7 @@
/proc/get_all_jobs()
return list("Assistant", "Captain", "Head of Personnel", "Bartender", "Cook", "Botanist", "Quartermaster", "Cargo Technician",
"Shaft Miner", "Clown", "Mime", "Janitor", "Curator", "Lawyer", "Chaplain", "Chief Engineer", "Station Engineer",
"Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist",
"Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", "Paramedic",
"Research Director", "Scientist", "Roboticist", "Head of Security", "Warden", "Detective", "Security Officer")
/proc/get_all_job_icons() //For all existing HUD icons
+45
View File
@@ -0,0 +1,45 @@
/datum/job/paramedic
title = "Paramedic"
flag = PARAMEDIC
department_head = list("Chief Medical Officer")
department_flag = MEDSCI
faction = "Station"
total_positions = 3
spawn_positions = 2
supervisors = "the chief medical officer"
selection_color = "#74b5e0"
outfit = /datum/outfit/job/paramedic
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_VIROLOGY, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS)
minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS)
display_order = JOB_DISPLAY_ORDER_PARAMEDIC
/datum/outfit/job/paramedic
name = "Paramedic"
jobtype = /datum/job/paramedic
ears = /obj/item/radio/headset/headset_med
gloves = /obj/item/clothing/gloves/color/latex/nitrile
uniform = /obj/item/clothing/under/rank/medical/paramedic
mask = /obj/item/clothing/mask/surgical
shoes = /obj/item/clothing/shoes/jackboots
head = /obj/item/clothing/head/soft/emt
suit = /obj/item/clothing/suit/toggle/labcoat/emt
belt = /obj/item/storage/belt/medical
l_hand = /obj/item/storage/firstaid/regular
suit_store = /obj/item/flashlight/pen
id = /obj/item/card/id
r_pocket = /obj/item/pinpointer/crew
l_pocket = /obj/item/pda/medical
backpack_contents = list(/obj/item/roller=1)
pda_slot = SLOT_L_STORE
backpack = /obj/item/storage/backpack/medic
satchel = /obj/item/storage/backpack/satchel/med
duffelbag = /obj/item/storage/backpack/duffelbag/med
backpack_contents = list(/obj/item/storage/hypospraykit/regular)
chameleon_extras = /obj/item/gun/syringe
+1
View File
@@ -18,6 +18,7 @@ GLOBAL_LIST_INIT(medical_positions, list(
"Medical Doctor",
"Geneticist",
"Virologist",
"Paramedic",
"Chemist"))
+1 -1
View File
@@ -138,7 +138,7 @@
/datum/language_holder/synthetic
languages = list(/datum/language/common)
shadow_languages = list(/datum/language/common, /datum/language/machine, /datum/language/draconic, /datum/language/slime)
shadow_languages = list(/datum/language/common, /datum/language/machine, /datum/language/draconic, /datum/language/slime, /datum/language/dwarf)
/datum/language_holder/empty
languages = list()
+5 -5
View File
@@ -94,12 +94,12 @@
w_class = WEIGHT_CLASS_TINY
GLOBAL_LIST_INIT(sand_recipes, list(\
new /datum/stack_recipe("sandstone", /obj/item/stack/sheet/mineral/sandstone, 1, 1, 50)\
))
new/datum/stack_recipe("sandstone", /obj/item/stack/sheet/mineral/sandstone, 1, 1, 50),\
))
/obj/item/stack/ore/glass/Initialize(mapload, new_amount, merge = TRUE)
recipes = GLOB.sand_recipes
/obj/item/stack/ore/glass/get_main_recipes()
. = ..()
. += GLOB.sand_recipes
/obj/item/stack/ore/glass/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
if(..() || !ishuman(hit_atom))
@@ -144,7 +144,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
to_chat(user, "<span class='warning'>You can't hit a high enough temperature to smelt [src] properly!</span>")
return TRUE
/obj/item/stack/ore/silver
name = "silver ore"
icon_state = "Silver ore"
@@ -327,6 +326,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
var/cooldown = 0
var/value
var/coinflip
item_flags = NO_MAT_REDEMPTION //You know, it's kind of a problem that money is worth more extrinsicly than intrinsically in this universe.
/obj/item/coin/Initialize()
. = ..()
@@ -170,6 +170,18 @@
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
/datum/sprite_accessory/tails/human/twocat
name = "Cat, Double"
icon_state = "twocat"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
/datum/sprite_accessory/tails_animated/human/twocat
name = "Cat, Double"
icon_state = "twocat"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
/datum/sprite_accessory/tails/human/cow
name = "Cow"
icon_state = "cow"
@@ -562,6 +574,14 @@
/datum/sprite_accessory/mam_tails_animated/catbig
name = "Cat, Big"
icon_state = "catbig"
/datum/sprite_accessory/mam_tails/twocat
name = "Cat, Double"
icon_state = "twocat"
/datum/sprite_accessory/mam_tails_animated/twocat
name = "Cat, Double"
icon_state = "twocat"
/datum/sprite_accessory/mam_tails/corvid
name = "Corvid"
+4 -2
View File
@@ -289,7 +289,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/roundstart_quit_limit = CONFIG_GET(number/roundstart_suicide_time_limit) MINUTES
if(world.time < roundstart_quit_limit)
penalty += roundstart_quit_limit - world.time
if(penalty + world.realtime - SSshuttle.realtimeofstart > SSshuttle.auto_call + SSshuttle.emergencyCallTime + SSshuttle.emergencyDockTime + SSshuttle.emergencyEscapeTime)
var/maximumRoundEnd = SSautotransfer.starttime + SSautotransfer.voteinterval * SSautotransfer.maxvotes
if(penalty - SSshuttle.realtimeofstart > maximumRoundEnd + SSshuttle.emergencyCallTime + SSshuttle.emergencyDockTime + SSshuttle.emergencyEscapeTime)
penalty = CANT_REENTER_ROUND
if(SEND_SIGNAL(src, COMSIG_MOB_GHOSTIZE, (stat == DEAD) ? TRUE : FALSE, FALSE, (stat == DEAD)? penalty : 0, (stat == DEAD)? TRUE : FALSE) & COMPONENT_BLOCK_GHOSTING)
@@ -323,7 +324,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/roundstart_quit_limit = CONFIG_GET(number/roundstart_suicide_time_limit) MINUTES
if(world.time < roundstart_quit_limit)
penalty += roundstart_quit_limit - world.time
if(penalty + world.realtime - SSshuttle.realtimeofstart > SSshuttle.auto_call + SSshuttle.emergencyCallTime + SSshuttle.emergencyDockTime + SSshuttle.emergencyEscapeTime)
var/maximumRoundEnd = SSautotransfer.starttime + SSautotransfer.voteinterval * SSautotransfer.maxvotes
if(penalty - SSshuttle.realtimeofstart > maximumRoundEnd + SSshuttle.emergencyCallTime + SSshuttle.emergencyDockTime + SSshuttle.emergencyEscapeTime)
penalty = CANT_REENTER_ROUND
var/response = alert(src, "Are you -sure- you want to ghost?\n(You are alive. If you ghost whilst alive you won't be able to re-enter this round [penalty ? "or play ghost roles [penalty == CANT_REENTER_ROUND ? "until the round is over" : "for the next [DisplayTimeText(penalty)]"]" : ""]! You can't change your mind so choose wisely!!)","Are you sure you want to ghost?","Ghost","Stay in body")
@@ -397,7 +397,7 @@
var/flavor = print_flavor_text(flavor_text)
if(flavor)
. += flavor
var/temp_flavor = print_flavor_text(flavor_text_2)
var/temp_flavor = print_flavor_text(flavor_text_2,TRUE)
if(temp_flavor)
. += temp_flavor
SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE, user, .)
@@ -3,7 +3,7 @@
id = "insect"
default_color = "00FF00"
species_traits = list(LIPS,EYECOLOR,HAIR,FACEHAIR,MUTCOLORS,HORNCOLOR,WINGCOLOR)
inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID, MOB_BUG)
inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG
mutant_bodyparts = list("mam_ears","mam_tail", "taur", "insect_wings","mam_snout", "mam_snouts", "insect_fluff","insect_markings")
default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "mam_tail" = "None", "mam_ears" = "None",
"insect_wings" = "None", "insect_fluff" = "None", "mam_snouts" = "None", "taur" = "None", "insect_markings" = "None")
@@ -4,7 +4,7 @@
default_color = "4B4B4B"
should_draw_citadel = TRUE
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR,HORNCOLOR,WINGCOLOR)
inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID)
inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BEAST
mutant_bodyparts = list("mam_tail", "mam_ears", "mam_body_markings", "mam_snouts", "deco_wings", "taur", "horns", "legs")
default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "mam_snouts" = "Husky", "mam_tail" = "Husky", "mam_ears" = "Husky", "deco_wings" = "None",
"mam_body_markings" = "Husky", "taur" = "None", "horns" = "None", "legs" = "Plantigrade", "meat_type" = "Mammalian")
@@ -57,7 +57,6 @@
default_color = "00FF00"
should_draw_citadel = TRUE
species_traits = list(MUTCOLORS,EYECOLOR,LIPS)
inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID)
mutant_bodyparts = list("xenotail", "xenohead", "xenodorsal", "mam_body_markings", "taur", "legs")
default_features = list("xenotail"="Xenomorph Tail","xenohead"="Standard","xenodorsal"="Standard", "mam_body_markings" = "Xeno","mcolor" = "0F0","mcolor2" = "0F0","mcolor3" = "0F0","taur" = "None", "legs" = "Digitigrade")
attack_verb = "slash"
@@ -636,7 +636,7 @@
limbs_id = "clockgolem"
info_text = "<span class='bold alloy'>As a </span><span class='bold brass'>Clockwork Golem</span><span class='bold alloy'>, you are faster than other types of golems, and are capable of using guns. On death, you will break down into scrap.</span>"
species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYES,NOGENITALS,NOAROUSAL)
inherent_biotypes = list(MOB_ROBOTIC, MOB_HUMANOID)
inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID
inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER)
inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID
armor = 20 //Reinforced, but much less so to allow for fast movement
@@ -969,7 +969,7 @@
special_names = list("Head", "Broth", "Fracture", "Rattler", "Appetit")
liked_food = GROSS | MEAT | RAW
toxic_food = null
inherent_biotypes = list(MOB_UNDEAD, MOB_HUMANOID)
inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID
mutanttongue = /obj/item/organ/tongue/bone
sexes = FALSE
fixed_mut_color = "ffffff"
@@ -7,13 +7,19 @@
blacklisted = 0
sexes = 0
species_traits = list(MUTCOLORS,NOEYES,NOTRANSSTING)
inherent_biotypes = list(MOB_ROBOTIC, MOB_HUMANOID)
inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID
mutant_bodyparts = list("ipc_screen", "ipc_antenna")
default_features = list("ipc_screen" = "Blank", "ipc_antenna" = "None")
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/ipc
gib_types = list(/obj/effect/gibspawner/ipc, /obj/effect/gibspawner/ipc/bodypartless)
mutanttongue = /obj/item/organ/tongue/robot/ipc
//Just robo looking parts.
mutant_heart = /obj/item/organ/heart/ipc
mutantlungs = /obj/item/organ/lungs/ipc
mutantliver = /obj/item/organ/liver/ipc
mutantstomach = /obj/item/organ/stomach/ipc
mutanteyes = /obj/item/organ/eyes/ipc
exotic_bloodtype = "HF"
var/datum/action/innate/monitor_change/screen
+1 -1
View File
@@ -146,7 +146,7 @@
aiPDA.name = name + " (" + aiPDA.ownjob + ")"
aiMulti = new(src)
radio = new /obj/item/radio/headset/ai(src)
radio = new /obj/item/radio/headset/silicon/ai(src)
aicamera = new/obj/item/camera/siliconcam/ai_camera(src)
deploy_action.Grant(src)
+16 -1
View File
@@ -10,6 +10,7 @@
health = 500
maxHealth = 500
layer = BELOW_MOB_LAYER
var/obj/item/instrument/piano_synth/internal_instrument
silicon_privileges = PRIVILEDGES_PAI
var/datum/element/mob_holder/current_mob_holder //because only a few of their chassis can be actually held.
@@ -27,6 +28,7 @@
var/speakDoubleExclamation = "alarms"
var/speakQuery = "queries"
var/obj/item/radio/headset // The pAI's headset
var/obj/item/pai_cable/cable // The cable we produce and use when door or camera jacking
var/master // Name of the one who commands us
@@ -54,6 +56,7 @@
var/obj/item/integrated_signaler/signaler // AI's signaller
var/encryptmod = FALSE
var/holoform = FALSE
var/canholo = TRUE
var/obj/item/card/id/access_card = null
@@ -84,6 +87,7 @@
var/icon/custom_holoform_icon
/mob/living/silicon/pai/Destroy()
QDEL_NULL(internal_instrument)
if (loc != card)
card.forceMove(drop_location())
card.pai = null
@@ -105,7 +109,7 @@
card = P
signaler = new(src)
if(!radio)
radio = new /obj/item/radio(src)
radio = new /obj/item/radio/headset/silicon/pai(src)
//PDA
pda = new(src)
@@ -295,6 +299,17 @@
/mob/living/silicon/pai/process()
emitterhealth = CLAMP((emitterhealth + emitterregen), -50, emittermaxhealth)
/obj/item/paicard/attackby(obj/item/W, mob/user, params)
..()
user.set_machine(src)
if(pai.encryptmod == TRUE)
if(W.tool_behaviour == TOOL_SCREWDRIVER)
pai.radio.attackby(W, user, params)
else if(istype(W, /obj/item/encryptionkey))
pai.radio.attackby(W, user, params)
else
to_chat(user, "Encryption Key ports not configured.")
/mob/living/silicon/pai/proc/short_radio()
if(radio_short_timerid)
deltimer(radio_short_timerid)
@@ -20,6 +20,8 @@
"universal translator" = 35,
//"projection array" = 15
"remote signaller" = 5,
"loudness booster" = 25,
"encryption keys" = 20
)
/mob/living/silicon/pai/proc/paiInterface()
@@ -50,6 +52,8 @@
left_part = softwareMedicalRecord()
if("securityrecord")
left_part = softwareSecurityRecord()
if("encryptionkeys")
left_part = softwareEncryptionKeys()
if("translator")
left_part = softwareTranslator()
if("atmosensor")
@@ -64,6 +68,8 @@
left_part = softwareCamera()
if("signaller")
left_part = softwareSignal()
if("loudness")
left_part = softwareLoudness()
//usr << browse_rsc('windowbak.png') // This has been moved to the mob's Login() proc
@@ -256,6 +262,9 @@
else
var/datum/atom_hud/med = GLOB.huds[med_hud]
med.remove_hud_from(src)
if("encryptionkeys")
if(href_list["toggle"])
encryptmod = TRUE
if("translator")
if(href_list["toggle"])
grant_all_languages(TRUE)
@@ -271,6 +280,12 @@
var/turf/T = get_turf(loc)
cable = new /obj/item/pai_cable(T)
T.visible_message("<span class='warning'>A port on [src] opens to reveal [cable], which promptly falls to the floor.</span>", "<span class='italics'>You hear the soft click of something light and hard falling to the ground.</span>")
if("loudness")
if(subscreen == 1) // Open Instrument
internal_instrument.interact(src)
if(subscreen == 2) // Change Instrument type
internal_instrument.selectInstrument()
//updateUsrDialog() We only need to account for the single mob this is intended for, and he will *always* be able to call this window
paiInterface() // So we'll just call the update directly rather than doing some default checks
return
@@ -306,6 +321,8 @@
dat += "<a href='byond://?src=[REF(src)];software=[s]'>Camera Jack</a> <br>"
if(s == "remote signaller")
dat += "<a href='byond://?src=[REF(src)];software=signaller;sub=0'>Remote Signaller</a> <br>"
if(s == "loudness booster")
dat += "<a href='byond://?src=[REF(src)];software=loudness;sub=0'>Loudness Booster</a> <br>"
dat += "<br>"
// Advanced
@@ -319,6 +336,8 @@
dat += "<a href='byond://?src=[REF(src)];software=securityhud;sub=0'>Facial Recognition Suite</a>[(secHUD) ? "<font color=#55FF55> On</font>" : "<font color=#FF5555> Off</font>"] <br>"
if(s == "medical HUD")
dat += "<a href='byond://?src=[REF(src)];software=medicalhud;sub=0'>Medical Analysis Suite</a>[(medHUD) ? "<font color=#55FF55> On</font>" : "<font color=#FF5555> Off</font>"] <br>"
if(s == "encryption keys")
dat += "<a href='byond://?src=[REF(src)];software=encryptionkeys;sub=0'>Channel Encryption Firmware</a>[(encryptmod) ? "<font color=#55FF55> On</font>" : "<font color=#FF5555> Off</font>"] <br>"
if(s == "universal translator")
var/datum/language_holder/H = get_language_holder()
dat += "<a href='byond://?src=[REF(src)];software=translator;sub=0'>Universal Translator</a>[H.omnitongue ? "<font color=#55FF55> On</font>" : "<font color=#FF5555> Off</font>"] <br>"
@@ -469,6 +488,14 @@
. += "<pre>Requested security record not found,</pre><BR>"
. += "<BR>\n<A href='?src=[REF(src)];software=securityrecord;sub=0'>Back</A><BR>"
return .
// Encryption Keys
// Encryption kets
/mob/living/silicon/pai/proc/softwareEncryptionKeys()
var/dat = {"<h3>Encryption Key Firmware</h3><br>
When enabled, this device will be able to use up to two (2) encryption keys for departmental channel access.<br><br>
The device is currently [encryptmod ? "<font color=#55FF55>en" : "<font color=#FF5555>dis" ]abled.</font><br>[encryptmod ? "" : "<a href='byond://?src=[REF(src)];software=encryptionkeys;sub=0;toggle=1'>Activate Encryption Key Ports</a><br>"]"}
return dat
// Universal Translator
/mob/living/silicon/pai/proc/softwareTranslator()
@@ -630,3 +657,12 @@
dat += "<br><br>"
dat += "Messages: <hr> [pda.tnote]"
return dat
// Loudness Booster
/mob/living/silicon/pai/proc/softwareLoudness()
if(!internal_instrument)
internal_instrument = new(src)
var/dat = "<h3>Sound Synthetizer</h3>"
dat += "<a href='byond://?src=[REF(src)];software=loudness;sub=1'>Open Synthesizer Interface</a><br>"
dat += "<a href='byond://?src=[REF(src)];software=loudness;sub=2'>Choose Instrument Type</a>"
return dat
@@ -4,7 +4,7 @@
icon = 'icons/mob/mob.dmi'
icon_state = "ghost"
icon_living = "ghost"
mob_biotypes = list(MOB_SPIRIT)
mob_biotypes = MOB_SPIRIT
attacktext = "raises the hairs on the neck of"
response_harm = "disrupts the concentration of"
response_disarm = "wafts"
@@ -18,7 +18,7 @@
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
ventcrawler = VENTCRAWLER_ALWAYS
mob_size = MOB_SIZE_TINY
mob_biotypes = list(MOB_ORGANIC, MOB_BEAST)
mob_biotypes = MOB_ORGANIC|MOB_BEAST
gold_core_spawnable = FRIENDLY_SPAWN
verb_say = "bzzs"
verb_ask = "bzzs inquisitively"
@@ -34,14 +34,12 @@
AddElement(/datum/element/wuv, "bzzs!")
/mob/living/simple_animal/pet/bumbles/update_canmove()
..()
. = ..()
if(client && stat != DEAD)
if (resting)
icon_state = "[icon_living]_rest"
collar_type = "[initial(collar_type)]_rest"
else
icon_state = "[icon_living]"
collar_type = "[initial(collar_type)]"
regenerate_icons()
/mob/living/simple_animal/pet/bumbles/bee_friendly()
@@ -10,7 +10,7 @@
icon_living = "basic"
icon_dead = "basic"
gender = NEUTER
mob_biotypes = list(MOB_ROBOTIC)
mob_biotypes = MOB_ROBOTIC
health = 50
maxHealth = 50
healable = 0
@@ -47,7 +47,7 @@ GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swa
icon_state = "swarmer_console"
health = 750
maxHealth = 750 //""""low-ish"""" HP because it's a passive boss, and the swarm itself is the real foe
mob_biotypes = list(MOB_ROBOTIC)
mob_biotypes = MOB_ROBOTIC
medal_type = BOSS_MEDAL_SWARMERS
score_type = SWARMER_BEACON_SCORE
faction = list("mining", "boss", "swarmer")
@@ -37,7 +37,7 @@
throw_message = "does nothing to the rocky hide of the"
speed = 2
move_to_delay = 5
mob_biotypes = list(MOB_ORGANIC, MOB_BEAST)
mob_biotypes = MOB_ORGANIC|MOB_BEAST
mouse_opacity = MOUSE_OPACITY_ICON
deathmessage = "explodes into gore!"
loot_drop = /obj/item/crusher_trophy/broodmother_tongue
@@ -178,7 +178,7 @@
throw_message = "does nothing to the rocky hide of the"
speed = 2
move_to_delay = 5
mob_biotypes = list(MOB_ORGANIC, MOB_BEAST)
mob_biotypes = MOB_ORGANIC|MOB_BEAST
mouse_opacity = MOUSE_OPACITY_ICON
butcher_results = list()
guaranteed_butcher_results = list(/obj/item/stack/sheet/animalhide/goliath_hide = 1)
@@ -81,11 +81,13 @@
throw_message = "falls right through the strange body of the"
obj_damage = 0
environment_smash = ENVIRONMENT_SMASH_NONE
pass_flags = PASSTABLE
pass_flags = PASSTABLE | PASSMOB //they shouldn't get stuck behind hivelords.
density = FALSE
del_on_death = 1
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/Initialize()
. = ..()
AddComponent(/datum/component/swarming) //oh god not the bees
addtimer(CALLBACK(src, .proc/death), 100)
//Legion
@@ -135,6 +137,11 @@
crusher_drop_mod = 20
dwarf_mob = TRUE
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/beegion
name = "beegion"
desc = "You can still see what was once a human under the shifting mass of - oh my God, those are bees."
brood_type = /mob/living/simple_animal/hostile/poison/bees/toxin
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/death(gibbed)
visible_message("<span class='warning'>The skulls on [src] wail in anger as they flee from their dying host!</span>")
var/turf/T = get_turf(src)
@@ -174,7 +181,6 @@
speak_emote = list("echoes")
attack_sound = 'sound/weapons/pierce.ogg'
throw_message = "is shrugged off by"
pass_flags = PASSTABLE
del_on_death = TRUE
stat_attack = UNCONSCIOUS
robust_searching = 1
@@ -64,7 +64,7 @@
icon_state = "husk"
icon_living = "husk"
icon_dead = "husk"
mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID)
mob_biotypes = MOB_ORGANIC|MOB_HUMANOID
speak_chance = 0
stat_attack = UNCONSCIOUS //braains
maxHealth = 100
+2
View File
@@ -139,6 +139,7 @@
O.name = input
to_chat(user, "\The [oldname] has been successfully been renamed to \the [input].")
O.renamedByPlayer = TRUE
log_game("[user] [key_name(user)] has renamed [O] to [input]")
if(penchoice == "Change description")
var/input = stripped_input(user,"Describe \the [O.name] here", ,"", 100)
@@ -146,6 +147,7 @@
return
O.desc = input
to_chat(user, "You have successfully changed \the [O.name]'s description.")
log_game("[user] [key_name(user)] has changed [O]'s description to to [input]")
/*
* Sleepypens
+186 -197
View File
@@ -1,5 +1,5 @@
#define SOLAR_MAX_DIST 40
#define SOLARGENRATE 1500
#define SOLAR_GEN_RATE 1500
#define OCCLUSION_DISTANCE 20
/obj/machinery/power/solar
name = "solar panel"
@@ -10,20 +10,53 @@
use_power = NO_POWER_USE
idle_power_usage = 0
active_power_usage = 0
var/id = 0
max_integrity = 150
integrity_failure = 0.33
var/obscured = 0
var/sunfrac = 0
var/adir = SOUTH // actual dir
var/ndir = SOUTH // target dir
var/turn_angle = 0
var/obj/machinery/power/solar_control/control = null
var/id
var/obscured = FALSE
var/sunfrac = 0 //[0-1] measure of obscuration -- multipllier against power generation
var/azimuth_current = 0 //[0-360) degrees, which direction are we facing?
var/azimuth_target = 0 //same but what way we're going to face next time we turn
var/obj/machinery/power/solar_control/control
var/needs_to_turn = TRUE //do we need to turn next tick?
var/needs_to_update_solar_exposure = TRUE //do we need to call update_solar_exposure() next tick?
var/obj/effect/overlay/panel
var/obj/item/solar_assembly/assembly
var/efficiency = 1
/obj/machinery/power/solar/Initialize(mapload, obj/item/solar_assembly/S)
. = ..()
panel = new()
#if DM_VERSION >= 513
panel.vis_flags = VIS_INHERIT_ID|VIS_INHERIT_ICON|VIS_INHERIT_PLANE
vis_contents += panel
#endif
panel.icon = icon
panel.icon_state = "solar_panel"
panel.layer = FLY_LAYER
Make(S)
connect_to_network()
RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/queue_update_solar_exposure)
/obj/machinery/power/solar/Destroy()
unset_control() //remove from control computer
return ..()
//set the control of the panel to a given computer
/obj/machinery/power/solar/proc/set_control(obj/machinery/power/solar_control/SC)
unset_control()
control = SC
SC.connected_panels += src
queue_turn(SC.azimuth_target)
//set the control of the panel to null and removes it from the control list of the previous control computer if needed
/obj/machinery/power/solar/proc/unset_control()
if(control)
control.connected_panels -= src
control = null
/obj/machinery/power/solar/proc/Make(obj/item/solar_assembly/S)
if(!S)
assembly = new /obj/item/solar_assembly
assembly.glass_type = new /obj/item/stack/sheet/glass(null, 2)
@@ -34,32 +67,13 @@
assembly.glass_type.on_solar_construction(src)
obj_integrity = max_integrity
update_icon()
connect_to_network()
/obj/machinery/power/solar/Destroy()
unset_control() //remove from control computer
return ..()
//set the control of the panel to a given computer if closer than SOLAR_MAX_DIST
/obj/machinery/power/solar/proc/set_control(obj/machinery/power/solar_control/SC)
if(!SC || (get_dist(src, SC) > SOLAR_MAX_DIST))
return 0
control = SC
SC.connected_panels |= src
return 1
//set the control of the panel to null and removes it from the control list of the previous control computer if needed
/obj/machinery/power/solar/proc/unset_control()
if(control)
control.connected_panels.Remove(src)
control = null
/obj/machinery/power/solar/crowbar_act(mob/user, obj/item/I)
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] begins to take the glass off [src].", "<span class='notice'>You begin to take the glass off [src]...</span>")
playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE)
user.visible_message("<span class='notice'>[user] begins to take the glass off [src].</span>", "<span class='notice'>You begin to take the glass off [src]...</span>")
if(I.use_tool(src, user, 50))
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
user.visible_message("[user] takes the glass off [src].", "<span class='notice'>You take the glass off [src].</span>")
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE)
user.visible_message("<span class='notice'>[user] takes the glass off [src].</span>", "<span class='notice'>You take the glass off [src].</span>")
deconstruct(TRUE)
return TRUE
@@ -67,16 +81,16 @@
switch(damage_type)
if(BRUTE)
if(stat & BROKEN)
playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 60, 1)
playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 60, TRUE)
else
playsound(loc, 'sound/effects/glasshit.ogg', 90, 1)
playsound(loc, 'sound/effects/glasshit.ogg', 90, TRUE)
if(BURN)
playsound(loc, 'sound/items/welder.ogg', 100, 1)
playsound(loc, 'sound/items/welder.ogg', 100, TRUE)
/obj/machinery/power/solar/obj_break(damage_flag)
if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1)
playsound(loc, 'sound/effects/glassbr3.ogg', 100, TRUE)
stat |= BROKEN
unset_control()
update_icon()
@@ -94,81 +108,95 @@
new shard(loc)
qdel(src)
/obj/machinery/power/solar/update_icon()
..()
cut_overlays()
/obj/machinery/power/solar/update_overlays()
. = ..()
var/matrix/turner = matrix()
turner.Turn(azimuth_current)
panel.transform = turner
if(stat & BROKEN)
add_overlay(mutable_appearance(icon, "solar_panel-b", FLY_LAYER))
panel.icon_state = "solar_panel-b"
else
add_overlay(mutable_appearance(icon, "solar_panel", FLY_LAYER))
src.setDir(angle2dir(adir))
panel.icon_state = "solar_panel"
#if DM_VERSION <= 512
. += new /mutable_appearance(panel)
#endif
//calculates the fraction of the sunlight that the panel receives
/obj/machinery/power/solar/proc/queue_turn(azimuth)
needs_to_turn = TRUE
azimuth_target = azimuth
/obj/machinery/power/solar/proc/queue_update_solar_exposure()
needs_to_update_solar_exposure = TRUE //updating right away would be wasteful if we're also turning later
/obj/machinery/power/solar/proc/update_turn()
needs_to_turn = FALSE
if(azimuth_current != azimuth_target)
azimuth_current = azimuth_target
occlusion_setup()
update_icon()
needs_to_update_solar_exposure = TRUE
///trace towards sun to see if we're in shadow
/obj/machinery/power/solar/proc/occlusion_setup()
obscured = TRUE
var/distance = OCCLUSION_DISTANCE
var/target_x = round(sin(SSsun.azimuth), 0.01)
var/target_y = round(cos(SSsun.azimuth), 0.01)
var/x_hit = x
var/y_hit = y
var/turf/hit
for(var/run in 1 to distance)
x_hit += target_x
y_hit += target_y
hit = locate(round(x_hit, 1), round(y_hit, 1), z)
if(hit.opacity)
return
if(hit.x == 1 || hit.x == world.maxx || hit.y == 1 || hit.y == world.maxy) //edge of the map
break
obscured = FALSE
///calculates the fraction of the sunlight that the panel receives
/obj/machinery/power/solar/proc/update_solar_exposure()
needs_to_update_solar_exposure = FALSE
sunfrac = 0
if(obscured)
sunfrac = 0
return
return 0
//find the smaller angle between the direction the panel is facing and the direction of the sun (the sign is not important here)
var/p_angle = min(abs(adir - SSsun.angle), 360 - abs(adir - SSsun.angle))
var/sun_azimuth = SSsun.azimuth
if(azimuth_current == sun_azimuth) //just a quick optimization for the most frequent case
. = 1
else
//dot product of sun and panel -- Lambert's Cosine Law
. = cos(azimuth_current - sun_azimuth)
. = CLAMP(round(., 0.01), 0, 1)
sunfrac = .
if(p_angle > 90) // if facing more than 90deg from sun, zero output
sunfrac = 0
return
sunfrac = cos(p_angle) ** 2
//isn't the power received from the incoming light proportionnal to cos(p_angle) (Lambert's cosine law) rather than cos(p_angle)^2 ?
/obj/machinery/power/solar/process()//TODO: remove/add this from machines to save on processing as needed ~Carn PRIORITY
/obj/machinery/power/solar/process()
if(stat & BROKEN)
return
if(!control) //if there's no sun or the panel is not linked to a solar control computer, no need to proceed
if(control && (!powernet || control.powernet != powernet))
unset_control()
if(needs_to_turn)
update_turn()
if(needs_to_update_solar_exposure)
update_solar_exposure()
if(sunfrac <= 0)
return
if(powernet)
if(powernet == control.powernet)//check if the panel is still connected to the computer
if(obscured) //get no light from the sun, so don't generate power
return
var/sgen = SOLARGENRATE * sunfrac * efficiency
add_avail(sgen)
control.gen += sgen
else //if we're no longer on the same powernet, remove from control computer
unset_control()
var/sgen = SOLAR_GEN_RATE * sunfrac
add_avail(sgen)
if(control)
control.gen += sgen
/obj/machinery/power/solar/fake/New(var/turf/loc, var/obj/item/solar_assembly/S)
..(loc, S, 0)
//Bit of a hack but this whole type is a hack
/obj/machinery/power/solar/fake/Initialize(turf/loc, obj/item/solar_assembly/S)
. = ..()
UnregisterSignal(SSsun, COMSIG_SUN_MOVED)
/obj/machinery/power/solar/fake/process()
. = PROCESS_KILL
return
//trace towards sun to see if we're in shadow
/obj/machinery/power/solar/proc/occlusion()
var/ax = x // start at the solar panel
var/ay = y
var/turf/T = null
var/dx = SSsun.dx
var/dy = SSsun.dy
for(var/i = 1 to 20) // 20 steps is enough
ax += dx // do step
ay += dy
T = locate( round(ax,0.5),round(ay,0.5),z)
if(T.x == 1 || T.x==world.maxx || T.y==1 || T.y==world.maxy) // not obscured if we reach the edge
break
if(T.density) // if we hit a solid turf, panel is obscured
obscured = 1
return
obscured = 0 // if hit the edge or stepped 20 times, not obscured
update_solar_exposure()
return PROCESS_KILL
//
// Solar Assembly - For construction of solar arrays.
@@ -202,6 +230,7 @@
glass_type.forceMove(Tsec)
glass_type = null
/obj/item/solar_assembly/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/wrench) && isturf(loc))
if(isinspace())
@@ -224,8 +253,7 @@
var/obj/item/stack/sheet/G = S.change_stack(null, 2)
if(G)
glass_type = G
G.moveToNullspace()
playsound(loc, 'sound/machines/click.ogg', 50, 1)
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] places the glass on the solar assembly.", "<span class='notice'>You place the glass on the solar assembly.</span>")
if(tracker)
new /obj/machinery/power/tracker(get_turf(src), src)
@@ -269,21 +297,23 @@
var/icon_screen = "solar"
var/icon_keyboard = "power_key"
var/id = 0
var/currentdir = 0
var/targetdir = 0 // target angle in manual tracking (since it updates every game minute)
var/gen = 0
var/lastgen = 0
var/track = 0 // 0= off 1=timed 2=auto (tracker)
var/trackrate = 600 // 300-900 seconds
var/nexttime = 0 // time for a panel to rotate of 1 degree in manual tracking
var/azimuth_target = 0
var/azimuth_rate = 1 ///degree change per minute
var/track = SOLAR_TRACK_OFF ///SOLAR_TRACK_OFF, SOLAR_TRACK_TIMED, SOLAR_TRACK_AUTO
var/obj/machinery/power/tracker/connected_tracker = null
var/list/connected_panels = list()
/obj/machinery/power/solar_control/Initialize()
. = ..()
if(powernet)
set_panels(currentdir)
azimuth_rate = SSsun.base_rotation
RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/timed_track)
connect_to_network()
if(powernet)
set_panels(azimuth_target)
/obj/machinery/power/solar_control/Destroy()
for(var/obj/machinery/power/solar/M in connected_panels)
@@ -292,16 +322,6 @@
connected_tracker.unset_control()
return ..()
/obj/machinery/power/solar_control/disconnect_from_network()
..()
SSsun.solars.Remove(src)
/obj/machinery/power/solar_control/connect_to_network()
var/to_return = ..()
if(powernet) //if connected and not already in solar_list...
SSsun.solars |= src //... add it
return to_return
//search for unconnected panels and trackers in the computer powernet and connect them
/obj/machinery/power/solar_control/proc/search_for_connected()
if(powernet)
@@ -316,32 +336,16 @@
if(!T.control) //i.e unconnected
T.set_control(src)
//called by the sun controller, update the facing angle (either manually or via tracking) and rotates the panels accordingly
/obj/machinery/power/solar_control/proc/update()
if(stat & (NOPOWER | BROKEN))
return
switch(track)
if(1)
if(trackrate) //we're manual tracking. If we set a rotation speed...
currentdir = targetdir //...the current direction is the targetted one (and rotates panels to it)
if(2) // auto-tracking
if(connected_tracker)
connected_tracker.set_angle(SSsun.angle)
set_panels(currentdir)
updateDialog()
/obj/machinery/power/solar_control/update_icon()
cut_overlays()
/obj/machinery/power/solar_control/update_overlays()
. = ..()
if(stat & NOPOWER)
add_overlay("[icon_keyboard]_off")
. += mutable_appearance(icon, "[icon_keyboard]_off")
return
add_overlay(icon_keyboard)
. += mutable_appearance(icon, icon_keyboard)
if(stat & BROKEN)
add_overlay("[icon_state]_broken")
. += mutable_appearance(icon, "[icon_state]_broken")
else
add_overlay(icon_screen)
. += mutable_appearance(icon, icon_screen)
/obj/machinery/power/solar_control/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
@@ -352,73 +356,60 @@
/obj/machinery/power/solar_control/ui_data()
var/data = list()
data["generated"] = round(lastgen)
data["angle"] = currentdir
data["direction"] = angle2text(currentdir)
data["generated_ratio"] = data["generated"] / round(max(connected_panels.len, 1) * SOLAR_GEN_RATE)
data["azimuth_current"] = azimuth_target
data["azimuth_rate"] = azimuth_rate
data["max_rotation_rate"] = SSsun.base_rotation * 2
data["tracking_state"] = track
data["tracking_rate"] = trackrate
data["rotating_way"] = (trackrate<0 ? "CCW" : "CW")
data["connected_panels"] = connected_panels.len
data["connected_tracker"] = (connected_tracker ? 1 : 0)
data["connected_tracker"] = (connected_tracker ? TRUE : FALSE)
return data
/obj/machinery/power/solar_control/ui_act(action, params)
if(..())
return
if(action == "angle")
if(action == "azimuth")
var/adjust = text2num(params["adjust"])
var/value = text2num(params["value"])
if(adjust)
value = currentdir + adjust
value = azimuth_target + adjust
if(value != null)
currentdir = CLAMP((360 + value) % 360, 0, 359)
targetdir = currentdir
set_panels(currentdir)
set_panels(value)
return TRUE
return FALSE
if(action == "rate")
if(action == "azimuth_rate")
var/adjust = text2num(params["adjust"])
var/value = text2num(params["value"])
if(adjust)
value = trackrate + adjust
value = azimuth_rate + adjust
if(value != null)
trackrate = CLAMP(value, -7200, 7200)
if(trackrate)
nexttime = world.time + 36000 / abs(trackrate)
azimuth_rate = round(CLAMP(value, -2 * SSsun.base_rotation, 2 * SSsun.base_rotation), 0.01)
return TRUE
return FALSE
if(action == "tracking")
var/mode = text2num(params["mode"])
track = mode
if(mode == 2 && connected_tracker)
connected_tracker.set_angle(SSsun.angle)
set_panels(currentdir)
else if(mode == 1)
targetdir = currentdir
if(trackrate)
nexttime = world.time + 36000 / abs(trackrate)
set_panels(targetdir)
if(mode == SOLAR_TRACK_AUTO)
if(connected_tracker)
connected_tracker.sun_update(SSsun, SSsun.azimuth)
else
track = SOLAR_TRACK_OFF
return TRUE
if(action == "refresh")
search_for_connected()
if(connected_tracker && track == 2)
connected_tracker.set_angle(SSsun.angle)
set_panels(currentdir)
return TRUE
return FALSE
/obj/machinery/power/solar_control/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/screwdriver))
if(I.use_tool(src, user, 20, volume=50))
if (src.stat & BROKEN)
if(I.tool_behaviour == TOOL_SCREWDRIVER)
if(I.use_tool(src, user, 20, volume = 50))
if(src.stat & BROKEN)
to_chat(user, "<span class='notice'>The broken glass falls out.</span>")
var/obj/structure/frame/computer/A = new /obj/structure/frame/computer( src.loc )
new /obj/item/shard( src.loc )
var/obj/item/circuitboard/computer/solar_control/M = new /obj/item/circuitboard/computer/solar_control( A )
for (var/obj/C in src)
for(var/obj/C in src)
C.forceMove(drop_location())
A.circuit = M
A.state = 3
@@ -429,7 +420,7 @@
to_chat(user, "<span class='notice'>You disconnect the monitor.</span>")
var/obj/structure/frame/computer/A = new /obj/structure/frame/computer( src.loc )
var/obj/item/circuitboard/computer/solar_control/M = new /obj/item/circuitboard/computer/solar_control( A )
for (var/obj/C in src)
for(var/obj/C in src)
C.forceMove(drop_location())
A.circuit = M
A.state = 4
@@ -445,15 +436,15 @@
switch(damage_type)
if(BRUTE)
if(stat & BROKEN)
playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, TRUE)
else
playsound(src.loc, 'sound/effects/glasshit.ogg', 75, 1)
playsound(src.loc, 'sound/effects/glasshit.ogg', 75, TRUE)
if(BURN)
playsound(src.loc, 'sound/items/welder.ogg', 100, 1)
playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE)
/obj/machinery/power/solar_control/obj_break(damage_flag)
if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1)
playsound(loc, 'sound/effects/glassbr3.ogg', 100, TRUE)
stat |= BROKEN
update_icon()
@@ -461,36 +452,31 @@
lastgen = gen
gen = 0
if(stat & (NOPOWER | BROKEN))
return
if(connected_tracker && (!powernet || connected_tracker.powernet != powernet))
connected_tracker.unset_control()
if(connected_tracker) //NOTE : handled here so that we don't add trackers to the processing list
if(connected_tracker.powernet != powernet)
connected_tracker.unset_control()
///Ran every time the sun updates.
/obj/machinery/power/solar_control/proc/timed_track()
if(track == SOLAR_TRACK_TIMED)
azimuth_target += azimuth_rate
set_panels(azimuth_target)
if(track==1 && trackrate) //manual tracking and set a rotation speed
if(nexttime <= world.time) //every time we need to increase/decrease the angle by 1...
targetdir = (targetdir + trackrate/abs(trackrate) + 360) % 360 //... do it
nexttime += 36000/abs(trackrate) //reset the counter for the next 1
//rotates the panel to the passed angle
/obj/machinery/power/solar_control/proc/set_panels(currentdir)
///Rotates the panel to the passed angles
/obj/machinery/power/solar_control/proc/set_panels(azimuth)
azimuth = CLAMP(round(azimuth, 0.01), -360, 719.99)
if(azimuth >= 360)
azimuth -= 360
if(azimuth < 0)
azimuth += 360
azimuth_target = azimuth
for(var/obj/machinery/power/solar/S in connected_panels)
S.adir = currentdir //instantly rotates the panel
S.occlusion()//and
S.update_icon() //update it
update_icon()
S.queue_turn(azimuth)
/obj/machinery/power/solar_control/power_change()
..()
update_icon()
//
// MISC
//
@@ -498,3 +484,6 @@
/obj/item/paper/guides/jobs/engi/solars
name = "paper- 'Going green! Setup your own solar array instructions.'"
info = "<h1>Welcome</h1><p>At greencorps we love the environment, and space. With this package you are able to help mother nature and produce energy without any usage of fossil fuel or plasma! Singularity energy is dangerous while solar energy is safe, which is why it's better. Now here is how you setup your own solar array.</p><p>You can make a solar panel by wrenching the solar assembly onto a cable node. Adding a glass panel, reinforced or regular glass will do, will finish the construction of your solar panel. It is that easy!</p><p>Now after setting up 19 more of these solar panels you will want to create a solar tracker to keep track of our mother nature's gift, the sun. These are the same steps as before except you insert the tracker equipment circuit into the assembly before performing the final step of adding the glass. You now have a tracker! Now the last step is to add a computer to calculate the sun's movements and to send commands to the solar panels to change direction with the sun. Setting up the solar computer is the same as setting up any computer, so you should have no trouble in doing that. You do need to put a wire node under the computer, and the wire needs to be connected to the tracker.</p><p>Congratulations, you should have a working solar array. If you are having trouble, here are some tips. Make sure all solar equipment are on a cable node, even the computer. You can always deconstruct your creations if you make a mistake.</p><p>That's all to it, be safe, be green!</p>"
#undef SOLAR_GEN_RATE
#undef OCCLUSION_DISTANCE
@@ -345,9 +345,9 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
else
// Pass all the gas related code an empty gas container
removed = new()
damage = min(damage_archived + (DAMAGE_HARDCAP * explosion_point),damage) // hardcap any direct damage taken before doing atmos damage
damage_archived = damage
damage_archived = min(damage_archived + (DAMAGE_HARDCAP * explosion_point),damage)
matter_power += damage - damage_archived
damage = damage_archived
if(!removed || !removed.total_moles() || isspaceturf(T)) //we're in space or there is no gas to process
if(takes_damage)
damage += max((power / 1000) * DAMAGE_INCREASE_MULTIPLIER, 0.1) // always does at least some damage
+37 -40
View File
@@ -1,6 +1,6 @@
//Solar tracker
//Machine that tracks the sun and reports it's direction to the solar controllers
//Machine that tracks the sun and reports its direction to the solar controllers
//As long as this is working, solar panels on same powernet will track automatically
/obj/machinery/power/tracker
@@ -14,12 +14,39 @@
integrity_failure = 0.2
var/id = 0
var/sun_angle = 0 // sun angle as set by sun datum
var/obj/machinery/power/solar_control/control = null
var/obj/machinery/power/solar_control/control
var/obj/item/solar_assembly/assembly
/obj/machinery/power/tracker/Initialize(mapload, obj/item/solar_assembly/S)
. = ..()
Make(S)
connect_to_network()
RegisterSignal(SSsun, COMSIG_SUN_MOVED, .proc/sun_update)
/obj/machinery/power/tracker/Destroy()
unset_control() //remove from control computer
return ..()
/obj/machinery/power/tracker/proc/set_control(obj/machinery/power/solar_control/SC)
unset_control()
control = SC
SC.connected_tracker = src
//set the control of the tracker to null and removes it from the previous control computer if needed
/obj/machinery/power/tracker/proc/unset_control()
if(control)
if(control.track == SOLAR_TRACK_AUTO)
control.track = SOLAR_TRACK_OFF
control.connected_tracker = null
control = null
///Tell the controller to turn the solar panels
/obj/machinery/power/tracker/proc/sun_update(datum/source, azimuth)
setDir(angle2dir(azimuth))
if(control && control.track == SOLAR_TRACK_AUTO)
control.set_panels(azimuth)
/obj/machinery/power/tracker/proc/Make(obj/item/solar_assembly/S)
if(!S)
assembly = new /obj/item/solar_assembly
assembly.glass_type = new /obj/item/stack/sheet/glass(null, 2)
@@ -29,59 +56,29 @@
S.moveToNullspace()
assembly = S
update_icon()
connect_to_network()
/obj/machinery/power/tracker/Destroy()
unset_control() //remove from control computer
return ..()
//set the control of the tracker to a given computer if closer than SOLAR_MAX_DIST
/obj/machinery/power/tracker/proc/set_control(obj/machinery/power/solar_control/SC)
if(!SC || (get_dist(src, SC) > SOLAR_MAX_DIST))
return 0
control = SC
SC.connected_tracker = src
return 1
//set the control of the tracker to null and removes it from the previous control computer if needed
/obj/machinery/power/tracker/proc/unset_control()
if(control)
control.connected_tracker = null
control = null
//updates the tracker icon and the facing angle for the control computer
/obj/machinery/power/tracker/proc/set_angle(angle)
sun_angle = angle
//set icon dir to show sun illumination
setDir(turn(NORTH, -angle - 22.5) )// 22.5 deg bias ensures, e.g. 67.5-112.5 is EAST
if(powernet && (powernet == control.powernet)) //update if we're still in the same powernet
control.currentdir = angle
/obj/machinery/power/tracker/crowbar_act(mob/user, obj/item/I)
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] begins to take the glass off [src].", "<span class='notice'>You begin to take the glass off [src]...</span>")
playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE)
user.visible_message("<span class='notice'>[user] begins to take the glass off [src].</span>", "<span class='notice'>You begin to take the glass off [src]...</span>")
if(I.use_tool(src, user, 50))
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
user.visible_message("[user] takes the glass off [src].", "<span class='notice'>You take the glass off [src].</span>")
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE)
user.visible_message("<span class='notice'>[user] takes the glass off [src].</span>", "<span class='notice'>You take the glass off [src].</span>")
deconstruct(TRUE)
return TRUE
/obj/machinery/power/tracker/obj_break(damage_flag)
if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1)
stat |= BROKEN
playsound(loc, 'sound/effects/glassbr3.ogg', 100, TRUE)
unset_control()
/obj/machinery/power/solar/deconstruct(disassembled = TRUE)
/obj/machinery/power/tracker/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
if(disassembled)
if(assembly)
assembly.forceMove(loc)
assembly.give_glass(stat & BROKEN)
else
playsound(src, "shatter", 70, 1)
playsound(src, "shatter", 70, TRUE)
var/shard = assembly?.glass_type ? assembly.glass_type.shard_type : /obj/item/shard
new shard(loc)
new shard(loc)
@@ -9,18 +9,18 @@
/obj/item/ammo_casing/caseless/arrow/ashen
name = "ashen arrow"
desc = "Fire harderned wooden arrow."
icon_state = "asharrow"
desc = "An arrow made of wood, hardened by fire."
icon_state = "ashenarrow"
projectile_type = /obj/item/projectile/bullet/reusable/arrow/ashen
/obj/item/ammo_casing/caseless/arrow/bone
name = "bone arrow"
desc = "Arrow made of bone and sinew. The tip is sharp enough to pierce into a goliath plate."
desc = "An arrow made of bone and sinew. The tip is sharp enough to pierce through a goliath plate."
icon_state = "bonearrow"
projectile_type = /obj/item/projectile/bullet/reusable/arrow/bone
/obj/item/ammo_casing/caseless/arrow/bronze
name = "bronze arrow"
desc = "Bronze tipped arrow."
desc = "An arrow made of wood, tipped with bronze. The tip is dense enough to provide some armor penetration."
icon_state = "bronzearrow"
projectile_type = /obj/item/projectile/bullet/reusable/arrow/bronze
@@ -22,11 +22,9 @@
/obj/item/gun/ballistic/bow/chamber_round()
chambered = magazine.get_round(1)
/obj/item/gun/ballistic/bow/afterattack()
. = ..()
if (chambered)
chambered = null
magazine.get_round(0)
/obj/item/gun/ballistic/bow/process_chamber()
chambered = null
magazine.get_round(0)
update_icon()
/obj/item/gun/ballistic/bow/attack_self(mob/living/user)
@@ -47,7 +45,7 @@
update_icon()
/obj/item/gun/ballistic/bow/update_icon()
icon_state = "bow_[get_ammo() ? (chambered ? "firing" : "loaded") : "unloaded"]"
icon_state = "[initial(icon_state)]_[get_ammo() ? (chambered ? "firing" : "loaded") : "unloaded"]"
/obj/item/gun/ballistic/bow/can_shoot()
return chambered
@@ -49,7 +49,7 @@
/datum/design/multitool
name = "Multitool"
id = "multitool"
build_type = AUTOLATHE
build_type = AUTOLATHE | PROTOLATHE
materials = list(/datum/material/iron = 50, /datum/material/glass = 20)
build_path = /obj/item/multitool
category = list("initial","Tools","Tool Designs")
@@ -56,7 +56,7 @@
id = "enzyme"
build_type = BIOGENERATOR
materials = list(/datum/material/biomass = 30)
make_reagents = list("enzyme" = 10)
make_reagents = list(/datum/reagent/consumable/enzyme = 10)
category = list("initial","Food")
/datum/design/flour_sack
+4
View File
@@ -377,3 +377,7 @@
name = "insect eyes"
desc = "These eyes seem to have increased sensitivity to bright light, with no improvement to low light vision."
flash_protect = -1
/obj/item/organ/eyes/ipc
name = "ipc eyes"
icon_state = "cybernetic_eyeballs"
+1 -2
View File
@@ -222,9 +222,8 @@ obj/item/organ/heart/cybernetic/upgraded/on_life()
/obj/item/organ/heart/ipc
name = "IPC heart"
desc = "An electronic pump that regulates hydraulic functions, they have an auto-restart after EMPs."
desc = "An electronic pump that regulates hydraulic functions, the electronics have EMP shielding."
icon_state = "heart-c"
organ_flags = ORGAN_SYNTHETIC
/obj/item/organ/heart/freedom
name = "heart of freedom"
+4
View File
@@ -95,6 +95,10 @@
icon_state = "liver-p"
desc = "A large crystal that is somehow capable of metabolizing chemicals, these are found in plasmamen."
/obj/item/organ/liver/ipc
name = "reagent processing liver"
icon_state = "liver-c"
/obj/item/organ/liver/cybernetic
name = "cybernetic liver"
icon_state = "liver-c"
+6 -1
View File
@@ -2,6 +2,7 @@
/obj/item/organ/lungs
name = "lungs"
desc = "Looking at them makes you start manual breathing."
icon_state = "lungs"
zone = BODY_ZONE_CHEST
slot = ORGAN_SLOT_LUNGS
@@ -462,6 +463,10 @@
S.reagents.add_reagent(/datum/reagent/medicine/salbutamol, 5)
return S
/obj/item/organ/lungs/ipc
name = "ipc lungs"
icon_state = "lungs-c"
/obj/item/organ/lungs/plasmaman
name = "plasma filter"
desc = "A spongy rib-shaped mass for filtering plasma from the air."
@@ -543,4 +548,4 @@
/obj/item/organ/lungs/yamerol/on_life()
..()
damage += 2 //Yamerol lungs are temporary
damage += 2 //Yamerol lungs are temporary
+4
View File
@@ -96,3 +96,7 @@
name = "digestive crystal"
icon_state = "stomach-p"
desc = "A strange crystal that is responsible for metabolizing the unseen energy force that feeds plasmamen."
/obj/item/organ/stomach/ipc
name = "ipc stomach"
icon_state = "stomach-ipc"
+4
View File
@@ -108,6 +108,7 @@ GLOBAL_LIST_EMPTY(vore_preferences_datums)
digestable = json_from_file["digestable"]
devourable = json_from_file["devourable"]
feeding = json_from_file["feeding"]
lickable = json_from_file["lickable"]
vore_taste = json_from_file["vore_taste"]
belly_prefs = json_from_file["belly_prefs"]
@@ -118,6 +119,8 @@ GLOBAL_LIST_EMPTY(vore_preferences_datums)
devourable = FALSE
if(isnull(feeding))
feeding = FALSE
if(isnull(lickable))
lickable = FALSE
if(isnull(belly_prefs))
belly_prefs = list()
@@ -133,6 +136,7 @@ GLOBAL_LIST_EMPTY(vore_preferences_datums)
"digestable" = digestable,
"devourable" = devourable,
"feeding" = feeding,
"lickable" = lickable,
"vore_taste" = vore_taste,
"belly_prefs" = belly_prefs,
)