e
a
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -26869,6 +26869,7 @@
|
||||
/area/engine/atmos)
|
||||
"aXW" = (
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
|
||||
/obj/machinery/atmospherics/miner/carbon_dioxide,
|
||||
/turf/open/floor/engine/co2,
|
||||
/area/engine/atmos)
|
||||
"aXX" = (
|
||||
@@ -29257,6 +29258,7 @@
|
||||
/area/engine/atmos)
|
||||
"bbO" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/miner/oxygen,
|
||||
/turf/open/floor/engine/o2,
|
||||
/area/engine/atmos)
|
||||
"bbP" = (
|
||||
@@ -30753,6 +30755,7 @@
|
||||
/area/engine/atmos)
|
||||
"bev" = (
|
||||
/obj/machinery/portable_atmospherics/canister/toxins,
|
||||
/obj/machinery/atmospherics/miner/toxins,
|
||||
/turf/open/floor/engine/plasma,
|
||||
/area/engine/atmos)
|
||||
"bew" = (
|
||||
@@ -32494,6 +32497,7 @@
|
||||
/area/engine/atmos)
|
||||
"bhw" = (
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen,
|
||||
/obj/machinery/atmospherics/miner/nitrogen,
|
||||
/turf/open/floor/engine/n2,
|
||||
/area/engine/atmos)
|
||||
"bhx" = (
|
||||
@@ -34606,6 +34610,7 @@
|
||||
/obj/machinery/portable_atmospherics/canister/nitrous_oxide{
|
||||
valve_open = 1
|
||||
},
|
||||
/obj/machinery/atmospherics/miner/n2o,
|
||||
/turf/open/floor/engine/n2o,
|
||||
/area/engine/atmos)
|
||||
"bkI" = (
|
||||
@@ -37308,7 +37313,6 @@
|
||||
/obj/item/clothing/accessory/armband/deputy,
|
||||
/obj/item/clothing/accessory/armband/deputy,
|
||||
/obj/item/clothing/accessory/armband/deputy,
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/cherryjelly,
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 1
|
||||
},
|
||||
|
||||
@@ -45855,6 +45855,7 @@
|
||||
/obj/machinery/portable_atmospherics/canister/nitrous_oxide{
|
||||
valve_open = 1
|
||||
},
|
||||
/obj/machinery/atmospherics/miner/n2o,
|
||||
/turf/open/floor/engine/n2o,
|
||||
/area/engine/atmos)
|
||||
"bKJ" = (
|
||||
@@ -48899,6 +48900,7 @@
|
||||
/area/engine/atmos)
|
||||
"bQY" = (
|
||||
/obj/machinery/portable_atmospherics/canister/toxins,
|
||||
/obj/machinery/atmospherics/miner/toxins,
|
||||
/turf/open/floor/engine/plasma,
|
||||
/area/engine/atmos)
|
||||
"bQZ" = (
|
||||
@@ -51342,6 +51344,7 @@
|
||||
/area/engine/atmos)
|
||||
"bVO" = (
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
|
||||
/obj/machinery/atmospherics/miner/carbon_dioxide,
|
||||
/turf/open/floor/engine/co2,
|
||||
/area/engine/atmos)
|
||||
"bVP" = (
|
||||
@@ -58454,6 +58457,7 @@
|
||||
/area/engine/atmos)
|
||||
"cjd" = (
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen,
|
||||
/obj/machinery/atmospherics/miner/nitrogen,
|
||||
/turf/open/floor/engine/n2,
|
||||
/area/engine/atmos)
|
||||
"cje" = (
|
||||
@@ -58468,6 +58472,7 @@
|
||||
/area/engine/atmos)
|
||||
"cjg" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/miner/oxygen,
|
||||
/turf/open/floor/engine/o2,
|
||||
/area/engine/atmos)
|
||||
"cjh" = (
|
||||
|
||||
@@ -16186,11 +16186,13 @@
|
||||
"aCs" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/light/small,
|
||||
/obj/machinery/atmospherics/miner/oxygen,
|
||||
/turf/open/floor/engine/o2,
|
||||
/area/engine/atmos)
|
||||
"aCw" = (
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen,
|
||||
/obj/machinery/light/small,
|
||||
/obj/machinery/atmospherics/miner/nitrogen,
|
||||
/turf/open/floor/engine/n2,
|
||||
/area/engine/atmos)
|
||||
"aCz" = (
|
||||
@@ -37669,6 +37671,7 @@
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/atmospherics/miner/n2o,
|
||||
/turf/open/floor/engine/n2o,
|
||||
/area/engine/atmos)
|
||||
"gcw" = (
|
||||
@@ -37974,6 +37977,7 @@
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/atmospherics/miner/carbon_dioxide,
|
||||
/turf/open/floor/engine/co2,
|
||||
/area/engine/atmos)
|
||||
"hTn" = (
|
||||
@@ -38421,6 +38425,7 @@
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/atmospherics/miner/toxins,
|
||||
/turf/open/floor/engine/plasma,
|
||||
/area/engine/atmos)
|
||||
"kiw" = (
|
||||
|
||||
@@ -41105,6 +41105,7 @@
|
||||
/area/engine/atmos)
|
||||
"bQa" = (
|
||||
/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
|
||||
/obj/machinery/atmospherics/miner/n2o,
|
||||
/turf/open/floor/engine/n2o,
|
||||
/area/engine/atmos)
|
||||
"bQb" = (
|
||||
@@ -42511,6 +42512,7 @@
|
||||
/area/engine/atmos)
|
||||
"bSX" = (
|
||||
/obj/machinery/portable_atmospherics/canister/toxins,
|
||||
/obj/machinery/atmospherics/miner/toxins,
|
||||
/turf/open/floor/engine/plasma,
|
||||
/area/engine/atmos)
|
||||
"bSY" = (
|
||||
@@ -44016,6 +44018,7 @@
|
||||
/area/engine/atmos)
|
||||
"bWf" = (
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
|
||||
/obj/machinery/atmospherics/miner/carbon_dioxide,
|
||||
/turf/open/floor/engine/co2,
|
||||
/area/engine/atmos)
|
||||
"bWg" = (
|
||||
@@ -46129,6 +46132,7 @@
|
||||
/area/engine/atmos)
|
||||
"cbt" = (
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen,
|
||||
/obj/machinery/atmospherics/miner/nitrogen,
|
||||
/turf/open/floor/engine/n2,
|
||||
/area/engine/atmos)
|
||||
"cbu" = (
|
||||
@@ -46136,6 +46140,7 @@
|
||||
/area/engine/atmos)
|
||||
"cbv" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/miner/oxygen,
|
||||
/turf/open/floor/engine/o2,
|
||||
/area/engine/atmos)
|
||||
"cbw" = (
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#define GROSS (1<<10)
|
||||
#define TOXIC (1<<11)
|
||||
#define PINEAPPLE (1<<12)
|
||||
#define BREAKFAST (1<<13)
|
||||
|
||||
#define DRINK_NICE 1
|
||||
#define DRINK_GOOD 2
|
||||
|
||||
@@ -224,6 +224,8 @@ GLOBAL_LIST_INIT(heavyfootmob, typecacheof(list(
|
||||
|
||||
#define isorgan(A) (istype(A, /obj/item/organ))
|
||||
|
||||
#define isclothing(A) (istype(A, /obj/item/clothing))
|
||||
|
||||
GLOBAL_LIST_INIT(pointed_types, typecacheof(list(
|
||||
/obj/item/pen,
|
||||
/obj/item/screwdriver,
|
||||
|
||||
@@ -7,4 +7,5 @@
|
||||
#define MARTIALART_MUSHPUNCH "mushroom punch"
|
||||
#define MARTIALART_KRAVMAGA "krav maga"
|
||||
#define MARTIALART_CQC "CQC"
|
||||
#define MARTIALART_PLASMAFIST "plasma fist"
|
||||
#define MARTIALART_PLASMAFIST "plasma fist"
|
||||
#define MARTIALART_RISINGBASS "rising bass"
|
||||
@@ -41,6 +41,7 @@
|
||||
#define VOICEBOX_TOGGLABLE (1<<6) //The voicebox in this clothing can be toggled.
|
||||
#define VOICEBOX_DISABLED (1<<7) //The voicebox is currently turned off.
|
||||
#define IGNORE_HAT_TOSS (1<<8) //Hats with negative effects when worn (i.e the tinfoil hat).
|
||||
#define SCAN_REAGENTS (1<<9) // Allows helmets and glasses to scan reagents.
|
||||
|
||||
// Flags for the organ_flags var on /obj/item/organ
|
||||
|
||||
|
||||
@@ -226,6 +226,7 @@
|
||||
#define NINJA_SUIT_TRAIT "ninja-suit"
|
||||
#define ANTI_DROP_IMPLANT_TRAIT "anti-drop-implant"
|
||||
#define SLEEPING_CARP_TRAIT "sleeping_carp"
|
||||
#define RISING_BASS_TRAIT "rising_bass"
|
||||
#define ABDUCTOR_ANTAGONIST "abductor-antagonist"
|
||||
#define MADE_UNCLONEABLE "made-uncloneable"
|
||||
#define NUKEOP_TRAIT "nuke-op"
|
||||
|
||||
@@ -76,6 +76,8 @@
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/insect_wings, GLOB.insect_wings_list)
|
||||
if(!GLOB.insect_fluffs_list.len)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/insect_fluff, GLOB.insect_fluffs_list)
|
||||
if(!GLOB.insect_markings_list.len)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/insect_markings, GLOB.insect_markings_list)
|
||||
|
||||
//CIT CHANGES - genitals and such
|
||||
if(!GLOB.cock_shapes_list.len)
|
||||
@@ -151,6 +153,7 @@
|
||||
"caps" = pick(GLOB.caps_list),
|
||||
"insect_wings" = pick(GLOB.insect_wings_list),
|
||||
"insect_fluff" = "None",
|
||||
"insect_markings" = pick(GLOB.insect_markings_list),
|
||||
"taur" = "None",
|
||||
"mam_body_markings" = pick(snowflake_markings_list),
|
||||
"mam_ears" = pick(snowflake_ears_list),
|
||||
|
||||
+475
-475
File diff suppressed because it is too large
Load Diff
@@ -143,6 +143,7 @@ GLOBAL_LIST_INIT(bitfields, list(
|
||||
"VOICEBOX_TOGGLABLE" = VOICEBOX_TOGGLABLE,
|
||||
"VOICEBOX_DISABLED" = VOICEBOX_DISABLED,
|
||||
"IGNORE_HAT_TOSS" = IGNORE_HAT_TOSS,
|
||||
"SCAN_REAGENTS" = SCAN_REAGENTS
|
||||
),
|
||||
"tesla_flags" = list(
|
||||
"TESLA_MOB_DAMAGE" = TESLA_MOB_DAMAGE,
|
||||
|
||||
@@ -37,6 +37,7 @@ GLOBAL_LIST_EMPTY(deco_wings_list)
|
||||
GLOBAL_LIST_EMPTY(r_wings_list)
|
||||
GLOBAL_LIST_EMPTY(insect_wings_list)
|
||||
GLOBAL_LIST_EMPTY(insect_fluffs_list)
|
||||
GLOBAL_LIST_EMPTY(insect_markings_list)
|
||||
GLOBAL_LIST_EMPTY(caps_list)
|
||||
|
||||
GLOBAL_LIST_INIT(ghost_forms_with_directions_list, list("ghost")) //stores the ghost forms that support directional sprites
|
||||
|
||||
@@ -48,3 +48,5 @@ GLOBAL_LIST_EMPTY(sortedAreas)
|
||||
GLOBAL_LIST_EMPTY_TYPED(areas_by_type, /area)
|
||||
|
||||
GLOBAL_LIST_EMPTY(all_abstract_markers)
|
||||
|
||||
GLOBAL_LIST_EMPTY(stationroom_landmarks) //List of all spawns for stationrooms
|
||||
|
||||
@@ -151,6 +151,7 @@
|
||||
var/key_mode
|
||||
var/value_mode
|
||||
var/splitter = " "
|
||||
var/lowercase = TRUE
|
||||
|
||||
/datum/config_entry/keyed_list/New()
|
||||
. = ..()
|
||||
@@ -167,7 +168,9 @@
|
||||
var/key_value = null
|
||||
|
||||
if(key_pos || value_mode == VALUE_MODE_FLAG)
|
||||
key_name = lowertext(copytext(str_val, 1, key_pos))
|
||||
key_name = copytext(str_val, 1, key_pos)
|
||||
if(lowercase)
|
||||
key_name = lowertext(key_name)
|
||||
key_value = copytext(str_val, key_pos + 1)
|
||||
var/new_key
|
||||
var/new_value
|
||||
|
||||
@@ -376,6 +376,12 @@
|
||||
|
||||
/datum/config_entry/flag/disable_stambuffer
|
||||
|
||||
/datum/config_entry/keyed_list/box_random_engine
|
||||
key_mode = KEY_MODE_TEXT
|
||||
value_mode = VALUE_MODE_FLAG
|
||||
lowercase = FALSE
|
||||
splitter = "-"
|
||||
|
||||
/datum/config_entry/number/auto_transfer_delay
|
||||
config_entry_value = 72000
|
||||
min_val = 0
|
||||
|
||||
@@ -382,6 +382,9 @@ SUBSYSTEM_DEF(air)
|
||||
CHECK_TICK
|
||||
|
||||
/datum/controller/subsystem/air/proc/setup_template_machinery(list/atmos_machines)
|
||||
if(!initialized)
|
||||
return
|
||||
|
||||
for(var/A in atmos_machines)
|
||||
var/obj/machinery/atmospherics/AM = A
|
||||
AM.atmosinit()
|
||||
|
||||
@@ -91,6 +91,7 @@ SUBSYSTEM_DEF(mapping)
|
||||
var/list/space_ruins = levels_by_trait(ZTRAIT_SPACE_RUINS)
|
||||
if (space_ruins.len)
|
||||
seedRuins(space_ruins, CONFIG_GET(number/space_budget), /area/space, space_ruins_templates)
|
||||
SSmapping.seedStation()
|
||||
loading_ruins = FALSE
|
||||
#endif
|
||||
repopulate_sorted_areas()
|
||||
@@ -363,6 +364,8 @@ GLOBAL_LIST_EMPTY(the_station_areas)
|
||||
lava_ruins_templates[R.name] = R
|
||||
else if(istype(R, /datum/map_template/ruin/space))
|
||||
space_ruins_templates[R.name] = R
|
||||
else if(istype(R, /datum/map_template/ruin/station))
|
||||
station_room_templates[R.name] = R
|
||||
|
||||
/datum/controller/subsystem/mapping/proc/preloadShuttleTemplates()
|
||||
var/list/unbuyable = generateMapList("[global.config.directory]/unbuyableshuttles.txt")
|
||||
@@ -524,4 +527,15 @@ GLOBAL_LIST_EMPTY(the_station_areas)
|
||||
if(!isolated_ruins_z)
|
||||
isolated_ruins_z = add_new_zlevel("Isolated Ruins/Reserved", list(ZTRAIT_RESERVED = TRUE, ZTRAIT_ISOLATED_RUINS = TRUE))
|
||||
initialize_reserved_level(isolated_ruins_z.z_value)
|
||||
return isolated_ruins_z.z_value
|
||||
return isolated_ruins_z.z_value
|
||||
|
||||
// Station Ruins
|
||||
/datum/controller/subsystem/mapping
|
||||
var/list/station_room_templates = list()
|
||||
|
||||
/datum/controller/subsystem/mapping/proc/seedStation()
|
||||
for(var/V in GLOB.stationroom_landmarks)
|
||||
var/obj/effect/landmark/stationroom/LM = V
|
||||
LM.load()
|
||||
if(GLOB.stationroom_landmarks.len)
|
||||
seedStation() //I'm sure we can trust everyone not to insert a 1x1 rooms which loads a landmark which loads a landmark which loads a la...
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
/datum/component/sizzle
|
||||
var/mutable_appearance/sizzling
|
||||
var/sizzlealpha = 0
|
||||
dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS
|
||||
|
||||
/datum/component/sizzle/Initialize()
|
||||
if(!isatom(parent))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
setup_sizzle()
|
||||
|
||||
/datum/component/sizzle/InheritComponent(datum/component/C, i_am_original)
|
||||
var/atom/food = parent
|
||||
sizzlealpha += 5
|
||||
sizzling.alpha = sizzlealpha
|
||||
food.cut_overlay(sizzling)
|
||||
food.add_overlay(sizzling)
|
||||
|
||||
/datum/component/sizzle/proc/setup_sizzle()
|
||||
var/atom/food = parent
|
||||
var/icon/grill_marks = icon(initial(food.icon), initial(food.icon_state)) //we only want to apply grill marks to the initial icon_state for each object
|
||||
grill_marks.Blend("#fff", ICON_ADD) //fills the icon_state with white (except where it's transparent)
|
||||
grill_marks.Blend(icon('icons/obj/kitchen.dmi', "grillmarks"), ICON_MULTIPLY) //adds grill marks and the remaining white areas become transparent
|
||||
sizzling = new(grill_marks)
|
||||
sizzling.alpha = sizzlealpha
|
||||
food.add_overlay(sizzling)
|
||||
@@ -4,7 +4,7 @@
|
||||
mid_sounds = list('sound/machines/shower/shower_mid1.ogg'=1,'sound/machines/shower/shower_mid2.ogg'=1,'sound/machines/shower/shower_mid3.ogg'=1)
|
||||
mid_length = 10
|
||||
end_sound = 'sound/machines/shower/shower_end.ogg'
|
||||
volume = 20
|
||||
volume = 10
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
mid_sounds = list('sound/machines/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/fryer/deep_fryer_2.ogg' = 1)
|
||||
mid_length = 2
|
||||
end_sound = 'sound/machines/fryer/deep_fryer_emerge.ogg'
|
||||
volume = 15
|
||||
volume = 5
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -43,3 +43,12 @@
|
||||
mid_length = 10
|
||||
end_sound = 'sound/machines/microwave/microwave-end.ogg'
|
||||
volume = 90
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/datum/looping_sound/grill
|
||||
mid_length = 2
|
||||
mid_sounds = list('sound/machines/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/fryer/deep_fryer_2.ogg' = 1)
|
||||
volume = 10
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -8,6 +8,8 @@
|
||||
var/deflection_chance = 0 //Chance to deflect projectiles
|
||||
var/reroute_deflection = FALSE //Delete the bullet, or actually deflect it in some direction?
|
||||
var/block_chance = 0 //Chance to block melee attacks using items while on throw mode.
|
||||
var/dodge_chance = 0
|
||||
var/restraining = 0 //used in cqc's disarm_act to check if the disarmed is being restrained and so whether they should be put in a chokehold or not
|
||||
var/help_verb
|
||||
var/pacifism_check = TRUE //are the martial arts combos/attacks unable to be used by pacifist.
|
||||
var/allow_temp_override = TRUE //if this martial art can be overridden by temporary martial arts
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
help_verb = /mob/living/carbon/human/proc/CQC_help
|
||||
block_chance = 75
|
||||
var/old_grab_state = null
|
||||
var/restraining = FALSE
|
||||
|
||||
/datum/martial_art/cqc/reset_streak(mob/living/carbon/human/new_target)
|
||||
. = ..()
|
||||
|
||||
@@ -0,0 +1,156 @@
|
||||
#define SIDE_KICK_COMBO "DH"
|
||||
#define SHOULDER_FLIP_COMBO "GHDGHH"
|
||||
#define REPULSE_PUNCH_COMBO "GHGH"
|
||||
#define FOOT_SMASH_COMBO "HH"
|
||||
#define DEFT_SWITCH_COMBO "GDD"
|
||||
|
||||
/datum/martial_art/the_rising_bass
|
||||
name = "The Rising Bass"
|
||||
id = MARTIALART_RISINGBASS
|
||||
dodge_chance = 100
|
||||
allow_temp_override = FALSE
|
||||
help_verb = /mob/living/carbon/human/proc/rising_bass_help
|
||||
|
||||
/datum/martial_art/the_rising_bass/proc/check_streak(mob/living/carbon/human/A, mob/living/carbon/human/D)
|
||||
if(findtext(streak,SIDE_KICK_COMBO))
|
||||
streak = ""
|
||||
sideKick(A,D)
|
||||
return 1
|
||||
if(findtext(streak,SHOULDER_FLIP_COMBO))
|
||||
streak = ""
|
||||
shoulderFlip(A,D)
|
||||
return 1
|
||||
if(findtext(streak,REPULSE_PUNCH_COMBO))
|
||||
streak = ""
|
||||
repulsePunch(A,D)
|
||||
return 1
|
||||
if(findtext(streak,FOOT_SMASH_COMBO))
|
||||
streak = ""
|
||||
footSmash(A,D)
|
||||
return 1
|
||||
if(findtext(streak,DEFT_SWITCH_COMBO))
|
||||
streak = ""
|
||||
deftSwitch(A,D)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
/datum/martial_art/the_rising_bass/proc/sideKick(mob/living/carbon/human/A, mob/living/carbon/human/D)
|
||||
if(!D.IsKnockdown() || D.lying == 0)
|
||||
var/turf/H = get_step(D, A.dir & (NORTH | SOUTH) ? pick(EAST, WEST) : pick(NORTH, SOUTH))
|
||||
A.do_attack_animation(D, ATTACK_EFFECT_KICK)
|
||||
D.visible_message("<span class='warning'>[A] kicks [D] in the side, sliding them over!</span>", \
|
||||
"<span class='userdanger'>[A] kicks you in the side, forcing you to step away!</span>")
|
||||
playsound(get_turf(A), 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
|
||||
D.apply_damage(5, BRUTE, BODY_ZONE_CHEST)
|
||||
D.Knockdown(60)
|
||||
var/L = H
|
||||
for(var/obj/i in H.contents)
|
||||
if(!istype(i,/mob) && i.density == 1)
|
||||
L = D.loc
|
||||
D.forceMove(L)
|
||||
log_combat(A, D, "side kicked (Rising Bass)")
|
||||
return 1
|
||||
return basic_hit(A,D)
|
||||
|
||||
/datum/martial_art/the_rising_bass/proc/shoulderFlip(mob/living/carbon/human/A, mob/living/carbon/human/D)
|
||||
if(!D.IsKnockdown() || !D.lying)
|
||||
var/turf/H = get_step(A, get_dir(D,A))
|
||||
var/L = H
|
||||
for(var/obj/i in H.contents)
|
||||
if(!istype(i,/mob) && i.density == 1)//(i.anchored == 1 && i.density == 1) || istype(i,/obj/structure) || istype(i,/turf/closed)
|
||||
L = A.loc
|
||||
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
|
||||
D.visible_message("<span class='warning'>[A] flips [D] over their shoulder, slamming them into the ground!</span>", \
|
||||
"<span class='userdanger'>[A] flips you over their shoulder, slamming you into the ground!</span>")
|
||||
playsound(get_turf(A), 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
|
||||
D.emote("scream")
|
||||
D.apply_damage(10, BRUTE, BODY_ZONE_CHEST)
|
||||
D.apply_damage(30, BRUTE, BODY_ZONE_HEAD)
|
||||
D.Sleeping(60)
|
||||
D.Knockdown(300)
|
||||
D.forceMove(L)
|
||||
log_combat(A, D, "shoulder flipped (Rising Bass)")
|
||||
return 1
|
||||
return basic_hit(A,D)
|
||||
|
||||
/datum/martial_art/the_rising_bass/proc/repulsePunch(mob/living/carbon/human/A, mob/living/carbon/human/D)
|
||||
if(!D.IsKnockdown() || !D.lying)
|
||||
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
|
||||
D.visible_message("<span class='warning'>[A] smashes [D] in the chest, throwing them away!</span>", \
|
||||
"<span class='userdanger'>[A] smashes you in the chest, repelling you away!</span>")
|
||||
playsound(get_turf(A), 'sound/weapons/punch1.ogg', 50, 1, -1)
|
||||
var/atom/F = get_edge_target_turf(D, get_dir(A, get_step_away(D, A)))
|
||||
D.throw_at(F, 10, 1)
|
||||
D.apply_damage(10, BRUTE, BODY_ZONE_CHEST)
|
||||
D.Knockdown(90)
|
||||
log_combat(A, D, "repulse punched (Rising Bass)")
|
||||
return 1
|
||||
return basic_hit(A,D)
|
||||
|
||||
/datum/martial_art/the_rising_bass/proc/footSmash(mob/living/carbon/human/A, mob/living/carbon/human/D)
|
||||
if(!D.IsKnockdown() || !D.lying)
|
||||
A.do_attack_animation(D, ATTACK_EFFECT_KICK)
|
||||
D.visible_message("<span class='warning'>[A] smashes their foot down on [D]'s foot!</span>", \
|
||||
"<span class='userdanger'>[A] smashes your foot!</span>")
|
||||
playsound(get_turf(A), 'sound/weapons/punch1.ogg', 50, 1, -1)
|
||||
D.apply_damage(5, BRUTE, pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG))
|
||||
D.dropItemToGround(D.get_active_held_item())
|
||||
log_combat(A, D, "foot smashed (Rising Bass)")
|
||||
return 1
|
||||
return basic_hit(A,D)
|
||||
|
||||
/datum/martial_art/the_rising_bass/proc/deftSwitch(mob/living/carbon/human/A, mob/living/carbon/human/D)
|
||||
if(!D.IsKnockdown() || !D.lying)
|
||||
if (D.get_active_held_item())
|
||||
var/obj/item/G = D.get_active_held_item()
|
||||
if (G && !(G.item_flags & (ABSTRACT|DROPDEL)) && D.temporarilyRemoveItemFromInventory(G))
|
||||
A.put_in_hands(G)
|
||||
D.visible_message("<span class='warning'>[A] slaps [D]'s hands, taking [G] from them!</span>", \
|
||||
"<span class='userdanger'>[A] slaps you, taking [G] from you!</span>")
|
||||
log_combat(A, D, "deft switched (Rising Bass)")
|
||||
return 1
|
||||
else
|
||||
to_chat(A, "<i>[G] can't be taken out of [D]'s hands!</i>")
|
||||
return 0
|
||||
|
||||
/datum/martial_art/the_rising_bass/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
|
||||
add_to_streak("D",D)
|
||||
if(check_streak(A,D))
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
/datum/martial_art/the_rising_bass/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
|
||||
add_to_streak("H",D)
|
||||
if(check_streak(A,D))
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
/datum/martial_art/the_rising_bass/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
|
||||
add_to_streak("G",D)
|
||||
if(check_streak(A,D))
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
/mob/living/carbon/human/proc/rising_bass_help()
|
||||
set name = "Recall Teachings"
|
||||
set desc = "Remember the martial techniques of the Rising Bass clan."
|
||||
set category = "Rising Bass"
|
||||
|
||||
to_chat(usr, "<b><i>You retreat inward and recall the teachings of the Rising Bass...</i></b>")
|
||||
|
||||
to_chat(usr, "<span class='notice'>Side Kick</span>: Disarm Harm. Forces opponent to step to the side.")
|
||||
to_chat(usr, "<span class='notice'>Shoulder Flip</span>: Grab Harm Disarm Grab Harm Harm. Flips opponent over your shoulder and stuns.")
|
||||
to_chat(usr, "<span class='notice'>Repulse Punch</span>: Grab Harm Grab Harm. Slams the opponent far away from you.")
|
||||
to_chat(usr, "<span class='notice'>Foot Smash</span>: Harm Harm. Stuns opponent, minor damage.")
|
||||
to_chat(usr, "<span class='notice'>Deft Switch</span>: Grab Disarm Disarm. Switches the opponent's held item for your own. Most useful with nothing in your hand.")
|
||||
|
||||
/datum/martial_art/the_rising_bass/teach(mob/living/carbon/human/H, make_temporary = FALSE)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
ADD_TRAIT(H, TRAIT_NOGUNS, RISING_BASS_TRAIT)
|
||||
|
||||
/datum/martial_art/the_rising_bass/on_remove(mob/living/carbon/human/H)
|
||||
. = ..()
|
||||
REMOVE_TRAIT(H, TRAIT_NOGUNS, RISING_BASS_TRAIT)
|
||||
@@ -134,6 +134,12 @@
|
||||
mood_change = 3
|
||||
timeout = 3000
|
||||
|
||||
/datum/mood_event/breakfast
|
||||
description = "<span class='nicegreen'>Nothing like a hearty breakfast to start the shift.</span>\n"
|
||||
mood_change = 2
|
||||
timeout = 15 MINUTES
|
||||
|
||||
//Power gamer stuff below
|
||||
/datum/mood_event/drankblood
|
||||
description = "<span class='nicegreen'>I have fed greedly from that which nourishes me.</span>\n"
|
||||
mood_change = 10
|
||||
@@ -143,6 +149,7 @@
|
||||
description = "<span class='nicegreen'>I slept in a coffin during the day. I feel whole again.</span>\n"
|
||||
mood_change = 8
|
||||
timeout = 1200
|
||||
|
||||
//Cursed stuff below.
|
||||
|
||||
/datum/mood_event/orgasm
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
/datum/map_template/ruin/station
|
||||
prefix = "_maps/RandomRuins/StationRuins/"
|
||||
cost = 0
|
||||
|
||||
// Boxstation
|
||||
// Engine
|
||||
|
||||
/datum/map_template/ruin/station/box/engine
|
||||
id = "engine_sm"
|
||||
suffix = "Box/Engine/engine_sm.dmm"
|
||||
name = "Engine SM"
|
||||
|
||||
/datum/map_template/ruin/station/box/engine/singulo
|
||||
id = "engine_singulo"
|
||||
suffix = "Box/Engine/engine_singulo.dmm"
|
||||
name = "Engine Singulo"
|
||||
|
||||
/datum/map_template/ruin/station/box/engine/tesla
|
||||
id = "engine_tesla"
|
||||
suffix = "Box/Engine/engine_tesla.dmm"
|
||||
name = "Engine Tesla"
|
||||
@@ -72,6 +72,11 @@
|
||||
desc = "It's still good. Four second rule!"
|
||||
icon_state = "flour"
|
||||
|
||||
/obj/effect/decal/cleanable/greenglow/ecto
|
||||
name = "ectoplasmic puddle"
|
||||
desc = "You know who to call."
|
||||
light_power = 2
|
||||
|
||||
/obj/effect/decal/cleanable/greenglow
|
||||
name = "glowing goo"
|
||||
desc = "Jeez. I hope that's not for lunch."
|
||||
|
||||
@@ -432,3 +432,52 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player)
|
||||
GLOB.ruin_landmarks -= src
|
||||
ruin_template = null
|
||||
. = ..()
|
||||
|
||||
//------Station Rooms Landmarks------------//
|
||||
/obj/effect/landmark/stationroom
|
||||
var/list/template_names = list()
|
||||
layer = BULLET_HOLE_LAYER
|
||||
|
||||
/obj/effect/landmark/stationroom/New()
|
||||
..()
|
||||
GLOB.stationroom_landmarks += src
|
||||
|
||||
/obj/effect/landmark/stationroom/Destroy()
|
||||
if(src in GLOB.stationroom_landmarks)
|
||||
GLOB.stationroom_landmarks -= src
|
||||
return ..()
|
||||
|
||||
/obj/effect/landmark/stationroom/proc/load(template_name)
|
||||
var/turf/T = get_turf(src)
|
||||
if(!T)
|
||||
return FALSE
|
||||
if(!template_name)
|
||||
for(var/t in template_names)
|
||||
if(!SSmapping.station_room_templates[t])
|
||||
log_world("Station room spawner placed at ([T.x], [T.y], [T.z]) has invalid ruin name of \"[t]\" in its list")
|
||||
template_names -= t
|
||||
template_name = safepick(template_names)
|
||||
if(!template_name)
|
||||
GLOB.stationroom_landmarks -= src
|
||||
qdel(src)
|
||||
return FALSE
|
||||
var/datum/map_template/template = SSmapping.station_room_templates[template_name]
|
||||
if(!template)
|
||||
return FALSE
|
||||
testing("Room \"[template_name]\" placed at ([T.x], [T.y], [T.z])")
|
||||
template.load(T, centered = FALSE)
|
||||
template.loaded++
|
||||
GLOB.stationroom_landmarks -= src
|
||||
qdel(src)
|
||||
return TRUE
|
||||
|
||||
// The landmark for the Engine on Box
|
||||
|
||||
/obj/effect/landmark/stationroom/box/engine
|
||||
template_names = list("Engine SM", "Engine Singulo", "Engine Tesla")
|
||||
icon = 'icons/rooms/box/engine.dmi'
|
||||
|
||||
|
||||
/obj/effect/landmark/stationroom/box/engine/New()
|
||||
. = ..()
|
||||
template_names = CONFIG_GET(keyed_list/box_random_engine)
|
||||
@@ -76,7 +76,7 @@ GLOBAL_LIST_EMPTY(possible_gifts)
|
||||
/obj/item/clothing/suit/poncho/red,
|
||||
/obj/item/clothing/suit/snowman,
|
||||
/obj/item/clothing/head/snowman,
|
||||
/obj/item/trash/coal)
|
||||
/obj/item/stack/sheet/mineral/coal)
|
||||
|
||||
gift_type_list += subtypesof(/obj/item/clothing/head/collectable)
|
||||
gift_type_list += subtypesof(/obj/item/toy) - (((typesof(/obj/item/toy/cards) - /obj/item/toy/cards/deck) + /obj/item/toy/figure + /obj/item/toy/ammo)) //All toys, except for abstract types and syndicate cards.
|
||||
|
||||
@@ -414,6 +414,23 @@
|
||||
name = "empty scroll"
|
||||
icon_state = "blankscroll"
|
||||
|
||||
/obj/item/book/granter/martial/bass
|
||||
martial = /datum/martial_art/the_rising_bass
|
||||
name = "shifting scroll"
|
||||
martialname = "rising bass"
|
||||
desc = "A paper scroll that seems to move even as you read it, the letters never seem to stay still."
|
||||
greet = "<span class='sciradio'>You have learned the ancient martial art of the Rising Bass. Your skill at running away has increased quite a bit. Use the combos to get away from opponents quickly. Along with this, you now dodge all projectiles and catch anything thrown at you.</span>"
|
||||
icon = 'icons/obj/wizard.dmi'
|
||||
icon_state = "scroll2"
|
||||
remarks = list("The trick is to disarm them...","Running away helps in many situations...","Never stay still...","Fighting won't help unless you're forced to...", "Crush their limbs to incapacitate them...", "Stay as far away as possible...")
|
||||
|
||||
/obj/item/book/granter/martial/bass/onlearned(mob/living/carbon/user)
|
||||
..()
|
||||
if(oneuse == TRUE)
|
||||
desc = "It's completely blank."
|
||||
name = "empty scroll"
|
||||
icon_state = "blankscroll"
|
||||
|
||||
/obj/item/book/granter/martial/plasma_fist
|
||||
martial = /datum/martial_art/plasma_fist
|
||||
name = "frayed scroll"
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
name = "medical pack"
|
||||
singular_name = "medical pack"
|
||||
icon = 'icons/obj/stack_objects.dmi'
|
||||
amount = 6
|
||||
max_amount = 6
|
||||
amount = 12
|
||||
max_amount = 12
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
full_w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 3
|
||||
@@ -55,9 +55,8 @@
|
||||
icon_state = "brutepack"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
||||
var/heal_brute = 25
|
||||
var/heal_brute = 20
|
||||
self_delay = 20
|
||||
max_amount = 12
|
||||
grind_results = list("styptic_powder" = 10)
|
||||
|
||||
/obj/item/stack/medical/bruise_pack/heal(mob/living/M, mob/user)
|
||||
@@ -92,7 +91,6 @@
|
||||
var/stop_bleeding = 1800
|
||||
var/heal_brute = 5
|
||||
self_delay = 10
|
||||
max_amount = 12
|
||||
|
||||
/obj/item/stack/medical/gauze/heal(mob/living/M, mob/user)
|
||||
if(ishuman(M))
|
||||
@@ -125,6 +123,7 @@
|
||||
singular_name = "improvised gauze"
|
||||
desc = "A roll of cloth roughly cut from something that can stop bleeding, but does not heal wounds."
|
||||
stop_bleeding = 900
|
||||
heal_brute = 0
|
||||
|
||||
/obj/item/stack/medical/gauze/cyborg
|
||||
materials = list()
|
||||
@@ -139,9 +138,8 @@
|
||||
icon_state = "ointment"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
||||
var/heal_burn = 25
|
||||
var/heal_burn = 20
|
||||
self_delay = 20
|
||||
max_amount = 12
|
||||
grind_results = list("silver_sulfadiazine" = 10)
|
||||
|
||||
/obj/item/stack/medical/ointment/heal(mob/living/M, mob/user)
|
||||
|
||||
@@ -4,7 +4,6 @@ Mineral Sheets
|
||||
- Sandstone
|
||||
- Sandbags
|
||||
- Diamond
|
||||
- Snow
|
||||
- Uranium
|
||||
- Plasma
|
||||
- Gold
|
||||
@@ -15,8 +14,9 @@ Mineral Sheets
|
||||
Others:
|
||||
- Adamantine
|
||||
- Mythril
|
||||
- Enriched Uranium
|
||||
- Snow
|
||||
- Abductor
|
||||
- Coal
|
||||
*/
|
||||
|
||||
/obj/item/stack/sheet/mineral/Initialize(mapload)
|
||||
@@ -410,3 +410,36 @@ GLOBAL_LIST_INIT(abductor_recipes, list ( \
|
||||
/obj/item/stack/sheet/mineral/abductor/Initialize(mapload, new_amount, merge = TRUE)
|
||||
recipes = GLOB.abductor_recipes
|
||||
. = ..()
|
||||
|
||||
/*
|
||||
* Coal
|
||||
*/
|
||||
|
||||
/obj/item/stack/sheet/mineral/coal
|
||||
name = "coal"
|
||||
desc = "Someone's gotten on the naughty list."
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
icon_state = "slag"
|
||||
singular_name = "coal lump"
|
||||
merge_type = /obj/item/stack/sheet/mineral/coal
|
||||
grind_results = list("carbon" = 20)
|
||||
|
||||
/obj/item/stack/sheet/mineral/coal/attackby(obj/item/W, mob/user, params)
|
||||
if(W.get_temperature() > 300)//If the temperature of the object is over 300, then ignite
|
||||
var/turf/T = get_turf(src)
|
||||
message_admins("Coal ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(T)]")
|
||||
log_game("Coal ignited by [key_name(user)] in [AREACOORD(T)]")
|
||||
fire_act(W.get_temperature())
|
||||
return TRUE
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/stack/sheet/mineral/coal/fire_act(exposed_temperature, exposed_volume)
|
||||
atmos_spawn_air("co2=[amount*10];TEMP=[exposed_temperature]")
|
||||
qdel(src)
|
||||
|
||||
/obj/item/stack/sheet/mineral/coal/five
|
||||
amount = 5
|
||||
|
||||
/obj/item/stack/sheet/mineral/coal/ten
|
||||
amount = 10
|
||||
@@ -72,17 +72,10 @@
|
||||
resistance_flags = NONE
|
||||
grind_results = list("aluminium" = 10)
|
||||
|
||||
/obj/item/trash/boritos
|
||||
name = "boritos bag"
|
||||
icon_state = "boritos"
|
||||
grind_results = list("aluminium" = 1) //from the mylar bag
|
||||
|
||||
/obj/item/trash/attack(mob/M, mob/living/user)
|
||||
return
|
||||
|
||||
/obj/item/trash/coal
|
||||
name = "lump of coal"
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
icon_state = "slag"
|
||||
desc = "Someone's gotten on the naughty list."
|
||||
grind_results = list("carbon" = 20)
|
||||
|
||||
/obj/item/trash/coal/burn()
|
||||
visible_message("[src] fuses into a diamond! Someone wasn't so naughty after all...")
|
||||
new /obj/item/stack/ore/diamond(loc)
|
||||
qdel(src)
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
|
||||
/mob/living/carbon/human/ShowAsPaleExamine()
|
||||
// Check for albino, as per human/examine.dm's check.
|
||||
if(skin_tone == "albino")
|
||||
if(dna.species.use_skintones && skin_tone == "albino")
|
||||
return TRUE
|
||||
|
||||
return ..() // Return vamp check
|
||||
|
||||
@@ -176,6 +176,23 @@
|
||||
/obj/item/storage/bag/tray)
|
||||
crate_name = "fruit crate"
|
||||
|
||||
/datum/supply_pack/organic/grill
|
||||
name = "Grilling Starter Kit"
|
||||
desc = "Hey dad I'm Hungry. Hi Hungry I'm THE NEW GRILLING STARTER KIT ONLY 5000 BUX GET NOW! Contains a cooking grill and five fuel coal sheets."
|
||||
cost = 3000
|
||||
crate_type = /obj/structure/closet/crate
|
||||
contains = list(/obj/item/stack/sheet/mineral/coal/five,
|
||||
/obj/machinery/grill/unwrenched)
|
||||
crate_name = "grilling starter kit crate"
|
||||
|
||||
/datum/supply_pack/organic/grillfuel
|
||||
name = "Grilling Fuel Kit"
|
||||
desc = "Contains coal and coal accessories. (Note: only ten coal sheets.)"
|
||||
cost = 1000
|
||||
crate_type = /obj/structure/closet/crate
|
||||
contains = list(/obj/item/stack/sheet/mineral/coal/ten)
|
||||
crate_name = "grilling fuel kit crate"
|
||||
|
||||
/datum/supply_pack/organic/cream_piee
|
||||
name = "High-yield Clown-grade Cream Pie Crate"
|
||||
desc = "Designed by Aussec's Advanced Warfare Research Division, these high-yield, Clown-grade cream pies are powered by a synergy of performance and efficiency. Guaranteed to provide maximum results."
|
||||
|
||||
@@ -103,6 +103,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
"legs" = "Plantigrade",
|
||||
"insect_wings" = "Plain",
|
||||
"insect_fluff" = "None",
|
||||
"insect_markings" = "None",
|
||||
"mcolor2" = "FFF",
|
||||
"mcolor3" = "FFF",
|
||||
"mam_body_markings" = "Plain",
|
||||
@@ -620,6 +621,19 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
|
||||
dat += "<a style='display:block;width:100px' href='?_src_=prefs;preference=taur;task=input'>[features["taur"]]</a>"
|
||||
|
||||
if("insect_markings" in pref_species.default_features)
|
||||
if(!mutant_category)
|
||||
dat += APPEARANCE_CATEGORY_COLUMN
|
||||
|
||||
dat += "<h3>Insect markings</h3>"
|
||||
|
||||
dat += "<a href='?_src_=prefs;preference=insect_markings;task=input'>[features["insect_markings"]]</a><BR>"
|
||||
|
||||
mutant_category++
|
||||
if(mutant_category >= MAX_MUTANT_ROWS)
|
||||
dat += "</td>"
|
||||
mutant_category = 0
|
||||
|
||||
mutant_category++
|
||||
if(mutant_category >= MAX_MUTANT_ROWS)
|
||||
dat += "</td>"
|
||||
@@ -1743,6 +1757,12 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
if(new_insect_fluff)
|
||||
features["insect_fluff"] = new_insect_fluff
|
||||
|
||||
if("insect_markings")
|
||||
var/new_insect_markings
|
||||
new_insect_markings = input(user, "Choose your character's markings:", "Character Preference") as null|anything in GLOB.insect_markings_list
|
||||
if(new_insect_markings)
|
||||
features["insect_markings"] = new_insect_markings
|
||||
|
||||
if("s_tone")
|
||||
var/new_s_tone = input(user, "Choose your character's skin-tone:", "Character Preference") as null|anything in GLOB.skin_tones
|
||||
if(new_s_tone)
|
||||
|
||||
@@ -366,9 +366,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
S["feature_lizard_legs"] >> features["legs"]
|
||||
S["feature_human_tail"] >> features["tail_human"]
|
||||
S["feature_human_ears"] >> features["ears"]
|
||||
S["feature_deco_wings"] >> features["deco_wings"]
|
||||
S["feature_insect_wings"] >> features["insect_wings"]
|
||||
S["feature_deco_wings"] >> features["deco_wings"]
|
||||
S["feature_insect_fluff"] >> features["insect_fluff"]
|
||||
S["feature_insect_markings"] >> features["insect_markings"]
|
||||
|
||||
//Custom names
|
||||
for(var/custom_name_id in GLOB.preferences_custom_names)
|
||||
@@ -503,9 +504,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
features["spines"] = sanitize_inlist(features["spines"], GLOB.spines_list)
|
||||
features["body_markings"] = sanitize_inlist(features["body_markings"], GLOB.body_markings_list)
|
||||
features["feature_lizard_legs"] = sanitize_inlist(features["legs"], GLOB.legs_list)
|
||||
features["insect_wings"] = sanitize_inlist(features["insect_wings"], GLOB.insect_wings_list)
|
||||
features["deco_wings"] = sanitize_inlist(features["deco_wings"], GLOB.deco_wings_list, "None")
|
||||
features["insect_fluff"] = sanitize_inlist(features["insect_fluff"], GLOB.insect_fluffs_list)
|
||||
features["insect_markings"] = sanitize_inlist(features["insect_markings"], GLOB.insect_markings_list, "None")
|
||||
features["insect_wings"] = sanitize_inlist(features["insect_wings"], GLOB.insect_wings_list)
|
||||
|
||||
joblessrole = sanitize_integer(joblessrole, 1, 3, initial(joblessrole))
|
||||
//Validate job prefs
|
||||
@@ -570,11 +572,13 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
WRITE_FILE(S["feature_lizard_spines"] , features["spines"])
|
||||
WRITE_FILE(S["feature_lizard_body_markings"] , features["body_markings"])
|
||||
WRITE_FILE(S["feature_lizard_legs"] , features["legs"])
|
||||
WRITE_FILE(S["feature_insect_wings"] , features["insect_wings"])
|
||||
WRITE_FILE(S["feature_deco_wings"] , features["deco_wings"])
|
||||
WRITE_FILE(S["feature_insect_wings"] , features["insect_wings"])
|
||||
WRITE_FILE(S["feature_insect_fluff"] , features["insect_fluff"])
|
||||
WRITE_FILE(S["feature_insect_markings"] , features["insect_markings"])
|
||||
WRITE_FILE(S["feature_meat"] , features["meat_type"])
|
||||
|
||||
|
||||
//Custom names
|
||||
for(var/custom_name_id in GLOB.preferences_custom_names)
|
||||
var/savefile_slot_name = custom_name_id + "_name" //TODO remove this
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
var/cooldown = 0
|
||||
var/obj/item/flashlight/F = null
|
||||
var/can_flashlight = 0
|
||||
var/scan_reagents = 0 //Can the wearer see reagents while it's equipped?
|
||||
|
||||
var/blocks_shove_knockdown = FALSE //Whether wearing the clothing item blocks the ability for shove to knock down.
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
desc = "A pair of snazzy goggles used to protect against chemical spills. Fitted with an analyzer for scanning items and reagents."
|
||||
icon_state = "purple"
|
||||
item_state = "glasses"
|
||||
scan_reagents = TRUE //You can see reagents while wearing science goggles
|
||||
clothing_flags = SCAN_REAGENTS //You can see reagents while wearing science goggles
|
||||
actions_types = list(/datum/action/item_action/toggle_research_scanner)
|
||||
glass_colour_type = /datum/client_colour/glass_colour/purple
|
||||
resistance_flags = ACID_PROOF
|
||||
@@ -203,7 +203,7 @@
|
||||
/obj/item/clothing/glasses/sunglasses/reagent
|
||||
name = "beer goggles"
|
||||
desc = "A pair of sunglasses outfitted with apparatus to scan reagents."
|
||||
scan_reagents = TRUE
|
||||
clothing_flags = SCAN_REAGENTS
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/garb
|
||||
name = "black gar glasses"
|
||||
@@ -405,7 +405,7 @@
|
||||
item_state = "godeye"
|
||||
vision_flags = SEE_TURFS|SEE_MOBS|SEE_OBJS
|
||||
darkness_view = 8
|
||||
scan_reagents = TRUE
|
||||
clothing_flags = SCAN_REAGENTS
|
||||
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
|
||||
resistance_flags = LAVA_PROOF | FIRE_PROOF
|
||||
|
||||
|
||||
@@ -445,7 +445,7 @@
|
||||
flash_protect = 0
|
||||
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75)
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
|
||||
scan_reagents = TRUE
|
||||
clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS | SCAN_REAGENTS
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/medical
|
||||
icon_state = "hardsuit-medical"
|
||||
@@ -467,7 +467,7 @@
|
||||
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
|
||||
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 100, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 80)
|
||||
var/obj/machinery/doppler_array/integrated/bomb_radar
|
||||
scan_reagents = TRUE
|
||||
clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS | SCAN_REAGENTS
|
||||
actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_research_scanner)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/rd/Initialize()
|
||||
@@ -638,7 +638,7 @@
|
||||
armor = list("melee" = 20, "bullet" = 15, "laser" = 15, "energy" = 45, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
|
||||
item_color = "ancient"
|
||||
brightness_on = 16
|
||||
scan_reagents = TRUE
|
||||
clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS | SCAN_REAGENTS
|
||||
flash_protect = 5 //We will not be flash by bombs
|
||||
tint = 1
|
||||
var/obj/machinery/doppler_array/integrated/bomb_radar
|
||||
|
||||
@@ -198,6 +198,7 @@
|
||||
spillable = TRUE
|
||||
resistance_flags = FREEZE_PROOF
|
||||
isGlass = FALSE
|
||||
foodtype = BREAKFAST
|
||||
|
||||
//Used by MREs
|
||||
/obj/item/reagent_containers/food/drinks/coffee/type2
|
||||
@@ -317,27 +318,27 @@
|
||||
icon_state = "orangebox"
|
||||
name = "orange juice box"
|
||||
desc = "A great source of vitamins. Stay healthy!"
|
||||
foodtype = FRUIT
|
||||
foodtype = FRUIT | BREAKFAST
|
||||
if("milk")
|
||||
icon_state = "milkbox"
|
||||
name = "carton of milk"
|
||||
desc = "An excellent source of calcium for growing space explorers."
|
||||
foodtype = DAIRY
|
||||
foodtype = DAIRY | BREAKFAST
|
||||
if("applejuice")
|
||||
icon_state = "juicebox"
|
||||
name = "apple juice box"
|
||||
desc = "Sweet apple juice. Don't be late for school!"
|
||||
foodtype = FRUIT
|
||||
foodtype = FRUIT | BREAKFAST
|
||||
if("grapejuice")
|
||||
icon_state = "grapebox"
|
||||
name = "grape juice box"
|
||||
desc = "Tasty grape juice in a fun little container. Non-alcoholic!"
|
||||
foodtype = FRUIT
|
||||
foodtype = FRUIT | BREAKFAST
|
||||
if("chocolate_milk")
|
||||
icon_state = "chocolatebox"
|
||||
name = "carton of chocolate milk"
|
||||
desc = "Milk for cool kids!"
|
||||
foodtype = SUGAR
|
||||
foodtype = SUGAR | BREAKFAST
|
||||
if("eggnog")
|
||||
icon_state = "nog2"
|
||||
name = "carton of eggnog"
|
||||
@@ -524,3 +525,10 @@
|
||||
desc = "There is no air shortage. Do not drink."
|
||||
icon_state = "air"
|
||||
list_reagents = list("nitrogen" = 24, "oxygen" = 6)
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/soda_cans/monkey_energy
|
||||
name = "Monkey Energy"
|
||||
desc = "Unleash the ape!"
|
||||
icon_state = "monkey_energy"
|
||||
list_reagents = list("monkey_energy" = 50)
|
||||
foodtype = SUGAR | JUNKFOOD
|
||||
|
||||
@@ -429,7 +429,7 @@
|
||||
righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
|
||||
isGlass = FALSE
|
||||
list_reagents = list("orangejuice" = 100)
|
||||
foodtype = FRUIT
|
||||
foodtype = FRUIT| BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/bottle/cream
|
||||
name = "milk cream"
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
/// the parent to the exclusion list in code/__HELPERS/unsorted.dm's
|
||||
/// get_random_food proc.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define STOP_SERVING_BREAKFAST (15 MINUTES)
|
||||
|
||||
/obj/item/reagent_containers/food
|
||||
possible_transfer_amounts = list()
|
||||
volume = 50 //Sets the default container amount for all food items.
|
||||
@@ -40,4 +43,8 @@
|
||||
if(foodtype & H.dna.species.toxic_food)
|
||||
to_chat(H, "<span class='warning'>You don't feel so good...</span>")
|
||||
H.adjust_disgust(25 + 30 * fraction)
|
||||
if((foodtype & BREAKFAST) && world.time - SSticker.round_start_time < STOP_SERVING_BREAKFAST)
|
||||
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "breakfast", /datum/mood_event/breakfast)
|
||||
last_check_time = world.time
|
||||
|
||||
#undef STOP_SERVING_BREAKFAST
|
||||
@@ -26,6 +26,7 @@
|
||||
"cornoil" = list("oliveoil", "corn oil bottle", "A delicious oil used in cooking. Made from corn"),
|
||||
"sugar" = list("emptycondiment", "sugar bottle", "Tasty spacey sugar!"),
|
||||
"mayonnaise" = list("mayonnaise", "mayonnaise jar", "An oily condiment made from egg yolks."),
|
||||
"bbqsauce" = list("condi_bbq", "BBQ sauce", "Hand wipes not included."),
|
||||
"peanut_butter" = list("peanutbutter", "peanut butter jar", "A deliciously and sticky spread made from peanuts."))
|
||||
var/originalname = "condiment" //Can't use initial(name) for this. This stores the name set by condimasters.
|
||||
|
||||
@@ -299,3 +300,8 @@
|
||||
name = "astrotame pack"
|
||||
originalname = "astrotame"
|
||||
list_reagents = list("astrotame" = 5)
|
||||
|
||||
/obj/item/reagent_containers/food/condiment/pack/bbqsauce
|
||||
name = "bbq sauce pack"
|
||||
originalname = "bbq sauce"
|
||||
list_reagents = list("bbqsauce" = 10)
|
||||
|
||||
@@ -52,6 +52,8 @@ All foods are distributed among various categories. Use common sense.
|
||||
var/list/bonus_reagents //the amount of reagents (usually nutriment and vitamin) added to crafted/cooked snacks, on top of the ingredients reagents.
|
||||
var/customfoodfilling = 1 // whether it can be used as filling in custom food
|
||||
var/list/tastes // for example list("crisps" = 2, "salt" = 1)
|
||||
var/dunkable = FALSE // for dunkable food, make true
|
||||
var/dunk_amount = 10 // how much reagent is transferred per dunk
|
||||
|
||||
//Placeholder for effect that trigger on eating that aren't tied to reagents.
|
||||
|
||||
@@ -328,6 +330,24 @@ All foods are distributed among various categories. Use common sense.
|
||||
M.emote("me", EMOTE_VISIBLE, "[sattisfaction_text]")
|
||||
qdel(src)
|
||||
|
||||
//////////////////////////////////////////Dunking///////////////////////////////////////////
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/afterattack(obj/item/reagent_containers/M, mob/user, proximity)
|
||||
. = ..()
|
||||
if(!dunkable || !proximity)
|
||||
return
|
||||
if(istype(M, /obj/item/reagent_containers/glass) || istype(M, /obj/item/reagent_containers/food/drinks)) //you can dunk dunkable snacks into beakers or drinks
|
||||
if(!M.is_drainable())
|
||||
to_chat(user, "<span class='warning'>[M] is unable to be dunked in!</span>")
|
||||
return
|
||||
if(M.reagents.trans_to(src, dunk_amount)) //if reagents were transfered, show the message
|
||||
to_chat(user, "<span class='notice'>You dunk the [M].</span>")
|
||||
return
|
||||
if(!M.reagents.total_volume)
|
||||
to_chat(user, "<span class='warning'>[M] is empty!</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] is full!</span>")
|
||||
|
||||
// //////////////////////////////////////////////Store////////////////////////////////////////
|
||||
/// All the food items that can store an item inside itself, like bread or cake.
|
||||
/obj/item/reagent_containers/food/snacks/store
|
||||
|
||||
@@ -57,6 +57,33 @@
|
||||
else if(subjectjob)
|
||||
S.name = "[subjectjob] meatsteak"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/rawcrab
|
||||
name = "raw crab meat"
|
||||
desc = "A pile of raw crab meat."
|
||||
icon_state = "crabmeatraw"
|
||||
cooked_type = /obj/item/reagent_containers/food/snacks/meat/crab
|
||||
bitesize = 3
|
||||
list_reagents = list("nutriment" = 1, "cooking_oil" = 3)
|
||||
filling_color = "#EAD079"
|
||||
tastes = list("raw crab" = 1)
|
||||
foodtype = RAW | MEAT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/crab
|
||||
name = "crab meat"
|
||||
desc = "Some deliciously cooked crab meat."
|
||||
icon_state = "crabmeat"
|
||||
list_reagents = list("nutriment" = 2)
|
||||
bonus_reagents = list("nutriment" = 3, "vitamin" = 2, "cooking_oil" = 2)
|
||||
filling_color = "#DFB73A"
|
||||
tastes = list("crab" = 1)
|
||||
foodtype = MEAT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/slab/chicken
|
||||
name = "chicken meat"
|
||||
desc = "A slab of raw chicken. Remember to wash your hands!"
|
||||
cooked_type = /obj/item/reagent_containers/food/snacks/meat/steak/chicken
|
||||
slice_path = /obj/item/reagent_containers/food/snacks/meat/rawcutlet/chicken
|
||||
tastes = list("chicken" = 1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/slime
|
||||
icon_state = "slimemeat"
|
||||
@@ -205,7 +232,6 @@
|
||||
tastes = list("meat" = 1, "salmon" = 1)
|
||||
foodtype = RAW | MEAT
|
||||
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/slab/xeno
|
||||
name = "xeno meat"
|
||||
desc = "A slab of meat."
|
||||
@@ -229,7 +255,6 @@
|
||||
tastes = list("cobwebs" = 1)
|
||||
foodtype = RAW | MEAT | TOXIC
|
||||
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/slab/goliath
|
||||
name = "goliath meat"
|
||||
desc = "A slab of goliath meat. It's not very edible now, but it cooks great in lava."
|
||||
@@ -277,7 +302,7 @@
|
||||
bonus_reagents = list("nutriment" = 1, "vitamin" = 1, "cooking_oil" = 2)
|
||||
filling_color = "#854817"
|
||||
tastes = list("bacon" = 1)
|
||||
foodtype = MEAT
|
||||
foodtype = MEAT | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/slab/gondola
|
||||
name = "gondola meat"
|
||||
@@ -303,6 +328,10 @@
|
||||
foodtype = MEAT
|
||||
tastes = list("meat" = 1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/steak/chicken
|
||||
name = "chicken steak" //Can you have chicken steaks? Maybe this should be renamed once it gets new sprites.
|
||||
tastes = list("chicken" = 1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/steak/plain
|
||||
foodtype = MEAT
|
||||
|
||||
@@ -310,6 +339,10 @@
|
||||
tastes = list("tender meat" = 1)
|
||||
foodtype = MEAT | GROSS
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/steak/penguin
|
||||
name = "penguin steak"
|
||||
tastes = list("beef" = 1, "cod fish" = 1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/steak/killertomato
|
||||
name = "killer tomato steak"
|
||||
tastes = list("tomato" = 1)
|
||||
@@ -376,6 +409,11 @@
|
||||
else if(subjectjob)
|
||||
S.name = "[subjectjob] [initial(S.name)]"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/rawcutlet/chicken
|
||||
name = "raw chicken cutlet"
|
||||
cooked_type = /obj/item/reagent_containers/food/snacks/meat/cutlet/chicken
|
||||
tastes = list("chicken" = 1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/rawcutlet/killertomato
|
||||
name = "raw killer tomato cutlet"
|
||||
cooked_type = /obj/item/reagent_containers/food/snacks/meat/cutlet/killertomato
|
||||
@@ -441,3 +479,11 @@
|
||||
/obj/item/reagent_containers/food/snacks/meat/cutlet/gondola
|
||||
name = "gondola cutlet"
|
||||
tastes = list("meat" = 1, "tranquility" = 1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/cutlet/penguin
|
||||
name = "penguin cutlet"
|
||||
tastes = list("beef" = 1, "cod fish" = 1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/meat/cutlet/chicken
|
||||
name = "chicken cutlet"
|
||||
tastes = list("chicken" = 1)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
slices_num = 5
|
||||
tastes = list("bread" = 10)
|
||||
foodtype = GRAIN
|
||||
|
||||
dunkable = TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/breadslice
|
||||
icon = 'icons/obj/food/burgerbread.dmi'
|
||||
@@ -16,6 +16,7 @@
|
||||
slot_flags = ITEM_SLOT_HEAD
|
||||
customfoodfilling = 0 //to avoid infinite bread-ception
|
||||
foodtype = GRAIN
|
||||
dunkable = TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/store/bread/plain
|
||||
name = "bread"
|
||||
@@ -270,6 +271,7 @@ GLOBAL_LIST_INIT(frying_bad_chems, list(
|
||||
list_reagents = list("nutriment" = 4)
|
||||
bonus_reagents = list("nutriment" = 1, "vitamin" = 1)
|
||||
tastes = list("butter" = 1, "toast" = 1)
|
||||
foodtype = GRAIN | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/butterbiscuit
|
||||
name = "butter biscuit"
|
||||
@@ -280,6 +282,7 @@ GLOBAL_LIST_INIT(frying_bad_chems, list(
|
||||
list_reagents = list("nutriment" = 5)
|
||||
bonus_reagents = list("nutriment" = 1, "vitamin" = 1)
|
||||
tastes = list("butter" = 1, "biscuit" = 1)
|
||||
foodtype = GRAIN | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/butterdog
|
||||
name = "butterdog"
|
||||
|
||||
@@ -134,13 +134,54 @@
|
||||
tastes = list("bun" = 4, "brains" = 2)
|
||||
foodtype = GRAIN | MEAT | GROSS
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/obj/item/reagent_containers/food/snacks/burger/ghost
|
||||
name = "ghost burger"
|
||||
desc = "Too Spooky!"
|
||||
alpha = 125
|
||||
icon_state = "ghostburger"
|
||||
bonus_reagents = list("nutriment" = 5, "vitamin" = 12)
|
||||
tastes = list("bun" = 4, "ectoplasm" = 2)
|
||||
foodtype = GRAIN
|
||||
alpha = 170
|
||||
verb_say = "moans"
|
||||
verb_yell = "wails"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/burger/ghost/Initialize()
|
||||
. = ..()
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/burger/ghost/process()
|
||||
if(!isturf(loc)) //no floating out of bags
|
||||
return
|
||||
var/paranormal_activity = rand(100)
|
||||
switch(paranormal_activity)
|
||||
if(97 to 100)
|
||||
audible_message("[src] rattles a length of chain.")
|
||||
playsound(loc,'sound/spookoween/chain_rattling.ogg', 300, TRUE)
|
||||
if(91 to 96)
|
||||
say(pick("OoOoOoo.", "OoooOOooOoo!!"))
|
||||
if(84 to 90)
|
||||
dir = pick(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)
|
||||
step(src, dir)
|
||||
if(71 to 83)
|
||||
step(src, dir)
|
||||
if(65 to 70)
|
||||
var/obj/machinery/light/L = locate(/obj/machinery/light) in view(4, src)
|
||||
if(L)
|
||||
L.flicker()
|
||||
if(62 to 64)
|
||||
playsound(loc,pick('sound/hallucinations/i_see_you1.ogg', 'sound/hallucinations/i_see_you2.ogg'), 50, TRUE, ignore_walls = FALSE)
|
||||
if(61)
|
||||
visible_message("[src] spews out a glob of ectoplasm!")
|
||||
new /obj/effect/decal/cleanable/greenglow/ecto(loc)
|
||||
playsound(loc,'sound/effects/splat.ogg', 200, TRUE)
|
||||
|
||||
//If i was less lazy i would make the burger forcefeed itself to a nearby mob here.
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/burger/ghost/Destroy()
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
. = ..()
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/burger/red
|
||||
name = "red burger"
|
||||
@@ -281,3 +322,49 @@
|
||||
bonus_reagents = list("nutriment" = 8, "vitamin" = 1)
|
||||
tastes = list("bun" = 4, "bacon" = 2)
|
||||
foodtype = GRAIN | MEAT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/burger/soylent
|
||||
name = "soylent burger"
|
||||
desc = "A eco-friendly burger made using upcycled low value biomass."
|
||||
icon_state = "soylentburger"
|
||||
bonus_reagents = list("nutriment" = 5, "vitamin" = 3)
|
||||
tastes = list("bun" = 2, "assistant" = 4)
|
||||
foodtype = GRAIN | MEAT | DAIRY
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/burger/rib
|
||||
name = "mcrib"
|
||||
desc = "An elusive rib shaped burger with limited availablity across the galaxy. Not as good as you remember it."
|
||||
icon_state = "mcrib"
|
||||
bonus_reagents = list("bbqsauce" = 5, "vitamin" = 3)
|
||||
tastes = list("bun" = 2, "pork patty" = 4)
|
||||
foodtype = GRAIN | MEAT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/burger/mcguffin
|
||||
name = "mcguffin"
|
||||
desc = "A cheap and greasy imitation of an eggs benedict."
|
||||
icon_state = "mcguffin"
|
||||
tastes = list("muffin" = 2, "bacon" = 3)
|
||||
bonus_reagents = list("eggyolk" = 3, "nutriment" = 1)
|
||||
foodtype = GRAIN | MEAT | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/burger/chicken
|
||||
name = "chicken sandwich" //Apparently the proud people of Americlapstan object to this thing being called a burger. Apparently McDonald's just calls it a burger in Europe as to not scare and confuse us.
|
||||
desc = "A delicious chicken sandwich, it is said the proceeds from this treat helps criminalize homosexuality on the space frontier."
|
||||
icon_state = "chickenburger"
|
||||
tastes = list("bun" = 2, "chicken" = 4, "God's covenant" = 1)
|
||||
bonus_reagents = list("mayonnaise" = 3, "cooking_oil" = 2, "nutriment" = 2)
|
||||
foodtype = GRAIN | MEAT | FRIED
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/burger/cheese
|
||||
name = "cheese burger"
|
||||
desc = "This noble burger stands proudly clad in golden cheese."
|
||||
icon_state = "cheeseburger"
|
||||
tastes = list("bun" = 2, "beef patty" = 4, "cheese" = 3)
|
||||
bonus_reagents = list("nutriment" = 1)
|
||||
foodtype = GRAIN | MEAT | DAIRY
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/burger/cheese/Initialize()
|
||||
. = ..()
|
||||
if(prob(33))
|
||||
icon_state = "cheeseburgeralt"
|
||||
|
||||
|
||||
@@ -379,3 +379,21 @@ obj/item/reagent_containers/food/snacks/store/cake/pound_cake
|
||||
filling_color = "#00FFFF"
|
||||
tastes = list("cake" = 1, "sugar" = 1, "peachjuice" = 10)
|
||||
foodtype = GRAIN | SUGAR | DAIRY
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/store/cake/trumpet
|
||||
name = "spaceman's cake"
|
||||
desc = "A spaceman's trumpet frosted cake."
|
||||
icon_state = "trumpetcake"
|
||||
slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/trumpet
|
||||
bonus_reagents = list("polypyr" = 15, "cream" = 5, "vitamin" = 5, "berryjuice" = 5)
|
||||
filling_color = "#7A3D80"
|
||||
tastes = list("cake" = 4, "violets" = 2, "jam" = 2)
|
||||
foodtype = GRAIN | DAIRY | FRUIT | SUGAR
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/cakeslice/trumpet
|
||||
name = "spaceman's cake"
|
||||
desc = "A spaceman's trumpet frosted cake."
|
||||
icon_state = "trumpetcakeslice"
|
||||
filling_color = "#7A3D80"
|
||||
tastes = list("cake" = 4, "violets" = 2, "jam" = 2)
|
||||
foodtype = GRAIN | DAIRY | FRUIT | SUGAR
|
||||
@@ -94,7 +94,7 @@
|
||||
filling_color = "#FFFFF0"
|
||||
list_reagents = list("nutriment" = 3)
|
||||
tastes = list("egg" = 4, "salt" = 1, "pepper" = 1)
|
||||
foodtype = MEAT | FRIED
|
||||
foodtype = MEAT | FRIED | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/boiledegg
|
||||
name = "boiled egg"
|
||||
@@ -104,7 +104,7 @@
|
||||
filling_color = "#FFFFF0"
|
||||
list_reagents = list("nutriment" = 2, "vitamin" = 1)
|
||||
tastes = list("egg" = 1)
|
||||
foodtype = MEAT
|
||||
foodtype = MEAT | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/omelette //FUCK THIS
|
||||
name = "omelette du fromage"
|
||||
@@ -116,7 +116,7 @@
|
||||
bitesize = 1
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
tastes = list("egg" = 1, "cheese" = 1)
|
||||
foodtype = MEAT
|
||||
foodtype = MEAT | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/omelette/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/kitchen/fork))
|
||||
@@ -145,5 +145,4 @@
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
list_reagents = list("nutriment" = 6, "vitamin" = 4)
|
||||
tastes = list("egg" = 1, "bacon" = 1, "bun" = 1)
|
||||
|
||||
foodtype = MEAT
|
||||
foodtype = MEAT | BREAKFAST
|
||||
|
||||
@@ -81,16 +81,15 @@
|
||||
filling_color = "#87CEFA"
|
||||
tastes = list("blue cherries" = 2, "ice cream" = 2)
|
||||
foodtype = FRUIT | DAIRY
|
||||
|
||||
/////////////
|
||||
//SNOWCONES//
|
||||
/////////////
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones //We use this as a base for all other snowcones
|
||||
name = "flaverless snowcone"
|
||||
desc = "Its just harden water slivers. Still fun to chew on."
|
||||
name = "flavorless snowcone"
|
||||
desc = "It's just shaved ice. Still fun to chew on."
|
||||
icon = 'icons/obj/food/snowcones.dmi'
|
||||
icon_state = "flaverless_sc"
|
||||
icon_state = "flavorless_sc"
|
||||
trash = /obj/item/reagent_containers/food/drinks/sillycup //We dont eat paper cups
|
||||
bonus_reagents = list("water" = 10) //Base line will allways give water
|
||||
list_reagents = list("water" = 1) // We dont get food for water/juices
|
||||
@@ -99,106 +98,106 @@
|
||||
foodtype = SUGAR //We use SUGAR as a base line to act in as junkfood, other wise we use fruit
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/lime
|
||||
name = "lime flavored snowcone"
|
||||
desc = "A lime flavord snowball in a paper cup."
|
||||
name = "lime snowcone"
|
||||
desc = "Lime syrup drizzled over a snowball in a paper cup."
|
||||
icon_state = "lime_sc"
|
||||
list_reagents = list("nutriment" = 1, "limejuice" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "limes" = 5)
|
||||
foodtype = FRUIT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/lemon
|
||||
name = "lemon flavored snowcone"
|
||||
desc = "A lemon flavord snowball in a paper cup."
|
||||
name = "lemon snowcone"
|
||||
desc = "Lemon syrup drizzled over a snowball in a paper cup."
|
||||
icon_state = "lemon_sc"
|
||||
list_reagents = list("nutriment" = 1, "lemonjuice" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "lemons" = 5)
|
||||
foodtype = FRUIT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/apple
|
||||
name = "apple flavored snowcone"
|
||||
desc = "A apple flavord snowball in a paper cup."
|
||||
icon_state = "blue_sc"
|
||||
name = "apple snowcone"
|
||||
desc = "Apple syrup drizzled over a snowball in a paper cup."
|
||||
icon_state = "amber_sc"
|
||||
list_reagents = list("nutriment" = 1, "applejuice" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "apples" = 5)
|
||||
foodtype = FRUIT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/grape
|
||||
name = "grape flavored snowcone"
|
||||
desc = "A grape flavord snowball in a paper cup."
|
||||
name = "grape snowcone"
|
||||
desc = "Grape syrup drizzled over a snowball in a paper cup."
|
||||
icon_state = "grape_sc"
|
||||
list_reagents = list("nutriment" = 1, "berryjuice" = 5)
|
||||
list_reagents = list("nutriment" = 1, "grapejuice" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "grape" = 5)
|
||||
foodtype = FRUIT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/orange
|
||||
name = "orange flavored snowcone"
|
||||
desc = "A orange flavor dizzled on a snowball in a paper cup."
|
||||
name = "orange snowcone"
|
||||
desc = "Orange syrup drizzled over a snowball in a paper cup."
|
||||
icon_state = "orange_sc"
|
||||
list_reagents = list("nutriment" = 1, "orangejuice" = 10)
|
||||
tastes = list("ice" = 1, "water" = 1, "berries" = 5)
|
||||
list_reagents = list("nutriment" = 1, "orangejuice" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "orange" = 5)
|
||||
foodtype = FRUIT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/blue
|
||||
name = "bluecherry flavored snowcone"
|
||||
desc = "A bluecharry flavord snowball in a paper cup, how rare!"
|
||||
icon_state = "red_sc"
|
||||
name = "bluecherry snowcone"
|
||||
desc = "Bluecherry syrup drizzled over a snowball in a paper cup, how rare!"
|
||||
icon_state = "blue_sc"
|
||||
list_reagents = list("nutriment" = 1, "bluecherryjelly" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "blue" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "blue" = 5, "cherries" = 5)
|
||||
foodtype = FRUIT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/red
|
||||
name = "cherry flavored snowcone"
|
||||
desc = "A cherry flavord snowball in a paper cup."
|
||||
icon_state = "blue_sc"
|
||||
name = "cherry snowcone"
|
||||
desc = "Cherry syrup drizzled over a snowball in a paper cup."
|
||||
icon_state = "red_sc"
|
||||
list_reagents = list("nutriment" = 1, "cherryjelly" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "red" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "red" = 5, "cherries" = 5)
|
||||
foodtype = FRUIT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/kiwi
|
||||
name = "kiwi flavored snowcone"
|
||||
desc = "A kiwi flavord snowball in a paper cup."
|
||||
name = "kiwi snowcone"
|
||||
desc = "A kiwi snowball in a paper cup."
|
||||
icon_state = "kiwi_sc"
|
||||
list_reagents = list("nutriment" = 3, "vitamin" = 6)
|
||||
tastes = list("ice" = 1, "space" = 3, "kiwi" = 5)
|
||||
foodtype = FRUIT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/mix
|
||||
name = "mixed berry flavored snowcone"
|
||||
desc = "A mix of different flavors dizzled on a snowball in a paper cup."
|
||||
icon_state = "berry_sc"
|
||||
list_reagents = list("nutriment" = 1, "berryjuice" = 10)
|
||||
tastes = list("ice" = 1, "water" = 1, "berries" = 5)
|
||||
foodtype = FRUIT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/peach
|
||||
name = "peach flavored snowcone"
|
||||
desc = "A peach flavord snowball in a paper cup."
|
||||
name = "peach snowcone"
|
||||
desc = "A peach snowball in a paper cup."
|
||||
icon_state = "peach_sc"
|
||||
list_reagents = list("nutriment" = 1, "peachjuice" = 10)
|
||||
tastes = list("ice" = 1, "water" = 1, " peach" = 5)
|
||||
foodtype = FRUIT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/strawberry
|
||||
name = "strawberry flavored snowcone"
|
||||
desc = "A strawberry flavord snowball in a paper cup."
|
||||
name = "strawberry snowcone"
|
||||
desc = "A strawberry snowball in a paper cup."
|
||||
icon_state = "blue_sc"
|
||||
list_reagents = list("nutriment" = 1, "berryjuice" = 10)
|
||||
tastes = list("ice" = 1, "water" = 1, " strawberry" = 5)
|
||||
foodtype = FRUIT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/berry
|
||||
name = "berry snowcone"
|
||||
desc = "Berry syrup drizzled over a snowball in a paper cup."
|
||||
icon_state = "berry_sc"
|
||||
list_reagents = list("nutriment" = 1, "berryjuice" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "berries" = 5)
|
||||
foodtype = FRUIT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/fruitsalad
|
||||
name = "mixed fruit flavored snowcone"
|
||||
desc = "A mix of different flavors dizzled on a snowball in a paper cup."
|
||||
name = "fruit salad snowcone"
|
||||
desc = "A delightful mix of citrus syrups drizzled over a snowball in a paper cup."
|
||||
icon_state = "fruitsalad_sc"
|
||||
list_reagents = list("nutriment" = 1, "limejuice" = 5, "lemonjuice" = 5, "orangejuice" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "fruits" = 25)
|
||||
list_reagents = list("nutriment" = 1, "lemonjuice" = 5, "limejuice" = 5, "orangejuice" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "oranges" = 5, "limes" = 5, "lemons" = 5, "citrus" = 5, "salad" = 5)
|
||||
foodtype = FRUIT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/pineapple
|
||||
name = "pineapple flavored snowcone"
|
||||
desc = "A pineapple flavord snowball in a paper cup."
|
||||
name = "pineapple snowcone"
|
||||
desc = "Pineapple syrup drizzled over a snowball in a paper cup."
|
||||
icon_state = "pineapple_sc"
|
||||
list_reagents = list("nutriment" = 1, "water" = 1)
|
||||
list_reagents = list("nutriment" = 1, "water" = 10)
|
||||
tastes = list("ice" = 1, "water" = 1, "pineapples" = 5)
|
||||
foodtype = PINEAPPLE //Pineapple to allow all that like pineapple to enjoy
|
||||
|
||||
@@ -207,41 +206,46 @@
|
||||
desc = "..."
|
||||
icon_state = "mime_sc"
|
||||
list_reagents = list("nutriment" = 1, "nothing" = 5)
|
||||
tastes = list("nothing" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "nothing" = 5)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/clown
|
||||
name = "joke flavored snowcone"
|
||||
desc = "A waterd down jokeful flavord snowball in a paper cup."
|
||||
name = "clown snowcone"
|
||||
desc = "Laughter drizzled over a snowball in a paper cup."
|
||||
icon_state = "clown_sc"
|
||||
list_reagents = list("nutriment" = 1, "laughter" = 5)
|
||||
tastes = list("jokes" = 5, "brainfreeze" = 5, "joy" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "jokes" = 5, "brainfreeze" = 5, "joy" = 5)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/soda
|
||||
name = "sodawater flavored snowcone"
|
||||
desc = "A waterd down sodawater flavored snowcone snowball in a paper cup."
|
||||
name = "space cola snowcone"
|
||||
desc = "Space Cola drizzled over a snowball in a paper cup."
|
||||
icon_state = "soda_sc"
|
||||
list_reagents = list("nutriment" = 1, "sodawater" = 5)
|
||||
tastes = list("surgar" = 1, "water" = 5, "soda" = 5)
|
||||
foodtype = JUNKFOOD | SUGAR
|
||||
list_reagents = list("nutriment" = 1, "space_cola" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "cola" = 5)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/pwgrmer
|
||||
name = "pwergamer flavored snowcone"
|
||||
desc = "A waterd down pwergamer soda flavord snowball in a paper cup."
|
||||
icon_state = "pwergamer_sc"
|
||||
list_reagents = list("nutriment" = 1, "laughter" = 1)
|
||||
tastes = list("vaild" = 5, "salt" = 5, "wats" = 5)
|
||||
foodtype = JUNKFOOD | SUGAR
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/spacemountainwind
|
||||
name = "Space Mountain Wind snowcone"
|
||||
desc = "Space Mountain Wind drizzled over a snowball in a paper cup."
|
||||
icon_state = "kiwi_sc"
|
||||
list_reagents = list("nutriment" = 1, "spacemountainwind" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "mountain wind" = 5)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/pwrgame
|
||||
name = "pwrgame snowcone"
|
||||
desc = "Pwrgame soda drizzled over a snowball in a paper cup."
|
||||
icon_state = "pwrgame_sc"
|
||||
list_reagents = list("nutriment" = 1, "pwr_game" = 5)
|
||||
tastes = list("ice" = 1, "water" = 1, "valid" = 5, "salt" = 5, "wats" = 5)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/honey
|
||||
name = "honey flavored snowcone"
|
||||
desc = "A honey flavord snowball in a paper cup."
|
||||
icon_state = "honey_sc"
|
||||
name = "honey snowcone"
|
||||
desc = "Honey drizzled over a snowball in a paper cup."
|
||||
icon_state = "amber_sc"
|
||||
list_reagents = list("nutriment" = 1, "honey" = 5)
|
||||
tastes = list("pollen" = 5, "sweetness" = 5, "wax" = 1)
|
||||
tastes = list("ice" = 1, "water" = 1, "flowers" = 5, "sweetness" = 5, "wax" = 1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/snowcones/rainbow
|
||||
name = "rainbow color snowcone"
|
||||
desc = "A rainbow color snowball in a paper cup."
|
||||
name = "rainbow snowcone"
|
||||
desc = "A very colorful snowball in a paper cup."
|
||||
icon_state = "rainbow_sc"
|
||||
list_reagents = list("nutriment" = 5, "laughter" = 25)
|
||||
tastes = list("sunlight" = 5, "light" = 5, "slime" = 5, "paint" = 3, "clouds" = 3)
|
||||
tastes = list("ice" = 1, "water" = 1, "sunlight" = 5, "light" = 5, "slime" = 5, "paint" = 3, "clouds" = 3)
|
||||
@@ -149,7 +149,7 @@
|
||||
bonus_reagents = list("nutriment" = 1, "vitamin" = 1)
|
||||
list_reagents = list("nutriment" = 6, "vitamin" = 1)
|
||||
tastes = list("meat" = 1)
|
||||
foodtype = MEAT
|
||||
foodtype = MEAT | BREAKFAST
|
||||
var/roasted = FALSE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/sausage/Initialize()
|
||||
@@ -344,3 +344,19 @@
|
||||
icon_state = "doubleratkebab"
|
||||
tastes = list("rat meat" = 2, "metal" = 1)
|
||||
bonus_reagents = list("nutriment" = 6, "vitamin" = 2)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/kebab/fiesta
|
||||
name = "fiesta skewer"
|
||||
icon_state = "fiestaskewer"
|
||||
tastes = list("tex-mex" = 3, "cumin" = 2)
|
||||
bonus_reagents = list("vitamin" = 5, "capsaicin" = 3)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/bbqribs
|
||||
name = "bbq ribs"
|
||||
desc = "BBQ ribs, slathered in a healthy coating of BBQ sauce. The least vegan thing to ever exist."
|
||||
icon_state = "ribs"
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
list_reagents = list("nutriment" = 8, "vitamin" = 2, "bbqsauce" = 5)
|
||||
bonus_reagents = list("nutriment" = 1, "vitamin" = 1)
|
||||
tastes = list("meat" = 3, "smokey sauce" = 1)
|
||||
foodtype = MEAT
|
||||
@@ -47,6 +47,7 @@
|
||||
filling_color = "#A0522D"
|
||||
tastes = list("chocolate" = 1)
|
||||
foodtype = JUNKFOOD | SUGAR
|
||||
dunkable = TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/hugemushroomslice
|
||||
name = "huge mushroom slice"
|
||||
@@ -90,6 +91,7 @@
|
||||
filling_color = "#FFD700"
|
||||
tastes = list("fries" = 3, "salt" = 1)
|
||||
foodtype = VEGETABLES | GRAIN | FRIED
|
||||
dunkable = TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/tatortot
|
||||
name = "tator tot"
|
||||
@@ -99,6 +101,7 @@
|
||||
filling_color = "FFD700"
|
||||
tastes = list("potato" = 3, "valids" = 1)
|
||||
foodtype = FRIED | VEGETABLES
|
||||
dunkable = TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/soydope
|
||||
name = "soy dope"
|
||||
@@ -109,6 +112,7 @@
|
||||
filling_color = "#DEB887"
|
||||
tastes = list("soy" = 1)
|
||||
foodtype = VEGETABLES
|
||||
dunkable = TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/cheesyfries
|
||||
name = "cheesy fries"
|
||||
@@ -128,6 +132,7 @@
|
||||
list_reagents = list("bad_food" = 30)
|
||||
filling_color = "#8B4513"
|
||||
foodtype = GROSS
|
||||
dunkable = TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/carrotfries
|
||||
name = "carrot fries"
|
||||
@@ -401,7 +406,6 @@
|
||||
tastes = list("death" = 2, "rock" = 1, "meat" = 1, "hot peppers" = 1)
|
||||
foodtype = MEAT
|
||||
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/powercrepe
|
||||
name = "Powercrepe"
|
||||
desc = "With great power, comes great crepes. It looks like a pancake filled with jelly but packs quite a punch."
|
||||
@@ -583,6 +587,7 @@
|
||||
filling_color = "#ffdf26"
|
||||
tastes = list("strawberries" = 5, "chocolate" = 3)
|
||||
foodtype = FRUIT | SUGAR
|
||||
dunkable = TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/chocolatebanana
|
||||
name = "Chocolate dipped banana"
|
||||
@@ -591,4 +596,17 @@
|
||||
list_reagents = list("sugar" = 5, "nutriment" = 3, "vitamin" = 1)
|
||||
filling_color = "#ffdf26"
|
||||
tastes = list("banana" = 5, "chocolate" = 3)
|
||||
foodtype = FRUIT | SUGAR
|
||||
foodtype = FRUIT | SUGAR
|
||||
dunkable = TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/cornchips
|
||||
name = "boritos corn chips"
|
||||
desc = "Triangular corn chips. They do seem a bit bland but would probably go well with some kind of dipping sauce."
|
||||
icon_state = "boritos"
|
||||
trash = /obj/item/trash/boritos
|
||||
bitesize = 2
|
||||
list_reagents = list("nutriment" = 3, "cooking_oil" = 2, "sodiumchloride" = 3)
|
||||
filling_color = "#ECA735"
|
||||
tastes = list("fried corn" = 1)
|
||||
foodtype = JUNKFOOD | FRIED
|
||||
dunkable = TRUE
|
||||
@@ -5,28 +5,31 @@
|
||||
/obj/item/reagent_containers/food/snacks/donut
|
||||
name = "donut"
|
||||
desc = "Goes great with robust coffee."
|
||||
icon_state = "donut1"
|
||||
icon = 'icons/obj/food/donut.dmi'
|
||||
icon_state = "donut"
|
||||
bitesize = 5
|
||||
bonus_reagents = list("sugar" = 1)
|
||||
list_reagents = list("nutriment" = 3, "sprinkles" = 1, "sugar" = 2)
|
||||
filling_color = "#D2691E"
|
||||
tastes = list("donut" = 1)
|
||||
foodtype = JUNKFOOD | GRAIN | FRIED | SUGAR
|
||||
var/frosted_icon = "donut2"
|
||||
var/is_frosted = FALSE
|
||||
foodtype = JUNKFOOD | GRAIN | FRIED | SUGAR | BREAKFAST
|
||||
dunkable = TRUE
|
||||
var/decorated_icon = "donut_homer"
|
||||
var/is_decorated = FALSE
|
||||
var/extra_reagent = null
|
||||
var/decorated_adjective = "sprinkled"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/Initialize()
|
||||
. = ..()
|
||||
if(prob(30))
|
||||
frost_donut()
|
||||
decorate_donut()
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/proc/frost_donut()
|
||||
if(is_frosted || !frosted_icon)
|
||||
/obj/item/reagent_containers/food/snacks/donut/proc/decorate_donut()
|
||||
if(is_decorated || !decorated_icon)
|
||||
return
|
||||
is_frosted = TRUE
|
||||
name = "frosted [name]"
|
||||
icon_state = frosted_icon //delish~!
|
||||
is_decorated = TRUE
|
||||
name = "[decorated_adjective] [name]"
|
||||
icon_state = decorated_icon //delish~!
|
||||
reagents.add_reagent("sprinkles", 1)
|
||||
filling_color = "#FF69B4"
|
||||
return TRUE
|
||||
@@ -43,64 +46,283 @@
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/plain
|
||||
//Use this donut ingame
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/chaos
|
||||
name = "chaos donut"
|
||||
desc = "Like life, it never quite tastes the same."
|
||||
icon_state = "donut_chaos"
|
||||
bitesize = 10
|
||||
tastes = list("donut" = 3, "chaos" = 1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/chaos/Initialize()
|
||||
. = ..()
|
||||
extra_reagent = pick("nutriment", "capsaicin", "frostoil", "krokodil", "plasma", "cocoa", "slimejelly", "banana", "berryjuice", "omnizine")
|
||||
reagents.add_reagent("[extra_reagent]", 3)
|
||||
reagents.add_reagent(extra_reagent, 3)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/meat
|
||||
name = "Meat Donut"
|
||||
desc = "Tastes as gross as it looks."
|
||||
icon_state = "donut_meat"
|
||||
bonus_reagents = list("ketchup" = 1)
|
||||
list_reagents = list("nutriment" = 3, "ketchup" = 2)
|
||||
tastes = list("meat" = 1)
|
||||
foodtype = JUNKFOOD | MEAT | GROSS | FRIED | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/berry
|
||||
name = "pink donut"
|
||||
desc = "Goes great with a soy latte."
|
||||
icon_state = "donut_pink"
|
||||
bonus_reagents = list("berryjuice" = 3, "sprinkles" = 1) //Extra sprinkles to reward frosting
|
||||
filling_color = "#E57d9A"
|
||||
decorated_icon = "donut_homer"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/trumpet
|
||||
name = "spaceman's donut"
|
||||
desc = "Goes great with a cold beaker of malk."
|
||||
icon_state = "donut_purple"
|
||||
bonus_reagents = list("polypyr" = 3, "sprinkles" = 1)
|
||||
tastes = list("donut" = 3, "violets" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#8739BF"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/apple
|
||||
name = "apple donut"
|
||||
desc = "Goes great with a shot of cinnamon schnapps."
|
||||
icon_state = "donut_green"
|
||||
bonus_reagents = list("applejuice" = 3, "sprinkles" = 1)
|
||||
tastes = list("donut" = 3, "green apples" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#6ABE30"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/caramel
|
||||
name = "caramel donut"
|
||||
desc = "Goes great with a mug of hot coco."
|
||||
icon_state = "donut_beige"
|
||||
bonus_reagents = list("caramel" = 3, "sprinkles" = 1)
|
||||
tastes = list("donut" = 3, "buttery sweetness" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#D4AD5B"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/choco
|
||||
name = "chocolate donut"
|
||||
desc = "Goes great with a glass of warm milk."
|
||||
icon_state = "donut_choc"
|
||||
bonus_reagents = list("hot_coco" = 3, "sprinkles" = 1) //the coco reagent is just bitter.
|
||||
tastes = list("donut" = 4, "bitterness" = 1)
|
||||
decorated_icon = "donut_choc_sprinkles"
|
||||
filling_color = "#4F230D"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/blumpkin
|
||||
name = "blumpkin donut"
|
||||
desc = "Goes great with a mug of soothing drunken blumpkin."
|
||||
icon_state = "donut_blue"
|
||||
bonus_reagents = list("blumpkinjuice" = 3, "sprinkles" = 1)
|
||||
tastes = list("donut" = 2, "blumpkin" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#2788C4"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/bungo
|
||||
name = "bungo donut"
|
||||
desc = "Goes great with a mason jar of hippie's delight."
|
||||
icon_state = "donut_yellow"
|
||||
bonus_reagents = list("bungojuice" = 3, "sprinkles" = 1)
|
||||
tastes = list("donut" = 3, "tropical sweetness" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#DEC128"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/matcha
|
||||
name = "matcha donut"
|
||||
desc = "Goes great with a cup of tea."
|
||||
icon_state = "donut_olive"
|
||||
bonus_reagents = list("teapowder = 3", "sprinkles" = 1)
|
||||
tastes = list("donut" = 3, "matcha" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#879630"
|
||||
|
||||
//////////////////////JELLY DONUTS/////////////////////////
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly
|
||||
name = "jelly donut"
|
||||
desc = "You jelly?"
|
||||
icon_state = "jdonut1"
|
||||
frosted_icon = "jdonut2"
|
||||
icon_state = "jelly"
|
||||
decorated_icon = "jelly_homer"
|
||||
bonus_reagents = list("sugar" = 1, "vitamin" = 1)
|
||||
extra_reagent = "berryjuice"
|
||||
tastes = list("jelly" = 1, "donut" = 3)
|
||||
foodtype = JUNKFOOD | GRAIN | FRIED | FRUIT | SUGAR
|
||||
foodtype = JUNKFOOD | GRAIN | FRIED | FRUIT | SUGAR | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/Initialize()
|
||||
. = ..()
|
||||
if(extra_reagent)
|
||||
reagents.add_reagent("[extra_reagent]", 3)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/plain //use this ingame to avoid inheritance related crafting issues.
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/berry
|
||||
name = "pink jelly donut"
|
||||
desc = "Goes great with a soy latte."
|
||||
icon_state = "jelly_pink"
|
||||
bonus_reagents = list("berryjuice" = 3, "sprinkles" = 1, "vitamin" = 1) //Extra sprinkles to reward frosting.
|
||||
filling_color = "#E57d9A"
|
||||
decorated_icon = "jelly_homer"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/trumpet
|
||||
name = "spaceman's jelly donut"
|
||||
desc = "Goes great with a cold beaker of malk."
|
||||
icon_state = "jelly_purple"
|
||||
bonus_reagents = list("polypyr" = 3, "sprinkles" = 1, "vitamin" = 1)
|
||||
tastes = list("jelly" = 1, "donut" = 3, "violets" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#8739BF"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/apple
|
||||
name = "apple jelly donut"
|
||||
desc = "Goes great with a shot of cinnamon schnapps."
|
||||
icon_state = "jelly_green"
|
||||
bonus_reagents = list("applejuice" = 3, "sprinkles" = 1, "vitamin" = 1)
|
||||
tastes = list("jelly" = 1, "donut" = 3, "green apples" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#6ABE30"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/caramel
|
||||
name = "caramel jelly donut"
|
||||
desc = "Goes great with a mug of hot coco."
|
||||
icon_state = "jelly_beige"
|
||||
bonus_reagents = list("caramel" = 3, "sprinkles" = 1, "vitamin" = 1)
|
||||
tastes = list("jelly" = 1, "donut" = 3, "buttery sweetness" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#D4AD5B"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/choco
|
||||
name = "chocolate jelly donut"
|
||||
desc = "Goes great with a glass of warm milk."
|
||||
icon_state = "jelly_choc"
|
||||
bonus_reagents = list("hot_coco" = 3, "sprinkles" = 1, "vitamin" = 1) //the coco reagent is just bitter.
|
||||
tastes = list("jelly" = 1, "donut" = 4, "bitterness" = 1)
|
||||
decorated_icon = "jelly_choc_sprinkles"
|
||||
filling_color = "#4F230D"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin
|
||||
name = "blumpkin jelly donut"
|
||||
desc = "Goes great with a mug of soothing drunken blumpkin."
|
||||
icon_state = "jelly_blue"
|
||||
bonus_reagents = list("blumpkinjuice" = 3, "sprinkles" = 1, "vitamin" = 1)
|
||||
tastes = list("jelly" = 1, "donut" = 2, "blumpkin" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#2788C4"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/bungo
|
||||
name = "bungo jelly donut"
|
||||
desc = "Goes great with a mason jar of hippie's delight."
|
||||
icon_state = "jelly_yellow"
|
||||
bonus_reagents = list("bungojuice" = 3, "sprinkles" = 1, "vitamin" = 1)
|
||||
tastes = list("jelly" = 1, "donut" = 3, "tropical sweetness" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#DEC128"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/matcha
|
||||
name = "matcha jelly donut"
|
||||
desc = "Goes great with a cup of tea."
|
||||
icon_state = "jelly_olive"
|
||||
bonus_reagents = list("teapowder" = 3, "sprinkles" = 1, "vitamin" = 1)
|
||||
tastes = list("jelly" = 1, "donut" = 3, "matcha" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#879630"
|
||||
|
||||
//////////////////////////SLIME DONUTS/////////////////////////
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly
|
||||
name = "jelly donut"
|
||||
desc = "You jelly?"
|
||||
icon_state = "jdonut1"
|
||||
icon_state = "jelly"
|
||||
extra_reagent = "slimejelly"
|
||||
foodtype = JUNKFOOD | GRAIN | FRIED | TOXIC | SUGAR
|
||||
foodtype = JUNKFOOD | GRAIN | FRIED | TOXIC | SUGAR | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/cherryjelly
|
||||
name = "jelly donut"
|
||||
desc = "You jelly?"
|
||||
icon_state = "jdonut1"
|
||||
extra_reagent = "cherryjelly"
|
||||
foodtype = JUNKFOOD | GRAIN | FRIED | FRUIT
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/meat
|
||||
bonus_reagents = list("ketchup" = 1)
|
||||
list_reagents = list("nutriment" = 3, "ketchup" = 2)
|
||||
tastes = list("meat" = 1)
|
||||
foodtype = JUNKFOOD | MEAT | GROSS | FRIED
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry
|
||||
name = "pink jelly donut"
|
||||
desc = "Goes great with a soy latte."
|
||||
icon_state = "jelly_pink"
|
||||
bonus_reagents = list("berryjuice" = 3, "sprinkles" = 1, "vitamin" = 1) //Extra sprinkles to reward frosting
|
||||
filling_color = "#E57d9A"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/semen
|
||||
name = "\"cream\" donut"
|
||||
desc = "That cream looks a little runny..."
|
||||
icon_state = "donut3"
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet
|
||||
name = "spaceman's jelly donut"
|
||||
desc = "Goes great with a cold beaker of malk."
|
||||
icon_state = "jelly_purple"
|
||||
bonus_reagents = list("polypyr" = 3, "sprinkles" = 1, "vitamin" = 1)
|
||||
tastes = list("jelly" = 1, "donut" = 3, "violets" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#8739BF"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple
|
||||
name = "apple jelly donut"
|
||||
desc = "Goes great with a shot of cinnamon schnapps."
|
||||
icon_state = "jelly_green"
|
||||
bonus_reagents = list("applejuice" = 3, "sprinkles" = 1, "vitamin" = 1)
|
||||
tastes = list("jelly" = 1, "donut" = 3, "green apples" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#6ABE30"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel
|
||||
name = "caramel jelly donut"
|
||||
desc = "Goes great with a mug of hot coco."
|
||||
icon_state = "jelly_beige"
|
||||
bonus_reagents = list("caramel" = 3, "sprinkles" = 1, "vitamin" = 1)
|
||||
tastes = list("jelly" = 1, "donut" = 3, "buttery sweetness" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#D4AD5B"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco
|
||||
name = "chocolate jelly donut"
|
||||
desc = "Goes great with a glass of warm milk."
|
||||
icon_state = "jelly_choc"
|
||||
bonus_reagents = list("hot_coco" = 3, "sprinkles" = 1, "vitamin" = 1) //the coco reagent is just bitter.
|
||||
tastes = list("jelly" = 1, "donut" = 4, "bitterness" = 1)
|
||||
decorated_icon = "jelly_choc_sprinkles"
|
||||
filling_color = "#4F230D"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin
|
||||
name = "blumpkin jelly donut"
|
||||
desc = "Goes great with a mug of soothing drunken blumpkin."
|
||||
icon_state = "jelly_blue"
|
||||
bonus_reagents = list("blumpkinjuice" = 3, "sprinkles" = 1, "vitamin" = 1)
|
||||
tastes = list("jelly" = 1, "donut" = 2, "blumpkin" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#2788C4"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo
|
||||
name = "bungo jelly donut"
|
||||
desc = "Goes great with a mason jar of hippie's delight."
|
||||
icon_state = "jelly_yellow"
|
||||
bonus_reagents = list("bungojuice" = 3, "sprinkles" = 1, "vitamin" = 1)
|
||||
tastes = list("jelly" = 1, "donut" = 3, "tropical sweetness" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#DEC128"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha
|
||||
name = "matcha jelly donut"
|
||||
desc = "Goes great with a cup of tea."
|
||||
icon_state = "jelly_olive"
|
||||
bonus_reagents = list("teapowder" = 3, "sprinkles" = 1, "vitamin" = 1)
|
||||
tastes = list("jelly" = 1, "donut" = 3, "matcha" = 1)
|
||||
is_decorated = TRUE
|
||||
filling_color = "#879630"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donut/glaze
|
||||
name = "glazed donut"
|
||||
desc = "A sugar glazed donut."
|
||||
icon_state = "donut_glaze"
|
||||
bitesize = 10
|
||||
bonus_reagents = list("semen" = 1)
|
||||
list_reagents = list("nutriment" = 3, "sugar" = 2, "semen" = 5)
|
||||
bonus_reagents = list("sugar" = 3)
|
||||
list_reagents = list("nutriment" = 3, "sugar" = 8)
|
||||
filling_color = "#FFFFFF"
|
||||
tastes = list("donut" = 1, "salt" = 3)
|
||||
foodtype = JUNKFOOD | GRAIN | FRIED | SUGAR
|
||||
|
||||
|
||||
////////////////////////////////////////////MUFFINS////////////////////////////////////////////
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/muffin
|
||||
@@ -111,14 +333,14 @@
|
||||
list_reagents = list("nutriment" = 6)
|
||||
filling_color = "#F4A460"
|
||||
tastes = list("muffin" = 1)
|
||||
foodtype = GRAIN | SUGAR
|
||||
foodtype = GRAIN | SUGAR | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/muffin/berry
|
||||
name = "berry muffin"
|
||||
icon_state = "berrymuffin"
|
||||
desc = "A delicious and spongy little cake, with berries."
|
||||
tastes = list("muffin" = 3, "berry" = 1)
|
||||
foodtype = GRAIN | FRUIT | SUGAR
|
||||
foodtype = GRAIN | FRUIT | SUGAR | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/muffin/booberry
|
||||
name = "booberry muffin"
|
||||
@@ -126,7 +348,7 @@
|
||||
alpha = 125
|
||||
desc = "My stomach is a graveyard! No living being can quench my bloodthirst!"
|
||||
tastes = list("muffin" = 3, "spookiness" = 1)
|
||||
foodtype = GRAIN | FRUIT | SUGAR
|
||||
foodtype = GRAIN | FRUIT | SUGAR | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/chawanmushi
|
||||
name = "chawanmushi"
|
||||
@@ -149,7 +371,7 @@
|
||||
list_reagents = list("nutriment" = 8, "vitamin" = 1)
|
||||
filling_color = "#D2691E"
|
||||
tastes = list("waffles" = 1)
|
||||
foodtype = GRAIN | SUGAR
|
||||
foodtype = GRAIN | SUGAR | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/soylentgreen
|
||||
name = "\improper Soylent Green"
|
||||
@@ -160,7 +382,7 @@
|
||||
list_reagents = list("nutriment" = 10, "vitamin" = 1)
|
||||
filling_color = "#9ACD32"
|
||||
tastes = list("waffles" = 7, "people" = 1)
|
||||
foodtype = GRAIN | GROSS | MEAT
|
||||
foodtype = GRAIN | MEAT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/soylenviridians
|
||||
name = "\improper Soylent Virdians"
|
||||
@@ -183,7 +405,7 @@
|
||||
list_reagents = list("nutriment" = 8, "mushroomhallucinogen" = 2, "vitamin" = 2)
|
||||
filling_color = "#00BFFF"
|
||||
tastes = list("waffle" = 1, "mushrooms" = 1)
|
||||
foodtype = GRAIN | VEGETABLES | TOXIC | SUGAR
|
||||
foodtype = GRAIN | VEGETABLES | SUGAR | BREAKFAST
|
||||
|
||||
////////////////////////////////////////////OTHER////////////////////////////////////////////
|
||||
|
||||
@@ -196,7 +418,8 @@
|
||||
list_reagents = list("nutriment" = 1)
|
||||
filling_color = "#F0E68C"
|
||||
tastes = list("cookie" = 1)
|
||||
foodtype = SUGAR
|
||||
foodtype = GRAIN | SUGAR
|
||||
dunkable = TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/donkpocket
|
||||
name = "\improper Donk-pocket"
|
||||
@@ -213,6 +436,7 @@
|
||||
desc = "The heated food of choice for the seasoned traitor."
|
||||
bonus_reagents = list("omnizine" = 3)
|
||||
list_reagents = list("nutriment" = 4, "omnizine" = 3)
|
||||
cooked_type = null
|
||||
tastes = list("meat" = 2, "dough" = 2, "laziness" = 1)
|
||||
foodtype = GRAIN
|
||||
|
||||
@@ -315,6 +539,7 @@
|
||||
filling_color = "#CD853F"
|
||||
tastes = list("sweetness" = 1)
|
||||
foodtype = GRAIN | JUNKFOOD | SUGAR
|
||||
dunkable = TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/chococornet
|
||||
name = "chocolate cornet"
|
||||
@@ -335,6 +560,7 @@
|
||||
filling_color = "#D2691E"
|
||||
tastes = list("cookie" = 2, "oat" = 1)
|
||||
foodtype = GRAIN
|
||||
dunkable = TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/raisincookie
|
||||
name = "raisin cookie"
|
||||
@@ -345,6 +571,7 @@
|
||||
filling_color = "#F0E68C"
|
||||
tastes = list("cookie" = 1, "raisins" = 1)
|
||||
foodtype = GRAIN | FRUIT
|
||||
dunkable = TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/cherrycupcake
|
||||
name = "cherry cupcake"
|
||||
@@ -367,7 +594,7 @@
|
||||
foodtype = GRAIN | FRUIT | SUGAR
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/strawberrycupcake
|
||||
name = "Strawberry cupcake"
|
||||
name = "strawberry cupcake"
|
||||
desc = "Strawberry inside a delicious cupcake."
|
||||
icon_state = "strawberrycupcake"
|
||||
bonus_reagents = list("nutriment" = 1, "vitamin" = 3)
|
||||
@@ -384,9 +611,9 @@
|
||||
list_reagents = list("nutriment" = 5, "honey" = 5)
|
||||
filling_color = "#F2CE91"
|
||||
tastes = list("pastry" = 1, "sweetness" = 1)
|
||||
foodtype = GRAIN
|
||||
foodtype = GRAIN | SUGAR
|
||||
|
||||
#define PANCAKE_MAX_STACK 30
|
||||
#define PANCAKE_MAX_STACK 10
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/pancakes
|
||||
name = "pancake"
|
||||
@@ -397,7 +624,7 @@
|
||||
list_reagents = list("nutriment" = 4, "vitamin" = 1)
|
||||
filling_color = "#D2691E"
|
||||
tastes = list("pancakes" = 1)
|
||||
foodtype = GRAIN | SUGAR
|
||||
foodtype = GRAIN | SUGAR | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/pancakes/blueberry
|
||||
name = "blueberry pancake"
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
bonus_reagents = list("nutriment" = 4, "vitamin" = 4)
|
||||
list_reagents = list("nutriment" = 7, "milk" = 10, "vitamin" = 2)
|
||||
tastes = list("oats" = 1, "milk" = 1)
|
||||
foodtype = DAIRY | GRAIN
|
||||
foodtype = DAIRY | GRAIN | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/salad/fruit
|
||||
name = "fruit salad"
|
||||
@@ -55,7 +55,7 @@
|
||||
icon_state = "fruitsalad"
|
||||
bonus_reagents = list("nutriment" = 2, "vitamin" = 4)
|
||||
tastes = list("fruit" = 1)
|
||||
foodtype = FRUIT
|
||||
foodtype = FRUIT | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/salad/jungle
|
||||
name = "jungle salad"
|
||||
@@ -64,7 +64,7 @@
|
||||
bonus_reagents = list("nutriment" = 4, "vitamin" = 4)
|
||||
list_reagents = list("nutriment" = 7, "banana" = 5, "vitamin" = 4)
|
||||
tastes = list("fruit" = 1, "the jungle" = 1)
|
||||
foodtype = FRUIT
|
||||
foodtype = FRUIT | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/salad/citrusdelight
|
||||
name = "citrus delight"
|
||||
@@ -73,7 +73,7 @@
|
||||
bonus_reagents = list("nutriment" = 4, "vitamin" = 4)
|
||||
list_reagents = list("nutriment" = 7, "vitamin" = 5)
|
||||
tastes = list("sourness" = 1, "leaves" = 1)
|
||||
foodtype = FRUIT
|
||||
foodtype = FRUIT | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/salad/ricebowl
|
||||
name = "ricebowl"
|
||||
@@ -91,7 +91,7 @@
|
||||
bonus_reagents = list("nutriment" = 1, "vitamin" = 1)
|
||||
list_reagents = list("nutriment" = 5, "vitamin" = 1)
|
||||
tastes = list("rice" = 1)
|
||||
foodtype = GRAIN
|
||||
foodtype = GRAIN | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/salad/ricepudding
|
||||
name = "rice pudding"
|
||||
|
||||
@@ -225,3 +225,22 @@
|
||||
bonus_reagents = list("nutriment" = 4, "vitamin" = 6)
|
||||
tastes = list("beet" = 1)
|
||||
foodtype = VEGETABLES
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/soup/electron
|
||||
name = "electron soup"
|
||||
desc = "A gastronomic curiosity of ethereal origin. It is famed for the minature weather system formed over a properly prepared soup."
|
||||
icon_state = "electronsoup"
|
||||
list_reagents = list("nutriment" = 3, "liquidelectricity" = 5)
|
||||
tastes = list("mushroom" = 1, "electrons" = 4, "shockingly good")
|
||||
filling_color = "#CC2B52"
|
||||
foodtype = VEGETABLES | TOXIC
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/soup/bungocurry
|
||||
name = "bungo curry"
|
||||
desc = "A spicy vegetable curry made with the humble bungo fruit, Exotic!"
|
||||
icon_state = "bungocurry"
|
||||
bonus_reagents = list("vitamin" = 11)
|
||||
list_reagents = list("nutriment" = 6, "capsaicin" = 5)
|
||||
tastes = list("bungo" = 2, "hot curry" = 4, "tropical sweetness" = 1)
|
||||
filling_color = "#E6A625"
|
||||
foodtype = VEGETABLES | FRUIT | DAIRY
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
/obj/machinery/grill
|
||||
name = "grill"
|
||||
desc = "Just like the old days."
|
||||
icon = 'icons/obj/kitchen.dmi'
|
||||
icon_state = "grill_open"
|
||||
density = TRUE
|
||||
layer = BELOW_OBJ_LAYER
|
||||
use_power = NO_POWER_USE
|
||||
var/grill_fuel = 0
|
||||
var/obj/item/reagent_containers/food/grilled_item
|
||||
var/grill_time = 0
|
||||
var/datum/looping_sound/grill/grill_loop
|
||||
|
||||
/obj/machinery/grill/Initialize()
|
||||
. = ..()
|
||||
grill_loop = new(list(src), FALSE)
|
||||
|
||||
/obj/machinery/grill/update_icon()
|
||||
if(grilled_item)
|
||||
icon_state = "grill"
|
||||
else if(grill_fuel)
|
||||
icon_state = "grill_on"
|
||||
else
|
||||
icon_state = "grill_open"
|
||||
|
||||
/obj/machinery/grill/attackby(obj/item/I, mob/user)
|
||||
if(istype(I, /obj/item/stack/sheet/mineral/coal) || istype(I, /obj/item/stack/sheet/mineral/wood))
|
||||
var/obj/item/stack/S = I
|
||||
var/stackamount = S.get_amount()
|
||||
to_chat(user, "<span class='notice'>You put [stackamount] [I]s in [src].</span>")
|
||||
if(istype(I, /obj/item/stack/sheet/mineral/coal))
|
||||
grill_fuel += (500 * stackamount)
|
||||
else
|
||||
grill_fuel += (50 * stackamount)
|
||||
S.use(stackamount)
|
||||
update_icon()
|
||||
return
|
||||
if(I.resistance_flags & INDESTRUCTIBLE)
|
||||
to_chat(user, "<span class='warning'>You don't feel it would be wise to grill [I]...</span>")
|
||||
return ..()
|
||||
if(istype(I, /obj/item/reagent_containers))
|
||||
if(istype(I, /obj/item/reagent_containers/food) && !istype(I, /obj/item/reagent_containers/food/drinks))
|
||||
if(HAS_TRAIT(I, TRAIT_NODROP) || (I.item_flags & (ABSTRACT | DROPDEL)))
|
||||
return ..()
|
||||
else if(!grill_fuel)
|
||||
to_chat(user, "<span class='notice'>There is not enough fuel.</span>")
|
||||
return
|
||||
else if(!grilled_item && user.transferItemToLoc(I, src))
|
||||
grilled_item = I
|
||||
to_chat(user, "<span class='notice'>You put the [grilled_item] on [src].</span>")
|
||||
update_icon()
|
||||
grill_loop.start()
|
||||
return
|
||||
else
|
||||
if(I.reagents.has_reagent("monkey_energy"))
|
||||
grill_fuel += (20 * (I.reagents.get_reagent_amount("monkey_energy")))
|
||||
to_chat(user, "<span class='notice'>You pour the Monkey Energy in [src].</span>")
|
||||
I.reagents.remove_reagent("monkey_energy", I.reagents.get_reagent_amount("monkey_energy"))
|
||||
update_icon()
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/machinery/grill/process()
|
||||
..()
|
||||
update_icon()
|
||||
if(!grill_fuel)
|
||||
return
|
||||
else
|
||||
grill_fuel -= 1
|
||||
if(prob(1))
|
||||
var/datum/effect_system/smoke_spread/bad/smoke = new
|
||||
smoke.set_up(1, loc)
|
||||
smoke.start()
|
||||
if(grilled_item)
|
||||
grill_time += 1
|
||||
grilled_item.reagents.add_reagent("char", 1)
|
||||
grill_fuel -= 10
|
||||
grilled_item.AddComponent(/datum/component/sizzle)
|
||||
|
||||
/obj/machinery/grill/Exited(atom/movable/AM)
|
||||
if(AM == grilled_item)
|
||||
finish_grill()
|
||||
grilled_item = null
|
||||
..()
|
||||
|
||||
/obj/machinery/grill/Destroy()
|
||||
grilled_item = null
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/grill/handle_atom_del(atom/A)
|
||||
if(A == grilled_item)
|
||||
grilled_item = null
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/grill/wrench_act(mob/living/user, obj/item/I)
|
||||
. = ..()
|
||||
if(default_unfasten_wrench(user, I) != CANT_UNFASTEN)
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/grill/deconstruct(disassembled = TRUE)
|
||||
finish_grill()
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
new /obj/item/stack/sheet/metal(loc, 5)
|
||||
new /obj/item/stack/rods(loc, 5)
|
||||
..()
|
||||
|
||||
/obj/machinery/grill/attack_ai(mob/user)
|
||||
return
|
||||
|
||||
/obj/machinery/grill/attack_hand(mob/user)
|
||||
if(grilled_item)
|
||||
to_chat(user, "<span class='notice'>You take out [grilled_item] from [src].</span>")
|
||||
grilled_item.forceMove(drop_location())
|
||||
update_icon()
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/grill/proc/finish_grill()
|
||||
switch(grill_time) //no 0-9 to prevent spam
|
||||
if(10 to 15)
|
||||
grilled_item.name = "lightly-grilled [grilled_item.name]"
|
||||
grilled_item.desc = "[grilled_item.desc] It's been lightly grilled."
|
||||
if(16 to 39)
|
||||
grilled_item.name = "grilled [grilled_item.name]"
|
||||
grilled_item.desc = "[grilled_item.desc] It's been grilled."
|
||||
grilled_item.foodtype |= FRIED
|
||||
if(40 to 50)
|
||||
grilled_item.name = "heavily grilled [grilled_item.name]"
|
||||
grilled_item.desc = "[grilled_item.desc] It's been heavily grilled."
|
||||
grilled_item.foodtype |= FRIED
|
||||
if(51 to INFINITY) //grill marks reach max alpha
|
||||
grilled_item.name = "Powerfully Grilled [grilled_item.name]"
|
||||
grilled_item.desc = "A [grilled_item.name]. Reminds you of your deepfryer skills, wait, no, it's better!"
|
||||
grilled_item.foodtype |= FRIED
|
||||
grill_time = 0
|
||||
grill_loop.stop()
|
||||
|
||||
/obj/machinery/grill/unwrenched
|
||||
anchored = FALSE
|
||||
@@ -76,6 +76,22 @@
|
||||
required_reagents = list("corn_starch" = 1, "sacid" = 1)
|
||||
required_temp = 374
|
||||
|
||||
/datum/chemical_reaction/caramel
|
||||
name = "Caramel"
|
||||
id = "caramel"
|
||||
results = list("caramel" = 1)
|
||||
required_reagents = list("sugar" = 1)
|
||||
required_temp = 413
|
||||
mob_react = FALSE
|
||||
|
||||
/datum/chemical_reaction/caramel_burned
|
||||
name = "Caramel burned"
|
||||
id = "caramel_burned"
|
||||
results = list("carbon" = 1)
|
||||
required_reagents = list("caramel" = 1)
|
||||
required_temp = 483
|
||||
mob_react = FALSE
|
||||
|
||||
/datum/chemical_reaction/cheesewheel
|
||||
name = "Cheesewheel"
|
||||
id = "cheesewheel"
|
||||
@@ -161,3 +177,9 @@
|
||||
new /obj/item/reagent_containers/food/snacks/salad/ricebowl(location)
|
||||
if(holder && holder.my_atom)
|
||||
qdel(holder.my_atom)
|
||||
|
||||
/datum/chemical_reaction/bbqsauce
|
||||
name = "BBQ Sauce"
|
||||
id = "bbqsauce"
|
||||
results = list("bbqsauce" = 5)
|
||||
required_reagents = list("ash" = 1, "tomatojuice" = 1, "salglu_solution" = 3, "blackpepper" = 1)
|
||||
@@ -44,6 +44,10 @@
|
||||
input = /obj/item/reagent_containers/food/snacks/grown/parsnip
|
||||
output = /obj/item/reagent_containers/food/snacks/roastparsnip
|
||||
|
||||
/datum/food_processor_process/tortilla
|
||||
input = /obj/item/reagent_containers/food/snacks/tortilla
|
||||
output = /obj/item/reagent_containers/food/snacks/cornchips
|
||||
|
||||
/datum/food_processor_process/mob/slime
|
||||
input = /mob/living/simple_animal/slime
|
||||
output = null
|
||||
|
||||
@@ -76,6 +76,7 @@
|
||||
name = "Fish burger"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/snacks/carpmeat = 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/fish
|
||||
@@ -94,6 +95,7 @@
|
||||
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
|
||||
@@ -176,7 +178,7 @@
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/burger/purple
|
||||
subcategory = CAT_BURGER
|
||||
|
||||
|
||||
/datum/crafting_recipe/food/blackburger
|
||||
name = "Black burger"
|
||||
reqs = list(
|
||||
@@ -186,7 +188,7 @@
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/burger/black
|
||||
subcategory = CAT_BURGER
|
||||
|
||||
|
||||
/datum/crafting_recipe/food/whiteburger
|
||||
name = "White burger"
|
||||
reqs = list(
|
||||
@@ -218,6 +220,7 @@
|
||||
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
|
||||
@@ -231,7 +234,8 @@
|
||||
/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 = 2,
|
||||
/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
|
||||
|
||||
)
|
||||
@@ -260,6 +264,7 @@
|
||||
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
|
||||
@@ -293,3 +298,53 @@
|
||||
|
||||
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
|
||||
@@ -180,6 +180,17 @@
|
||||
result = /obj/item/reagent_containers/food/snacks/store/cake/peach_cake
|
||||
subcategory = CAT_CAKE
|
||||
|
||||
/datum/crafting_recipe/food/trumpetcake
|
||||
name = "Spaceman's Cake"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/snacks/store/cake/plain = 1,
|
||||
/obj/item/reagent_containers/food/snacks/grown/trumpet = 2,
|
||||
/datum/reagent/consumable/cream = 5,
|
||||
/datum/reagent/consumable/berryjuice = 5
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/store/cake/trumpet
|
||||
subcategory = CAT_CAKE
|
||||
|
||||
/datum/crafting_recipe/food/cak
|
||||
name = "Living cat/cake hybrid"
|
||||
reqs = list(
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
|
||||
/////////////////
|
||||
//Misc. Frozen.//
|
||||
/////////////////
|
||||
|
||||
/datum/crafting_recipe/food/icecreamsandwich
|
||||
name = "Icecream sandwich"
|
||||
reqs = list(
|
||||
@@ -90,11 +94,10 @@
|
||||
|
||||
//////////////////////////SNOW CONES///////////////////////
|
||||
|
||||
/datum/crafting_recipe/food/flaverless_sc
|
||||
name = "Flaverless snowcone"
|
||||
/datum/crafting_recipe/food/flavorless_sc
|
||||
name = "Flavorless snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones
|
||||
@@ -104,7 +107,6 @@
|
||||
name = "Pineapple snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/obj/item/reagent_containers/food/snacks/pineappleslice = 2
|
||||
)
|
||||
@@ -115,7 +117,6 @@
|
||||
name = "Lime snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/consumable/limejuice = 5
|
||||
)
|
||||
@@ -126,7 +127,6 @@
|
||||
name = "Lemon snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/consumable/lemonjuice = 5
|
||||
)
|
||||
@@ -137,7 +137,6 @@
|
||||
name = "Apple snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/consumable/applejuice = 5
|
||||
)
|
||||
@@ -148,9 +147,8 @@
|
||||
name = "Grape snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/consumable/berryjuice = 5
|
||||
/datum/reagent/consumable/grapejuice = 5
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones/grape
|
||||
subcategory = CAT_ICE
|
||||
@@ -159,7 +157,6 @@
|
||||
name = "Orange snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/consumable/orangejuice = 5
|
||||
)
|
||||
@@ -170,7 +167,6 @@
|
||||
name = "Bluecherry snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/consumable/bluecherryjelly= 5
|
||||
)
|
||||
@@ -181,22 +177,20 @@
|
||||
name = "Cherry snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/consumable/cherryjelly= 5
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones/red
|
||||
subcategory = CAT_ICE
|
||||
|
||||
/datum/crafting_recipe/food/mix_sc
|
||||
name = "Mixed berrie snowcone"
|
||||
/datum/crafting_recipe/food/berry_sc
|
||||
name = "Berry snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/consumable/berryjuice = 15
|
||||
/datum/reagent/consumable/berryjuice = 5
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones/mix
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones/berry
|
||||
subcategory = CAT_ICE
|
||||
|
||||
/datum/crafting_recipe/food/fruitsalad_sc
|
||||
@@ -216,7 +210,6 @@
|
||||
name = "Mime snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/consumable/nothing = 5
|
||||
)
|
||||
@@ -227,86 +220,57 @@
|
||||
name = "Clown snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/consumable/clownstears = 5
|
||||
/datum/reagent/consumable/laughter = 5
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones/clown
|
||||
subcategory = CAT_ICE
|
||||
|
||||
/datum/crafting_recipe/food/soda_sc
|
||||
name = "Soda water snowcone"
|
||||
name = "Space Cola snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/consumable/sodawater = 15
|
||||
/datum/reagent/consumable/space_cola = 5
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones/soda
|
||||
subcategory = CAT_ICE
|
||||
|
||||
/datum/crafting_recipe/food/pwgrmer_sc
|
||||
name = "Pwergamer snowcone"
|
||||
/datum/crafting_recipe/food/spacemountainwind_sc
|
||||
name = "Space Mountain Wind snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/consumable/spacemountainwind = 5
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones/spacemountainwind
|
||||
|
||||
/datum/crafting_recipe/food/pwrgame_sc
|
||||
name = "Pwrgame snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/consumable/pwr_game = 15
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones/pwgrmer
|
||||
subcategory = CAT_ICE
|
||||
|
||||
/datum/crafting_recipe/food/kiwi_sc
|
||||
name = "Kiwi snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/obj/item/reagent_containers/food/snacks/egg/kiwiEgg = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones/kiwi
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones/pwrgame
|
||||
subcategory = CAT_ICE
|
||||
|
||||
/datum/crafting_recipe/food/honey_sc
|
||||
name = "Honey snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/consumable/honey = 5
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones/honey
|
||||
subcategory = CAT_ICE
|
||||
|
||||
/datum/crafting_recipe/food/peach_sc
|
||||
name = "Peach snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/obj/item/reagent_containers/food/snacks/grown/peach = 1
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones/peach
|
||||
subcategory = CAT_ICE
|
||||
|
||||
/datum/crafting_recipe/food/strawberry_sc
|
||||
name = "Strawberry snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/obj/item/reagent_containers/food/snacks/grown/strawberry = 2
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones/strawberry
|
||||
subcategory = CAT_ICE
|
||||
|
||||
/datum/crafting_recipe/food/honey_sc
|
||||
/datum/crafting_recipe/food/rainbow_sc
|
||||
name = "Rainbow snowcone"
|
||||
reqs = list(
|
||||
/obj/item/reagent_containers/food/drinks/sillycup = 1,
|
||||
/datum/reagent/water = 5,
|
||||
/datum/reagent/consumable/ice = 15,
|
||||
/datum/reagent/colorful_reagent = 1 //Hard to make
|
||||
/datum/reagent/colorful_reagent = 1 //Harder to make
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/snowcones/rainbow
|
||||
subcategory = CAT_ICE
|
||||
subcategory = CAT_ICE
|
||||
@@ -166,3 +166,25 @@
|
||||
)
|
||||
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
|
||||
@@ -1,18 +1,7 @@
|
||||
|
||||
// see code/module/crafting/table.dm
|
||||
|
||||
////////////////////////////////////////////////DONUTS////////////////////////////////////////////////
|
||||
|
||||
/datum/crafting_recipe/food/chaosdonut
|
||||
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
|
||||
subcategory = CAT_PASTRY
|
||||
|
||||
/datum/crafting_recipe/food/donut
|
||||
time = 15
|
||||
name = "Donut"
|
||||
@@ -20,18 +9,17 @@
|
||||
/datum/reagent/consumable/sugar = 1,
|
||||
/obj/item/reagent_containers/food/snacks/pastrybase = 1
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/donut
|
||||
result = /obj/item/reagent_containers/food/snacks/donut/plain
|
||||
subcategory = CAT_PASTRY
|
||||
|
||||
/datum/crafting_recipe/food/donut/semen
|
||||
time = 15
|
||||
name = "Semen donut"
|
||||
/datum/crafting_recipe/food/donut/chaos
|
||||
name = "Chaos donut"
|
||||
reqs = list(
|
||||
/datum/reagent/consumable/semen = 10,
|
||||
/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/semen
|
||||
subcategory = CAT_PASTRY
|
||||
result = /obj/item/reagent_containers/food/snacks/donut/chaos
|
||||
|
||||
datum/crafting_recipe/food/donut/meat
|
||||
time = 15
|
||||
@@ -41,35 +29,232 @@ datum/crafting_recipe/food/donut/meat
|
||||
/obj/item/reagent_containers/food/snacks/pastrybase = 1
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/donut/meat
|
||||
subcategory = CAT_PASTRY
|
||||
|
||||
/datum/crafting_recipe/food/jellydonut
|
||||
/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
|
||||
subcategory = CAT_PASTRY
|
||||
result = /obj/item/reagent_containers/food/snacks/donut/jelly/plain
|
||||
|
||||
/datum/crafting_recipe/food/cherryjellydonut
|
||||
name = "Cherry jelly donut"
|
||||
reqs = list(
|
||||
/datum/reagent/consumable/cherryjelly = 5,
|
||||
/obj/item/reagent_containers/food/snacks/pastrybase = 1
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/donut/jelly/cherryjelly
|
||||
subcategory = CAT_PASTRY
|
||||
|
||||
/datum/crafting_recipe/food/slimejellydonut
|
||||
/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
|
||||
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_PASTRY
|
||||
|
||||
/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(
|
||||
/obj/item/reagent_containers/food/snacks/grown/bungofruit = 1,
|
||||
/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/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(
|
||||
/obj/item/reagent_containers/food/snacks/grown/bungofruit = 1,
|
||||
/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(
|
||||
/obj/item/reagent_containers/food/snacks/grown/bungofruit = 1,
|
||||
/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
|
||||
|
||||
////////////////////////////////////////////////WAFFLES AND PANCAKES////////////////////////////////////////////////
|
||||
|
||||
/datum/crafting_recipe/food/waffles
|
||||
@@ -341,4 +526,4 @@ datum/crafting_recipe/food/donut/meat
|
||||
/datum/reagent/consumable/honey = 5
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/honeybun
|
||||
subcategory = CAT_PASTRY
|
||||
subcategory = CAT_PASTRY
|
||||
@@ -275,6 +275,18 @@
|
||||
name = "Snow"
|
||||
icon_state = "snow"
|
||||
|
||||
/datum/sprite_accessory/insect_fluff/oakworm
|
||||
name = "Oak Worm"
|
||||
icon_state = "oakworm"
|
||||
|
||||
/datum/sprite_accessory/insect_fluff/jungle
|
||||
name = "Jungle"
|
||||
icon_state = "jungle"
|
||||
|
||||
/datum/sprite_accessory/insect_fluff/witchwing
|
||||
name = "Witch Wing"
|
||||
icon_state = "witchwing"
|
||||
|
||||
/datum/sprite_accessory/insect_fluff/colored
|
||||
name = "Colored (Hair)"
|
||||
icon_state = "snow"
|
||||
|
||||
@@ -213,4 +213,81 @@
|
||||
|
||||
/datum/sprite_accessory/insect_wings/whitefly
|
||||
name = "White Fly"
|
||||
icon_state = "whitefly"
|
||||
icon_state = "whitefly"
|
||||
|
||||
/datum/sprite_accessory/insect_wings/oakworm
|
||||
name = "Oak Worm"
|
||||
icon_state = "oakworm"
|
||||
|
||||
/datum/sprite_accessory/insect_wings/jungle
|
||||
name = "Jungle"
|
||||
icon_state = "jungle"
|
||||
|
||||
/datum/sprite_accessory/insect_wings/witchwing
|
||||
name = "Witch Wing"
|
||||
icon_state = "witchwing"
|
||||
|
||||
//insect markings
|
||||
/datum/sprite_accessory/insect_markings // Extra markings for insects ported from tg.
|
||||
icon = 'icons/mob/insect_markings.dmi'
|
||||
color_src = null
|
||||
|
||||
/datum/sprite_accessory/insect_markings/none
|
||||
name = "None"
|
||||
icon_state = "none"
|
||||
|
||||
/datum/sprite_accessory/insect_markings/reddish
|
||||
name = "Reddish"
|
||||
icon_state = "reddish"
|
||||
|
||||
/datum/sprite_accessory/insect_markings/royal
|
||||
name = "Royal"
|
||||
icon_state = "royal"
|
||||
|
||||
/datum/sprite_accessory/insect_markings/gothic
|
||||
name = "Gothic"
|
||||
icon_state = "gothic"
|
||||
|
||||
/datum/sprite_accessory/insect_markings/whitefly
|
||||
name = "White Fly"
|
||||
icon_state = "whitefly"
|
||||
|
||||
/datum/sprite_accessory/insect_markings/lovers
|
||||
name = "Lovers"
|
||||
icon_state = "lovers"
|
||||
|
||||
/datum/sprite_accessory/insect_markings/punished
|
||||
name = "Punished"
|
||||
icon_state = "punished"
|
||||
|
||||
/datum/sprite_accessory/insect_markings/firewatch
|
||||
name = "Firewatch"
|
||||
icon_state = "firewatch"
|
||||
|
||||
/datum/sprite_accessory/insect_markings/deathhead
|
||||
name = "Deathshead"
|
||||
icon_state = "deathhead"
|
||||
|
||||
/datum/sprite_accessory/insect_markings/poison
|
||||
name = "Poison"
|
||||
icon_state = "poison"
|
||||
|
||||
/datum/sprite_accessory/insect_markings/ragged
|
||||
name = "Ragged"
|
||||
icon_state = "ragged"
|
||||
|
||||
/datum/sprite_accessory/insect_markings/moonfly
|
||||
name = "Moon Fly"
|
||||
icon_state = "moonfly"
|
||||
|
||||
/datum/sprite_accessory/insect_markings/oakworm
|
||||
name = "Oak Worm"
|
||||
icon_state = "oakworm"
|
||||
|
||||
/datum/sprite_accessory/insect_markings/jungle
|
||||
name = "Jungle"
|
||||
icon_state = "jungle"
|
||||
|
||||
/datum/sprite_accessory/insect_markings/witchwing
|
||||
name = "Witch Wing"
|
||||
icon_state = "witchwing"
|
||||
@@ -977,3 +977,14 @@
|
||||
if(combatmode)
|
||||
toggle_combat_mode(TRUE, TRUE)
|
||||
return ..()
|
||||
|
||||
/mob/living/carbon/can_see_reagents()
|
||||
. = ..()
|
||||
if(.) //No need to run through all of this if it's already true.
|
||||
return
|
||||
if(isclothing(head))
|
||||
var/obj/item/clothing/H = head
|
||||
if(H.clothing_flags & SCAN_REAGENTS)
|
||||
return TRUE
|
||||
if(isclothing(wear_mask) && (wear_mask.clothing_flags & SCAN_REAGENTS))
|
||||
return TRUE
|
||||
|
||||
@@ -50,6 +50,9 @@
|
||||
|
||||
/mob/living/carbon/proc/can_catch_item(skip_throw_mode_check)
|
||||
. = FALSE
|
||||
if(mind)
|
||||
if(mind.martial_art && mind.martial_art.dodge_chance == 100)
|
||||
return TRUE
|
||||
if(!skip_throw_mode_check && !in_throw_mode)
|
||||
return
|
||||
if(get_active_held_item())
|
||||
@@ -63,6 +66,13 @@
|
||||
if(can_catch_item())
|
||||
if(istype(AM, /obj/item))
|
||||
var/obj/item/I = AM
|
||||
if (mind)
|
||||
if (mind.martial_art && mind.martial_art.dodge_chance == 100) //autocatch for rising bass
|
||||
if (get_active_held_item())
|
||||
visible_message("<span class='warning'>[I] falls to the ground as [src] chops it out of the air!</span>")
|
||||
return 1
|
||||
if(!in_throw_mode)
|
||||
throw_mode_on()
|
||||
if(isturf(I.loc))
|
||||
I.attack_hand(src)
|
||||
if(get_active_held_item() == I) //if our attack_hand() picks up the item...
|
||||
@@ -279,6 +289,12 @@
|
||||
M.visible_message("<span class='notice'>[M] shakes [src] trying to get [p_them()] up!</span>", \
|
||||
"<span class='notice'>You shake [src] trying to get [p_them()] up!</span>")
|
||||
|
||||
else if(check_zone(M.zone_selected) == "mouth") // I ADDED BOOP-EH-DEH-NOSEH - Jon
|
||||
M.visible_message( \
|
||||
"<span class='notice'>[M] boops [src]'s nose.</span>", \
|
||||
"<span class='notice'>You boop [src] on the nose.</span>", )
|
||||
playsound(src, 'sound/items/Nose_boop.ogg', 50, 0)
|
||||
|
||||
else if(check_zone(M.zone_selected) == "head")
|
||||
var/mob/living/carbon/human/H = src
|
||||
var/datum/species/pref_species = H.dna.species
|
||||
@@ -321,12 +337,6 @@
|
||||
M.visible_message( \
|
||||
"<span class='notice'>[M] shakes [src]'s hand.</span>", \
|
||||
"<span class='notice'>You shake [src]'s hand.</span>", )
|
||||
|
||||
else if(check_zone(M.zone_selected) == "mouth") // I ADDED BOOP-EH-DEH-NOSEH - Jon
|
||||
M.visible_message( \
|
||||
"<span class='notice'>[M] boops [src]'s nose.</span>", \
|
||||
"<span class='notice'>You boop [src] on the nose.</span>", )
|
||||
playsound(src, 'sound/items/Nose_boop.ogg', 50, 0)
|
||||
|
||||
else
|
||||
M.visible_message("<span class='notice'>[M] hugs [src] to make [p_them()] feel better!</span>", \
|
||||
|
||||
@@ -46,6 +46,12 @@
|
||||
return spec_return
|
||||
|
||||
if(mind)
|
||||
if (mind.martial_art && mind.martial_art.dodge_chance)
|
||||
if(!lying && dna && !dna.check_mutation(HULK))
|
||||
if(prob(mind.martial_art.dodge_chance))
|
||||
var/dodgemessage = pick("dodges under the projectile!","dodges to the right of the projectile!","jumps over the projectile!")
|
||||
visible_message("<span class='danger'>[src] [dodgemessage]</span>", "<span class='userdanger'>You dodge the projectile!</span>")
|
||||
return -1
|
||||
if(mind.martial_art && !incapacitated(FALSE, TRUE) && mind.martial_art.can_use(src) && mind.martial_art.deflection_chance) //Some martial arts users can deflect projectiles!
|
||||
if(prob(mind.martial_art.deflection_chance))
|
||||
if(!lying && dna && !dna.check_mutation(HULK)) //But only if they're not lying down, and hulks can't do it
|
||||
@@ -145,7 +151,7 @@
|
||||
skipcatch = TRUE
|
||||
blocked = TRUE
|
||||
else if(I)
|
||||
if(I.throw_speed >= EMBED_THROWSPEED_THRESHOLD)
|
||||
if(I.throw_speed >= EMBED_THROWSPEED_THRESHOLD && !(mind.martial_art && mind.martial_art.dodge_chance == 100))
|
||||
if(can_embed(I))
|
||||
if(prob(I.embedding.embed_chance) && !HAS_TRAIT(src, TRAIT_PIERCEIMMUNE))
|
||||
throw_alert("embeddedobject", /obj/screen/alert/embeddedobject)
|
||||
@@ -158,7 +164,9 @@
|
||||
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "embedded", /datum/mood_event/embedded)
|
||||
hitpush = FALSE
|
||||
skipcatch = TRUE //can't catch the now embedded item
|
||||
|
||||
if (mind)
|
||||
if (mind.martial_art && mind.martial_art.dodge_chance == 100)
|
||||
skipcatch = FALSE
|
||||
return ..()
|
||||
|
||||
/mob/living/carbon/human/grabbedby(mob/living/carbon/user, supress_message = 0)
|
||||
|
||||
@@ -117,7 +117,8 @@
|
||||
|
||||
/mob/living/carbon/human/can_use_guns(obj/item/G)
|
||||
. = ..()
|
||||
|
||||
if(!.)
|
||||
return
|
||||
if(G.trigger_guard == TRIGGER_GUARD_NORMAL)
|
||||
if(HAS_TRAIT(src, TRAIT_CHUNKYFINGERS))
|
||||
to_chat(src, "<span class='warning'>Your meaty finger is much too large for the trigger guard!</span>")
|
||||
@@ -126,7 +127,13 @@
|
||||
to_chat(src, "<span class='warning'>Your fingers don't fit in the trigger guard!</span>")
|
||||
return FALSE
|
||||
|
||||
return .
|
||||
/mob/living/carbon/human/can_see_reagents()
|
||||
. = ..()
|
||||
if(.) //No need to run through all of this if it's already true.
|
||||
return
|
||||
if(isclothing(glasses) && (glasses.clothing_flags & SCAN_REAGENTS))
|
||||
return TRUE
|
||||
|
||||
/*
|
||||
/mob/living/carbon/human/transfer_blood_dna(list/blood_dna)
|
||||
..()
|
||||
|
||||
@@ -781,6 +781,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
S = GLOB.insect_wings_list[H.dna.features["insect_wings"]]
|
||||
if("insect_fluff")
|
||||
S = GLOB.insect_fluffs_list[H.dna.features["insect_fluff"]]
|
||||
if("insect_markings")
|
||||
S = GLOB.insect_markings_list[H.dna.features["insect_markings"]]
|
||||
if("caps")
|
||||
S = GLOB.caps_list[H.dna.features["caps"]]
|
||||
if("ipc_screen")
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
default_color = "00FF00"
|
||||
species_traits = list(LIPS,EYECOLOR,HAIR,FACEHAIR,MUTCOLORS,HORNCOLOR,WINGCOLOR)
|
||||
inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID, MOB_BUG)
|
||||
mutant_bodyparts = list("mam_ears", "mam_snout", "mam_tail", "taur", "insect_wings", "mam_snouts", "insect_fluff","horns")
|
||||
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","horns" = "None")
|
||||
"insect_wings" = "None", "insect_fluff" = "None", "mam_snouts" = "None", "taur" = "None", "insect_markings" = "None")
|
||||
attack_verb = "slash"
|
||||
attack_sound = 'sound/weapons/slash.ogg'
|
||||
miss_sound = 'sound/weapons/slashmiss.ogg'
|
||||
|
||||
@@ -286,8 +286,8 @@
|
||||
if(health < maxHealth)
|
||||
adjustBruteLoss(-8) //Fast life regen
|
||||
for(var/obj/item/reagent_containers/food/snacks/donut/D in range(1, src)) //Frosts nearby donuts!
|
||||
if(!D.is_frosted)
|
||||
D.frost_donut()
|
||||
if(!D.is_decorated)
|
||||
D.decorate_donut()
|
||||
|
||||
/mob/living/simple_animal/pet/cat/cak/attack_hand(mob/living/L)
|
||||
..()
|
||||
|
||||
@@ -275,6 +275,15 @@
|
||||
/mob/living/simple_animal/drone/electrocute_act(shock_damage, obj/source, siemens_coeff = 1, safety = 0, tesla_shock = 0, illusion = 0, stun = TRUE)
|
||||
return 0 //So they don't die trying to fix wiring
|
||||
|
||||
/mob/living/simple_animal/drone/can_see_reagents()
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
if(isclothing(head))
|
||||
var/obj/item/clothing/H = head
|
||||
if(H.clothing_flags & SCAN_REAGENTS)
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/drone/generate_mob_holder()
|
||||
var/obj/item/clothing/head/mob_holder/holder = new(get_turf(src), src, "[visualAppearence]_hat", null, null, null, TRUE)
|
||||
return holder
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
density = FALSE
|
||||
speak_chance = 2
|
||||
turns_per_move = 2
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 1)
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/chicken = 1)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
@@ -246,7 +246,7 @@
|
||||
density = FALSE
|
||||
speak_chance = 2
|
||||
turns_per_move = 3
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2)
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/chicken = 2)
|
||||
var/egg_type = /obj/item/reagent_containers/food/snacks/egg
|
||||
var/food_type = /obj/item/reagent_containers/food/snacks/grown/wheat
|
||||
response_help = "pets"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
mob_biotypes = list(MOB_ORGANIC, MOB_BEAST)
|
||||
speak_chance = 0
|
||||
turns_per_move = 5
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 2)
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2)
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
|
||||
+1
-1
@@ -201,7 +201,7 @@
|
||||
mother.children_list -= src
|
||||
visible_message("<span class='warning'>[src] explodes!</span>")
|
||||
explosion(get_turf(loc),0,0,0,flame_range = 3, adminlog = FALSE)
|
||||
gib()
|
||||
qdel()
|
||||
|
||||
//Tentacles have less stun time compared to regular variant, to balance being able to use them much more often. Also, 10 more damage.
|
||||
/obj/effect/temp_visual/goliath_tentacle/broodmother/trip()
|
||||
|
||||
+9
-28
@@ -566,9 +566,9 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
|
||||
/mob/proc/is_muzzled()
|
||||
return 0
|
||||
|
||||
/mob/Stat()
|
||||
..()
|
||||
|
||||
/mob/Stat(delayoverride)
|
||||
. = ..()
|
||||
var/statdelay = delayoverride || 10
|
||||
if(statpanel("Status"))
|
||||
if (client)
|
||||
stat(null, "Ping: [round(client.lastping, 1)]ms (Average: [round(client.avgping, 1)]ms)")
|
||||
@@ -576,7 +576,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
|
||||
var/datum/map_config/cached = SSmapping.next_map_config
|
||||
if(cached)
|
||||
stat(null, "Next Map: [cached.map_name]")
|
||||
stat(null, "Round ID: [GLOB.round_id ? GLOB.round_id : "NULL"]")
|
||||
stat(null, "Round ID: [GLOB.round_id || "NULL"]")
|
||||
stat(null, "Server Time: [time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss")]")
|
||||
stat(null, "Round Time: [WORLDTIME2TEXT("hh:mm:ss")]")
|
||||
stat(null, "Station Time: [STATION_TIME_TIMESTAMP("hh:mm:ss")]")
|
||||
@@ -586,8 +586,9 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
|
||||
if(ETA)
|
||||
stat(null, "[ETA] [SSshuttle.emergency.getTimerStr()]")
|
||||
|
||||
if(client && client.holder)
|
||||
if(client?.holder)
|
||||
if(statpanel("MC"))
|
||||
statdelay = 0 //It's assumed that if you're doing this you are doing debug stuff, don't do ioditic things.
|
||||
var/turf/T = get_turf(client.eye)
|
||||
stat("Location:", COORD(T))
|
||||
stat("CPU:", "[world.cpu]")
|
||||
@@ -613,6 +614,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
|
||||
GLOB.ahelp_tickets.stat_entry()
|
||||
if(length(GLOB.sdql2_queries))
|
||||
if(statpanel("SDQL2"))
|
||||
statdelay = 0 //It's assumed that if you're doing this you are doing debug stuff, don't do ioditic things.
|
||||
stat("Access Global SDQL2 List", GLOB.sdql2_vv_statobj)
|
||||
for(var/i in GLOB.sdql2_queries)
|
||||
var/datum/SDQL2_query/Q = i
|
||||
@@ -636,14 +638,13 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
|
||||
if(A.IsObscured())
|
||||
continue
|
||||
statpanel(listed_turf.name, null, A)
|
||||
|
||||
|
||||
if(mind)
|
||||
add_spells_to_statpanel(mind.spell_list)
|
||||
var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling)
|
||||
if(changeling)
|
||||
add_stings_to_statpanel(changeling.purchasedpowers)
|
||||
add_spells_to_statpanel(mob_spell_list)
|
||||
sleep(statdelay)
|
||||
|
||||
/mob/proc/add_spells_to_statpanel(list/spells)
|
||||
for(var/obj/effect/proc_holder/spell/S in spells)
|
||||
@@ -810,26 +811,6 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
|
||||
/mob/proc/can_interact_with(atom/A)
|
||||
return IsAdminGhost(src) || Adjacent(A)
|
||||
|
||||
//Can the mob see reagents inside of containers?
|
||||
/mob/proc/can_see_reagents()
|
||||
if(stat == DEAD) //Ghosts and such can always see reagents
|
||||
return 1
|
||||
if(has_unlimited_silicon_privilege) //Silicons can automatically view reagents
|
||||
return 1
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
if(H.head && istype(H.head, /obj/item/clothing))
|
||||
var/obj/item/clothing/CL = H.head
|
||||
if(CL.scan_reagents)
|
||||
return 1
|
||||
if(H.wear_mask && H.wear_mask.scan_reagents)
|
||||
return 1
|
||||
if(H.glasses && istype(H.glasses, /obj/item/clothing))
|
||||
var/obj/item/clothing/CL = H.glasses
|
||||
if(CL.scan_reagents)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
//Can the mob use Topic to interact with machines
|
||||
/mob/proc/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE)
|
||||
return
|
||||
@@ -976,4 +957,4 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
|
||||
|
||||
/mob/setMovetype(newval)
|
||||
. = ..()
|
||||
update_movespeed(FALSE)
|
||||
update_movespeed(FALSE)
|
||||
|
||||
@@ -532,3 +532,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
|
||||
if(!held_item)
|
||||
return
|
||||
return held_item.GetID()
|
||||
|
||||
//Can the mob see reagents inside of containers?
|
||||
/mob/proc/can_see_reagents()
|
||||
return stat == DEAD || has_unlimited_silicon_privilege //Dead guys and silicons can always see reagents
|
||||
|
||||
@@ -515,7 +515,7 @@
|
||||
name = "Buzz Fuzz"
|
||||
description = "~A Hive of Flavour!~ NOTICE: Addicting."
|
||||
id = "buzz_fuzz"
|
||||
addiction_threshold = 14
|
||||
addiction_threshold = 26 //A can and a sip
|
||||
color = "#8CFF00" // rgb: 135, 255, 0
|
||||
taste_description = "carbonated honey and pollen"
|
||||
glass_icon_state = "buzz_fuzz"
|
||||
@@ -523,8 +523,8 @@
|
||||
glass_desc = "Stinging with flavour."
|
||||
|
||||
/datum/reagent/consumable/buzz_fuzz/on_mob_life(mob/living/carbon/M)
|
||||
M.reagents.add_reagent("sugar",2)
|
||||
if(prob(25))
|
||||
M.reagents.add_reagent("sugar",1)
|
||||
if(prob(5))
|
||||
M.reagents.add_reagent("honey",1)
|
||||
..()
|
||||
|
||||
@@ -951,3 +951,21 @@
|
||||
to_chat(M, "<span class = 'notice'>[pick("Headpats feel nice.", "Backrubs would be nice.", "Mew")]</span>")
|
||||
M.adjustArousalLoss(5)
|
||||
..()
|
||||
|
||||
/datum/reagent/consumable/monkey_energy
|
||||
name = "Monkey Energy"
|
||||
id = "monkey_energy"
|
||||
description = "The only drink that will make you unleash the ape."
|
||||
color = "#f39b03" // rgb: 243, 155, 3
|
||||
taste_description = "barbecue and nostalgia"
|
||||
glass_icon_state = "monkey_energy_glass"
|
||||
glass_name = "glass of Monkey Energy"
|
||||
glass_desc = "You can unleash the ape, but without the pop of the can?"
|
||||
|
||||
/datum/reagent/consumable/monkey_energy/on_mob_life(mob/living/carbon/M)
|
||||
M.Jitter(20)
|
||||
M.dizziness +=1
|
||||
M.drowsyness = 0
|
||||
M.AdjustSleeping(-40, FALSE)
|
||||
M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
|
||||
..()
|
||||
|
||||
@@ -767,7 +767,7 @@
|
||||
/* //We don't have ethereals here, so I'll just comment it out.
|
||||
/datum/reagent/consumable/liquidelectricity/reaction_mob(mob/living/M, method=TOUCH, reac_volume) //can't be on life because of the way blood works.
|
||||
if((method == INGEST || method == INJECT || method == PATCH) && iscarbon(M))
|
||||
|
||||
|
||||
var/mob/living/carbon/C = M
|
||||
var/obj/item/organ/stomach/ethereal/stomach = C.getorganslot(ORGAN_SLOT_STOMACH)
|
||||
if(istype(stomach))
|
||||
@@ -799,6 +799,16 @@
|
||||
..()
|
||||
. = TRUE
|
||||
|
||||
/datum/reagent/consumable/caramel
|
||||
name = "Caramel"
|
||||
id = "caramel"
|
||||
description = "Who would have guessed that heated sugar could be so delicious?"
|
||||
nutriment_factor = 10 * REAGENTS_METABOLISM
|
||||
color = "#D98736"
|
||||
taste_mult = 2
|
||||
taste_description = "caramel"
|
||||
reagent_state = SOLID
|
||||
|
||||
/datum/reagent/consumable/secretsauce
|
||||
name = "secret sauce"
|
||||
id = "secret_sauce"
|
||||
@@ -810,3 +820,27 @@
|
||||
taste_mult = 100
|
||||
can_synth = FALSE
|
||||
pH = 6.1
|
||||
|
||||
/datum/reagent/consumable/char
|
||||
name = "Char"
|
||||
id = "char"
|
||||
description = "Essence of the grill. Has strange properties when overdosed."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 5 * REAGENTS_METABOLISM
|
||||
color = "#C8C8C8"
|
||||
taste_mult = 6
|
||||
taste_description = "smoke"
|
||||
overdose_threshold = 25
|
||||
|
||||
/datum/reagent/consumable/char/overdose_process(mob/living/carbon/M)
|
||||
if(prob(10))
|
||||
M.say(pick("I hate my grill.", "I just want to grill something right for once...", "I wish I could just go on my lawnmower and cut the grass.", "Yep, Tetris. That was a good game..."))
|
||||
|
||||
/datum/reagent/consumable/bbqsauce
|
||||
name = "BBQ Sauce"
|
||||
id = "bbqsauce"
|
||||
description = "Sweet, Smokey, Savory, and gets everywhere. Perfect for Grilling."
|
||||
nutriment_factor = 5 * REAGENTS_METABOLISM
|
||||
color = "#78280A" // rgb: 120 40, 10
|
||||
taste_mult = 2.5 //sugar's 1.5, capsacin's 1.5, so a good middle ground.
|
||||
taste_description = "smokey sweetness"
|
||||
|
||||
@@ -28,6 +28,11 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list(
|
||||
/obj/item/hilbertshotel
|
||||
)))
|
||||
|
||||
GLOBAL_LIST_INIT(cargo_shuttle_leave_behind_typecache, typecacheof(list(
|
||||
/mob/living/simple_animal/revenant,
|
||||
/mob/living/simple_animal/slaughter
|
||||
)))
|
||||
|
||||
/obj/docking_port/mobile/supply
|
||||
name = "supply shuttle"
|
||||
id = "supply"
|
||||
@@ -50,16 +55,27 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list(
|
||||
|
||||
/obj/docking_port/mobile/supply/canMove()
|
||||
if(is_station_level(z))
|
||||
return check_blacklist(shuttle_areas)
|
||||
return check_blacklist(shuttle_areas, GLOB.blacklisted_cargo_types - GLOB.cargo_shuttle_leave_behind_typecache)
|
||||
return ..()
|
||||
|
||||
/obj/docking_port/mobile/supply/proc/check_blacklist(areaInstances)
|
||||
/obj/docking_port/mobile/supply/enterTransit()
|
||||
var/list/leave_behind = list()
|
||||
for(var/i in check_blacklist(shuttle_areas, GLOB.cargo_shuttle_leave_behind_typecache))
|
||||
var/atom/movable/AM = i
|
||||
leave_behind[AM] = AM.loc
|
||||
. = ..()
|
||||
for(var/kicked in leave_behind)
|
||||
var/atom/movable/victim = kicked
|
||||
var/atom/oldloc = leave_behind[victim]
|
||||
victim.forceMove(oldloc)
|
||||
|
||||
/obj/docking_port/mobile/supply/proc/check_blacklist(areaInstances, list/typecache)
|
||||
for(var/place in areaInstances)
|
||||
var/area/shuttle/shuttle_area = place
|
||||
for(var/trf in shuttle_area)
|
||||
var/turf/T = trf
|
||||
for(var/a in T.GetAllContents())
|
||||
if(is_type_in_typecache(a, GLOB.blacklisted_cargo_types))
|
||||
if(is_type_in_typecache(a, typecache))
|
||||
return FALSE
|
||||
if(istype(a, /obj/structure/closet))//Prevents eigenlockers from ending up at CC
|
||||
var/obj/structure/closet/c = a
|
||||
|
||||
@@ -641,7 +641,7 @@
|
||||
cost = 2
|
||||
|
||||
/datum/uplink_item/stealthy_weapons/martialarts
|
||||
name = "Martial Arts Scroll"
|
||||
name = "Sleeping Carp Scroll"
|
||||
desc = "This scroll contains the secrets of an ancient martial arts technique. You will master unarmed combat, \
|
||||
deflecting all ranged weapon fire, but you also refuse to use dishonorable ranged weaponry."
|
||||
item = /obj/item/book/granter/martial/carp
|
||||
@@ -649,6 +649,15 @@
|
||||
surplus = 0
|
||||
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
|
||||
|
||||
/datum/uplink_item/stealthy_weapons/martialartstwo
|
||||
name = "Rising Bass Scroll"
|
||||
desc = "This scroll contains the secrets of an ancient martial arts technique. You will become proficient in fleeing situations, \
|
||||
and dodging all ranged weapon fire, but you will refuse to use dishonorable ranged weaponry."
|
||||
item = /obj/item/book/granter/martial/bass
|
||||
cost = 18
|
||||
surplus = 0
|
||||
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
|
||||
|
||||
/datum/uplink_item/stealthy_weapons/crossbow
|
||||
name = "Miniature Energy Crossbow"
|
||||
desc = "A short bow mounted across a tiller in miniature. Small enough to \
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
/obj/item/reagent_containers/food/drinks/soda_cans/shamblers = 6)
|
||||
premium = list(/obj/item/reagent_containers/food/drinks/drinkingglass/filled/nuka_cola = 1,
|
||||
/obj/item/reagent_containers/food/drinks/soda_cans/air = 1,
|
||||
/obj/item/reagent_containers/food/drinks/soda_cans/grey_bull = 1)
|
||||
/obj/item/reagent_containers/food/drinks/soda_cans/grey_bull = 1,
|
||||
/obj/item/reagent_containers/food/drinks/soda_cans/monkey_energy = 1)
|
||||
refill_canister = /obj/item/vending_refill/cola
|
||||
|
||||
/obj/item/vending_refill/cola
|
||||
|
||||
+35
-31
@@ -40,6 +40,7 @@ DYNAMIC_WEIGHT WIZARD 1
|
||||
DYNAMIC_WEIGHT CULT 3
|
||||
DYNAMIC_WEIGHT NUCLEAR 3
|
||||
DYNAMIC_WEIGHT REVOLUTION 2
|
||||
DYNAMIC_WEIGHT BLOODSUCKER 4
|
||||
# All below are impossible-by-default
|
||||
DYNAMIC_WEIGHT EXTENDED 3
|
||||
DYNAMIC_WEIGHT CLOCKWORK_CULT 3
|
||||
@@ -49,18 +50,20 @@ DYNAMIC_WEIGHT MONKEY 3
|
||||
DYNAMIC_WEIGHT METEOR 3
|
||||
|
||||
## Midround antags
|
||||
DYNAMIC_WEIGHT MIDROUND_TRAITOR 7
|
||||
DYNAMIC_WEIGHT MIDROUND_MALF_AI 8
|
||||
DYNAMIC_WEIGHT MIDROUND_WIZARD 9
|
||||
DYNAMIC_WEIGHT MIDROUND_NUCLEAR 9
|
||||
DYNAMIC_WEIGHT BLOB 8
|
||||
DYNAMIC_WEIGHT XENOS 8
|
||||
DYNAMIC_WEIGHT NIGHTMARE 8
|
||||
DYNAMIC_WEIGHT SENTIENT_DISEASE 6
|
||||
DYNAMIC_WEIGHT REVENANT 6
|
||||
DYNAMIC_WEIGHT SLAUGHTER_DEMON 4
|
||||
DYNAMIC_WEIGHT ABDUCTORS 8
|
||||
DYNAMIC_WEIGHT SPACE_NINJA 8
|
||||
DYNAMIC_WEIGHT MIDROUND_TRAITOR 9
|
||||
DYNAMIC_WEIGHT MIDROUND_MALF_AI 5
|
||||
DYNAMIC_WEIGHT MIDROUND_WIZARD 4
|
||||
DYNAMIC_WEIGHT MIDROUND_NUCLEAR 2
|
||||
DYNAMIC_WEIGHT BLOB 2
|
||||
DYNAMIC_WEIGHT XENOS 2
|
||||
DYNAMIC_WEIGHT NIGHTMARE 3
|
||||
DYNAMIC_WEIGHT SENTIENT_DISEASE 4
|
||||
DYNAMIC_WEIGHT REVENANT 2
|
||||
DYNAMIC_WEIGHT SLAUGHTER_DEMON 1
|
||||
DYNAMIC_WEIGHT ABDUCTORS 3
|
||||
DYNAMIC_WEIGHT SPACE_NINJA 3
|
||||
|
||||
## Events
|
||||
DYNAMIC_WEIGHT SPIDERS 5
|
||||
DYNAMIC_WEIGHT VENTCLOG_NORMAL 3
|
||||
DYNAMIC_WEIGHT VENTCLOG_THREATENING 3
|
||||
@@ -88,6 +91,7 @@ DYNAMIC_WEIGHT RADIATION_STORM 1
|
||||
## Latejoin antags
|
||||
DYNAMIC_WEIGHT LATEJOIN_TRAITOR 7
|
||||
DYNAMIC_WEIGHT LATEJOIN_REVOLUTION 2
|
||||
DYNAMIC_WEIGHT LATEJOIN_BLOODSUCKER 4
|
||||
|
||||
## Threat cost. This is decreased from the mode's threat when the rule is executed.
|
||||
DYNAMIC_COST TRAITOR 10
|
||||
@@ -98,7 +102,7 @@ DYNAMIC_COST WIZARD 30
|
||||
DYNAMIC_COST CULT 35
|
||||
DYNAMIC_COST NUCLEAR 45
|
||||
DYNAMIC_COST REVOLUTION 40
|
||||
# All below are impossible-by-default
|
||||
DYNAMIC_cOST BLOODSUCKER 15
|
||||
DYNAMIC_COST EXTENDED 0
|
||||
DYNAMIC_COST CLOCKWORK_CULT 35
|
||||
DYNAMIC_COST CLOWNOPS 40
|
||||
@@ -112,13 +116,15 @@ DYNAMIC_COST MIDROUND_MALF_AI 35
|
||||
DYNAMIC_COST MIDROUND_WIZARD 20
|
||||
DYNAMIC_COST MIDROUND_NUCLEAR 35
|
||||
DYNAMIC_COST BLOB 10
|
||||
DYNAMIC_COST XENOS 10
|
||||
DYNAMIC_COST XENOS 20
|
||||
DYNAMIC_COST NIGHTMARE 10
|
||||
DYNAMIC_COST SENTIENT_DISEASE 5
|
||||
DYNAMIC_COST REVENANT 5
|
||||
DYNAMIC_COST SLAUGHTER_DEMON 15
|
||||
DYNAMIC_COST ABDUCTORS 10
|
||||
DYNAMIC_COST SPACE_NINJA 15
|
||||
|
||||
## Events
|
||||
DYNAMIC_COST SPIDERS 10
|
||||
DYNAMIC_COST VENTCLOG_NORMAL 2
|
||||
DYNAMIC_COST VENTCLOG_THREATENING 5
|
||||
@@ -146,6 +152,7 @@ DYNAMIC_COST RADIATION_STORM 3
|
||||
## Latejoin antags
|
||||
DYNAMIC_COST LATEJOIN_TRAITOR 5
|
||||
DYNAMIC_COST LATEJOIN_REVOLUTION 20
|
||||
DYNAMIC_COST LATEJOIN_BLOODSUCKER 10
|
||||
|
||||
## Rule will not be generated with threat levels below requirement at a pop value. Pop values are determined by dynamic's pop-per-requirement.
|
||||
## By default it's 0-8, 9-17, 18-26, 27-35, 36-44, 45-53, 54-60, 61-69, 70-78, 79+.
|
||||
@@ -153,13 +160,12 @@ DYNAMIC_COST LATEJOIN_REVOLUTION 20
|
||||
DYNAMIC_REQUIREMENTS TRAITOR 50 50 50 50 50 50 50 50 50 50
|
||||
DYNAMIC_REQUIREMENTS TRAITORBRO 101 101 101 101 101 101 101 101 101 101
|
||||
DYNAMIC_REQUIREMENTS CHANGELING 101 101 101 101 101 101 101 101 101 101
|
||||
DYNAMIC_REQUIREMENTS WIZARD 101 101 101 60 50 50 50 50 50 50
|
||||
DYNAMIC_REQUIREMENTS WIZARD 101 101 60 60 50 50 50 50 50 50
|
||||
DYNAMIC_REQUIREMENTS CULT 101 101 101 60 50 50 50 50 50 50
|
||||
DYNAMIC_REQUIREMENTS NUCLEAR 101 101 101 60 50 50 50 50 50 50
|
||||
DYNAMIC_REQUIREMENTS REVOLUTION 101 101 101 60 50 50 50 50 50 50
|
||||
# All below are impossible-by-default
|
||||
DYNAMIC_REQUIREMENTS EXTENDED 101 101 101 101 101 101 101 101 101 101
|
||||
DYNAMIC_REQUIREMENTS CLOCKWORK_CULT 101 101 101 80 70 60 50 50 50 50
|
||||
DYNAMIC_REQUIREMENTS CLOCKWORK_CULT 101 101 101 70 60 60 50 50 50 50
|
||||
DYNAMIC_REQUIREMENTS CLOWNOPS 101 101 101 101 101 101 101 101 101 101
|
||||
DYNAMIC_REQUIREMENTS DEVIL 101 101 101 101 101 101 101 101 101 101
|
||||
DYNAMIC_REQUIREMENTS MONKEY 101 101 101 101 101 101 101 101 101 101
|
||||
@@ -168,24 +174,22 @@ DYNAMIC_REQUIREMENTS METEOR 101 101 101 101 101 101 101 101 101 101
|
||||
## Midround antags
|
||||
DYNAMIC_REQUIREMENTS MIDROUND_TRAITOR 30 25 20 15 15 15 15 15 15 15
|
||||
DYNAMIC_REQUIREMENTS MIDROUND_MALF_AI 101 101 70 50 50 50 40 30 30 30
|
||||
DYNAMIC_REQUIREMENTS MIDROUND_WIZARD 90 90 70 50 50 50 50 40 30 30
|
||||
DYNAMIC_REQUIREMENTS MIDROUND_WIZARD 90 90 60 40 30 30 30 30 30 30
|
||||
DYNAMIC_REQUIREMENTS MIDROUND_NUCLEAR 90 90 90 80 70 60 50 40 40 40
|
||||
DYNAMIC_REQUIREMENTS BLOB 101 101 101 80 60 50 50 50 50 50
|
||||
DYNAMIC_REQUIREMENTS XENOS 101 101 101 70 50 50 50 50 50 50
|
||||
DYNAMIC_REQUIREMENTS NIGHTMARE 101 101 101 70 50 40 20 15 15 15
|
||||
DYNAMIC_REQUIREMENTS SENTIENT_DISEASE 30 30 20 20 15 10 10 10 10 5
|
||||
DYNAMIC_REQUIREMENTS REVENANT 30 30 30 30 20 15 15 15 15 15
|
||||
DYNAMIC_REQUIREMENTS SLAUGHTER_DEMON 101 101 101 90 80 70 60 50 40 30
|
||||
DYNAMIC_REQUIREMENTS SLAUGHTER_DEMON 101 101 101 90 80 70 60 50 50 50
|
||||
DYNAMIC_REQUIREMENTS ABDUCTORS 80 80 70 50 40 30 30 20 15 15
|
||||
DYNAMIC_REQUIREMENTS SPACE_NINJA 101 101 101 90 80 70 60 50 40 30
|
||||
|
||||
## Events
|
||||
DYNAMIC_REQUIREMENTS SPIDERS 70 60 50 50 40 40 40 30 20 15
|
||||
DYNAMIC_REQUIREMENTS VENTCLOG_NORMAL 5 5 5 5 5 5 5 5 5 5
|
||||
DYNAMIC_REQUIREMENTS VENTCLOG_THREATENING 15 15 15 15 15 15 15 15 15 15
|
||||
DYNAMIC_REQUIREMENTS VENTCLOG_CATASTROPHIC 30 30 30 30 30 30 30 30 30 30
|
||||
DYNAMIC_REQUIREMENTS VENTCLOG 5 5 5 5 5 5 5 5 5 5
|
||||
DYNAMIC_REQUIREMENTS ION_STORM 5 5 5 5 5 5 5 5 5 5
|
||||
DYNAMIC_REQUIREMENTS METEOR_WAVE_NORMAL 60 50 40 30 30 30 30 30 30 30
|
||||
DYNAMIC_REQUIREMENTS METEOR_WAVE_THREATENING 80 70 60 50 40 40 40 40 40 40
|
||||
DYNAMIC_REQUIREMENTS METEOR_WAVE_CATASTROPHIC 101 100 90 80 70 60 50 50 50 50
|
||||
DYNAMIC_REQUIREMENTS METEOR_WAVE 60 50 40 30 30 30 30 30 30 30
|
||||
DYNAMIC_REQUIREMENTS PIRATES 70 60 50 50 40 40 40 30 20 15
|
||||
DYNAMIC_REQUIREMENTS ANOMALY_BLUESPACE 5 5 5 5 5 5 5 5 5 5
|
||||
DYNAMIC_REQUIREMENTS ANOMALY_FLUX 5 5 5 5 5 5 5 5 5 5
|
||||
@@ -205,6 +209,7 @@ DYNAMIC_REQUIREMENTS RADIATION_STORM 5 5 5 5 5 5 5 5 5 5
|
||||
## Latejoin antags
|
||||
DYNAMIC_REQUIREMENTS LATEJOIN_TRAITOR 40 30 20 15 15 15 15 15 15 15
|
||||
DYNAMIC_REQUIREMENTS LATEJOIN_REVOLUTION 101 101 70 40 40 40 40 40 40 40
|
||||
DYNAMIC_REQUIREMENTS LATEJOIN_BLOODSUCKER 40 30 20 15 15 15 15 15 15 15
|
||||
|
||||
## An alternative, static requirement used instead when pop is over mode's high_pop_limit.
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT TRAITOR 50
|
||||
@@ -236,14 +241,12 @@ DYNAMIC_HIGH_POPULATION_REQUIREMENT REVENANT 15
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT SLAUGHTER_DEMON 30
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT ABDUCTORS 15
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT SPACE_NINJA 30
|
||||
|
||||
## Events
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT SPIDERS 15
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT VENTCLOG_NORMAL 5
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT VENTCLOG_THREATENING 15
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT VENTCLOG_CATASTROPHIC 30
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT VENTCLOG 5
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT ION_STORM 5
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT METEOR_WAVE_NORMAL 30
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT METEOR_WAVE_THREATENING 40
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT METEOR_WAVE_CATASTROPHIC 50
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT METEOR_WAVE 30
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT PIRATES 15
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT ANOMALY_BLUESPACE 5
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT ANOMALY_FLUX 5
|
||||
@@ -263,6 +266,7 @@ DYNAMIC_HIGH_POPULATION_REQUIREMENT RADIATION_STORM 5
|
||||
## Latejoin antags
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT LATEJOIN_TRAITOR 15
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT LATEJOIN_REVOLUTION 50
|
||||
DYNAMIC_HIGH_POPULATION_REQUIREMENT LATEJOIN_BLOODSUCKER 15
|
||||
|
||||
## Dynamic traitor stuff
|
||||
|
||||
|
||||
@@ -574,3 +574,8 @@ MONKEYCAP 64
|
||||
|
||||
#Replaces standard extended/secret dichotomy with extended and calm/chaotic votes for dynamic.
|
||||
DYNAMIC_VOTING
|
||||
|
||||
## Choose which Engine to start the round with, comment to remove an Engine from the rotation
|
||||
BOX_RANDOM_ENGINE Engine SM
|
||||
BOX_RANDOM_ENGINE Engine Tesla
|
||||
BOX_RANDOM_ENGINE Engine Singulo
|
||||
@@ -0,0 +1,15 @@
|
||||
author: "Trilbyspaceclone"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "ports all the new donuts, burgars, and chicken stuff from RG"
|
||||
- rscadd: "ports new snowcone"
|
||||
- rscadd: "ports grill"
|
||||
- rscadd: "ports beakfeast tag/mood lit as TG has it"
|
||||
- rscadd: "ports all the amazing new sprites"
|
||||
- tweak: "ports crafting for many things like snowcones needing water"
|
||||
- balance: "ports of many craftings"
|
||||
- soundadd: "lowers fryers sound"
|
||||
- imageadd: "ported icons for new food/grill"
|
||||
- imagedel: "ports the deletion of some icons and images"
|
||||
- spellcheck: "ports a spell check for the snowcones"
|
||||
- code_imp: "ports fixes for stuff I didnt know were even broken with snowcones"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "kevinz000"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Cargo shuttle now silently ignores slaughter demons/revenants instead of being blocked even while they are jaunted. A drawback is that manifested ones can't block it either, any more."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "GrayRachnid"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "fixes consistency"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Ghommie"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Stops humanoids whose skin_tone variable is set to \"albino\" from showing up as pale when examined should their species not use skintones anyway."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "nemvar"
|
||||
delete-after: True
|
||||
changes:
|
||||
- code_imp: "Refactored the visibility of reagents for mobs."
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "r4d6"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Added submaps for the SM, Tesla and Singulo"
|
||||
- rscadd: "Added a placeholder on Boxstation for the Engines"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "kevinz000"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Stat() slowed down for anti-lag measures."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "r4d6"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "fixed Nose boops not triggering"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Trilbyspaceclone"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Buzz fuzz now only has a 5% to give honey and will now give 1u of sugar not 2"
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "shellspeed1"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Adds Insect markings"
|
||||
- rscadd: "Adds three new moth wings."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Ghommie"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Fixed goose meat."
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user