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
+4
View File
@@ -33,6 +33,10 @@
#define COMSIG_GLOB_NEW_Z "!new_z" //from base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (list/args)
#define COMSIG_GLOB_VAR_EDIT "!var_edit" //called after a successful var edit somewhere in the world: (list/args)
#define COMSIG_GLOB_LIVING_SAY_SPECIAL "!say_special" //global living say plug - use sparingly: (mob/speaker , message)
// signals from globally accessible objects
/// from SSsun when the sun changes position : (azimuth)
#define COMSIG_SUN_MOVED "sun_moved"
//////////////////////////////////////////////////////////////////
// /datum signals
+4 -2
View File
@@ -79,17 +79,19 @@
#define CAT_BREAD "Breads"
#define CAT_BURGER "Burgers"
#define CAT_CAKE "Cakes"
#define CAT_DONUT "Donuts"
#define CAT_EGG "Egg-Based Food"
#define CAT_MEAT "Meats"
#define CAT_MEXICAN "Mexican"
#define CAT_MISCFOOD "Misc. Food"
#define CAT_PASTRY "Pastries"
#define CAT_PIE "Pies"
#define CAT_PIE "Pies & Sweets"
#define CAT_PIZZA "Pizzas"
#define CAT_SALAD "Salads"
#define CAT_SEAFOOD "Seafood"
#define CAT_SANDWICH "Sandwiches"
#define CAT_SOUP "Soups"
#define CAT_SPAGHETTI "Spaghettis"
#define CAT_FISH "Fish"
#define CAT_ICE "Frozen"
#define RCD_FLOORWALL 1
+31 -29
View File
@@ -23,6 +23,7 @@
#define DOCTOR (1<<4)
#define GENETICIST (1<<5)
#define VIROLOGIST (1<<6)
#define PARAMEDIC (1<<7)
#define CIVILIAN (1<<2)
@@ -58,32 +59,33 @@
#define JOB_DISPLAY_ORDER_ASSISTANT 1
#define JOB_DISPLAY_ORDER_CAPTAIN 2
#define JOB_DISPLAY_ORDER_HEAD_OF_PERSONNEL 3
#define JOB_DISPLAY_ORDER_BARTENDER 4
#define JOB_DISPLAY_ORDER_COOK 5
#define JOB_DISPLAY_ORDER_BOTANIST 6
#define JOB_DISPLAY_ORDER_JANITOR 7
#define JOB_DISPLAY_ORDER_CLOWN 8
#define JOB_DISPLAY_ORDER_MIME 9
#define JOB_DISPLAY_ORDER_CURATOR 10
#define JOB_DISPLAY_ORDER_LAWYER 11
#define JOB_DISPLAY_ORDER_CHAPLAIN 12
#define JOB_DISPLAY_ORDER_QUARTERMASTER 13
#define JOB_DISPLAY_ORDER_CARGO_TECHNICIAN 14
#define JOB_DISPLAY_ORDER_SHAFT_MINER 15
#define JOB_DISPLAY_ORDER_CHIEF_ENGINEER 16
#define JOB_DISPLAY_ORDER_STATION_ENGINEER 17
#define JOB_DISPLAY_ORDER_ATMOSPHERIC_TECHNICIAN 18
#define JOB_DISPLAY_ORDER_CHIEF_MEDICAL_OFFICER 19
#define JOB_DISPLAY_ORDER_MEDICAL_DOCTOR 20
#define JOB_DISPLAY_ORDER_CHEMIST 21
#define JOB_DISPLAY_ORDER_GENETICIST 22
#define JOB_DISPLAY_ORDER_VIROLOGIST 23
#define JOB_DISPLAY_ORDER_RESEARCH_DIRECTOR 24
#define JOB_DISPLAY_ORDER_SCIENTIST 25
#define JOB_DISPLAY_ORDER_ROBOTICIST 26
#define JOB_DISPLAY_ORDER_HEAD_OF_SECURITY 27
#define JOB_DISPLAY_ORDER_WARDEN 28
#define JOB_DISPLAY_ORDER_DETECTIVE 29
#define JOB_DISPLAY_ORDER_SECURITY_OFFICER 30
#define JOB_DISPLAY_ORDER_AI 31
#define JOB_DISPLAY_ORDER_CYBORG 32
#define JOB_DISPLAY_ORDER_QUARTERMASTER 4
#define JOB_DISPLAY_ORDER_CARGO_TECHNICIAN 5
#define JOB_DISPLAY_ORDER_SHAFT_MINER 6
#define JOB_DISPLAY_ORDER_BARTENDER 7
#define JOB_DISPLAY_ORDER_COOK 8
#define JOB_DISPLAY_ORDER_BOTANIST 9
#define JOB_DISPLAY_ORDER_JANITOR 10
#define JOB_DISPLAY_ORDER_CLOWN 11
#define JOB_DISPLAY_ORDER_MIME 12
#define JOB_DISPLAY_ORDER_CURATOR 13
#define JOB_DISPLAY_ORDER_LAWYER 14
#define JOB_DISPLAY_ORDER_CHAPLAIN 15
#define JOB_DISPLAY_ORDER_AI 16
#define JOB_DISPLAY_ORDER_CYBORG 17
#define JOB_DISPLAY_ORDER_CHIEF_ENGINEER 18
#define JOB_DISPLAY_ORDER_STATION_ENGINEER 19
#define JOB_DISPLAY_ORDER_ATMOSPHERIC_TECHNICIAN 20
#define JOB_DISPLAY_ORDER_CHIEF_MEDICAL_OFFICER 21
#define JOB_DISPLAY_ORDER_MEDICAL_DOCTOR 22
#define JOB_DISPLAY_ORDER_PARAMEDIC 23
#define JOB_DISPLAY_ORDER_CHEMIST 24
#define JOB_DISPLAY_ORDER_VIROLOGIST 25
#define JOB_DISPLAY_ORDER_GENETICIST 26
#define JOB_DISPLAY_ORDER_RESEARCH_DIRECTOR 27
#define JOB_DISPLAY_ORDER_SCIENTIST 28
#define JOB_DISPLAY_ORDER_ROBOTICIST 29
#define JOB_DISPLAY_ORDER_HEAD_OF_SECURITY 30
#define JOB_DISPLAY_ORDER_WARDEN 31
#define JOB_DISPLAY_ORDER_DETECTIVE 32
#define JOB_DISPLAY_ORDER_SECURITY_OFFICER 33
+2
View File
@@ -521,3 +521,5 @@ GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_S
#define NIGHTSHIFT_AREA_RECREATION 2 //dorms common areas, etc
#define NIGHTSHIFT_AREA_DEPARTMENT_HALLS 3 //interior hallways, etc
#define NIGHTSHIFT_AREA_NONE 4 //default/highest.
#define UNTIL(X) while(!(X)) stoplag()
+3 -1
View File
@@ -68,4 +68,6 @@
#define MOVESPEED_ID_SHOVE "SHOVE"
#define MOVESPEED_ID_MKULTRA "MKULTRA"
#define MOVESPEED_ID_MKULTRA "MKULTRA"
#define MOVESPEED_ID_ELECTROSTAFF "ELECTROSTAFF"
+3
View File
@@ -0,0 +1,3 @@
#define SOLAR_TRACK_OFF 0
#define SOLAR_TRACK_TIMED 1
#define SOLAR_TRACK_AUTO 2
+3
View File
@@ -97,6 +97,9 @@
#define STATUS_EFFECT_NO_COMBAT_MODE /datum/status_effect/no_combat_mode //Wont allow combat mode and will disable it
#define STATUS_EFFECT_MESMERIZE /datum/status_effect/no_combat_mode/mesmerize //Just reskinned no_combat_mode
#define STATUS_EFFECT_ELECTROSTAFF /datum/status_effect/electrostaff //slows down victim
/////////////
// NEUTRAL //
/////////////
+2 -2
View File
@@ -129,7 +129,7 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE)
flavor_text_2 = new_flavor
to_chat(src, "Your temporary flavor text has been updated.")
/mob/proc/print_flavor_text(flavor)
/mob/proc/print_flavor_text(flavor,temp = FALSE)
if(!flavor)
return
// We are decoding and then encoding to not only get correct amount of characters, but also to prevent partial escaping characters being shown.
@@ -137,7 +137,7 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE)
if(length_char(msg) <= 40)
return "<span class='notice'>[html_encode(msg)]</span>"
else
return "<span class='notice'>[html_encode(copytext_char(msg, 1, 37))]... <a href='?src=[REF(src)];flavor_more=1'>More...</span></a>"
return "<span class='notice'>[html_encode(copytext_char(msg, 1, 37))]... <a href='?src=[REF(src)];flavor[temp ? "2" : ""]_more=1'>More...</span></a>"
//LOOC toggles
/client/verb/listen_looc()
+9
View File
@@ -93,6 +93,8 @@
init_subtypes(/datum/crafting_recipe, GLOB.crafting_recipes)
INVOKE_ASYNC(GLOBAL_PROC, /proc/init_ref_coin_values) //so the current procedure doesn't sleep because of UNTIL()
//creates every subtype of prototype (excluding prototype) and adds it to list L.
//if no list/L is provided, one is created.
/proc/init_subtypes(prototype, list/L)
@@ -110,3 +112,10 @@
for(var/path in subtypesof(prototype))
L+= path
return L
/proc/init_ref_coin_values()
for(var/path in typesof(/obj/item/coin))
var/obj/item/coin/C = new path
UNTIL(C.flags_1 & INITIALIZED_1) //we want to make sure the value is calculated and not null.
GLOB.coin_values[path] = C.value
qdel(C)
-2
View File
@@ -1234,8 +1234,6 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
return FALSE
return TRUE
#define UNTIL(X) while(!(X)) stoplag()
/proc/pass()
return
+1
View File
@@ -32,6 +32,7 @@ GLOBAL_LIST_EMPTY(meteor_list) // List of all meteors.
GLOBAL_LIST_EMPTY(active_jammers) // List of active radio jammers
GLOBAL_LIST_EMPTY(ladders)
GLOBAL_LIST_EMPTY(trophy_cases)
GLOBAL_LIST_EMPTY(coin_values)
GLOBAL_LIST_EMPTY(wire_color_directory)
GLOBAL_LIST_EMPTY(wire_name_directory)
@@ -254,13 +254,13 @@
config_entry_value = 1
/datum/config_entry/number/movedelay/sprint_buffer_max
config_entry_value = 42
config_entry_value = 24
/datum/config_entry/number/movedelay/sprint_stamina_cost
config_entry_value = 0.7
config_entry_value = 1.4
/datum/config_entry/number/movedelay/sprint_buffer_regen_per_ds
config_entry_value = 0.3
config_entry_value = 0.4
/////////////////////////////////////////////////Outdated move delay
/datum/config_entry/number/outdated_movedelay
@@ -404,10 +404,6 @@
lowercase = FALSE
splitter = ","
/datum/config_entry/number/auto_transfer_delay
config_entry_value = 72000
min_val = 0
/datum/config_entry/flag/pai_custom_holoforms
/datum/config_entry/number/marauder_delay_non_reebe
@@ -82,6 +82,18 @@
config_entry_value = 600
min_val = 0
/datum/config_entry/number/vote_autotransfer_initial //length of time before the first autotransfer vote is called (deciseconds, default 2 hours)
config_entry_value = 72000
min_val = 0
/datum/config_entry/number/vote_autotransfer_interval //length of time to wait before subsequent autotransfer votes (deciseconds, default 30 minutes)
config_entry_value = 18000
min_val = 0
/datum/config_entry/number/vote_autotransfer_maximum // maximum extensions until the round autoends
config_entry_value = 4
min_val = 0
/datum/config_entry/flag/default_no_vote // vote does not default to nochange/norestart
/datum/config_entry/flag/no_dead_vote // dead people can't vote
@@ -0,0 +1,27 @@
SUBSYSTEM_DEF(autotransfer)
name = "Autotransfer Vote"
flags = SS_KEEP_TIMING | SS_BACKGROUND
wait = 1 MINUTES
var/starttime
var/targettime
var/voteinterval
var/maxvotes
var/curvotes
/datum/controller/subsystem/autotransfer/Initialize(timeofday)
starttime = world.time
targettime = starttime + CONFIG_GET(number/vote_autotransfer_initial)
voteinterval = CONFIG_GET(number/vote_autotransfer_interval)
maxvotes = CONFIG_GET(number/vote_autotransfer_maximum)
curvotes = 0
return ..()
/datum/controller/subsystem/autotransfer/fire()
if(maxvotes > curvotes)
if(world.time > targettime)
SSvote.initiate_vote("transfer",null) //TODO figure out how to not use null as the user
targettime = targettime + voteinterval
curvotes += 1
else
SSshuttle.autoEnd()
+8 -7
View File
@@ -55,7 +55,8 @@ SUBSYSTEM_DEF(shuttle)
var/lockdown = FALSE //disallow transit after nuke goes off
var/auto_call = 72000 //CIT CHANGE - time before in deciseconds in which the shuttle is auto called. Default is 2ish hours plus 15 for the shuttle. So total is 3.
var/endvote_passed = FALSE
var/realtimeofstart = 0
/datum/controller/subsystem/shuttle/Initialize(timeofday)
@@ -78,7 +79,6 @@ SUBSYSTEM_DEF(shuttle)
if(!supply)
WARNING("No /obj/docking_port/mobile/supply placed on the map!")
realtimeofstart = world.realtime
auto_call = CONFIG_GET(number/auto_transfer_delay)
return ..()
/datum/controller/subsystem/shuttle/proc/initial_load()
@@ -643,10 +643,11 @@ SUBSYSTEM_DEF(shuttle)
QDEL_LIST(remove_images)
/datum/controller/subsystem/shuttle/proc/autoEnd() //CIT CHANGE - allows shift to end after 2 hours have passed.
if((world.realtime - SSshuttle.realtimeofstart) > auto_call && EMERGENCY_IDLE_OR_RECALLED) //2 hours
/datum/controller/subsystem/shuttle/proc/autoEnd() //CIT CHANGE - allows shift to end without being a proper shuttle call?
if(EMERGENCY_IDLE_OR_RECALLED)
SSshuttle.emergency.request(silent = TRUE)
priority_announce("The shift has come to an end and the shuttle called. [seclevel2num(get_security_level()) == SEC_LEVEL_RED ? "Red Alert state confirmed: Dispatching priority shuttle. " : "" ]It will arrive in [emergency.timeLeft(600)] minutes.", null, "shuttlecalled", "Priority")
log_game("Round time limit reached. Shuttle has been auto-called.")
message_admins("Round time limit reached. Shuttle called.")
emergencyNoRecall = TRUE
log_game("Round end vote passed. Shuttle has been auto-called.")
message_admins("Round end vote passed. Shuttle has been auto-called.")
emergencyNoRecall = TRUE
endvote_passed = TRUE
+25 -42
View File
@@ -1,49 +1,32 @@
SUBSYSTEM_DEF(sun)
name = "Sun"
wait = 600
flags = SS_NO_TICK_CHECK|SS_NO_INIT
var/angle
var/dx
var/dy
var/rate
var/list/solars = list()
/datum/controller/subsystem/sun/PreInit()
angle = rand (0,360) // the station position to the sun is randomised at round start
rate = rand(50,200)/100 // 50% - 200% of standard rotation
if(prob(50)) // same chance to rotate clockwise than counter-clockwise
rate = -rate
/datum/controller/subsystem/sun/stat_entry(msg)
..("P:[solars.len]")
/datum/controller/subsystem/sun/fire()
angle = (360 + angle + rate * 6) % 360 // increase/decrease the angle to the sun, adjusted by the rate
// now calculate and cache the (dx,dy) increments for line drawing
var/s = sin(angle)
var/c = cos(angle)
// Either "abs(s) < abs(c)" or "abs(s) >= abs(c)"
// In both cases, the greater is greater than 0, so, no "if 0" check is needed for the divisions
if(abs(s) < abs(c))
dx = s / abs(c)
dy = c / abs(c)
else
dx = s / abs(s)
dy = c / abs(s)
//now tell the solar control computers to update their status and linked devices
for(var/obj/machinery/power/solar_control/SC in solars)
if(!SC.powernet)
solars.Remove(SC)
continue
SC.update()
wait = 1 MINUTES
flags = SS_NO_TICK_CHECK
var/azimuth = 0 ///clockwise, top-down rotation from 0 (north) to 359
var/azimuth_mod = 1 ///multiplier against base_rotation
var/base_rotation = 6 ///base rotation in degrees per fire
/datum/controller/subsystem/sun/Initialize(start_timeofday)
azimuth = rand(0, 359)
azimuth_mod = round(rand(50, 200)/100, 0.01) // 50% - 200% of standard rotation
if(prob(50))
azimuth_mod *= -1
return ..()
/datum/controller/subsystem/sun/fire(resumed = FALSE)
azimuth += azimuth_mod * base_rotation
azimuth = round(azimuth, 0.01)
if(azimuth >= 360)
azimuth -= 360
if(azimuth < 0)
azimuth += 360
complete_movement()
/datum/controller/subsystem/sun/proc/complete_movement()
SEND_SIGNAL(src, COMSIG_SUN_MOVED, azimuth)
/datum/controller/subsystem/sun/vv_edit_var(var_name, var_value)
. = ..()
if(var_name == NAMEOF(src, azimuth))
complete_movement()
+1 -1
View File
@@ -213,7 +213,7 @@ SUBSYSTEM_DEF(ticker)
check_queue()
check_maprotate()
scripture_states = scripture_unlock_alert(scripture_states)
SSshuttle.autoEnd()
//SSshuttle.autoEnd()
if(!roundend_check_paused && mode.check_finished(force_ending) || force_ending)
current_state = GAME_STATE_FINISHED
+24 -1
View File
@@ -89,6 +89,20 @@ SUBSYSTEM_DEF(vote)
choices[GLOB.master_mode] += non_voters.len
if(choices[GLOB.master_mode] >= greatest_votes)
greatest_votes = choices[GLOB.master_mode]
else if(mode == "transfer") // austation begin -- Crew autotransfer vote
var/factor = 1
switch(world.time / (1 MINUTES))
if(0 to 60)
factor = 0.5
if(61 to 120)
factor = 0.8
if(121 to 240)
factor = 1
if(241 to 300)
factor = 1.2
else
factor = 1.4
choices["Initiate Crew Transfer"] += round(non_voters.len * factor) // austation end
//get all options with that many votes and return them in a list
. = list()
if(greatest_votes)
@@ -365,6 +379,12 @@ SUBSYSTEM_DEF(vote)
log_admin("The map has been voted for and will change to: [VM.map_name]")
if(SSmapping.changemap(config.maplist[.]))
to_chat(world, "<span class='boldannounce'>The map vote has chosen [VM.map_name] for next round!</span>")
if("transfer") // austation begin -- Crew autotransfer vote
if(. == "Initiate Crew Transfer")
SSshuttle.autoEnd()
var/obj/machinery/computer/communications/C = locate() in GLOB.machines
if(C)
C.post_status("shuttle") // austation end
if(restart)
var/active_admins = 0
for(var/client/C in GLOB.admins)
@@ -444,6 +464,7 @@ SUBSYSTEM_DEF(vote)
to_chat(usr, "<span class='warning'>A vote was initiated recently, you must wait [DisplayTimeText(next_allowed_time-world.time)] before a new vote can be started!</span>")
return 0
SEND_SOUND(world, sound('sound/misc/notice2.ogg'))
reset()
obfuscated = hideresults //CIT CHANGE - adds obfuscated votes
switch(vote_type)
@@ -465,6 +486,8 @@ SUBSYSTEM_DEF(vote)
if(targetmap.max_round_search_span && count_occurences_of_value(lastmaps, M, targetmap.max_round_search_span) >= targetmap.max_rounds_played)
continue
choices |= M
if("transfer") // austation begin -- Crew autotranfer vote
choices.Add("Initiate Crew Transfer","Continue Playing") // austation end
if("roundtype") //CIT CHANGE - adds the roundstart secret/extended vote
choices.Add("secret", "extended")
if("mode tiers")
@@ -496,7 +519,7 @@ SUBSYSTEM_DEF(vote)
else
return 0
mode = vote_type
initiator = initiator_key
initiator = initiator_key ? initiator_key : "the Server" // austation -- Crew autotransfer vote
started_time = world.time
var/text = "[capitalize(mode)] vote started by [initiator]."
if(mode == "custom")
+2 -5
View File
@@ -305,10 +305,7 @@
/datum/action/item_action/synthswitch/Trigger()
if(istype(target, /obj/item/instrument/piano_synth))
var/obj/item/instrument/piano_synth/synth = target
var/chosen = input("Choose the type of instrument you want to use", "Instrument Selection", "piano") as null|anything in synth.insTypes
if(!synth.insTypes[chosen])
return
return synth.changeInstrument(chosen)
return synth.selectInstrument()
return ..()
/datum/action/item_action/vortex_recall
@@ -832,4 +829,4 @@
for(var/datum/action/A in M.actions)
if(istype(A, action_type))
return A
return
return
+3 -1
View File
@@ -27,14 +27,16 @@
CAT_BREAD,
CAT_BURGER,
CAT_CAKE,
CAT_DONUT,
CAT_EGG,
CAT_FISH,
CAT_ICE,
CAT_MEAT,
CAT_MEXICAN,
CAT_MISCFOOD,
CAT_PASTRY,
CAT_PIE,
CAT_PIZZA,
CAT_SEAFOOD,
CAT_SALAD,
CAT_SANDWICH,
CAT_SOUP,
@@ -16,6 +16,6 @@
/obj/item/weaponcrafting/silkstring
name = "silkstring"
desc = "A long pice of silk looks like cable coil."
desc = "A long piece of silk with some resemblance to cable coil."
icon = 'icons/obj/improvised.dmi'
icon_state = "silkstring"
icon_state = "silkstring"
@@ -204,7 +204,7 @@
result = /obj/item/gun/ballistic/bow/pipe
reqs = list(/obj/item/pipe = 5,
/obj/item/stack/sheet/plastic = 15,
/obj/item/weaponcrafting/silkstring = 10)
/obj/item/weaponcrafting/silkstring = 5)
time = 450
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
@@ -291,17 +291,17 @@
/datum/crafting_recipe/arrow
name = "Arrow"
result = /obj/item/ammo_casing/caseless/arrow
time = 40
time = 30
reqs = list(/obj/item/stack/sheet/mineral/wood = 1,
/obj/item/weaponcrafting/silkstring = 1,
/obj/item/stack/rods = 3) // 1 metal sheet is worth 1.5 arrows
/obj/item/stack/sheet/silk = 1,
/obj/item/stack/rods = 1) // 1 metal sheet = 2 rods = 2 arrows
category = CAT_WEAPONRY
subcategory = CAT_AMMO
/datum/crafting_recipe/bone_arrow
name = "Bone Arrow"
result = /obj/item/ammo_casing/caseless/arrow/bone
time = 40
time = 30
always_availible = FALSE
reqs = list(/obj/item/stack/sheet/bone = 1,
/obj/item/stack/sheet/sinew = 1,
@@ -310,15 +310,19 @@
subcategory = CAT_AMMO
/datum/crafting_recipe/ashen_arrow
name = "Harden Arrow"
name = "Bonfire-Hardened Arrow"
result = /obj/item/ammo_casing/caseless/arrow/ashen
tools = list(/obj/structure/bonfire)
time = 20
time = 30
always_availible = FALSE
reqs = list(/obj/item/ammo_casing/caseless/arrow = 1)
category = CAT_WEAPONRY
subcategory = CAT_AMMO
/datum/crafting_recipe/ashen_arrow/welder
name = "Welder-Hardened Arrow"
tools = list(TOOL_WELDER)
/datum/crafting_recipe/smartdart
name = "Medical smartdart"
result = /obj/item/reagent_containers/syringe/dart
@@ -17,7 +17,8 @@
penalty += roundstart_quit_limit - world.time
if(penalty)
penalty += world.realtime
if(penalty - 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(!(M.ckey in timeouts))
timeouts += M.ckey
+11 -1
View File
@@ -245,4 +245,14 @@
suffix = "lavaland_surface_elite_tumor.dmm"
cost = 5
always_place = TRUE
allow_duplicates = TRUE
allow_duplicates = TRUE
// Mining Base
/datum/map_template/ruin/lavaland/mining_base //THIS IS THE MINING BASE. DO NOT FUCK WITH THIS UNLESS YOU ARE 100% CERTAIN YOU KNOW WHAT YOU'RE DOING, OR THE MINING BASE WILL DISAPPEAR
name = "Mining Base"
id = "miningbase"
description = "The mining base that Nanotrasen uses for their mining operations."
suffix = "miningbase.dmm"
cost = 0
always_place = TRUE
unpickable = TRUE
-7
View File
@@ -54,10 +54,3 @@
id = "engine_budget"
suffix = "Box/Engine/budget.dmm"
name = "Box P.A.C.M.A.N"
// Lavaland
// Mining Base
/datum/map_template/ruin/station/lavaland/mining_base
id = "mining_public_01"
suffix = "Lavaland/Mining_Station/Mining_Station_Public_01.dmm"
name = "Public Mining Base"
+32 -1
View File
@@ -287,6 +287,12 @@
credit_cost = 4000
description = "A fairly standard shuttle, though larger and slightly better equipped than the Box Station variant."
/datum/map_template/shuttle/emergency/kilo
suffix = "kilo"
name = "Kilo Station Emergency Shuttle"
credit_cost = 5000
description = "A fully functional shuttle including a complete infirmary, storage facilties and regular amenities."
/datum/map_template/shuttle/emergency/mini
suffix = "mini"
name = "Ministation emergency shuttle"
@@ -419,6 +425,11 @@
name = "fancy transport ferry"
description = "At some point, someone upgraded the ferry to have fancier flooring... and less seats."
/datum/map_template/shuttle/ferry/kilo
suffix = "kilo"
name = "kilo transport ferry"
description = "Standard issue CentCom Ferry for Kilo pattern stations. Includes additional equipment and rechargers."
/datum/map_template/shuttle/whiteship/box
suffix = "box"
name = "Hospital Ship"
@@ -447,6 +458,10 @@
suffix = "box"
name = "supply shuttle (Box)"
/datum/map_template/shuttle/cargo/kilo
suffix = "kilo"
name = "supply shuttle (Kilo)"
/datum/map_template/shuttle/cargo/birdboat
suffix = "birdboat"
name = "supply shuttle (Birdboat)"
@@ -481,6 +496,10 @@
suffix = "box"
name = "labour shuttle (Box)"
/datum/map_template/shuttle/labour/kilo
suffix = "kilo"
name = "labour shuttle (Kilo)"
/datum/map_template/shuttle/infiltrator/basic
suffix = "basic"
name = "basic syndicate infiltrator"
@@ -493,6 +512,10 @@
suffix = "delta"
name = "mining shuttle (Delta)"
/datum/map_template/shuttle/mining/kilo
suffix = "kilo"
name = "mining shuttle (Kilo)"
/datum/map_template/shuttle/labour/delta
suffix = "delta"
name = "labour shuttle (Delta)"
@@ -501,10 +524,18 @@
suffix = "meta"
name = "lavaland shuttle (Meta)"
/datum/map_template/shuttle/labour/kilo
suffix = "kilo"
name = "labour shuttle (Kilo)"
/datum/map_template/shuttle/arrival/delta
suffix = "delta"
name = "arrival shuttle (Delta)"
/datum/map_template/shuttle/arrival/kilo
suffix = "kilo"
name = "arrival shuttle (Kilo)"
/datum/map_template/shuttle/arrival/pubby
suffix = "pubby"
name = "arrival shuttle (Pubby)"
@@ -559,4 +590,4 @@
/datum/map_template/shuttle/snowdin/excavation
suffix = "excavation"
name = "Snowdin Excavation Elevator"
name = "Snowdin Excavation Elevator"
+16 -1
View File
@@ -113,14 +113,16 @@
/datum/status_effect/no_combat_mode/mesmerize/on_creation(mob/living/new_owner, set_duration)
. = ..()
ADD_TRAIT(owner, TRAIT_MUTE, "mesmerize")
owner.add_movespeed_modifier("[STATUS_EFFECT_MESMERIZE]_[id]", TRUE, priority = 64, override = TRUE, multiplicative_slowdown = 5, blacklisted_movetypes = FALSE? NONE : CRAWLING)
/datum/status_effect/no_combat_mode/mesmerize/on_remove()
. = ..()
REMOVE_TRAIT(owner, TRAIT_MUTE, "mesmerize")
owner.remove_movespeed_modifier("[STATUS_EFFECT_MESMERIZE]_[id]")
/obj/screen/alert/status_effect/mesmerized
name = "Mesmerized"
desc = "You cant tear your sight from who is in front of you...Their gaze is simply too enthralling.."
desc = "You cant tear your sight from who is in front of you... their gaze is simply too enthralling.."
icon = 'icons/mob/actions/bloodsucker.dmi'
icon_state = "power_mez"
@@ -621,6 +623,19 @@
icon_state = "ichorial_stain"
alerttooltipstyle = "clockcult"
/datum/status_effect/electrostaff
id = "electrostaff"
alert_type = null
status_type = STATUS_EFFECT_REPLACE
/datum/status_effect/electrostaff/on_creation(mob/living/new_owner, set_duration)
if(isnum(set_duration))
duration = set_duration
. = ..()
owner.add_movespeed_modifier(MOVESPEED_ID_ELECTROSTAFF, multiplicative_slowdown = 1, movetypes = GROUND)
/datum/status_effect/electrostaff/on_remove()
owner.remove_movespeed_modifier(MOVESPEED_ID_ELECTROSTAFF)
//GOLEM GANG
+2
View File
@@ -55,6 +55,8 @@ GLOBAL_LIST_EMPTY(family_heirlooms)
heirloom_type = pick(/obj/item/cultivator, /obj/item/reagent_containers/glass/bucket, /obj/item/storage/bag/plants, /obj/item/toy/plush/beeplushie)
if("Medical Doctor")
heirloom_type = /obj/item/healthanalyzer/advanced
if("Paramedic")
heirloom_type = pick(/obj/item/clothing/neck/stethoscope, /obj/item/bodybag)
if("Station Engineer")
heirloom_type = /obj/item/wirecutters/brass
if("Atmospheric Technician")
+16
View File
@@ -1245,6 +1245,22 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
icon_state = "storage_wing"
// Vacant Rooms
/area/vacant_room
name = "Vacant Room"
ambientsounds = MAINTENANCE
icon_state = "vacant_room"
/area/vacant_room/office
name = "Vacant Office"
icon_state = "vacant_room"
/area/vacant_room/commissary
name = "Vacant Commissary"
icon_state = "vacant_room"
//AI
/area/ai_monitored/security/armory
+2 -2
View File
@@ -672,7 +672,7 @@ GLOBAL_VAR_INIT(dynamic_storyteller_type, /datum/dynamic_storyteller/classic)
// Time to inject some threat into the round
if(EMERGENCY_ESCAPED_OR_ENDGAMED) // Unless the shuttle is gone
return
if((world.realtime - SSshuttle.realtimeofstart) > SSshuttle.auto_call) // no rules after shuttle is auto-called
if(SSshuttle.endvote_passed) // no rules after shuttle call is voted
return
message_admins("DYNAMIC: Checking for midround injection.")
log_game("DYNAMIC: Checking for midround injection.")
@@ -748,7 +748,7 @@ GLOBAL_VAR_INIT(dynamic_storyteller_type, /datum/dynamic_storyteller/classic)
return
if(EMERGENCY_ESCAPED_OR_ENDGAMED) // No more rules after the shuttle has left
return
if((world.realtime - SSshuttle.realtimeofstart) > SSshuttle.auto_call) // no rules after shuttle is auto-called
if(SSshuttle.endvote_passed) // no rules after shuttle is auto-called
return
update_playercounts()
+1 -1
View File
@@ -36,7 +36,7 @@
/datum/sabotage_objective/processing/power_sink
name = "Drain at least 1 gigajoule of power using a power sink."
sabotage_type = "powersink"
special_equipment = list(/obj/item/powersink)
special_equipment = list(/obj/item/sbeacondrop/powersink)
var/sink_found = FALSE
var/count = 0
+1 -1
View File
@@ -29,7 +29,7 @@ GLOBAL_LIST_EMPTY(announcement_systems)
/obj/machinery/announcement_system/Initialize()
. = ..()
GLOB.announcement_systems += src
radio = new /obj/item/radio/headset/ai(src)
radio = new /obj/item/radio/headset/silicon/ai(src)
update_icon()
/obj/machinery/announcement_system/update_icon()
@@ -194,7 +194,7 @@
state = STATE_CANCELSHUTTLE
if("cancelshuttle2")
if(authenticated)
if((world.realtime - SSshuttle.realtimeofstart) > SSshuttle.auto_call) //Citadel Edit Removing auto_call caused recall.
if(SSshuttle.endvote_passed) //Citadel Edit - endvote passing = no recalls
say("Warning: Emergency shuttle recalls have been blocked by Central Command due to ongoing crew transfer procedures.")
else
SSshuttle.cancelEvac(usr)
+2 -1
View File
@@ -40,6 +40,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new)
jobs["Geneticist"] = 22
jobs["Virologist"] = 23
jobs["Medical Doctor"] = 24
jobs["Paramedic"] = 25
jobs["Research Director"] = 30
jobs["Scientist"] = 31
jobs["Roboticist"] = 32
@@ -207,4 +208,4 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new)
if ("select_person")
AI.ai_camera_track(params["name"])
#undef SENSORS_UPDATE_PERIOD
#undef SENSORS_UPDATE_PERIOD
+1
View File
@@ -16,6 +16,7 @@
/obj/item/melee/baton,
/obj/item/ammo_box/magazine/recharge,
/obj/item/modular_computer,
/obj/item/twohanded/electrostaff,
/obj/item/gun/ballistic/automatic/magrifle))
/obj/machinery/recharger/RefreshParts()
+9 -11
View File
@@ -26,7 +26,6 @@
var/working = 0
var/balance = 0 //How much money is in the machine, ready to be CONSUMED.
var/jackpots = 0
var/list/coinvalues = list()
var/list/reels = list(list("", "", "") = 0, list("", "", "") = 0, list("", "", "") = 0, list("", "", "") = 0, list("", "", "") = 0)
var/list/symbols = list(SEVEN = 1, "<font color='orange'>&</font>" = 2, "<font color='yellow'>@</font>" = 2, "<font color='green'>$</font>" = 2, "<font color='blue'>?</font>" = 2, "<font color='grey'>#</font>" = 2, "<font color='white'>!</font>" = 2, "<font color='fuchsia'>%</font>" = 2) //if people are winning too much, multiply every number in this list by 2 and see if they are still winning too much.
@@ -45,10 +44,6 @@
toggle_reel_spin(0)
for(var/cointype in typesof(/obj/item/coin))
var/obj/item/coin/C = cointype
coinvalues["[cointype]"] = initial(C.value)
/obj/machinery/computer/slot_machine/Destroy()
if(balance)
give_coins(balance)
@@ -294,19 +289,22 @@
return amount
/obj/machinery/computer/slot_machine/proc/dispense(amount = 0, cointype = /obj/item/coin/silver, mob/living/target, throwit = 0)
var/value = coinvalues["[cointype]"]
/obj/machinery/computer/slot_machine/proc/dispense(amount = 0, cointype = /obj/item/coin/silver, mob/living/target, throwit = FALSE)
var/value = GLOB.coin_values[cointype] || GLOB.coin_values[/obj/item/coin/iron]
INVOKE_ASYNC(src, .proc/become_rich, amount, value, cointype, target, throwit)
return amount % value
while(amount >= value)
/obj/machinery/computer/slot_machine/proc/become_rich(amount, value, cointype = /obj/item/coin/silver, mob/living/target, throwit = FALSE)
if(value <= 0)
return
while(amount >= value && !QDELETED(src))
var/obj/item/coin/C = new cointype(loc) //DOUBLE THE PAIN
amount -= value
if(throwit && target)
C.throw_at(target, 3, 10)
else
random_step(C, 2, 40)
return amount
CHECK_TICK
#undef SEVEN
#undef SPIN_TIME
+4 -5
View File
@@ -151,6 +151,10 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark)
name = "Medical Doctor"
icon_state = "Medical Doctor"
/obj/effect/landmark/start/paramedic
name = "Paramedic"
icon_state = "Paramedic"
/obj/effect/landmark/start/scientist
name = "Scientist"
icon_state = "Scientist"
@@ -502,8 +506,3 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player)
/obj/effect/landmark/stationroom/box/engine/New()
. = ..()
templates = CONFIG_GET(keyed_list/box_random_engine)
// Landmark for the mining station
/obj/effect/landmark/stationroom/lavaland/station
templates = list("Public Mining Base" = 3)
icon = 'icons/rooms/Lavaland/Mining.dmi'
@@ -108,6 +108,12 @@
song.instrumentDir = name
song.instrumentExt = insTypes[name]
/obj/item/instrument/piano_synth/proc/selectInstrument() // Moved here so it can be used by the action and PAI software panel without copypasta
var/chosen = input("Choose the type of instrument you want to use", "Instrument Selection", song.instrumentDir) as null|anything in insTypes
if(!insTypes[chosen])
return
return changeInstrument(chosen)
/obj/item/instrument/banjo
name = "banjo"
desc = "A 'Mura' brand banjo. It's pretty much just a drum with a neck and strings."
+2 -4
View File
@@ -94,10 +94,8 @@
to_chat(pai, "<span class='userdanger'>Your mental faculties leave you.</span>")
to_chat(pai, "<span class='rose'>oblivion... </span>")
qdel(pai)
if(href_list["wires"])
var/wire = text2num(href_list["wires"])
if(pai.radio)
pai.radio.wires.cut(wire)
if(href_list["wires"] && pai.radio)
pai.radio.wires.cut(href_list["wires"])
if(href_list["reset_radio_short"])
pai.unshort_radio()
if(href_list["setlaws"])
@@ -254,12 +254,17 @@ GLOBAL_LIST_INIT(channel_tokens, list(
keyslot = null
bowman = TRUE
/obj/item/radio/headset/ai
/obj/item/radio/headset/silicon/pai
name = "\proper mini Integrated Subspace Transceiver "
subspace_transmission = FALSE
/obj/item/radio/headset/silicon/ai
name = "\proper Integrated Subspace Transceiver "
keyslot2 = new /obj/item/encryptionkey/ai
command = TRUE
/obj/item/radio/headset/ai/can_receive(freq, level)
/obj/item/radio/headset/silicon/can_receive(freq, level)
return ..(freq, level, TRUE)
/obj/item/radio/headset/attackby(obj/item/W, mob/user, params)
+3 -3
View File
@@ -491,12 +491,12 @@
remarks = list("Looks like these would sell much better in a plasma fire...", "Using glass bowls rather then cones?", "Mixing soda and ice-cream?", "Tall glasses with of liquids and solids...", "Just add a bit of icecream and cherry on top?")
/obj/item/book/granter/crafting_recipe/bone_bow //Bow crafting for non-ashwalkers
name = "Sandstone manual on bows"
desc = "A standstone slab with everything you need to know for making bows and arrows just like an ashwalker would."
name = "bowyery sandstone slab" // this is an actual word
desc = "A sandstone slab with inscriptions describing the Ash Walkers of Lavaland's bowyery."
crafting_recipe_types = list(/datum/crafting_recipe/bone_arrow, /datum/crafting_recipe/bone_bow, /datum/crafting_recipe/ashen_arrow, /datum/crafting_recipe/quiver, /datum/crafting_recipe/bow_tablet)
icon_state = "stone_tablet"
oneuse = FALSE
remarks = list("Sticking burning arrows into the sand makes them stronger?", "Breaking the bone apart to get shards, not sharpening the bone.", "Sinew is just like rope?")
remarks = list("Sticking burning arrows into the sand makes them stronger...", "Breaking the bone apart to get shards, not sharpening the bone...", "Sinew is just like rope...")
/obj/item/book/granter/crafting_recipe/under_the_oven //Illegal cook book
name = "Under The Oven"
+3 -1
View File
@@ -37,7 +37,9 @@
/obj/item/toy/plush/random_snowflake/Initialize(mapload, set_snowflake_id)
. = ..()
var/list/configlist = CONFIG_GET(keyed_list/snowflake_plushies)
var/id = pick(configlist)
var/id = safepick(configlist)
if(!id)
return
set_snowflake_from_config(id)
/obj/item/toy/plush/Initialize(mapload, set_snowflake_id)
@@ -381,12 +381,12 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \
new/datum/stack_recipe("white jumpsuit", /obj/item/clothing/under/color/white, 4, time = 40), \
new/datum/stack_recipe("white gloves", /obj/item/clothing/gloves/color/white, 2, time = 40), \
null, \
new/datum/stack_recipe("silk string", /obj/item/weaponcrafting/silkstring, 2, time = 40), \
new/datum/stack_recipe("silk string", /obj/item/weaponcrafting/silkstring, 1, time = 40), \
))
/obj/item/stack/sheet/silk
name = "silk"
desc = "A long soft material. This one is just made out of cotton rather then any spiders or wyrms"
desc = "A long, soft material. Made out of refined cotton, instead of relying on the habits of spiders or silkworms."
singular_name = "silk sheet"
icon_state = "sheet-silk"
item_state = "sheet-cloth"
+2
View File
@@ -328,6 +328,8 @@
/obj/item/storage/bag/tray/ComponentInitialize()
. = ..()
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
STR.max_w_class = WEIGHT_CLASS_NORMAL
STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food, /obj/item/reagent_containers/glass, /datum/reagent/consumable, /obj/item/kitchen/knife, /obj/item/kitchen/rollingpin, /obj/item/kitchen/fork, /obj/item/storage/box)) //Should cover: Bottles, Beakers, Bowls, Booze, Glasses, Food, Kitchen Tools, and ingredient boxes.
STR.insert_preposition = "on"
/obj/item/storage/bag/tray/attack(mob/living/M, mob/living/user)
+1 -1
View File
@@ -142,7 +142,7 @@
return ..()
/obj/item/hand_tele/proc/try_dispel_portal(atom/target, mob/user, delay = 30)
var/datum/beam/B = user.Beam(target)
var/datum/beam/B = user.Beam(target, icon_state = "rped_upgrade", maxdistance = 50)
if(is_parent_of_portal(target) && (!delay || do_after(user, delay, target = target)))
qdel(target)
to_chat(user, "<span class='notice'>You dispel [target] with \the [src]!</span>")
+255 -2
View File
@@ -24,7 +24,7 @@
* Twohanded
*/
/obj/item/twohanded
var/wielded = 0
var/wielded = FALSE
var/force_unwielded // default to null, the number force will be set to on unwield()
var/force_wielded // same as above but for wield()
var/wieldsound = null
@@ -1017,6 +1017,259 @@
user.client.pixel_x = 0
user.client.pixel_y = 0
/obj/item/twohanded/electrostaff
icon = 'icons/obj/items_and_weapons.dmi'
icon_state = "electrostaff_3"
item_state = "electrostaff"
lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
name = "riot suppression electrostaff"
desc = "A large quarterstaff, with massive silver electrodes mounted at the end."
w_class = WEIGHT_CLASS_HUGE
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_OCLOTHING
force_unwielded = 5
force_wielded = 10
throwforce = 15 //if you are a madman and finish someone off with this, power to you.
throw_speed = 1
item_flags = NO_MAT_REDEMPTION | SLOWS_WHILE_IN_HAND
block_chance = 30
attack_verb = list("struck", "beaten", "thwacked", "pulped")
total_mass = 5 //yeah this is a heavy thing, beating people with it while it's off is not going to do you any favors. (to curb stun-kill rampaging without it being on)
var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/high
var/on = FALSE
var/can_block_projectiles = FALSE //can't block guns
var/lethal_cost = 400 //10000/400*20 = 500. decent enough?
var/lethal_damage = 20
var/lethal_stam_cost = 4
var/stun_cost = 333 //10000/333*25 = 750. stunbatons are at time of writing 10000/1000*49 = 490.
var/stun_status_effect = STATUS_EFFECT_ELECTROSTAFF //a small slowdown effect
var/stun_stamdmg = 40
var/stun_status_duration = 25
var/stun_stam_cost = 3.5
/obj/item/twohanded/electrostaff/Initialize(mapload)
. = ..()
if(ispath(cell))
cell = new cell
/obj/item/twohanded/electrostaff/Destroy()
STOP_PROCESSING(SSobj, src)
return ..()
/obj/item/twohanded/electrostaff/get_cell()
. = cell
if(iscyborg(loc))
var/mob/living/silicon/robot/R = loc
. = R.get_cell()
/obj/item/twohanded/electrostaff/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(!on)
return FALSE
if((attack_type == PROJECTILE_ATTACK) && !can_block_projectiles)
return FALSE
return ..()
/obj/item/twohanded/electrostaff/proc/min_hitcost()
return min(stun_cost, lethal_cost)
/obj/item/twohanded/electrostaff/proc/turn_on(mob/user, silent = FALSE)
if(on)
return
if(!cell)
if(user)
to_chat(user, "<span class='warning'>[src] has no cell.</span>")
return
if(cell.charge < min_hitcost())
if(user)
to_chat(user, "<span class='warning'>[src] is out of charge.</span>")
return
on = TRUE
START_PROCESSING(SSobj, src)
if(user)
to_chat(user, "<span class='warning'>You turn [src] on.</span>")
update_icon()
if(!silent)
playsound(src, "sparks", 75, 1, -1)
/obj/item/twohanded/electrostaff/proc/turn_off(mob/user, silent = FALSE)
if(!on)
return
if(user)
to_chat(user, "<span class='warning'>You turn [src] off.</span>")
on = FALSE
STOP_PROCESSING(SSobj, src)
update_icon()
if(!silent)
playsound(src, "sparks", 75, 1, -1)
/obj/item/twohanded/electrostaff/proc/toggle(mob/user, silent = FALSE)
if(on)
turn_off(user, silent)
else
turn_on(user, silent)
/obj/item/twohanded/electrostaff/wield(mob/user)
. = ..()
if(wielded)
turn_on(user)
add_fingerprint(user)
/obj/item/twohanded/electrostaff/unwield(mob/user)
. = ..()
if(!wielded)
turn_off(user)
add_fingerprint(user)
/obj/item/twohanded/electrostaff/update_icon()
. = ..()
if(!wielded)
icon_state = "electrostaff_3"
item_state = "electrostaff"
else
icon_state = item_state = (on? "electrostaff_1" : "electrostaff_3")
set_light(7, on? 1 : 0, LIGHT_COLOR_CYAN)
/obj/item/twohanded/electrostaff/examine(mob/living/user)
. = ..()
if(cell)
. += "<span class='notice'>The cell charge is [round(cell.percent())]%.</span>"
else
. += "<span class='warning'>There is no cell installed!</span>"
/obj/item/twohanded/electrostaff/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/stock_parts/cell))
var/obj/item/stock_parts/cell/C = W
if(cell)
to_chat(user, "<span class='warning'>[src] already has a cell!</span>")
else
if(C.maxcharge < min_hit_cost())
to_chat(user, "<span class='notice'>[src] requires a higher capacity cell.</span>")
return
if(!user.transferItemToLoc(W, src))
return
cell = C
to_chat(user, "<span class='notice'>You install a cell in [src].</span>")
else if(W.tool_behaviour == TOOL_SCREWDRIVER)
if(cell)
cell.update_icon()
cell.forceMove(get_turf(src))
cell = null
to_chat(user, "<span class='notice'>You remove the cell from [src].</span>")
turn_off(user, TRUE)
else
return ..()
/obj/item/twohanded/electrostaff/process()
deductcharge(50) //Wasteful!
/obj/item/twohanded/electrostaff/proc/min_hit_cost()
return min(lethal_cost, stun_cost)
/obj/item/twohanded/electrostaff/proc/deductcharge(amount)
var/obj/item/stock_parts/cell/C = get_cell()
if(!C)
turn_off()
return FALSE
C.use(min(amount, C.charge))
if(QDELETED(src))
return FALSE
if(C.charge < min_hit_cost())
turn_off()
/obj/item/twohanded/electrostaff/attack(mob/living/target, mob/living/user)
if(user.getStaminaLoss() >= STAMINA_SOFTCRIT)//CIT CHANGE - makes it impossible to baton in stamina softcrit
to_chat(user, "<span class='danger'>You're too exhausted for that.</span>")//CIT CHANGE - ditto
return //CIT CHANGE - ditto
if(on && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
clowning_around(user) //ouch!
return
if(iscyborg(target))
..()
return
if(target.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK)) //No message; check_shields() handles that
playsound(target, 'sound/weapons/genhit.ogg', 50, 1)
return FALSE
if(user.a_intent != INTENT_HARM)
if(stun_act(target, user))
user.do_attack_animation(target)
user.adjustStaminaLossBuffered(stun_stam_cost)
return
else if(!harm_act(target, user))
return ..() //if you can't fry them just beat them with it
else //we did harm act them
user.do_attack_animation(target)
user.adjustStaminaLossBuffered(lethal_stam_cost)
/obj/item/twohanded/electrostaff/proc/stun_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE)
var/stunforce = stun_stamdmg
if(!no_charge_and_force)
if(!on)
target.visible_message("<span class='warning'>[user] has bapped [target] with [src]. Luckily it was off.</span>", \
"<span class='warning'>[user] has bapped you with [src]. Luckily it was off</span>")
turn_off() //if it wasn't already off
return FALSE
var/obj/item/stock_parts/cell/C = get_cell()
var/chargeleft = C.charge
deductcharge(stun_cost)
if(QDELETED(src) || QDELETED(C)) //boom
return FALSE
if(chargeleft < stun_cost)
stunforce *= round(chargeleft/stun_cost, 0.1)
target.adjustStaminaLoss(stunforce)
target.apply_effect(EFFECT_STUTTER, stunforce)
SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK)
if(user)
target.lastattacker = user.real_name
target.lastattackerckey = user.ckey
target.visible_message("<span class='danger'>[user] has shocked [target] with [src]!</span>", \
"<span class='userdanger'>[user] has shocked you with [src]!</span>")
log_combat(user, user, "stunned with an electrostaff")
playsound(src, 'sound/weapons/staff.ogg', 50, 1, -1)
target.apply_status_effect(stun_status_effect, stun_status_duration)
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.forcesay(GLOB.hit_appends)
return TRUE
/obj/item/twohanded/electrostaff/proc/harm_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE)
var/lethal_force = lethal_damage
if(!no_charge_and_force)
if(!on)
return FALSE //standard item attack
var/obj/item/stock_parts/cell/C = get_cell()
var/chargeleft = C.charge
deductcharge(lethal_cost)
if(QDELETED(src) || QDELETED(C)) //boom
return FALSE
if(chargeleft < stun_cost)
lethal_force *= round(chargeleft/lethal_cost, 0.1)
target.adjustFireLoss(lethal_force) //good against ointment spam
SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK)
if(user)
target.lastattacker = user.real_name
target.lastattackerckey = user.ckey
target.visible_message("<span class='danger'>[user] has seared [user] with [src]!</span>", \
"<span class='userdanger'>[user] has seared you with [src]!</span>")
log_combat(user, user, "burned with an electrostaff")
playsound(src, 'sound/weapons/sear.ogg', 50, 1, -1)
return TRUE
/obj/item/twohanded/electrostaff/proc/clowning_around(mob/living/user)
user.visible_message("<span class='danger'>[user] accidentally hits [user.p_them()]self with [src]!</span>", \
"<span class='userdanger'>You accidentally hit yourself with [src]!</span>")
SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK)
harm_act(user, user, TRUE)
stun_act(user, user, TRUE)
deductcharge(lethal_cost)
/obj/item/twohanded/electrostaff/emp_act(severity)
. = ..()
if (!(. & EMP_PROTECT_SELF))
turn_off()
if(!iscyborg(loc))
deductcharge(1000 / severity, TRUE, FALSE)
/obj/item/twohanded/broom
name = "broom"
desc = "This is my BROOMSTICK! It can be used manually or braced with two hands to sweep items as you move. It has a telescopic handle for compact storage." //LIES
@@ -1078,4 +1331,4 @@
/obj/item/twohanded/broom/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) //bless you whoever fixes this copypasta
J.put_in_cart(src, user)
J.mybroom=src
J.update_icon()
J.update_icon()
+5 -7
View File
@@ -308,28 +308,26 @@
icon = "Meow Mix"
desc = "No, we don't serve catnip, officer!"
/datum/barsign/the_hive
name = "The Hive"
icon = "thehive"
desc = "Comb in for some sweet drinks! Not known for serving any sappy drink."
/datum/barsign/hiddensigns
hidden = TRUE
//Hidden signs list below this point
/datum/barsign/hiddensigns/empbarsign
name = "Haywire Barsign"
icon = "empbarsign"
desc = "Something has gone very wrong."
/datum/barsign/hiddensigns/syndibarsign
name = "Syndi Cat Takeover"
icon = "syndibarsign"
desc = "Syndicate or die."
/datum/barsign/hiddensigns/signoff
name = "Bar Sign"
icon = "empty"
@@ -407,7 +407,7 @@
buildstackamount = 1
/obj/structure/chair/stool/bar/alien
name = "bronze bar stool"
name = "alien bar stool"
desc = "A hard bar stool made of advanced alien alloy."
icon_state = "baralien"
icon = 'icons/obj/abductor.dmi'
@@ -359,7 +359,7 @@
"<span class='italics'>You hear [welder ? "welding" : "rustling of screws and metal"].</span>")
deconstruct(TRUE)
return
if(user.transferItemToLoc(W, drop_location())) // so we put in unlit welder too
if(user.a_intent != INTENT_HARM && user.transferItemToLoc(W, drop_location())) // so we put in unlit welder too
return TRUE
else if(istype(W, /obj/item/electronics/airlock))
handle_lock_addition(user, W)
@@ -265,12 +265,15 @@
new /obj/item/clothing/head/helmet/alt(src)
new /obj/item/clothing/mask/gas/sechailer(src)
new /obj/item/clothing/suit/armor/bulletproof(src)
/obj/structure/closet/secure_closet/lethalshots
name = "shotgun lethal rounds"
name = "lethal ammunition and riot staves"
req_access = list(ACCESS_ARMORY)
icon_state = "tac"
/obj/structure/closet/secure_closet/lethalshots/PopulateContents()
..()
new /obj/item/twohanded/electrostaff(src)
new /obj/item/twohanded/electrostaff(src)
for(var/i in 1 to 3)
new /obj/item/storage/box/lethalshot(src)
+2 -2
View File
@@ -110,10 +110,10 @@
CanAtmosPass = ATMOS_PASS_NO
resistance_flags = FIRE_PROOF
/obj/structure/holosign/barrier/combolock/blocksTemperature()
/obj/structure/holosign/barrier/combifan/blocksTemperature()
return TRUE
/obj/structure/holosign/barrier/combolock/Initialize()
/obj/structure/holosign/barrier/combifan/Initialize()
. = ..()
air_update_turf(TRUE)
@@ -64,6 +64,9 @@
/obj/structure/kitchenspike/attack_hand(mob/user)
if(VIABLE_MOB_CHECK(user.pulling) && user.a_intent == INTENT_GRAB && !has_buckled_mobs())
var/mob/living/L = user.pulling
if(HAS_TRAIT(user, TRAIT_PACIFISM) && L.stat != DEAD)
to_chat(user, "<span class='warning'>You don't want to hurt a living creature!</span>")
return
if(do_mob(user, src, 120))
if(has_buckled_mobs()) //to prevent spam/queing up attacks
return
@@ -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"

Some files were not shown because too many files have changed in this diff Show More