Memory tracking shenanigans (#8359)

This commit is contained in:
Cadyn
2024-05-15 07:56:31 -07:00
committed by GitHub
parent 893e51c4b5
commit cf1db3c049
61 changed files with 1327 additions and 587 deletions

View File

@@ -35,6 +35,7 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
#define NOREACT (1<<6) // Reagents don't react inside this container.
#define OVERLAY_QUEUED (1<<7)// Atom queued to SSoverlay for COMPILE_OVERLAYS
#define IS_BUSY (1<<8) // Atom has a TASK_TARGET_EXCLUSIVE do_after with it as the target.
#define ATOM_INITIALIZED (1<<14) // Atom has been initialized. Using a flag instead of a variable saves ~25mb total. //CHOMPEdit
//Flags for items (equipment) - Used in /obj/item/var/item_flags
#define THICKMATERIAL (1<<0) // Prevents syringes, parapens and hyposprays if equipped to slot_suit or slot_head.
@@ -54,4 +55,4 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
// Flags for do_after/do_mob exclusivity.
#define TASK_TARGET_EXCLUSIVE (1<<1)
#define TASK_USER_EXCLUSIVE (1<<2)
#define TASK_ALL_EXCLUSIVE TASK_TARGET_EXCLUSIVE | TASK_USER_EXCLUSIVE
#define TASK_ALL_EXCLUSIVE TASK_TARGET_EXCLUSIVE | TASK_USER_EXCLUSIVE

View File

@@ -50,16 +50,16 @@
#define INITIALIZE_HINT_NORMAL 0 //Nothing happens
#define INITIALIZE_HINT_LATELOAD 1 //Call LateInitialize
#define INITIALIZE_HINT_QDEL 2 //Call qdel on the atom
//CHOMPEdit Begin
//type and all subtypes should always call Initialize in New()
#define INITIALIZE_IMMEDIATE(X) ##X/New(loc, ...){\
..();\
if(!initialized) {\
if(!(flags & ATOM_INITIALIZED)) {\
args[1] = TRUE;\
SSatoms.InitAtom(src, args);\
}\
}
//CHOMPEdit End
// SS runlevels
#define RUNLEVEL_INIT 0 // "Initialize Only" - Used for subsystems that should never be fired (Should also have SS_NO_FIRE set)

View File

@@ -39,14 +39,14 @@ SUBSYSTEM_DEF(atoms)
created_atoms = list()
count = atoms.len
for(var/atom/A as anything in atoms)
if(!A.initialized)
if(!(A.flags & ATOM_INITIALIZED)) //CHOMPEdit
if(InitAtom(A, mapload_arg))
atoms -= A
CHECK_TICK
else
count = 0
for(var/atom/A in world) // This must be world, since this operation adds all the atoms to their specific lists.
if(!A.initialized)
if(!(A.flags & ATOM_INITIALIZED))
InitAtom(A, mapload_arg)
++count
CHECK_TICK
@@ -97,7 +97,7 @@ SUBSYSTEM_DEF(atoms)
if(!A) //possible harddel
qdeleted = TRUE
else if(!A.initialized)
else if(!(A.flags & ATOM_INITIALIZED))
BadInitializeCalls[the_type] |= BAD_INIT_DIDNT_INIT
return qdeleted || QDELING(A)

View File

@@ -34,8 +34,8 @@ SUBSYSTEM_DEF(xenoarch)
if(!M.density)
continue
if(isnull(M.geologic_data))
M.geologic_data = new /datum/geosample(M)
/*if(isnull(M.geologic_data)) CHOMP Removal. Initialized when needed now.
M.geologic_data = new /datum/geosample(M)*/
if((M.z in using_map.xenoarch_exempt_levels) || !prob(XENOARCH_SPAWN_CHANCE))
continue

View File

@@ -39,7 +39,7 @@
//Detective Work, used for the duplicate data points kept in the scanners
var/list/original_atom
// Track if we are already had initialize() called to prevent double-initialization.
var/initialized = FALSE
//var/initialized = FALSE CHOMPEdit moved to flag
/// Last name used to calculate a color for the chatmessage overlays
var/chat_color_name
@@ -91,9 +91,9 @@
/atom/proc/Initialize(mapload, ...)
if(QDELETED(src))
stack_trace("GC: -- [type] had initialize() called after qdel() --")
if(initialized)
if(flags & ATOM_INITIALIZED) //CHOMPEdit moved initialized to flag
stack_trace("Warning: [src]([type]) initialized multiple times!")
initialized = TRUE
flags |= ATOM_INITIALIZED //CHOMPEdit moved initialized to flag
return INITIALIZE_HINT_NORMAL
/atom/Destroy()

View File

@@ -0,0 +1,196 @@
#define LOOP_STEP_SIZE 25000
//#define MEM_NO_CHECK_TICK
#ifdef MEM_NO_CHECK_TICK
/world
loop_checks = 0
#endif
/proc/cmp_numeric_desc(a,b)
return b - a
/proc/profile_memory()
if(usr?.client)
if(tgui_alert(usr,"Running this will likely cause minor lag for around 20 minutes and the server will freeze for a bit at the end", "Profile memory", list("Yes", "No")) != "Yes")
return
var/list/types_count = list()
var/list/mem_count = list()
var/list/by_variable = list()
var/list/list_of_lists = list()
var/list/list_count = list()
var/list/exclude_vars = list("overlays","underlays","vis_contents","vis_locs","contents","vars","verbs")
world.log << "Counting memory for atoms"
var/i = 0
var/total_time = 0
rustg_time_reset("fops")
for(var/datum/thing in world)
types_count[thing.type]++
#ifndef MEM_NO_CHECK_TICK
if(!thing || QDELETED(thing)) continue
#endif
if(i%LOOP_STEP_SIZE==0)
var/ms = rustg_time_milliseconds("fops")
total_time += ms
rustg_time_reset("fops")
world.log << "[i] atoms processed in [total_time/1000] seconds. ([ms]ms for chunk)"
world.log << "list of lists at [list_of_lists.len] before pruning"
prune_list(list_of_lists)
world.log << "list of lists at [list_of_lists.len] after pruning"
mem_and_lists(thing,list_of_lists,list_count,exclude_vars,mem_count,by_variable)
i++
#ifndef MEM_NO_CHECK_TICK
CHECK_TICK
#endif
i = 0
world.log << "Counting memory for datums"
for(var/datum/thing)
types_count[thing.type]++
#ifndef MEM_NO_CHECK_TICK
if(!thing || QDELETED(thing)) continue
#endif
if(i%LOOP_STEP_SIZE==0)
var/ms = rustg_time_milliseconds("fops")
total_time += ms
rustg_time_reset("fops")
world.log << "[i] datums processed in [total_time/1000] seconds. ([ms]ms for chunk)"
world.log << "list of lists at [list_of_lists.len] before pruning"
prune_list(list_of_lists)
world.log << "list of lists at [list_of_lists.len] after pruning"
mem_and_lists(thing,list_of_lists,list_count,exclude_vars,mem_count,by_variable)
i++
#ifndef MEM_NO_CHECK_TICK
CHECK_TICK
#endif
var/accounted_for = 0
for(var/type in mem_count) //Quickly prune anything below 10kb total usage to make sorting the list much faster
accounted_for += mem_count[type]
if(mem_count[type] < 10000) mem_count -= type
world.log << "[display_bytes(accounted_for)] of memory accounted for"
world.log << "Sorting and exporting data"
to_world("<span class='alert'>Memory profiler is exporting data. Expect server to freeze for 10-30 seconds.</span>")
sortTim(types_count, /proc/cmp_numeric_desc, TRUE)
var/output = ""
for(var/type in types_count)
output += "[type] - [types_count[type]]\n"
rustg_file_write(output, "data/stuff.txt")
output = ""
sortTim(mem_count, /proc/cmp_numeric_desc, TRUE)
for(var/type in mem_count)
var/mem_per_instance = mem_count[type] / types_count[type]
output += "[type] - [display_bytes(mem_count[type])] total - [display_bytes(mem_per_instance)] per instance"
if(type in list_count)
var/lists_per_instance = list_count[type] / types_count[type]
output += " - [list_count[type]] lists total - [lists_per_instance] per instance"
output += "\n"
var/ms = rustg_time_milliseconds("fops")
rustg_file_write(output, "data/lists.txt")
var/list/count_subtypes = list()
for(var/type in types_count)
add_types_val(type, count_subtypes, types_count[type])
var/list/mem_count_subtypes = list()
for(var/type in mem_count)
add_types_val(type, mem_count_subtypes, mem_count[type])
output = ""
sortTim(mem_count_subtypes, /proc/cmp_numeric_desc, TRUE)
for(var/type in mem_count_subtypes)
var/mem_per_instance = mem_count_subtypes[type] / count_subtypes[type]
output += "[type] - [display_bytes(mem_count_subtypes[type])] total - [display_bytes(mem_per_instance)] per instance"
output += "\n"
rustg_file_write(output, "data/lists-subtypes.txt")
output = ""
sortTim(by_variable, /proc/cmp_numeric_desc, TRUE)
for(var/type in by_variable)
output += "[type] - [display_bytes(by_variable[type])] total"
output += "\n"
total_time += ms
rustg_time_reset("fops")
output += "\nTotal time: [total_time/1000] seconds"
rustg_file_write(output, "data/membyvariable.txt")
world.log << "Finished in [total_time/1000] seconds"
/proc/prune_list(var/list/list_of_lists)
if(!list_of_lists.len) return
for(var/list/L in list_of_lists)
if(list_of_lists[L] == 1 && refcount(L) < 10) list_of_lists.Remove(list(L))
/proc/mem_and_lists(var/datum/thing,var/list/list_of_lists,var/list/list_count,var/list/exclude_vars,var/list/mem_count,var/list/by_variable)
mem_count[thing.type] += 24
for(var/variable in thing.vars)
if(variable == "vars") continue
if(islist(thing.vars[variable]))
if(!(variable in exclude_vars) && refcount(thing.vars[variable]) > 1 && (thing.vars[variable] in list_of_lists))
if(thing.vars[variable] != initial(thing.vars[variable]))
mem_count[thing.type] += 16
by_variable[variable] += 16
list_of_lists[thing.vars[variable]]++
continue
if(thing.vars[variable] != initial(thing.vars[variable]))
if(!(variable in exclude_vars) && refcount(thing.vars[variable]) > 1) list_of_lists[thing.vars[variable]] = 1
var/mem_size = list_memory_size(thing.vars[variable],list_of_lists)
mem_count[thing.type] += mem_size
by_variable[variable] += mem_size
if(variable in exclude_vars)
continue
if(thing.type in list_count) list_count[thing.type]++
else list_count[thing.type] = 1
else if(thing.vars[variable] != initial(thing.vars[variable]))
mem_count[thing.type] += 16
by_variable[variable] += 16
/proc/list_memory_size(list/L,list/list_of_lists,list/recursed_from)
if(L in recursed_from || LAZYLEN(recursed_from) > 64 || (LAZYLEN(recursed_from) && (L in list_of_lists))) return 0
if(LAZYLEN(recursed_from) && refcount(L) > 4)
if(L in list_of_lists) list_of_lists[L]++
else list_of_lists[L] = 1
var/total = 24
var/associative = is_associative(L)
var/per_item = associative ? 48 : 8
if(L.len < 8)
total += 8 * per_item
per_item = 0
for(var/item in L)
total += per_item
if(recursed_from) recursed_from[++recursed_from.len] = L
else recursed_from = list(L)
if(associative && islist(L[item]))
total += list_memory_size(L[item],list_of_lists,recursed_from.Copy())
if(islist(item))
total += list_memory_size(item,list_of_lists,recursed_from.Copy())
return total
//This feels like it shouldn't work but it does
/proc/is_associative(list/L)
try
for(var/item in L)
if(!isnum(item) && L[item]) return TRUE
if(!L[item]) return FALSE
catch
return FALSE
/proc/add_types(var/datum/thing, var/list/L)
var/type = thing::type
var/p_type = thing::parent_type
if(type in L) L[type]++
else L[type] = 1
if(p_type) add_types(p_type, L)
/proc/add_types_val(var/datum/thing, var/list/L, var/val)
var/type = thing::type
var/p_type = thing::parent_type
L[type] += val
if(p_type) add_types_val(p_type, L, val)
/*
/datum/controller/master/SetRunLevel(new_runlevel)
if(new_runlevel == RUNLEVEL_GAME)
spawn(300)
get_stuff()
. = ..(new_runlevel)
*/
/proc/display_bytes(num_bytes)
if(num_bytes > 10000000)
return "[num_bytes/1000000] mb"
if(num_bytes > 10000)
return "[num_bytes/1000] kb"
return "[num_bytes] b"

View File

@@ -992,10 +992,12 @@ closest to where the cursor has clicked on.
Note: This proc can be overwritten to allow for different types of auto-alignment.
*/
/obj/item/var/list/center_of_mass = list("x" = 16,"y" = 16)
///obj/item/var/list/center_of_mass = list("x" = 16,"y" = 16) CHOMPEdit NO STOP PLEASE -- center_of_mass - 52.0879 mb total
/obj/item/var/center_of_mass_x = 16 //CHOMPEdit
/obj/item/var/center_of_mass_y = 16 //CHOMPEdit
/proc/auto_align(obj/item/W, click_parameters, var/animate = FALSE)
if(!W.center_of_mass)
if(!W.center_of_mass_x && !W.center_of_mass_y) //CHOMPEdit
W.randpixel_xy()
return
@@ -1011,8 +1013,8 @@ Note: This proc can be overwritten to allow for different types of auto-alignmen
var/cell_x = max(0, min(CELLS-1, round(mouse_x/CELLSIZE)))
var/cell_y = max(0, min(CELLS-1, round(mouse_y/CELLSIZE)))
var/target_x = (CELLSIZE * (0.5 + cell_x)) - W.center_of_mass["x"]
var/target_y = (CELLSIZE * (0.5 + cell_y)) - W.center_of_mass["y"]
var/target_x = (CELLSIZE * (0.5 + cell_x)) - W.center_of_mass_x //CHOMPEdit
var/target_y = (CELLSIZE * (0.5 + cell_y)) - W.center_of_mass_y //CHOMPEdit
if(animate)
var/dist_x = abs(W.pixel_x - target_x)
var/dist_y = abs(W.pixel_y - target_y)

View File

@@ -311,7 +311,8 @@
desc = "A desk lamp with an adjustable mount."
icon_state = "lamp"
force = 10
center_of_mass = list("x" = 13,"y" = 11)
center_of_mass_x = 13 //CHOMPEdit
center_of_mass_y= 11 //CHOMPEdit
light_range = 5
w_class = ITEMSIZE_LARGE
power_use = 0
@@ -330,14 +331,16 @@
/obj/item/device/flashlight/lamp/green
desc = "A classic green-shaded desk lamp."
icon_state = "lampgreen"
center_of_mass = list("x" = 15,"y" = 11)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 11 //CHOMPEdit
light_color = "#FFC58F"
// clown lamp
/obj/item/device/flashlight/lamp/clown
desc = "A whacky banana peel shaped lamp."
icon_state = "bananalamp"
center_of_mass = list("x" = 15,"y" = 11)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 11 //CHOMPEdit
/*

View File

@@ -14,7 +14,8 @@
origin_tech = list(TECH_MATERIAL = 1)
icon = 'icons/obj/stacks_ch.dmi' //CHOMPedit - materials update
randpixel = 7
center_of_mass = null
center_of_mass_x = 0 //CHOMPEdit
center_of_mass_y = 0 //CHOMPEdit
var/list/datum/stack_recipe/recipes
var/singular_name
var/amount = 1

View File

@@ -7,7 +7,8 @@
icon_state = "lego"
desc = "An absolutely horrifying mechanical trap, banned in most sectors across the universe. Placing one is considered a major war crime."
randpixel = 0
center_of_mass = null
center_of_mass_x = 0 //CHOMPEdit
center_of_mass_y = 0 //CHOMPEdit
throwforce = 0
w_class = ITEMSIZE_SMALL
@@ -36,7 +37,8 @@
icon_state = "lego"
desc = "An absolutely horrifying mechanical trap, banned in most sectors across the universe. Placing one is considered a major war crime."
randpixel = 0
center_of_mass = null
center_of_mass_x = 0 //CHOMPEdit
center_of_mass_y = 0 //CHOMPEdit
throwforce = 0
w_class = ITEMSIZE_SMALL
@@ -55,4 +57,3 @@
playsound(src, 'sound/misc/legodeath.ogg', 50, 1)
qdel(src)
..()

View File

@@ -25,7 +25,8 @@
icon = 'icons/obj/boxes.dmi'
icon_state = "box"
item_state = "syringe_kit"
center_of_mass = list("x" = 13,"y" = 10)
center_of_mass_x = 13 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
var/foldable = /obj/item/stack/material/cardboard // BubbleWrap - if set, can be folded (when empty) into a sheet of cardboard
var/trash = null // if set, can be crushed into a trash item when empty
max_w_class = ITEMSIZE_SMALL

View File

@@ -52,7 +52,8 @@
icon_state = "eggbox"
icon_type = "egg"
name = "egg box"
center_of_mass = list("x" = 16,"y" = 7)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 7 //CHOMPEdit
storage_slots = 12
can_hold = list(
/obj/item/weapon/reagent_containers/food/snacks/egg,

View File

@@ -33,7 +33,8 @@ var/list/random_weighted_donuts = list(
icon_state = "donutbox"
name = "donut box"
desc = "A box that holds tasty donuts, if you're lucky."
center_of_mass = list("x" = 16,"y" = 9)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 9 //CHOMPEdit
max_storage_space = ITEMSIZE_COST_SMALL * 6
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/donut)
foldable = /obj/item/stack/material/cardboard
@@ -100,4 +101,4 @@ var/list/random_weighted_donuts = list(
/obj/item/weapon/storage/box/wormcan/deluxe/update_icon(var/itemremoved = 0)
if (contents.len == 0)
icon_state = "wormcan_empty_deluxe"
icon_state = "wormcan_empty_deluxe"

View File

@@ -7,7 +7,8 @@
icon = 'icons/obj/storage_vr.dmi'
icon_state = "red"
item_state_slots = list(slot_r_hand_str = "toolbox_red", slot_l_hand_str = "toolbox_red")
center_of_mass = list("x" = 16,"y" = 11)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 11 //CHOMPEdit
force = 10
throwforce = 10
throw_speed = 1

View File

@@ -7,7 +7,8 @@
//description_fluff = "This could be used to engrave messages on suitable surfaces if you really put your mind to it! Alt-click a floor or wall to engrave with it." //This way it's not a completely hidden, arcane art to engrave. //CHOMP Remove
icon = 'icons/obj/tools.dmi'
icon_state = "screwdriver"
center_of_mass = list("x" = 13,"y" = 7)
center_of_mass_x = 13 //CHOMPEdit
center_of_mass_y= 7 //CHOMPEdit
slot_flags = SLOT_BELT | SLOT_EARS
force = 6
w_class = ITEMSIZE_TINY
@@ -112,4 +113,4 @@
attack_verb = list("drilled", "screwed", "jabbed", "whacked")
hitsound = 'sound/items/drill_hit.ogg'
usesound = 'sound/items/drill_use.ogg'
toolspeed = 0.25
toolspeed = 0.25

View File

@@ -8,7 +8,8 @@
icon = 'icons/obj/tools.dmi'
icon_state = "cutters"
item_state = "cutters"
center_of_mass = list("x" = 18,"y" = 10)
center_of_mass_x = 18 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
slot_flags = SLOT_BELT
force = 6
throw_speed = 2
@@ -102,4 +103,4 @@
desc = "You shouldn't see this."
usesound = 'sound/items/jaws_cut.ogg'
force = 15
toolspeed = 0.25
toolspeed = 0.25

View File

@@ -13,7 +13,8 @@
icon_state = "beartrap0"
desc = "A mechanically activated leg trap. Low-tech, but reliable. Looks like it could really hurt if you set it off."
randpixel = 0
center_of_mass = null
center_of_mass_x = 0 //CHOMPEdit
center_of_mass_y = 0 //CHOMPEdit
throwforce = 0
w_class = ITEMSIZE_NORMAL
origin_tech = list(TECH_MATERIAL = 1)

View File

@@ -101,17 +101,17 @@
user.drop_from_inventory(C)
qdel(C)
return
var/padding_type
var/padding_type
//CHOMPEDIT START: making carpets different and not just the boring basic red no matter carpet type, consider merging material variables at stack level in future - Jack
if(istype(W,/obj/item/stack/tile/carpet))
var/obj/item/stack/tile/carpet/M = W
if(M.material && (M.material.flags & MATERIAL_PADDING))
padding_type = "[M.material.name]"
//CHOMPEDIT END
padding_type = "[M.material.name]"
//CHOMPEDIT END
else if(istype(W,/obj/item/stack/material))
var/obj/item/stack/material/M = W
if(M.material && (M.material.flags & MATERIAL_PADDING))
padding_type = "[M.material.name]"
padding_type = "[M.material.name]"
if(!padding_type)
to_chat(user, "You cannot pad \the [src] with that.")
return
@@ -242,7 +242,8 @@
desc = "A collapsed roller bed that can be carried around."
icon = 'icons/obj/rollerbed.dmi'
icon_state = "folded_rollerbed"
center_of_mass = list("x" = 17,"y" = 7)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 7 //CHOMPEdit
slot_flags = SLOT_BACK
w_class = ITEMSIZE_LARGE
var/rollertype = /obj/item/roller

View File

@@ -7,7 +7,8 @@ var/global/list/stool_cache = list() //haha stool
icon = 'icons/obj/furniture_vr.dmi' //VOREStation Edit - new Icons
icon_state = "stool_preview" //set for the map
randpixel = 0
center_of_mass = null
center_of_mass_x = 0 //CHOMPEdit
center_of_mass_y = 0 //CHOMPEdit
force = 10
throwforce = 10
w_class = ITEMSIZE_HUGE

View File

@@ -4,7 +4,8 @@
icon = 'icons/obj/furniture_vr.dmi' //VOREStation Edit - new Icons
icon_state = "bar_stool_preview" //set for the map
randpixel = 0
center_of_mass = null
center_of_mass_x = 0 //CHOMPEdit
center_of_mass_y = 0 //CHOMPEdit
force = 10
throwforce = 10
w_class = ITEMSIZE_HUGE

View File

@@ -58,7 +58,7 @@
activated = 1
for(var/obj/effect/wingrille_spawn/other in neighbours)
if(!other.activated) other.activate()
if(initialized && !QDELETED(src))
if((flags & ATOM_INITIALIZED) && !QDELETED(src)) //CHOMPEdit
qdel(src)
/obj/effect/wingrille_spawn/proc/handle_window_spawn(var/obj/structure/window/W)

View File

@@ -21,7 +21,7 @@ var/list/floor_decals = list()
// abstract handler that explicitly doesn't invoke any obj behavior.
/obj/effect/floor_decal/Initialize()
add_to_turf_decals()
initialized = TRUE
flags |= ATOM_INITIALIZED //CHOMPEdit
return INITIALIZE_HINT_QDEL
// This is a separate proc from initialize() to facilitiate its caching and other stuff. Look into it someday.

View File

@@ -7,7 +7,7 @@
/turf/unsimulated/Initialize(mapload)
if(skip_init)
initialized = TRUE
flags |= ATOM_INITIALIZED //CHOMPEdit
return INITIALIZE_HINT_NORMAL
. = ..()
@@ -17,7 +17,7 @@
icon = 'icons/turf/space.dmi'
icon_state = "0"
dynamic_lighting = FALSE
initialized = FALSE
//initialized = FALSE CHOMP Removal (what the fuck)
/turf/unsimulated/fake_space/Initialize(mapload)
. = ..()

View File

@@ -8,7 +8,7 @@
icon = 'icons/turf/floors.dmi'
icon_state = "sky_slow"
dir = SOUTH
initialized = FALSE
//initialized = FALSE CHOMPRemoval
var/does_skyfall = TRUE
var/list/skyfall_levels

View File

@@ -5,7 +5,8 @@
flags = PHORONGUARD
item_state_slots = list(slot_r_hand_str = "magboots", slot_l_hand_str = "magboots")
species_restricted = null
center_of_mass = list("x" = 17,"y" = 12)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 12 //CHOMPEdit
force = 3
overshoes = 1
shoes_under_pants = -1 //These things are huge
@@ -91,7 +92,7 @@
flags = PHORONGUARD
species_restricted = list(SPECIES_VOX)
armor = list (melee = 40, bullet = 10, laser = 10, energy = 20, bomb = 20, bio = 10, rad = 20) //values of workboots and heavy duty engineering gloves, it's the only option that will ever be taken so may as well give the turkeys some protection //ChompEdit
action_button_name = "Toggle the magclaws"
/obj/item/clothing/shoes/magboots/vox/attack_self(mob/user)

View File

@@ -7,7 +7,8 @@
icon_state = "space"
desc = "A special helmet designed for work in a hazardous, low-pressure environment."
randpixel = 0
center_of_mass = null
center_of_mass_x = 0 //CHOMPEdit
center_of_mass_y = 0 //CHOMPEdit
flags = PHORONGUARD
item_flags = THICKMATERIAL | AIRTIGHT | ALLOW_SURVIVALFOOD
permeability_coefficient = 0 //Chompedit was 0.01, zeroed to test protecting those who are vulnerable to water.

View File

@@ -4,7 +4,8 @@
icon_state = "bio"
desc = "A hood that protects the head and face from biological comtaminants."
randpixel = 0
center_of_mass = null
center_of_mass_x = 0 //CHOMPEdit
center_of_mass_y = 0 //CHOMPEdit
permeability_coefficient = 0.01
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|BLOCKHAIR
@@ -92,4 +93,4 @@
desc = "It protected doctors from the Black Death, back then. You bet your arse it's gonna help you against viruses."
icon_state = "plaguedoctor"
item_state_slots = list(slot_r_hand_str = "bio", slot_l_hand_str = "bio")
flags_inv = HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
flags_inv = HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER

View File

@@ -19,7 +19,8 @@
var/rim_pos
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
amount_per_transfer_from_this = 5
possible_transfer_amounts = list(5,10,15,30)
@@ -163,4 +164,4 @@
if(afterattack(target, user)) //Check to see if harm intent & splash.
return
else
..() //If they're splashed, no need to do anything else.
..() //If they're splashed, no need to do anything else.

View File

@@ -5,7 +5,8 @@
amount_per_transfer_from_this = 5
volume = 30
unacidable = TRUE //glass
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
matter = list(MAT_GLASS = 500)
icon = 'icons/obj/drinks.dmi'
@@ -40,9 +41,11 @@
desc = "You can't really tell what this is."
if(R.glass_center_of_mass)
center_of_mass = R.glass_center_of_mass
center_of_mass_x = R.glass_center_of_mass["x"] //CHOMPEdit
center_of_mass_y = R.glass_center_of_mass["x"] //CHOMPEdit
else
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
if(R.price_tag)
price_tag = R.price_tag
@@ -53,12 +56,14 @@
icon_state = "pglass_empty"
name = "metamorphic pint glass"
desc = "This glass changes shape and form depending on the drink inside... fancy!"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
else
icon_state = "glass_empty"
name = "metamorphic glass"
desc = "This glass changes shape and form depending on the drink inside... fancy!"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
return
/*

View File

@@ -15,7 +15,8 @@
desc = "A cup with the British flag emblazoned on it."
icon_state = "britcup"
volume = 30
center_of_mass = list("x"=15, "y"=13)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 13 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/britcup/on_reagent_change()
..()
@@ -29,7 +30,8 @@
icon = 'icons/obj/drinks_vr.dmi'
icon_state = "textmug"
volume = 30
center_of_mass = list("x"=15, "y"=13)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 13 //CHOMPEdit
/*
* Coffee Mugs

View File

@@ -34,12 +34,12 @@
/obj/item/weapon/reagent_containers/food/Initialize()
. = ..()
if (center_of_mass.len && !pixel_x && !pixel_y)
if ((center_of_mass_x || center_of_mass_y) && !pixel_x && !pixel_y) //CHOMPEdit
src.pixel_x = rand(-6.0, 6) //Randomizes postion
src.pixel_y = rand(-6.0, 6)
/obj/item/weapon/reagent_containers/food/afterattack(atom/A, mob/user, proximity, params)
if(center_of_mass.len && proximity && params && istype(A, /obj/structure/table))
if((center_of_mass_x || center_of_mass_y) && proximity && params && istype(A, /obj/structure/table))
//Places the item on a grid
var/list/mouse_control = params2list(params)
@@ -52,8 +52,8 @@
var/cell_x = max(0, min(CELLS-1, round(mouse_x/CELLSIZE)))
var/cell_y = max(0, min(CELLS-1, round(mouse_y/CELLSIZE)))
pixel_x = (CELLSIZE * (0.5 + cell_x)) - center_of_mass["x"]
pixel_y = (CELLSIZE * (0.5 + cell_y)) - center_of_mass["y"]
pixel_x = (CELLSIZE * (0.5 + cell_x)) - center_of_mass_x //CHOMPEdit
pixel_y = (CELLSIZE * (0.5 + cell_y)) - center_of_mass_y //CHOMPEdit
/obj/item/weapon/reagent_containers/food/container_resist(mob/living/M)
if(istype(M, /mob/living/voice)) return // CHOMPAdd - Stops sentient food from astral projecting

View File

@@ -13,7 +13,8 @@
desc = "Reassuringly artificial. Contains caffeine."
description_fluff = "The 'Space' branding was originally added to the 'Alpha Cola' product line in order to justify selling cans for 50% higher prices to 'off-world' retailers. Despite being chemically identical, Space Cola proved so popular that Centauri Provisions eventually applied the name to the entire product line - price hike and all."
icon_state = "cola"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/cola/Initialize()
. = ..()
@@ -24,7 +25,8 @@
desc = "More reassuringly artificial than ever before."
description_fluff = "The 'Space' branding was originally added to the 'Alpha Cola' product line in order to justify selling cans for 50% higher prices to 'off-world' retailers. Despite being chemically identical, Space Cola proved so popular that Centauri Provisions eventually applied the name to the entire product line - price hike and all."
icon_state = "decafcola"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/decaf_cola/Initialize()
. = ..()
@@ -34,7 +36,8 @@
name = "bottled water"
desc = "Ice cold and utterly tasteless, this 'all-natural' mineral water comes 'fresh' from one of NanoTrasen's heavy-duty bottling plants in the Sivian poles."
icon_state = "waterbottle"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
drop_sound = 'sound/items/drop/disk.ogg'
pickup_sound = 'sound/items/pickup/disk.ogg'
cant_chance = 0
@@ -48,7 +51,8 @@
desc = "Blows right through you like a space wind. Contains caffeine."
description_fluff = "The 'Space' branding was originally added to the 'Alpha Cola' product line in order to justify selling cans for 50% higher prices to 'off-world' retailers. Despite being chemically identical, Space Cola proved so popular that Centauri Provisions eventually applied the name to the entire product line - price hike and all."
icon_state = "space_mountain_wind"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind/Initialize()
. = ..()
@@ -58,7 +62,8 @@
name = "\improper Thirteen Loko"
desc = "The Vir Health Board has advised consumers that consumption of Thirteen Loko may result in seizures, blindness, drunkenness, or even death. Please Drink Responsibly."
icon_state = "thirteen_loko"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/thirteenloko/Initialize()
. = ..()
@@ -69,7 +74,8 @@
desc = "A delicious mixture of 42 different flavors. Contains caffine."
description_fluff = "Following a 2490 lawsuit and a spate of deaths, Gilthari Exports reminds customers that the 'Dr.' legally stands for 'Drink'."
icon_state = "dr_gibb"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb/Initialize()
..()
@@ -80,7 +86,8 @@
desc = "A delicious mixture of 42 different flavors, one of which is water. Contains caffeine."
description_fluff = "Following a 2490 lawsuit and a spate of deaths, Gilthari Exports reminds customers that the 'Dr.' legally stands for 'Drink'."
icon_state = "dr_gibb_diet"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb_diet/Initialize()
..()
@@ -91,7 +98,8 @@
desc = "The taste of a star in liquid form. And, a bit of tuna...? Contains caffeine."
description_fluff = "Brought back by popular demand in 2515 after a limited-run release in 2510, the cult success of this bizarre tasting soda has never truly been accounted for by economists."
icon_state = "starkist"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/starkist/Initialize()
. = ..()
@@ -102,7 +110,8 @@
desc = "The taste of a star in liquid form, in a special decaffineated blend. Still tastes faintly of tuna?"
description_fluff = "A special variant of the Starkist brand soda introduced after popular outcry following a reformulation of the basic drink decades ago. This decaffineated variant outsells 'New' Starkist in many markets."
icon_state = "decafstarkist"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/starkistdecaf/Initialize()
. = ..()
@@ -113,7 +122,8 @@
desc = "Tastes like a hull breach in your mouth."
description_fluff = "The 'Space' branding was originally added to the 'Alpha Cola' product line in order to justify selling cans for 50% higher prices to 'off-world' retailers. Despite being chemically identical, Space Cola proved so popular that Centauri Provisions eventually applied the name to the entire product line - price hike and all."
icon_state = "space-up"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/space_up/Initialize()
. = ..()
@@ -124,7 +134,8 @@
desc = "You wanted ORANGE. It gave you Lemon-Lime."
description_fluff = "Not to be confused with 'lemon & lime soda', Lemon-Lime is specially formulated using the highly propriatary Lemon-Lime Fruit. Growing the Lemon-Lime without a license is punishable by fines or jail time. Accept no immitations."
icon_state = "lemon-lime"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/lemon_lime/Initialize()
. = ..()
@@ -135,7 +146,8 @@
desc = "That sweet, refreshing southern earthy flavor. That's where it's from, right? South Earth? Contains caffeine."
description_fluff = "Produced exclusively on the planet Oasis, Vrisk Serket Iced Tea is not sold outside of the Golden Crescent, let alone Earth."
icon_state = "ice_tea_can"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea/Initialize()
. = ..()
@@ -146,7 +158,8 @@
desc = "500 pages of rules of how to appropriately enter into a combat with this juice!"
description_fluff = "Strangely, this unassuming grape soda is a product of Hephaestus Industries."
icon_state = "purple_can"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice/Initialize()
. = ..()
@@ -157,7 +170,8 @@
desc = "Quinine tastes funny, but at least it'll keep the Malaria away."
description_fluff = "Due to its technically medicinal properties and the complexities of chemical copyright law, T-Borg's Tonic Water is a rare product of Zeng-Hu's 'LifeWater' refreshments division."
icon_state = "tonic"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/tonic/Initialize()
. = ..()
@@ -167,7 +181,8 @@
name = "soda water"
desc = "A can of soda water. Still water's more refreshing cousin."
icon_state = "sodawater"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater/Initialize()
. = ..()
@@ -178,7 +193,8 @@
desc = "For when you need to be more retro than NanoTrasen already pays you for."
description_fluff = "'Classic' beverages is a registered trademark of the Centauri Provisions corporation."
icon_state = "gingerale"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/gingerale/Initialize()
. = ..()
@@ -189,7 +205,8 @@
desc = "Guaranteed to be both Rootin' and Tootin'."
description_fluff = "Despite centuries of humanity's expansion, this particular soda is still produced almost exclusively on Earth, in North America."
icon_state = "root_beer"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/root_beer/Initialize()
. = ..()
@@ -202,7 +219,8 @@
desc = "A true Slavic soda."
description_fluff = "A classic Slavic beverage which many space-faring Slavs still enjoy to this day. Fun fact, it is actually considered a weak beer by non-Russians."
icon_state = "kvass"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/kvass/Initialize()
. = ..()
@@ -213,7 +231,8 @@
desc = "A taste of Russia in the summertime - canned for you consumption."
description_fluff = "A sweet and fruity beverage that was traditionally used to preserve fruits in harsh Russian winters that is now available for widespread consumption."
icon_state = "kompot"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/kompot/Initialize()
. = ..()
@@ -223,7 +242,8 @@
name = "\improper Boda"
desc = "State regulated soda beverage. Enjoy comrades."
icon_state = "boda"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/boda/Initialize()
. = ..()
@@ -233,7 +253,8 @@
name = "\improper Boda-Plyus"
desc = "State regulated soda beverage, now with added surplus flavoring. Enjoy comrades."
icon_state = "bodaplus"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/bodaplus/Initialize()
. = ..()
@@ -252,7 +273,8 @@
name = "\improper Red Army Twist"
desc = "A taste of what keeps our glorious nation running! Served as Space Commissariat Stahlin prefers it! Luke warm."
icon_state = "red_army"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/redarmy/Initialize()
. = ..()
@@ -263,7 +285,8 @@
name = "\improper Arstotzka Brü"
desc = "Just what any bureaucrat needs to get through the day. Keep stamping those papers!"
icon_state = "arst_bru"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/arstbru/Initialize()
. = ..()
@@ -274,7 +297,8 @@
desc = "Made by the people. Served to the people."
description_fluff = "A can of the only soft drink state approved for the benefit of the people. Served at room temperature regardless of ambient temperatures thanks to innovative Terran insulation technology."
icon_state = "terra_cola"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/terra_cola/Initialize()
. = ..()
@@ -287,7 +311,8 @@
name = "\improper Superior Strawberry"
desc = "Feel superior above all with Superior Strawberry!"
icon_state = "strawcoke"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/straw_cola/Initialize()
. = ..()
@@ -297,7 +322,8 @@
name = "\improper Andromeda Apple"
desc = "Look to the stars and prepare to explore with Andromeda Apple!"
icon_state = "applecoke"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/apple_cola/Initialize()
. = ..()
@@ -307,7 +333,8 @@
name = "\improper Lunar Lemon"
desc = "Feel back at home on the Lunar Colonies with this classic beverage straight from the source!"
icon_state = "lemoncoke"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/lemon_cola/Initialize()
. = ..()
@@ -317,7 +344,8 @@
name = "\improper Starship Sarsaparilla"
desc = "Take off and shoot for the stars with this classic cowboy cola!"
icon_state = "sarsaparilla"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/sarsaparilla/Initialize()
. = ..()
@@ -327,7 +355,8 @@
name = "\improper Gravity Grape"
desc = "Get down with Newton's favorite carbonated science experiment!"
icon_state = "grapesoda"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/grape_cola/Initialize()
. = ..()
@@ -337,7 +366,8 @@
name = "\improper Orion Orange"
desc = "Take a taste-tastic trip to Orion's Belt with Orion Orange!"
icon_state = "orangesoda"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/orange_cola/Initialize()
. = ..()
@@ -347,7 +377,8 @@
name = "\improper Bacon Soda"
desc = "Taste something out of this world with Bacon Soda!"
icon_state = "porkcoke"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/baconsoda/Initialize()
. = ..()
@@ -361,7 +392,8 @@
popular as Space Cola, many people across known space enjoy the sweet beverage."
icon = 'icons/obj/drinks_vr.dmi'
icon_state = "bepis"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/bepis/Initialize()
. = ..()
@@ -372,7 +404,8 @@
desc = "A can of refreshing 'spring' water! Or so the can claims."
icon = 'icons/obj/drinks_vr.dmi'
icon_state = "watercan"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/astrodew/Initialize()
. = ..()
@@ -388,7 +421,8 @@
years now, however all attempts they've made have failed."
icon = 'icons/obj/drinks_vr.dmi'
icon_state = "coffeecan"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/icecoffee/Initialize()
. = ..()
@@ -399,7 +433,8 @@
desc = "Uses real honey, making it a sweet tooth's dream drink."
icon = 'icons/obj/drinks_vr.dmi'
icon_state = "buzzfuzz"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/buzz/Initialize()
. = ..()
@@ -410,7 +445,8 @@
desc = "~Shake me up some of that Shambler's Juice!~"
icon = 'icons/obj/drinks_vr.dmi'
icon_state = "shambler"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/shambler/Initialize()
. = ..()
@@ -421,7 +457,8 @@
desc = "A delicious blend of fresh cranberry juice and various spices, the perfect drink."
icon = 'icons/obj/drinks_vr.dmi'
icon_state = "cranberry"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/cranberry/Initialize()
. = ..()
@@ -433,7 +470,8 @@
name = "\improper Sunshine Brew"
desc = "Beat the heat with this refreshing brewed beverage."
icon_state = "beercan"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/beercan/Initialize()
. = ..()
@@ -443,7 +481,8 @@
name = "\improper Spacecastle Pale Ale"
desc = "A delicious IPA that's canned for your pleasure. Drink up!"
icon_state = "alecan"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cans/alecan/Initialize()
. = ..()
@@ -455,7 +494,8 @@
name = "\improper Nukies - Peach Blaster"
desc = "Harness the power of the atom with this over-caffinated energy drink."
icon_state = "nukie_peach"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
volume = 60
/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_peach/Initialize()
@@ -466,7 +506,8 @@
name = "\improper Nukies - Great Pear"
desc = "Harness the power of the atom with this over-caffinated energy drink."
icon_state = "nukie_pear"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
volume = 60
/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_pear/Initialize()
@@ -477,7 +518,8 @@
name = "\improper Nukies - Popping Cherry"
desc = "Harness the power of the atom with this over-caffinated energy drink."
icon_state = "nukie_cherry"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
volume = 60
/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_cherry/Initialize()
@@ -488,7 +530,8 @@
name = "\improper Nukies - Melon Squirter"
desc = "Harness the power of the atom with this over-caffinated energy drink."
icon_state = "nukie_melon"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
volume = 60
/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_melon/Initialize()
@@ -499,7 +542,8 @@
name = "\improper Nukies - Bursting Banana"
desc = "Harness the power of the atom with this over-caffinated energy drink."
icon_state = "nukie_banana"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
volume = 60
/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_banana/Initialize()
@@ -510,7 +554,8 @@
name = "\improper Nukies - Insatiable Rose"
desc = "Harness the power of the atom with this over-caffinated energy drink."
icon_state = "nukie_rose"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
volume = 60
/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_rose/Initialize()
@@ -521,7 +566,8 @@
name = "\improper Nukies - Citrus Got Real"
desc = "Harness the power of the atom with this over-caffinated energy drink."
icon_state = "nukie_lemon"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
volume = 60
/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_lemon/Initialize()
@@ -532,7 +578,8 @@
name = "\improper Nukies - Swelling Fruit"
desc = "Harness the power of the atom with this over-caffinated energy drink."
icon_state = "nukie_fruit"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
volume = 60
/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_fruit/Initialize()
@@ -543,7 +590,8 @@
name = "\improper Nukies - Limited Edition"
desc = "Harness the power of the atom with this over-caffinated energy drink."
icon_state = "nukie_special"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
volume = 60
/obj/item/weapon/reagent_containers/food/drinks/cans/nukie_special/Initialize()

View File

@@ -12,7 +12,8 @@
icon_state = "emptycondiment"
flags = OPENCONTAINER
possible_transfer_amounts = list(1,5,10)
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
volume = 50
/obj/item/weapon/reagent_containers/food/condiment/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
@@ -60,86 +61,103 @@
name = "Ketchup"
desc = "You feel more American already."
icon_state = "ketchup"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
if("mustard")
name = "Mustard"
desc = "A somewhat bitter topping."
icon_state = "mustard"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
if("capsaicin")
name = "Hotsauce"
desc = "You can almost TASTE the stomach ulcers now!"
icon_state = "hotsauce"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
if("enzyme")
name = "Universal Enzyme"
desc = "Used in cooking various dishes."
icon_state = "enzyme"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
if("soysauce")
name = "Soy Sauce"
desc = "A salty soy-based flavoring."
icon_state = "soysauce"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
if("vinegar")
name = "Vinegar"
desc = "An acetic acid used in various dishes."
icon_state = "vinegar"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
if("frostoil")
name = "Coldsauce"
desc = "Leaves the tongue numb in its passage."
icon_state = "coldsauce"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
if("sodiumchloride")
name = "Salt Shaker"
desc = "Salt. From space oceans, presumably."
icon_state = "saltshaker"
center_of_mass = list("x"=17, "y"=11)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 11 //CHOMPEdit
if("blackpepper")
name = "Pepper Mill"
desc = "Often used to flavor food or make people sneeze."
icon_state = "peppermillsmall"
center_of_mass = list("x"=17, "y"=11)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 11 //CHOMPEdit
if("cookingoil")
name = "Cooking Oil"
desc = "A delicious oil used in cooking. General purpose."
icon_state = "oliveoil"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
if("sugar")
name = "Sugar"
desc = "Tastey space sugar!"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
if("peanutbutter")
name = "Peanut Butter"
desc = "A jar of smooth peanut butter."
icon_state = "peanutbutter"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
if("mayo")
name = "Mayonnaise"
desc = "A jar of mayonnaise!"
icon_state = "mayo"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
if("yeast")
name = "Yeast"
desc = "This is what you use to make bread fluffy."
icon_state = "yeast"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
if("spacespice")
name = "bottle of space spice"
desc = "An exotic blend of spices for cooking. Definitely not worms."
icon_state = "spacespicebottle"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
if("barbecue")
name = "barbecue sauce"
desc = "Barbecue sauce, it's labeled 'sweet and spicy'."
icon_state = "barbecue"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
if("sprinkles")
name = "sprinkles"
desc = "Bottle of sprinkles, colourful!"
icon_state= "sprinkles"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
else
name = "Misc Condiment Bottle"
if (reagents.reagent_list.len==1)
@@ -147,12 +165,14 @@
else
desc = "A mixture of various condiments. [reagents.get_master_reagent_name()] is one of them."
icon_state = "mixedcondiments"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
else
icon_state = "emptycondiment"
name = "Condiment Bottle"
desc = "An empty condiment bottle."
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
return
/obj/item/weapon/reagent_containers/food/condiment/enzyme
@@ -224,7 +244,8 @@
possible_transfer_amounts = list(1,20)
amount_per_transfer_from_this = 1
volume = 20
center_of_mass = list()
center_of_mass_x = 0 //CHOMPEdit
center_of_mass_y = 0 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/condiment/small/on_reagent_change()
return
@@ -233,7 +254,8 @@
name = "salt shaker" // a large one.
desc = "Salt. From space oceans, presumably."
icon_state = "saltshakersmall"
center_of_mass = list("x"=17, "y"=11)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 11 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker/Initialize()
. = ..()
@@ -243,7 +265,8 @@
name = "pepper shaker"
desc = "Often used to flavor food or make people sneeze."
icon_state = "peppershakersmall"
center_of_mass = list("x"=17, "y"=11)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 11 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/condiment/small/peppermill/Initialize()
. = ..()
@@ -253,7 +276,8 @@
name = "pepper mill"
desc = "Fancy way to season a dish or make people sneeze."
icon_state = "peppermill"
center_of_mass = list("x"=17, "y"=11)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 11 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/condiment/small/peppermill/Initialize()
. = ..()
@@ -466,7 +490,8 @@
icon = 'icons/obj/food.dmi'
icon_state = "flour"
volume = 220
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/condiment/carton/flour/on_reagent_change()
update_icon()
@@ -497,7 +522,8 @@
desc = "A big carton of sugar. Sweet!"
icon_state = "sugar"
volume = 120
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/on_reagent_change()
update_icon()
@@ -570,4 +596,4 @@
/obj/item/weapon/reagent_containers/food/condiment/small/packet/protein_powder/strawberry/Initialize()
. = ..()
reagents.add_reagent("strawberry_protein_powder", 5)
reagents.add_reagent("strawberry_protein_powder", 5)

View File

@@ -234,7 +234,8 @@
description_fluff = "A product of NanoPastures. Who would have thought that cows would thrive in zero-G?"
icon_state = "milk"
item_state = "carton"
center_of_mass = list("x"=16, "y"=9)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 9 //CHOMPEdit
drop_sound = 'sound/items/drop/cardboardbox.ogg'
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
@@ -248,7 +249,8 @@
description_fluff = "A product of NanoPastures. For those skeptical that cows can thrive in zero-G."
icon_state = "soymilk"
item_state = "carton"
center_of_mass = list("x"=16, "y"=9)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 9 //CHOMPEdit
drop_sound = 'sound/items/drop/cardboardbox.ogg'
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
@@ -263,7 +265,8 @@
volume = 30
icon_state = "mini-milk"
item_state = "carton"
center_of_mass = list("x"=16, "y"=9)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 9 //CHOMPEdit
drop_sound = 'sound/items/drop/cardboardbox.ogg'
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
@@ -278,7 +281,8 @@
volume = 30
icon_state = "mini-milk_choco"
item_state = "carton"
center_of_mass = list("x"=16, "y"=9)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 9 //CHOMPEdit
drop_sound = 'sound/items/drop/cardboardbox.ogg'
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
@@ -292,7 +296,8 @@
description_fluff = "Fresh coffee is almost unheard of outside of planets and stations where it is grown. Robust Coffee proudly advertises the six separate times it is freeze-dried during the production process of every cup of instant."
icon_state = "coffee"
trash = /obj/item/trash/coffee
center_of_mass = list("x"=15, "y"=10)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
@@ -307,7 +312,8 @@
icon_state = "chai_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
center_of_mass = list("x"=16, "y"=14)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 14 //CHOMPEdit
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
@@ -322,7 +328,8 @@
icon_state = "chai_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
center_of_mass = list("x"=16, "y"=14)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 14 //CHOMPEdit
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
@@ -334,7 +341,8 @@
name = "cup of ice"
desc = "Careful, cold ice, do not chew."
icon_state = "ice"
center_of_mass = list("x"=15, "y"=10)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/ice/Initialize()
. = ..()
reagents.add_reagent("ice", 30)
@@ -346,7 +354,8 @@
icon_state = "coffee"
item_state = "hot_choc"
trash = /obj/item/trash/coffee
center_of_mass = list("x"=15, "y"=13)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 13 //CHOMPEdit
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
@@ -361,7 +370,8 @@
icon_state = "greentea_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
center_of_mass = list("x"=16, "y"=14)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 14 //CHOMPEdit
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
@@ -376,7 +386,8 @@
icon_state = "chai_vended"
item_state = "coffee"
trash = /obj/item/trash/coffee
center_of_mass = list("x"=16, "y"=14)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 14 //CHOMPEdit
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
@@ -391,7 +402,8 @@
icon_state = "coffee"
item_state = "coffee"
trash = /obj/item/trash/coffee
center_of_mass = list("x"=16, "y"=14)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 14 //CHOMPEdit
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
@@ -405,7 +417,8 @@
description_fluff = "Konohagakure Brand Ramen has been an instant meal staple for centuries. Cheap, quick and available in over two hundred varieties - though most taste like artifical chicken."
icon_state = "ramen"
trash = /obj/item/trash/ramen
center_of_mass = list("x"=16, "y"=11)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 11 //CHOMPEdit
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
@@ -419,7 +432,8 @@
icon_state = "water_cup_e"
possible_transfer_amounts = null
volume = 10
center_of_mass = list("x"=16, "y"=12)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 12 //CHOMPEdit
drop_sound = 'sound/items/drop/papercup.ogg'
pickup_sound = 'sound/items/pickup/papercup.ogg'
@@ -456,7 +470,8 @@
icon_state = "shaker"
amount_per_transfer_from_this = 10
volume = 120
center_of_mass = list("x"=17, "y"=10)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/shaker/on_reagent_change()
..()
@@ -468,7 +483,8 @@
item_state = "teapot"
amount_per_transfer_from_this = 10
volume = 120
center_of_mass = list("x"=17, "y"=7)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 7 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/teapot/on_reagent_change()
..()
@@ -478,7 +494,8 @@
desc = "A metal flask belonging to the Site Manager"
icon_state = "flask"
volume = 60
center_of_mass = list("x"=17, "y"=7)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 7 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/flask/on_reagent_change()
..()
@@ -498,19 +515,21 @@
desc = "A metal flask with a leather band and golden badge belonging to the detective."
icon_state = "detflask"
volume = 60
center_of_mass = list("x"=17, "y"=8)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/flask/barflask
name = "flask"
desc = "For those who can't be bothered to hang out at the bar to drink."
icon_state = "barflask"
volume = 60
center_of_mass = list("x"=17, "y"=7)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 7 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask
name = "vacuum flask"
desc = "Keeping your drinks at the perfect temperature since 1892."
icon_state = "vacuumflask"
volume = 60
center_of_mass = list("x"=15, "y"=4)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 4 //CHOMPEdit

View File

@@ -205,7 +205,8 @@
name = "Griffeater Gin"
desc = "A bottle of high quality gin, produced in Alpha Centauri."
icon_state = "ginbottle"
center_of_mass = list("x"=16, "y"=4)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 4 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/gin/Initialize()
. = ..()
@@ -215,7 +216,8 @@
name = "Uncle Git's Special Reserve"
desc = "A premium single-malt whiskey, gently matured in a highly classified location."
icon_state = "whiskeybottle1"
center_of_mass = list("x"=16, "y"=3)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey/Initialize()
. = ..()
@@ -225,7 +227,8 @@
name = "Special Blend Whiskey"
desc = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything."
icon_state = "whiskeybottle2"
center_of_mass = list("x"=16, "y"=3)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey/Initialize()
. = ..()
@@ -235,7 +238,8 @@
name = "Tunguska Triple Distilled"
desc = "Aah, vodka. Prime choice of drink and fuel by Russians worldwide."
icon_state = "vodkabottle"
center_of_mass = list("x"=17, "y"=3)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/Initialize()
. = ..()
@@ -245,7 +249,8 @@
name = "Caccavo Guaranteed Quality Tequilla"
desc = "Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!"
icon_state = "tequilabottle"
center_of_mass = list("x"=16, "y"=3)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla/Initialize()
. = ..()
@@ -255,7 +260,8 @@
name = "Bottle of Nothing"
desc = "A bottle filled with nothing"
icon_state = "bottleofnothing"
center_of_mass = list("x"=17, "y"=5)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 5 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing/Initialize()
. = ..()
@@ -265,7 +271,8 @@
name = "Wrapp Artiste Patron"
desc = "Silver laced tequilla, served in night clubs across the galaxy."
icon_state = "patronbottle"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/patron/Initialize()
. = ..()
@@ -275,7 +282,8 @@
name = "Captain Pete's Cuban Spiced Rum"
desc = "This isn't just rum, oh no. It's practically Cuba in a bottle."
icon_state = "rumbottle"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/rum/Initialize()
. = ..()
@@ -285,7 +293,8 @@
name = "Flask of Holy Water"
desc = "A flask of the chaplain's holy water."
icon_state = "holyflask"
center_of_mass = list("x"=17, "y"=10)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater/Initialize()
. = ..()
@@ -295,7 +304,8 @@
name = "Goldeneye Vermouth"
desc = "Sweet, sweet dryness~"
icon_state = "vermouthbottle"
center_of_mass = list("x"=17, "y"=3)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth/Initialize()
. = ..()
@@ -305,7 +315,8 @@
name = "Robert Robust's Coffee Liqueur"
desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936."
icon_state = "kahluabottle"
center_of_mass = list("x"=17, "y"=3)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua/Initialize()
. = ..()
@@ -315,7 +326,8 @@
name = "College Girl Goldschlager"
desc = "Because they are the only ones who will drink 100 proof cinnamon schnapps."
icon_state = "goldschlagerbottle"
center_of_mass = list("x"=15, "y"=3)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager/Initialize()
. = ..()
@@ -325,7 +337,8 @@
name = "Chateau De Baton Premium Cognac"
desc = "A sweet and strongly alcoholic drink, made after numerous distillations and years of maturing."
icon_state = "cognacbottle"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac/Initialize()
. = ..()
@@ -335,7 +348,8 @@
name = "Jailbreaker Verte"
desc = "One sip of this and you just know you're gonna have a good time."
icon_state = "absinthebottle"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe/Initialize()
. = ..()
@@ -345,7 +359,8 @@
name = "Emeraldine Melon Liqueur"
desc = "A bottle of 46 proof Emeraldine Melon Liquor. Sweet and light."
icon_state = "melon_liqueur"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/melonliquor/Initialize()
. = ..()
@@ -355,7 +370,8 @@
name = "Miss Blue Curacao"
desc = "A fruity, exceptionally azure drink. Does not allow the imbiber to use the fifth magic."
icon_state = "blue_curacao"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/bluecuracao/Initialize()
. = ..()
@@ -365,7 +381,8 @@
name = "Redeemer's Brew"
desc = "Just opening the top of this bottle makes you feel a bit tipsy. Not for the faint of heart."
icon_state = "redeemersbrew"
center_of_mass = list("x"=16, "y"=3)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew/Initialize()
. = ..()
@@ -375,7 +392,8 @@
name = "Dr. Bone's Peppermint Schnapps"
desc = "A flavoured grain liqueur with a fresh, minty taste."
icon_state = "schnapps_pep"
center_of_mass = list("x"=16, "y"=3)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/peppermintschnapps/Initialize()
. = ..()
@@ -385,7 +403,8 @@
name = "Dr. Bone's Peach Schnapps"
desc = "A flavoured grain liqueur with a fruity peach taste."
icon_state = "schnapps_pea"
center_of_mass = list("x"=16, "y"=3)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/peachschnapps/Initialize()
. = ..()
@@ -395,7 +414,8 @@
name = "Dr. Bone's Lemonade Schnapps"
desc = "A flavoured grain liqueur with a sweetish, lemon taste."
icon_state = "schnapps_lem"
center_of_mass = list("x"=16, "y"=3)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/lemonadeschnapps/Initialize()
. = ..()
@@ -405,7 +425,8 @@
name = "Schusskonig"
desc = "A complex tasting digestif. Thank god the original's trademark lapsed."
icon_state = "jager_bottle"
center_of_mass = list("x"=16, "y"=3)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/jager/Initialize()
. = ..()
@@ -417,7 +438,8 @@
name = "Doublebeard Bearded Special Red"
desc = "Cheap cooking wine pretending to be drinkable."
icon_state = "winebottle"
center_of_mass = list("x"=16, "y"=4)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 4 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/wine/Initialize()
. = ..()
@@ -427,7 +449,8 @@
name = "Doublebeard Bearded Special White"
desc = "Cooking wine pretending to be drinkable."
icon_state = "whitewinebottle"
center_of_mass = list("x"=16, "y"=4)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 4 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/whitewine/Initialize()
. = ..()
@@ -437,7 +460,8 @@
name = "NanoTrasen Carnoth Red"
desc = "A NanoTrasen branded wine given to high ranking staff as gifts. Made special on the agricultural planet Carnoth."
icon_state = "carnoth"
center_of_mass = list("x"=16, "y"=4)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 4 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/carnoth/Initialize()
. = ..()
@@ -447,7 +471,8 @@
name = "Warlock's Velvet"
desc = "What a delightful packaging for a surely high quality wine! The vintage must be amazing!"
icon_state = "pwinebottle"
center_of_mass = list("x"=16, "y"=4)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 4 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine/Initialize()
. = ..()
@@ -457,7 +482,8 @@
name = "Gilthari Luxury Champagne"
desc = "For those special occassions."
icon_state = "champagne"
center_of_mass = list("x"=16, "y"=3)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne/Initialize()
. = ..()
@@ -467,7 +493,8 @@
name = "Mono-No-Aware Luxury Sake"
desc = "Dry alcohol made from rice, a favorite of businessmen."
icon_state = "sakebottle"
center_of_mass = list("x"=16, "y"=3)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/sake/Initialize()
. = ..()
@@ -479,7 +506,8 @@
name = "\improper two-liter Space Cola"
desc = "Cola. In space. Contains caffeine."
icon_state = "colabottle"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/cola/Initialize()
. = ..()
@@ -489,7 +517,8 @@
name = "\improper two-liter Space Cola Free"
desc = "Cola. In space. Caffeine free."
icon_state = "decafcolabottle"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/decaf_cola/Initialize()
. = ..()
@@ -499,7 +528,8 @@
name = "\improper two-liter Space-Up"
desc = "Tastes like a hull breach in your mouth."
icon_state = "space-up_bottle"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/space_up/Initialize()
. = ..()
@@ -509,7 +539,8 @@
name = "\improper two-liter Space Mountain Wind"
desc = "Blows right through you like a space wind. Contains caffeine."
icon_state = "space_mountain_wind_bottle"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind/Initialize()
. = ..()
@@ -519,7 +550,8 @@
name = "\improper two-liter Dr. Gibb"
desc = "A delicious mixture of 42 different flavors. Contains caffeine."
icon_state = "dr_gibb_bottle"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/dr_gibb/Initialize()
. = ..()
@@ -530,7 +562,8 @@
desc = "Full of vitamins and deliciousness!"
icon_state = "orangejuice"
item_state = "carton"
center_of_mass = list("x"=16, "y"=7)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 7 //CHOMPEdit
isGlass = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice/Initialize()
@@ -542,7 +575,8 @@
desc = "Squeezed, pressed and ground to perfection!"
icon_state = "applejuice"
item_state = "carton"
center_of_mass = list("x"=16, "y"=7)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 7 //CHOMPEdit
isGlass = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/applejuice/Initialize()
@@ -554,7 +588,8 @@
desc = "It's milk. This carton's large enough to serve your biggest milk drinkers."
icon_state = "milk"
item_state = "carton"
center_of_mass = list("x"=16, "y"=9)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 9 //CHOMPEdit
isGlass = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/milk/Initialize()
@@ -566,7 +601,8 @@
desc = "It's cream. Made from milk. What else did you think you'd find in there?"
icon_state = "cream"
item_state = "carton"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
isGlass = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/cream/Initialize()
@@ -578,7 +614,8 @@
desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness."
icon_state = "tomatojuice"
item_state = "carton"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
isGlass = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice/Initialize()
@@ -590,7 +627,8 @@
desc = "Sweet-sour goodness."
icon_state = "limejuice"
item_state = "carton"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
isGlass = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice/Initialize()
@@ -602,7 +640,8 @@
desc = "Sweet-sour goodness. Minus the sweet."
icon_state = "lemonjuice"
item_state = "carton"
center_of_mass = list("x"=16, "y"=8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
isGlass = 0
/obj/item/weapon/reagent_containers/food/drinks/bottle/lemonjuice/Initialize()
@@ -613,7 +652,8 @@
name = "Briar Rose Grenadine Syrup"
desc = "Sweet and tangy, a bar syrup used to add color or flavor to drinks."
icon_state = "grenadinebottle"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine/Initialize()
. = ..()
@@ -623,7 +663,8 @@
name = "Special Blend Grapejuice"
desc = "A delicious blend of various grape species in one succulent blend."
icon_state = "grapejuicebottle"
center_of_mass = list("x"=16, "y"=3)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/grapejuice/Initialize()
. = ..()
@@ -642,7 +683,8 @@
desc = "A remarkably unremarkable pale lager. Barley malt, hops and yeast."
description_fluff = "Identical to an earlier Earth-based variety of beer, Spacer beer was rebranded at the height of humanity's first extra-solar colonization boom in the 2130s and become the go-to cheap booze for those dreaming of a brighter future in the stars. Today, the beer is advertised as 'brewed in space, for space."
icon_state = "beer"
center_of_mass = list("x"=16, "y"=12)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 12 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/Initialize()
. = ..()
@@ -674,7 +716,8 @@
name = "Crisp's Cider"
desc = "Fermented apples never tasted this good."
icon_state = "cider"
center_of_mass = list("x"=16, "y"=12)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 12 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/small/cider/Initialize()
. = ..()
@@ -685,7 +728,8 @@
desc = "A true dorf's drink of choice."
icon_state = "alebottle"
item_state = "beer"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale/Initialize()
. = ..()
@@ -707,7 +751,8 @@
name = "Space Cola"
desc = "Cola. In space."
icon_state = "colabottle2"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/small/cola/Initialize()
. = ..()
@@ -717,7 +762,8 @@
name = "Space-Up"
desc = "Tastes like a hull breach in your mouth."
icon_state = "space-up_bottle2"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/small/space_up/Initialize()
. = ..()
@@ -727,7 +773,8 @@
name = "Space Mountain Wind"
desc = "Blows right through you like a space wind."
icon_state = "space_mountain_wind_bottle2"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/small/space_mountain_wind/Initialize()
. = ..()
@@ -737,7 +784,8 @@
name = "Dr. Gibb"
desc = "A delicious mixture of 42 different flavors."
icon_state = "dr_gibb_bottle2"
center_of_mass = list("x"=16, "y"=6)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 6 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/small/dr_gibb/Initialize()
. = ..()

View File

@@ -4,7 +4,8 @@
icon_state = "cup_empty"
amount_per_transfer_from_this = 5
volume = 30
center_of_mass = list("x"=16, "y"=16)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cup/on_reagent_change()
..()
@@ -27,13 +28,16 @@
desc = "You can't really tell what this is."
if(R.cup_center_of_mass)
center_of_mass = R.cup_center_of_mass
center_of_mass_x = R.cup_center_of_mass["x"] //CHOMPEdit
center_of_mass_y = R.cup_center_of_mass["y"] //CHOMPEdit
else
center_of_mass = list("x"=16, "y"=16)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
else
icon_state = "cup_empty"
name = "coffee cup"
desc = "The container of oriental luxuries."
center_of_mass = list("x"=16, "y"=16)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
return

View File

@@ -7,7 +7,8 @@
amount_per_transfer_from_this = 5
volume = 30
unacidable = TRUE //glass
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
matter = list(MAT_GLASS = 500)
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/on_reagent_change()
@@ -15,7 +16,8 @@
icon_state = "glass_empty"
name = "glass"
desc = "Your standard drinking glass."
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
return
var/datum/reagent/R = reagents.get_master_reagent()
@@ -35,9 +37,11 @@
desc = "You can't really tell what this is."
if(R.glass_center_of_mass)
center_of_mass = R.glass_center_of_mass
center_of_mass_x = R.cup_center_of_mass["x"] //CHOMPEdit
center_of_mass_y = R.cup_center_of_mass["y"] //CHOMPEdit
else
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
if(R.price_tag)
price_tag = R.price_tag
@@ -50,14 +54,16 @@
icon_state = "cup_empty"
amount_per_transfer_from_this = 5
volume = 30
center_of_mass = list("x"=16, "y"=16)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/cup/on_reagent_change()
if (!length(reagents?.reagent_list))
icon_state = "cup_empty"
name = "coffee cup"
desc = "The container of oriental luxuries."
center_of_mass = list("x"=16, "y"=16)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
return
var/datum/reagent/R = reagents.get_master_reagent()
@@ -77,9 +83,11 @@
desc = "You can't really tell what this is."
if(R.cup_center_of_mass)
center_of_mass = R.cup_center_of_mass
center_of_mass_x = R.cup_center_of_mass["x"] //CHOMPEdit
center_of_mass_y = R.cup_center_of_mass["y"] //CHOMPEdit
else
center_of_mass = list("x"=16, "y"=16)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
if(R.price_tag)
price_tag = R.price_tag
@@ -160,4 +168,4 @@
reagents.add_reagent("nutriment", 30)
reagents.add_reagent("iron", 10)
reagents.add_reagent("protein", 15)
reagents.add_reagent("water", 45)
reagents.add_reagent("water", 45)

View File

@@ -4,7 +4,8 @@
desc = "A jar. You're not sure what it's supposed to hold."
icon_state = "jar"
item_state = "beaker"
center_of_mass = list("x"=15, "y"=8)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
unacidable = TRUE
/obj/item/weapon/reagent_containers/food/drinks/jar/on_reagent_change()

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,8 @@
icon_state = "meat"
health = 180
filling_color = "#FF1C1C"
center_of_mass = list("x"=16, "y"=14)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 14 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/snacks/meat/Initialize()
. = ..()
@@ -73,7 +74,8 @@
desc = "A slice from a huge mushroom."
icon_state = "hugemushroomslice"
filling_color = "#E0D7C5"
center_of_mass = list("x"=17, "y"=16)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
nutriment_amt = 3
nutriment_desc = list("raw" = 2, "mushroom" = 2)
bitesize = 6
@@ -87,7 +89,8 @@
desc = "A slice from a huge tomato"
icon_state = "tomatomeat"
filling_color = "#DB0000"
center_of_mass = list("x"=17, "y"=16)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
nutriment_amt = 3
nutriment_desc = list("raw" = 2, "tomato" = 3)
bitesize = 6
@@ -97,7 +100,8 @@
desc = "A very manly slab of meat."
icon_state = "bearmeat"
filling_color = "#DB0000"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
bitesize = 3
/obj/item/weapon/reagent_containers/food/snacks/bearmeat/Initialize()
@@ -110,7 +114,8 @@
desc = "A slab of green meat. Smells like acid."
icon_state = "xenomeat"
filling_color = "#43DE18"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
bitesize = 6
/obj/item/weapon/reagent_containers/food/snacks/xenomeat/Initialize()
@@ -123,7 +128,8 @@
desc = "A slab of green meat."
icon_state = "xenomeat"
filling_color = "#43DE18"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
bitesize = 6
/obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat/Initialize()
@@ -140,7 +146,8 @@
desc = "A slab of grub meat, it gives a gentle shock if you touch it"
icon = 'icons/obj/food.dmi'
icon_state = "grubmeat"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat/Initialize()
. = ..()
@@ -154,7 +161,8 @@
icon_state = "wormmeat"
health = 180
filling_color = "#551A8B"
center_of_mass = list("x"=16, "y"=14)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 14 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/snacks/meat/worm/Initialize()
. = ..()

View File

@@ -215,7 +215,8 @@
slices_num = 6
nutriment_amt = 12
nutriment_desc = list("a warm, buttery sweetness that reminds you of home" = 5)
center_of_mass = list("x"=16, "y"=9)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 9 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/snacks/slicable/buttspie/Initialize()
..()
@@ -297,7 +298,8 @@
filling_color = "#E39C29"
nutriment_amt = 8
nutriment_desc = list("vanilla" = 8)
center_of_mass = list("x"=15, "y"=9)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 9 //CHOMPEdit
bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/blondies/Initialize()
@@ -313,7 +315,8 @@
filling_color = "#F5B951"
bitesize = 2
nutriment_desc = list("vanilla" = 1)
center_of_mass = list("x"=16, "y"=12)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 12 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/snacks/blondiesslice/filled
nutriment_amt = 1

View File

@@ -459,7 +459,8 @@
flags = OPENCONTAINER
bitesize = 12
filling_color = "#ADAC7F"
center_of_mass = list("x"=16, "y"=14)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 14 //CHOMPEdit
var/food_type = "/obj/item/weapon/reagent_containers/food/snacks/proteinslab"
@@ -582,7 +583,8 @@
desc = "The universes best soup! Yum!!!"
icon_state = "milosoup"
trash = /obj/item/trash/snack_bowl
center_of_mass = list("x"=16, "y"=7)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 7 //CHOMPEdit
nutriment_amt = 8
nutriment_desc = list("soy" = 8)
bitesize = 4
@@ -598,7 +600,8 @@
icon_state = "onionsoup"
trash = /obj/item/trash/snack_bowl
filling_color = "#E0C367"
center_of_mass = list("x"=16, "y"=7)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 7 //CHOMPEdit
bitesize = 3
eating_sound = 'sound/items/drink.ogg'

View File

@@ -176,7 +176,8 @@
desc = "A slice from The Chaos Cake, it pulses weirdly, as if angry to be separated from the whole"
icon_state = "chaoscake_slice-1"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
nutriment_desc = list()
nutriment_amt = 4
volume = 80
@@ -355,4 +356,4 @@
/obj/item/weapon/reagent_containers/food/snacks/pineapple_ring,
/obj/item/weapon/reagent_containers/food/snacks/pineapple_ring
)
result = /obj/structure/theonepizza
result = /obj/structure/theonepizza

View File

@@ -157,7 +157,8 @@
icon = 'icons/obj/food_ch.dmi'
icon_state = "thecakeslice"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
nutriment_desc = list("cake" = 10, "sweetness" = 10, "singularity?" = 1)
nutriment_amt = 5
//Add some randomized effect possibly, to make the slices special - Jack
@@ -416,7 +417,8 @@
icon = 'icons/obj/food_ch.dmi'
icon_state = "chaoscake_slice-1"
center_of_mass = list("x"=16, "y"=10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
nutriment_desc = list()
nutriment_amt = 4
volume = 80
@@ -596,4 +598,4 @@
/obj/item/weapon/reagent_containers/food/snacks/pineapple_ring,
/obj/item/weapon/reagent_containers/food/snacks/pineapple_ring
)
result = /obj/structure/theonepizza
result = /obj/structure/theonepizza

View File

@@ -60,6 +60,8 @@
if (new_master_turf)
save_master(new_master_turf, ((new_master_turf.x > x) ? EAST : WEST) | ((new_master_turf.y > y) ? NORTH : SOUTH)) // Get the dir based on coordinates.
if(((SSplanets && SSplanets.z_to_planet.len >= new_turf.z && SSplanets.z_to_planet[new_turf.z]) || SSlighting.get_pshandler_z(new_turf.z)) && new_turf.has_dynamic_lighting()) sunlight = SUNLIGHT_POSSIBLE //CHOMPEdit
/datum/lighting_corner/proc/save_master(turf/master, dir)
switch (dir)
if (NORTHEAST)

View File

@@ -6,7 +6,8 @@
w_class = ITEMSIZE_NORMAL
throw_speed = 3
throw_range = 3
center_of_mass = null
center_of_mass_x = 0 //CHOMPEdit
center_of_mass_y = 0 //CHOMPEdit
max_amount = 50
item_icons = list(
slot_l_hand_str = 'icons/mob/items/lefthand_material.dmi',
@@ -91,4 +92,4 @@
else if(istype(W, /obj/item/stack/rods))
material.build_rod_product(user, W, src)
return
return ..()
return ..()

View File

@@ -483,7 +483,7 @@ var/list/mining_overlay_cache = list()
excavation_level += S.excavation_amount
update_archeo_overlays(S.excavation_amount)
geologic_data = new /datum/geosample(src) //CHOMPEdit
//drop some rocks
next_rock += S.excavation_amount
while(next_rock > 50)
@@ -534,7 +534,7 @@ var/list/mining_overlay_cache = list()
excavation_level += P.excavation_amount
update_archeo_overlays(P.excavation_amount)
geologic_data = new /datum/geosample(src) //CHOMPEdit
//drop some rocks
next_rock += P.excavation_amount
while(next_rock > 50)
@@ -602,6 +602,7 @@ var/list/mining_overlay_cache = list()
if(!mineral)
return
clear_ore_effects()
geologic_data = new /datum/geosample(src) //CHOMPEdit
var/obj/item/weapon/ore/O = new mineral.ore (src)
if(istype(O))
geologic_data.UpdateNearbyArtifactInfo(src)
@@ -675,6 +676,7 @@ var/list/mining_overlay_cache = list()
/turf/simulated/mineral/proc/excavate_find(var/is_clean = 0, var/datum/find/F)
//with skill and luck, players can cleanly extract finds
//otherwise, they come out inside a chunk of rock
geologic_data = new /datum/geosample(src) //CHOMPEdit
var/obj/item/weapon/X
if(is_clean)
X = new /obj/item/weapon/archaeological_find(src, new_item_type = F.find_type)

View File

@@ -6,7 +6,8 @@ var/list/holder_mob_icon_cache = list()
desc = "You shouldn't ever see this."
icon = 'icons/obj/objects.dmi'
randpixel = 0
center_of_mass = null
center_of_mass_x = 0 //CHOMPEdit
center_of_mass_y = 0 //CHOMPEdit
slot_flags = SLOT_HEAD | SLOT_HOLSTER
show_messages = 1

View File

@@ -97,7 +97,7 @@
var/new_type = pickweight(sk_types)
new new_type(loc)
initialized = TRUE
flags |= ATOM_INITIALIZED //CHOMPEdit
return INITIALIZE_HINT_QDEL
if(icon_state == "map_example")

View File

@@ -29,7 +29,7 @@
else
forceMove(locate(1,1,1))
//CHOMPEdit End
initialized = TRUE // Explicitly don't use Initialize(). New players join super early and use New()
flags |= ATOM_INITIALIZED // Explicitly don't use Initialize(). New players join super early and use New() //CHOMPEdit
/mob/new_player/Destroy()

View File

@@ -27,7 +27,8 @@
blocks_emissive = FALSE
var/overlay_icon = null // Icon file used for overlays
icon_state = null
center_of_mass = null // No pixelshifting by placing on tables, etc.
center_of_mass_x = 0 //CHOMPEdit
center_of_mass_y = 0 //CHOMPEdit // No pixelshifting by placing on tables, etc.
randpixel = 0 // And no random pixelshifting on-creation either.
var/icon_state_unpowered = null // Icon state when the computer is turned off
var/icon_state_menu = "menu" // Icon state overlay when the computer is turned on, but no program is loaded that would override the screen.

View File

@@ -3,7 +3,8 @@
desc = "Dreamt up in a strange feverish dream, this coffee cup seems to have been heavily modified with a variety of unlikely parts and wires, and never seems to run out of coffee. Truly the differance between madmen and genius is success."
icon = 'icons/obj/coffee.dmi'
icon_state = "bluespace_coffee"
center_of_mass = list("x"=15, "y"=10)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
volume = 50
/obj/item/weapon/reagent_containers/food/drinks/bluespace_coffee/Initialize()
@@ -13,4 +14,4 @@
//Infinite Coffee
/obj/item/weapon/reagent_containers/food/drinks/bluespace_coffee/attack(mob/M as mob, mob/user as mob, def_zone)
..()
src.reagents.add_reagent("coffee", 50)
src.reagents.add_reagent("coffee", 50)

View File

@@ -166,7 +166,8 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "beaker"
item_state = "beaker"
center_of_mass = list("x" = 15,"y" = 11)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 11 //CHOMPEdit
matter = list(MAT_GLASS = 500)
drop_sound = 'sound/items/drop/glass.ogg'
pickup_sound = 'sound/items/pickup/glass.ogg'
@@ -222,7 +223,8 @@
name = "large beaker"
desc = "A large beaker."
icon_state = "beakerlarge"
center_of_mass = list("x" = 16,"y" = 11)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 11 //CHOMPEdit
matter = list(MAT_GLASS = 5000)
volume = 120
amount_per_transfer_from_this = 10
@@ -234,7 +236,8 @@
name = "cryostasis beaker"
desc = "A cryostasis beaker that allows for chemical storage without reactions."
icon_state = "beakernoreact"
center_of_mass = list("x" = 16,"y" = 13)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 13 //CHOMPEdit
matter = list(MAT_GLASS = 500)
volume = 60
amount_per_transfer_from_this = 10
@@ -244,7 +247,8 @@
name = "bluespace beaker"
desc = "A bluespace beaker, powered by experimental bluespace technology."
icon_state = "beakerbluespace"
center_of_mass = list("x" = 16,"y" = 11)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 11 //CHOMPEdit
matter = list(MAT_GLASS = 5000)
volume = 300
amount_per_transfer_from_this = 10
@@ -256,7 +260,8 @@
name = "vial"
desc = "A small glass vial."
icon_state = "vial"
center_of_mass = list("x" = 15,"y" = 9)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 9 //CHOMPEdit
matter = list(MAT_GLASS = 250)
volume = 30
w_class = ITEMSIZE_TINY
@@ -275,7 +280,8 @@
name = "stoppered bottle"
desc = "A stoppered bottle for keeping beverages fresh."
icon_state = "stopperedbottle"
center_of_mass = list("x" = 16,"y" = 13)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 13 //CHOMPEdit
volume = 120
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,25,30,60,120)
@@ -287,7 +293,8 @@
icon = 'icons/obj/janitor.dmi'
icon_state = "bucket"
item_state = "bucket"
center_of_mass = list("x" = 16,"y" = 10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
matter = list(MAT_STEEL = 200)
w_class = ITEMSIZE_NORMAL
amount_per_transfer_from_this = 20
@@ -349,7 +356,8 @@
icon = 'icons/obj/janitor.dmi'
icon_state = "woodbucket"
item_state = "woodbucket"
center_of_mass = list("x" = 16,"y" = 8)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 8 //CHOMPEdit
matter = list(MAT_WOOD = 50)
w_class = ITEMSIZE_LARGE
amount_per_transfer_from_this = 20

View File

@@ -4,7 +4,8 @@
icon = 'icons/obj/janitor.dmi'
icon_state = "cleaner"
item_state = "cleaner"
center_of_mass = list("x" = 16,"y" = 10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
flags = OPENCONTAINER|NOBLUDGEON
matter = list(MAT_GLASS = 300, MAT_STEEL = 300)
slot_flags = SLOT_BELT
@@ -125,7 +126,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "pepperspray"
item_state = "pepperspray"
center_of_mass = list("x" = 16,"y" = 16)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
possible_transfer_amounts = null
volume = 40
var/safety = TRUE
@@ -173,7 +175,8 @@
icon_state = "chemsprayer"
item_state = "chemsprayer"
item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_guns.dmi', slot_r_hand_str = 'icons/mob/items/righthand_guns.dmi')
center_of_mass = list("x" = 16,"y" = 16)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
throwforce = 3
w_class = ITEMSIZE_NORMAL
possible_transfer_amounts = null
@@ -219,7 +222,8 @@
icon = 'icons/obj/janitor.dmi'
icon_state = "cleaner-industrial"
item_state = "cleaner"
center_of_mass = list("x" = 16,"y" = 10)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
possible_transfer_amounts = list(5,10,20)

View File

@@ -12,7 +12,8 @@
icon = 'icons/obj/syringe.dmi'
item_state = "syringe_0"
icon_state = "0"
center_of_mass = list("x" = 16,"y" = 14)
center_of_mass_x = 16 //CHOMPEdit
center_of_mass_y= 14 //CHOMPEdit
matter = list(MAT_GLASS = 150)
amount_per_transfer_from_this = 5
possible_transfer_amounts = null

View File

@@ -1267,7 +1267,8 @@
base_name = "Clara's Vacuum Flask"
base_icon = "claraflask"
icon = 'icons/vore/custom_items_vr.dmi'
center_of_mass = list("x" = 15,"y" = 4)
center_of_mass_x = 15 //CHOMPEdit
center_of_mass_y= 4 //CHOMPEdit
filling_states = list(15, 30, 50, 60, 80, 100)
volume = 60

View File

@@ -118,7 +118,8 @@
desc = "A glob of slime that is thick as honey. For the brave Xenobiologist."
icon_state = "honeycomb"
filling_color = "#FFBB00"
center_of_mass = list("x"=17, "y"=10)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 10 //CHOMPEdit
nutriment_amt = 25 // Very filling.
nutriment_desc = list("slime" = 10, "sweetness" = 10, "bliss" = 5)

View File

@@ -224,7 +224,7 @@
if(!LAZYLEN(mobs_to_pick_from))
error("Mob spawner at [x],[y],[z] ([get_area(src)]) had no mobs_to_pick_from set on it!")
initialized = TRUE
flags |= ATOM_INITIALIZED //CHOMPEdit
return INITIALIZE_HINT_QDEL
START_PROCESSING(SSobj, src)

View File

@@ -3,7 +3,8 @@
desc = "This could go well with lunch."
icon = 'modular_chomp/icons/obj/drinks.dmi'
icon_state = "snapsbottle"
center_of_mass = list("x"=17, "y"=3)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 3 //CHOMPEdit
/obj/item/weapon/reagent_containers/food/drinks/bottle/snaps/Initialize()
. = ..()

View File

@@ -2,7 +2,8 @@
name = "Death claw Meat"
desc = "A slice from a deathclaw"
icon_state = "meat"
center_of_mass = list("x"=17, "y"=16)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
nutriment_amt = 3
nutriment_desc = list("protein" = 6, "deathblood" = 6)
bitesize = 6
@@ -16,7 +17,8 @@
name = "Dragon Meat"
desc = "A slice from a mighty dragon"
icon_state = "meat"
center_of_mass = list("x"=17, "y"=16)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
nutriment_amt = 3
nutriment_desc = list("protein" = 6, "liquidfire" = 6)
bitesize = 6
@@ -30,7 +32,8 @@
name = "Phoron Dragon Meat"
desc = "A slice from a mighty dragon"
icon_state = "meat"
center_of_mass = list("x"=17, "y"=16)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
nutriment_amt = 3
nutriment_desc = list("protein" = 6, "neoliquidfire" = 6, "phoron" = 3)
bitesize = 6
@@ -45,7 +48,8 @@
name = "Metroid Slice"
desc = "A slice from a metroid"
icon_state = "meat"
center_of_mass = list("x"=17, "y"=16)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
nutriment_amt = 3
nutriment_desc = list("protein" = 3, "liquidlife" = 3)
bitesize = 6
@@ -59,7 +63,8 @@
name = "Solar Ray Meat"
desc = "You aren't sure how ediable this is"
icon_state = "meat"
center_of_mass = list("x"=17, "y"=16)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
nutriment_amt = 3
nutriment_desc = list("protein" = 3, "capsaicin" = 8, "condensedcapsaicin" = 8)
@@ -68,7 +73,8 @@
name = "Eel Meat"
desc = "A slice from an eel"
icon_state = "meat"
center_of_mass = list("x"=17, "y"=16)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
nutriment_amt = 3
nutriment_desc = list("protein" = 3, "shockchem" = 1)
@@ -77,6 +83,7 @@
name = "Gravity Shell Meat"
desc = "A slice from a gravity shell"
icon_state = "meat"
center_of_mass = list("x"=17, "y"=16)
center_of_mass_x = 17 //CHOMPEdit
center_of_mass_y= 16 //CHOMPEdit
nutriment_amt = 3
nutriment_desc = list("protein" = 24)
nutriment_desc = list("protein" = 24)

View File

@@ -626,6 +626,7 @@
#include "code\game\atoms_movable_vr.dm"
#include "code\game\base_turf.dm"
#include "code\game\birthday.dm"
#include "code\game\memory_profiler_ch.dm"
#include "code\game\periodic_news.dm"
#include "code\game\response_team.dm"
#include "code\game\response_team_vr.dm"