Merge branch 'master' into economy-update-junk

This commit is contained in:
Dahlular
2022-07-06 16:28:45 -06:00
committed by GitHub
196 changed files with 865 additions and 721 deletions
+149 -61
View File
@@ -1,67 +1,155 @@
// This is eventually for wjohn to add more color standardization stuff like I keep asking him >:(
#define COLOR_INPUT_DISABLED "#F0F0F0"
#define COLOR_INPUT_ENABLED "#D3B5B5"
#define COLOR_INPUT_DISABLED "#F0F0F0"
#define COLOR_INPUT_ENABLED "#D3B5B5"
#define COLOR_DARKMODE_INFO_BUTTONS_BG "#40628A"
#define COLOR_DARKMODE_ISSUE_BUTTON_BG "#A92C2C"
#define COLOR_DARKMODE_BACKGROUND "#272727"
#define COLOR_DARKMODE_DARKBACKGROUND "#242424"
#define COLOR_DARKMODE_TEXT "#E0E0E0"
#define COLOR_DARKMODE_INFO_BUTTONS_BG "#40628A"
#define COLOR_DARKMODE_ISSUE_BUTTON_BG "#A92C2C"
#define COLOR_DARKMODE_BACKGROUND "#272727"
#define COLOR_DARKMODE_DARKBACKGROUND "#242424"
#define COLOR_DARKMODE_TEXT "#E0E0E0"
#define COLOR_WHITEMODE_INFO_BUTTONS_BG "#90B3DD"
#define COLOR_WHITEMODE_ISSUE_BUTTON_BG "#EF7F7F"
#define COLOR_WHITEMODE_BACKGROUND "#F0F0F0"
#define COLOR_WHITEMODE_DARKBACKGROUND "#E6E6E6"
#define COLOR_WHITEMODE_TEXT "#000000"
#define COLOR_WHITEMODE_INFO_BUTTONS_BG "#90B3DD"
#define COLOR_WHITEMODE_ISSUE_BUTTON_BG "##EF7F7F"
#define COLOR_WHITEMODE_BACKGROUND "#F0F0F0"
#define COLOR_WHITEMODE_DARKBACKGROUND "#E6E6E6"
#define COLOR_WHITEMODE_TEXT "#000000"
#define COLOR_FLOORTILE_GRAY "#8D8B8B"
#define COLOR_ALMOST_BLACK "#333333"
#define COLOR_SILVER "#C0C0C0"
#define COLOR_BLACK "#000000"
#define COLOR_RED "#FF0000"
#define COLOR_RED_LIGHT "#FF3333"
#define COLOR_MAROON "#800000"
#define COLOR_YELLOW "#FFFF00"
#define COLOR_OLIVE "#808000"
#define COLOR_LIME "#32CD32"
#define COLOR_GREEN "#008000"
#define COLOR_CYAN "#00FFFF"
#define COLOR_TEAL "#008080"
#define COLOR_BLUE "#0000FF"
#define COLOR_BLUE_LIGHT "#33CCFF"
#define COLOR_NAVY "#000080"
#define COLOR_PINK "#FFC0CB"
#define COLOR_MAGENTA "#FF00FF"
#define COLOR_PURPLE "#800080"
#define COLOR_ORANGE "#FF9900"
#define COLOR_BEIGE "#CEB689"
#define COLOR_BLUE_GRAY "#75A2BB"
#define COLOR_BROWN "#BA9F6D"
#define COLOR_DARK_BROWN "#997C4F"
#define COLOR_DARK_ORANGE "#C3630C"
#define COLOR_GREEN_GRAY "#99BB76"
#define COLOR_RED_GRAY "#B4696A"
#define COLOR_PALE_BLUE_GRAY "#98C5DF"
#define COLOR_PALE_GREEN_GRAY "#B7D993"
#define COLOR_PALE_RED_GRAY "#D59998"
#define COLOR_PALE_PURPLE_GRAY "#CBB1CA"
#define COLOR_PURPLE_GRAY "#AE8CA8"
#define COLOR_WHITE "#FFFFFF"
#define COLOR_VERY_VERY_LIGHT_GRAY "#F0F0F0"
#define COLOR_VERY_LIGHT_GRAY "#EEEEEE"
#define COLOR_SILVER "#C0C0C0"
#define COLOR_GRAY "#808080"
#define COLOR_FLOORTILE_GRAY "#8D8B8B"
#define COLOR_ALMOST_BLACK "#333333"
#define COLOR_NEARLY_BLACK "#202020"
#define COLOR_BLACK "#000000"
#define COLOR_RED "#FF0000"
#define COLOR_MOSTLY_PURE_RED "#FF3300"
#define COLOR_DARK_RED "#A50824"
#define COLOR_RED_LIGHT "#FF3333"
#define COLOR_MAROON "#800000"
#define COLOR_VIVID_RED "#FF3232"
#define COLOR_LIGHT_GRAYISH_RED "#E4C7C5"
#define COLOR_SOFT_RED "#FA8282"
#define COLOR_YELLOW "#FFFF00"
#define COLOR_VIVID_YELLOW "#FBFF23"
#define COLOR_VERY_SOFT_YELLOW "#FAE48E"
#define COLOR_OLIVE "#808000"
#define COLOR_GREEN "#00FF00"
#define COLOR_LIME "#32CD32"
#define COLOR_VERY_PALE_LIME_GREEN "#DDFFD3"
#define COLOR_VERY_DARK_LIME_GREEN "#003300"
#define COLOR_DARK_GREEN "#008000"
#define COLOR_DARK_MODERATE_LIME_GREEN "#44964A"
#define COLOR_CYAN "#00FFFF"
#define COLOR_DARK_CYAN "#00A2FF"
#define COLOR_TEAL "#008080"
#define COLOR_BLUE "#0000FF"
#define COLOR_BRIGHT_BLUE "#2CB2E8"
#define COLOR_MODERATE_BLUE "#555CC2"
#define COLOR_BLUE_LIGHT "#33CCFF"
#define COLOR_NAVY "#000080"
#define COLOR_BLUE_GRAY "#75A2BB"
#define COLOR_PINK "#FFC0CB"
#define COLOR_MOSTLY_PURE_PINK "#E4005B"
#define COLOR_MAGENTA "#FF00FF"
#define COLOR_STRONG_MAGENTA "#B800B8"
#define COLOR_PURPLE "#800080"
#define COLOR_VIOLET "#B900F7"
#define COLOR_STRONG_VIOLET "#6927C5"
#define COLOR_ORANGE "#FF9900"
#define COLOR_TAN_ORANGE "#FF7B00"
#define COLOR_BRIGHT_ORANGE "#E2853D"
#define COLOR_LIGHT_ORANGE "#FFC44D"
#define COLOR_CREAMY_ORANGE "#FFCC66"
#define COLOR_PALE_ORANGE "#FFBE9D"
#define COLOR_BEIGE "#CEB689"
#define COLOR_DARK_ORANGE "#C3630C"
#define COLOR_DARK_MODERATE_ORANGE "#8B633B"
#define COLOR_BROWN "#BA9F6D"
#define COLOR_DARK_BROWN "#997C4F"
#define COLOR_GREEN_GRAY "#99BB76"
#define COLOR_RED_GRAY "#B4696A"
#define COLOR_PALE_BLUE_GRAY "#98C5DF"
#define COLOR_PALE_GREEN_GRAY "#B7D993"
#define COLOR_PALE_RED_GRAY "#D59998"
#define COLOR_PALE_PURPLE_GRAY "#CBB1CA"
#define COLOR_PURPLE_GRAY "#AE8CA8"
//Color defines used by the assembly detailer.
#define COLOR_ASSEMBLY_BLACK "#545454"
#define COLOR_ASSEMBLY_BGRAY "#9497AB"
#define COLOR_ASSEMBLY_WHITE "#E2E2E2"
#define COLOR_ASSEMBLY_RED "#CC4242"
#define COLOR_ASSEMBLY_ORANGE "#E39751"
#define COLOR_ASSEMBLY_BEIGE "#AF9366"
#define COLOR_ASSEMBLY_BROWN "#97670E"
#define COLOR_ASSEMBLY_GOLD "#AA9100"
#define COLOR_ASSEMBLY_YELLOW "#CECA2B"
#define COLOR_ASSEMBLY_GURKHA "#999875"
#define COLOR_ASSEMBLY_LGREEN "#789876"
#define COLOR_ASSEMBLY_GREEN "#44843C"
#define COLOR_ASSEMBLY_LBLUE "#5D99BE"
#define COLOR_ASSEMBLY_BLUE "#38559E"
#define COLOR_ASSEMBLY_PURPLE "#6F6192"
#define COLOR_ASSEMBLY_PINK "#ff4adc"
#define COLOR_ASSEMBLY_BLACK "#545454"
#define COLOR_ASSEMBLY_BGRAY "#9497AB"
#define COLOR_ASSEMBLY_WHITE "#E2E2E2"
#define COLOR_ASSEMBLY_RED "#CC4242"
#define COLOR_ASSEMBLY_ORANGE "#E39751"
#define COLOR_ASSEMBLY_BEIGE "#AF9366"
#define COLOR_ASSEMBLY_BROWN "#97670E"
#define COLOR_ASSEMBLY_GOLD "#AA9100"
#define COLOR_ASSEMBLY_YELLOW "#CECA2B"
#define COLOR_ASSEMBLY_GURKHA "#999875"
#define COLOR_ASSEMBLY_LGREEN "#789876"
#define COLOR_ASSEMBLY_GREEN "#44843C"
#define COLOR_ASSEMBLY_LBLUE "#5D99BE"
#define COLOR_ASSEMBLY_BLUE "#38559E"
#define COLOR_ASSEMBLY_PURPLE "#6F6192"
#define COLOR_ASSEMBLY_PINK "#FF4ADC"
/**
* Some defines to generalise colours used in lighting.
*
* Important note: colors can end up significantly different from the basic html picture, especially when saturated
*/
/// Bright but quickly dissipating neon green. rgb(100, 200, 100)
#define LIGHT_COLOR_GREEN "#64C864"
/// Electric green. rgb(0, 255, 0)
#define LIGHT_COLOR_ELECTRIC_GREEN "#00FF00"
/// Cold, diluted blue. rgb(100, 150, 250)
#define LIGHT_COLOR_BLUE "#6496FA"
/// Light blueish green. rgb(125, 225, 175)
#define LIGHT_COLOR_BLUEGREEN "#7DE1AF"
/// Diluted cyan. rgb(125, 225, 225)
#define LIGHT_COLOR_CYAN "#7DE1E1"
/// Electric cyan rgb(0, 255, 255)
#define LIGHT_COLOR_ELECTRIC_CYAN "#00FFFF"
/// More-saturated cyan. rgb(16, 21, 22)
#define LIGHT_COLOR_LIGHT_CYAN "#40CEFF"
/// Saturated blue. rgb(51, 117, 248)
#define LIGHT_COLOR_DARK_BLUE "#6496FA"
/// Diluted, mid-warmth pink. rgb(225, 125, 225)
#define LIGHT_COLOR_PINK "#E17DE1"
/// Dimmed yellow, leaning kaki. rgb(225, 225, 125)
#define LIGHT_COLOR_YELLOW "#E1E17D"
/// Clear brown, mostly dim. rgb(150, 100, 50)
#define LIGHT_COLOR_BROWN "#966432"
/// Mostly pure orange. rgb(250, 150, 50)
#define LIGHT_COLOR_ORANGE "#FA9632"
/// Light Purple. rgb(149, 44, 244)
#define LIGHT_COLOR_PURPLE "#952CF4"
/// Less-saturated light purple. rgb(155, 81, 255)
#define LIGHT_COLOR_LAVENDER "#9B51FF"
///slightly desaturated bright yellow.
#define LIGHT_COLOR_HOLY_MAGIC "#FFF743"
/// deep crimson
#define LIGHT_COLOR_BLOOD_MAGIC "#D00000"
/* These ones aren't a direct colour like the ones above, because nothing would fit */
/// Warm orange color, leaning strongly towards yellow. rgb(250, 160, 25)
#define LIGHT_COLOR_FIRE "#FAA019"
/// Very warm yellow, leaning slightly towards orange. rgb(196, 138, 24)
#define LIGHT_COLOR_LAVA "#C48A18"
/// Bright, non-saturated red. Leaning slightly towards pink for visibility. rgb(250, 100, 75)
#define LIGHT_COLOR_FLARE "#FA644B"
/// Weird color, between yellow and green, very slimy. rgb(175, 200, 75)
#define LIGHT_COLOR_SLIME_LAMP "#AFC84B"
/// Extremely diluted yellow, close to skin color (for some reason). rgb(250, 225, 175)
#define LIGHT_COLOR_TUNGSTEN "#FAE1AF"
/// Barely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250)
#define LIGHT_COLOR_HALOGEN "#F0FAFA"
+1 -1
View File
@@ -1,5 +1,5 @@
//rune colors, for easy reference
#define RUNE_COLOR_TALISMAN "#0000FF"
#define RUNE_COLOR_TALISMAN COLOR_BLUE
#define RUNE_COLOR_TELEPORT "#551A8B"
#define RUNE_COLOR_OFFER "#FFFFFF"
#define RUNE_COLOR_DARKRED "#7D1717"
+11 -2
View File
@@ -112,8 +112,6 @@
///from obj/machinery/bsa/full/proc/fire(): ()
#define COMSIG_ATOM_BSA_BEAM "atom_bsa_beam_pass"
#define COMSIG_ATOM_BLOCKS_BSA_BEAM (1<<0)
///from base of atom/set_light(): (l_range, l_power, l_color)
#define COMSIG_ATOM_SET_LIGHT "atom_set_light"
///from base of atom/setDir(): (old_dir, new_dir)
#define COMSIG_ATOM_DIR_CHANGE "atom_dir_change"
///from base of atom/handle_atom_del(): (atom/deleted)
@@ -161,6 +159,17 @@
#define COMPONENT_NO_ATTACK_HAND 1 //works on all 3.
/////////////////
///from base of atom/set_light(): (l_range, l_power, l_color)
#define COMSIG_ATOM_SET_LIGHT "atom_set_light"
///Called right before the atom changes the value of light_range to a different one, from base atom/set_light_range(): (new_range)
#define COMSIG_ATOM_SET_LIGHT_RANGE "atom_set_light_range"
///Called right before the atom changes the value of light_power to a different one, from base atom/set_light_power(): (new_power)
#define COMSIG_ATOM_SET_LIGHT_POWER "atom_set_light_power"
///Called right before the atom changes the value of light_color to a different one, from base atom/set_light_color(): (new_color)
#define COMSIG_ATOM_SET_LIGHT_COLOR "atom_set_light_color"
///Called right before the atom changes the value of light_on to a different one, from base atom/set_light_on(): (new_value)
#define COMSIG_ATOM_SET_LIGHT_ON "atom_set_light_on"
//This signal return value bitflags can be found in __DEFINES/misc.dm
///called for each movable in a turf contents on /turf/zImpact(): (atom/movable/A, levels)
+1 -32
View File
@@ -25,37 +25,6 @@
0, 0, 0, 1 \
) \
//Some defines to generalise colours used in lighting.
//Important note on colors. Colors can end up significantly different from the basic html picture, especially when saturated
#define LIGHT_COLOR_WHITE "#FFFFFF"
#define LIGHT_COLOR_RED "#FA8282" //Warm but extremely diluted red. rgb(250, 130, 130)
#define LIGHT_COLOR_GREEN "#64C864" //Bright but quickly dissipating neon green. rgb(100, 200, 100)
#define LIGHT_COLOR_BLUE "#6496FA" //Cold, diluted blue. rgb(100, 150, 250)
#define LIGHT_COLOR_BLUEGREEN "#7DE1AF" //Light blueish green. rgb(125, 225, 175)
#define LIGHT_COLOR_PALEBLUE "#7DAFE1" //A pale blue-ish color. rgb(125, 175, 225)
#define LIGHT_COLOR_CYAN "#7DE1E1" //Diluted cyan. rgb(125, 225, 225)
#define LIGHT_COLOR_LIGHT_CYAN "#40CEFF" //More-saturated cyan. rgb(64, 206, 255)
#define LIGHT_COLOR_DARK_BLUE "#6496FA" //Saturated blue. rgb(51, 117, 248)
#define LIGHT_COLOR_PINK "#E17DE1" //Diluted, mid-warmth pink. rgb(225, 125, 225)
#define LIGHT_COLOR_YELLOW "#E1E17D" //Dimmed yellow, leaning kaki. rgb(225, 225, 125)
#define LIGHT_COLOR_BROWN "#966432" //Clear brown, mostly dim. rgb(150, 100, 50)
#define LIGHT_COLOR_ORANGE "#FA9632" //Mostly pure orange. rgb(250, 150, 50)
#define LIGHT_COLOR_PURPLE "#952CF4" //Light Purple. rgb(149, 44, 244)
#define LIGHT_COLOR_LAVENDER "#9B51FF" //Less-saturated light purple. rgb(155, 81, 255)
#define LIGHT_COLOR_HOLY_MAGIC "#FFF743" //slightly desaturated bright yellow.
#define LIGHT_COLOR_BLOOD_MAGIC "#D00000" //deep crimson
//These ones aren't a direct colour like the ones above, because nothing would fit
#define LIGHT_COLOR_FIRE "#FAA019" //Warm orange color, leaning strongly towards yellow. rgb(250, 160, 25)
#define LIGHT_COLOR_LAVA "#C48A18" //Very warm yellow, leaning slightly towards orange. rgb(196, 138, 24)
#define LIGHT_COLOR_FLARE "#FA644B" //Bright, non-saturated red. Leaning slightly towards pink for visibility. rgb(250, 100, 75)
#define LIGHT_COLOR_SLIME_LAMP "#AFC84B" //Weird color, between yellow and green, very slimy. rgb(175, 200, 75)
#define LIGHT_COLOR_TUNGSTEN "#FAE1AF" //Extremely diluted yellow, close to skin color (for some reason). rgb(250, 225, 175)
#define LIGHT_COLOR_HALOGEN "#F0FAFA" //Barely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250)
#define LIGHT_RANGE_FIRE 3 //How many tiles standard fires glow.
#define LIGHTING_PLANE_ALPHA_VISIBLE 255
@@ -94,7 +63,7 @@
/// Parse the hexadecimal color into lumcounts of each perspective.
#define PARSE_LIGHT_COLOR(source) \
do { \
if (source.light_color) { \
if (source.light_color != COLOR_WHITE) { \
var/__light_color = source.light_color; \
source.lum_r = GETREDPART(__light_color) / 255; \
source.lum_g = GETGREENPART(__light_color) / 255; \
+1 -2
View File
@@ -120,7 +120,6 @@
#define VV_HK_PURRBATION "purrbation"
// misc
#define VV_HK_WEAKREF_RESOLVE "weakref_resolve"
#define VV_HK_SPACEVINE_PURGE "spacevine_purge"
// paintings
#define VV_HK_REMOVE_PAINTING "remove_painting"
+2 -2
View File
@@ -90,9 +90,9 @@ GLOBAL_LIST_INIT(dildo_colors, list(//mostly neon colors
"Blue" = "#00d2ff",//blue
"Lime" = "#89ff00",//lime
"Black" = "#101010",//black
"Red" = "#ff0000",//red
"Red" = "#FF0000",//red
"Orange" = "#ff9a00",//orange
"Purple" = "#e300ff"//purple
"Purple" = "#e300ff",//purple
))
//Crew objective and miscreants stuff
+7 -7
View File
@@ -256,8 +256,8 @@ world
else
// solid color
I = new(src)
I.Blend("#000000", ICON_OVERLAY)
I.SwapColor("#000000", null)
I.Blend(COLOR_BLACK, ICON_OVERLAY)
I.SwapColor(COLOR_BLACK, null)
I.Blend(icon, ICON_OVERLAY)
var/icon/J = new(src)
J.Opaque()
@@ -265,7 +265,7 @@ world
Blend(I, ICON_OR)
// make this icon fully opaque--transparent pixels become black
/icon/proc/Opaque(background = "#000000")
/icon/proc/Opaque(background = COLOR_BLACK)
SwapColor(null, background)
MapColors(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,0, 0,0,0,1)
@@ -427,10 +427,10 @@ world
/proc/HSVtoRGB(hsv)
if(!hsv)
return "#000000"
return COLOR_BLACK
var/list/HSV = ReadHSV(hsv)
if(!HSV)
return "#000000"
return COLOR_BLACK
var/hue = HSV[1]
var/sat = HSV[2]
@@ -682,9 +682,9 @@ world
var/tone_gray = TONE[1]*0.3 + TONE[2]*0.59 + TONE[3]*0.11
if(gray <= tone_gray)
return BlendRGB("#000000", tone, gray/(tone_gray || 1))
return BlendRGB(COLOR_BLACK, tone, gray/(tone_gray || 1))
else
return BlendRGB(tone, "#ffffff", (gray-tone_gray)/((255-tone_gray) || 1))
return BlendRGB(tone, COLOR_WHITE, (gray-tone_gray)/((255-tone_gray) || 1))
//Used in the OLD chem colour mixing algorithm
+12 -12
View File
@@ -451,19 +451,19 @@
/proc/color2hex(color) //web colors
if(!color)
return "#000000"
return COLOR_BLACK
switch(color)
if("white")
return "#FFFFFF"
return COLOR_WHITE
if("black")
return "#000000"
return COLOR_BLACK
if("gray")
return "#808080"
if("brown")
return "#A52A2A"
if("red")
return "#FF0000"
return COLOR_RED
if("darkred")
return "#8B0000"
if("crimson")
@@ -471,23 +471,23 @@
if("orange")
return "#FFA500"
if("yellow")
return "#FFFF00"
return COLOR_YELLOW
if("green")
return "#008000"
return COLOR_DARK_GREEN
if("lime")
return "#00FF00"
return COLOR_GREEN
if("darkgreen")
return "#006400"
if("cyan")
return "#00FFFF"
return COLOR_CYAN
if("blue")
return "#0000FF"
return COLOR_BLUE
if("navy")
return "#000080"
return COLOR_NAVY
if("teal")
return "#008080"
return COLOR_TEAL
if("purple")
return "#800080"
return COLOR_PURPLE
if("indigo")
return "#4B0082"
else
+3 -3
View File
@@ -145,13 +145,13 @@
alpha = 80
/obj/screen/fullscreen/color_vision/green
color = "#00ff00"
color = COLOR_GREEN
/obj/screen/fullscreen/color_vision/red
color = "#ff0000"
color = COLOR_RED
/obj/screen/fullscreen/color_vision/blue
color = "#0000ff"
color = COLOR_BLUE
/obj/screen/fullscreen/lighting_backdrop
icon = 'icons/mob/screen_gen.dmi'
+2 -2
View File
@@ -154,9 +154,9 @@
item_overlay.alpha = 92
if(!user.can_equip(holding, slot_id, TRUE))
item_overlay.color = "#FF0000"
item_overlay.color = COLOR_RED
else
item_overlay.color = "#00ff00"
item_overlay.color = COLOR_GREEN
object_overlays += item_overlay
add_overlay(object_overlays)
+2 -2
View File
@@ -244,7 +244,7 @@ SUBSYSTEM_DEF(air)
active_turfs -= T
SSair_turfs.currentrun -= T
#ifdef VISUALIZE_ACTIVE_TURFS
T.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, "#00ff00")
T.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, COLOR_GREEN)
#endif
if(istype(T))
T.excited = 0
@@ -255,7 +255,7 @@ SUBSYSTEM_DEF(air)
/datum/controller/subsystem/air/proc/add_to_active(turf/open/T, blockchanges = 1)
if(istype(T) && T.air)
#ifdef VISUALIZE_ACTIVE_TURFS
T.add_atom_colour("#00ff00", TEMPORARY_COLOUR_PRIORITY)
T.add_atom_colour(COLOR_GREEN, TEMPORARY_COLOUR_PRIORITY)
#endif
T.excited = TRUE
active_turfs[T] = SSair_turfs.currentrun[T] = TRUE
+1 -1
View File
@@ -395,7 +395,7 @@
/datum/status_effect/sword_spin/on_apply()
owner.visible_message("<span class='danger'>[owner] begins swinging the sword with inhuman strength!</span>")
var/oldcolor = owner.color
owner.color = "#ff0000"
owner.color = COLOR_RED
owner.add_stun_absorption("bloody bastard sword", duration, 2, "doesn't even flinch as the sword's power courses through them!", "You shrug off the stun!", " glowing with a blazing red aura!")
owner.spin(duration,1)
animate(owner, color = oldcolor, time = duration, easing = EASE_IN)
+70 -2
View File
@@ -1,3 +1,7 @@
/*
* Creates a weakref to the given input.
* See /datum/weakref's documentation for more information.
*/
/proc/WEAKREF(datum/input)
if(istype(input) && !QDELETED(input))
if(istype(input, /datum/weakref))
@@ -10,16 +14,80 @@
/datum/proc/create_weakref() //Forced creation for admin proccalls
return WEAKREF(src)
/**
* A weakref holds a non-owning reference to a datum.
* The datum can be referenced again using `resolve()`.
*
* To figure out why this is important, you must understand how deletion in
* BYOND works.
*
* Imagine a datum as a TV in a living room. When one person enters to watch
* TV, they turn it on. Others can come into the room and watch the TV.
* When the last person leaves the room, they turn off the TV because it's
* no longer being used.
*
* A datum being deleted tells everyone who's watching the TV to stop.
* If everyone leaves properly (AKA cleaning up their references), then the
* last person will turn off the TV, and everything is well.
* However, if someone is resistant (holds a hard reference after deletion),
* then someone has to walk in, drag them away, and turn off the TV forecefully.
* This process is very slow, and it's known as hard deletion.
*
* This is where weak references come in. Weak references don't count as someone
* watching the TV. Thus, when what it's referencing is destroyed, it will
* hopefully clean up properly, and limit hard deletions.
*
* A common use case for weak references is holding onto what created itself.
* For example, if a machine wanted to know what its last user was, it might
* create a `var/mob/living/last_user`. However, this is a strong reference to
* the mob, and thus will force a hard deletion when that mob is deleted.
* It is often better in this case to instead create a weakref to the user,
* meaning this type definition becomes `var/datum/weakref/last_user`.
*
* A good rule of thumb is that you should hold strong references to things
* that you *own*. For example, a dog holding a chew toy would be the owner
* of that chew toy, and thus a `var/obj/item/chew_toy` reference is fine
* (as long as it is cleaned up properly).
* However, a chew toy does not own its dog, so a `var/mob/living/dog/owner`
* might be inferior to a weakref.
* This is also a good rule of thumb to avoid circular references, such as the
* chew toy example. A circular reference that doesn't clean itself up properly
* will always hard delete.
*/
/datum/weakref
var/reference
/datum/weakref/New(datum/thing)
reference = REF(thing)
/datum/weakref/Destroy()
return QDEL_HINT_LETMELIVE //Let BYOND autoGC thiswhen nothing is using it anymore.
/datum/weakref/Destroy(force)
var/datum/target = resolve()
qdel(target)
if(!force)
return QDEL_HINT_LETMELIVE //Let BYOND autoGC thiswhen nothing is using it anymore.
target?.weak_reference = null
return ..()
/**
* Retrieves the datum that this weakref is referencing.
*
* This will return `null` if the datum was deleted. This MUST be respected.
*/
/datum/weakref/proc/resolve()
var/datum/D = locate(reference)
return (!QDELETED(D) && D.weak_reference == src) ? D : null
/datum/weakref/vv_get_dropdown()
. = ..()
VV_DROPDOWN_OPTION(VV_HK_WEAKREF_RESOLVE, "Go to reference")
/datum/weakref/vv_do_topic(list/href_list)
. = ..()
if(href_list[VV_HK_WEAKREF_RESOLVE])
if(!check_rights(NONE))
return
var/datum/R = resolve()
if(R)
usr.client.debug_variables(R)
+13
View File
@@ -13,6 +13,19 @@
//HUD images that this atom can provide.
var/list/hud_possible
///Range of the emitted light in tiles. Zero means no light.
var/light_range = 0
///Intensity of the light. The stronger, the less shadows you will see on the lit area.
var/light_power = 1
///Hexidecimal RGB string representing the colour of the light. White by default.
var/light_color = COLOR_WHITE
///Boolean variable for togglable lights. Has no effect without the proper light_system, light_range and light_power values.
var/light_on = TRUE
///Our light source. Don't fuck with this directly unless you have a good reason!
var/tmp/datum/light_source/light
///Any light sources that are "inside" of us, for example, if src here was a mob that's carrying a flashlight, that flashlight's light source would be part of this list.
var/tmp/list/light_sources
/// Last name used to calculate a color for the chatmessage overlays
var/chat_color_name
/// Last color calculated for the the chatmessage overlays
@@ -67,7 +67,7 @@
sharpness = IS_BLUNT
item_color = "yellow"
heat = 0
light_color = "#ffff00"
light_color = COLOR_YELLOW
var/next_trombone_allowed = 0
/obj/item/melee/transforming/energy/sword/bananium/Initialize()
+2 -2
View File
@@ -2,12 +2,12 @@
name = "\improper AI system integrity restorer"
desc = "Used with intelliCards containing nonfunctional AIs to restore them to working order."
req_access = list(ACCESS_CAPTAIN, ACCESS_ROBOTICS, ACCESS_HEADS)
var/mob/living/silicon/ai/occupier = null
var/active = 0
circuit = /obj/item/circuitboard/computer/aifixer
icon_keyboard = "tech_key"
icon_screen = "ai-fixer"
light_color = LIGHT_COLOR_PINK
var/mob/living/silicon/ai/occupier = null
var/active = 0
/obj/machinery/computer/aifixer/attackby(obj/I, mob/user, params)
if(occupier && istype(I, /obj/item/screwdriver))
+1 -2
View File
@@ -11,6 +11,7 @@
icon_keyboard = null
icon_screen = "invaders"
clockwork = TRUE //it'd look weird
light_color = LIGHT_COLOR_GREEN
var/list/prizes = list(
/obj/item/toy/balloon = ARCADE_WEIGHT_USELESS,
/obj/item/toy/beach_ball = ARCADE_WEIGHT_USELESS,
@@ -72,8 +73,6 @@
/obj/item/clothing/mask/fakemoustache/italian = ARCADE_WEIGHT_RARE
)
light_color = LIGHT_COLOR_GREEN
/obj/machinery/computer/arcade/proc/Reset()
return
+1 -2
View File
@@ -4,13 +4,12 @@
circuit = /obj/item/circuitboard/computer/atmos_alert
icon_screen = "alert:0"
icon_keyboard = "atmos_key"
light_color = LIGHT_COLOR_CYAN
var/list/priority_alarms = list()
var/list/minor_alarms = list()
var/receive_frequency = FREQ_ATMOS_ALARMS
var/datum/radio_frequency/radio_connection
light_color = LIGHT_COLOR_CYAN
/obj/machinery/computer/atmos_alert/Initialize()
. = ..()
set_frequency(receive_frequency)
@@ -91,6 +91,7 @@ GLOBAL_LIST_EMPTY(atmos_air_controllers)
icon_screen = "tank"
icon_keyboard = "atmos_key"
circuit = /obj/item/circuitboard/computer/atmos_control
light_color = LIGHT_COLOR_CYAN
ui_x = 400
ui_y = 925
@@ -111,8 +112,6 @@ GLOBAL_LIST_EMPTY(atmos_air_controllers)
var/list/sensor_information = list()
var/datum/radio_frequency/radio_connection
light_color = LIGHT_COLOR_CYAN
/obj/machinery/computer/atmos_control/Initialize()
. = ..()
GLOB.atmos_air_controllers += src
+1 -2
View File
@@ -4,12 +4,11 @@
icon_screen = "cameras"
icon_keyboard = "security_key"
circuit = /obj/item/circuitboard/computer/security
light_color = COLOR_SOFT_RED
var/last_pic = 1
var/list/network = list("ss13")
var/list/watchers = list() //who's using the console, associated with the camera they're on.
light_color = LIGHT_COLOR_RED
/obj/machinery/computer/security/Initialize()
. = ..()
for(var/i in network)
@@ -3,6 +3,7 @@
desc = "Used to access the various cameras on the station."
icon_screen = "cameras"
icon_keyboard = "security_key"
light_color = COLOR_SOFT_RED
var/list/z_lock = list() // Lock use to these z levels
var/lock_override = NONE
var/mob/camera/aiEye/remote/eyeobj
@@ -12,8 +13,6 @@
var/datum/action/innate/camera_jump/jump_action = new
var/list/actions = list()
light_color = LIGHT_COLOR_RED
/obj/machinery/computer/camera_advanced/Initialize()
. = ..()
for(var/i in networks)
+2 -7
View File
@@ -16,6 +16,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
icon_keyboard = "id_key"
req_one_access = list(ACCESS_HEADS, ACCESS_CHANGE_IDS)
circuit = /obj/item/circuitboard/computer/card
light_color = LIGHT_COLOR_BLUE
var/mode = 0
var/printing = null
var/target_dept = 0 //Which department this computer has access to. 0=all departments
@@ -49,8 +50,6 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
var/list/region_access = null
var/list/head_subordinates = null
light_color = LIGHT_COLOR_BLUE
/obj/machinery/computer/card/proc/get_jobs()
return get_all_jobs()
@@ -621,8 +620,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
/obj/machinery/computer/card/minor/hos
target_dept = 2
icon_screen = "idhos"
light_color = LIGHT_COLOR_RED
light_color = COLOR_SOFT_RED
/obj/machinery/computer/card/minor/cmo
target_dept = 3
@@ -631,19 +629,16 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
/obj/machinery/computer/card/minor/rd
target_dept = 4
icon_screen = "idrd"
light_color = LIGHT_COLOR_PINK
/obj/machinery/computer/card/minor/ce
target_dept = 5
icon_screen = "idce"
light_color = LIGHT_COLOR_YELLOW
/obj/machinery/computer/card/minor/qm
target_dept = 6
icon_screen = "idqm"
light_color = LIGHT_COLOR_ORANGE
#undef JOB_ALLOWED
@@ -6,6 +6,7 @@
icon_keyboard = "tech_key"
req_access = list(ACCESS_HEADS)
circuit = /obj/item/circuitboard/computer/communications
light_color = LIGHT_COLOR_BLUE
var/auth_id = "Unknown" //Who is currently logged in?
var/list/datum/comm_message/messages = list()
var/datum/comm_message/currmsg
@@ -32,8 +33,6 @@
var/datum/lore/atc_controller/ATC
light_color = LIGHT_COLOR_BLUE
/obj/machinery/computer/communications/proc/checkCCcooldown()
var/obj/item/circuitboard/computer/communications/CM = circuit
if(CM.lastTimeUsed + 600 > world.time)
+1 -2
View File
@@ -7,6 +7,7 @@
icon_keyboard = "med_key"
req_one_access = list(ACCESS_MEDICAL, ACCESS_FORENSICS_LOCKERS)
circuit = /obj/item/circuitboard/computer/med_data
light_color = LIGHT_COLOR_BLUE
var/rank = null
var/screen = null
var/datum/data/record/active1
@@ -17,8 +18,6 @@
var/sortBy = "name"
var/order = 1 // -1 = Descending - 1 = Ascending
light_color = LIGHT_COLOR_BLUE
/obj/machinery/computer/med_data/syndie
icon_keyboard = "syndie_key"
@@ -6,6 +6,7 @@
icon_keyboard = "security_key"
req_access = list(ACCESS_ARMORY)
circuit = /obj/item/circuitboard/computer/gulag_teleporter_console
light_color = COLOR_SOFT_RED
ui_x = 350
ui_y = 295
@@ -15,8 +16,6 @@
var/mob/living/carbon/human/prisoner = null
var/datum/data/record/temporary_record = null
light_color = LIGHT_COLOR_RED
/obj/machinery/computer/prisoner/gulag_teleporter_computer/Initialize()
. = ..()
scan_machinery()
@@ -5,15 +5,14 @@
icon_screen = "explosive"
icon_keyboard = "security_key"
req_access = list(ACCESS_BRIG)
circuit = /obj/item/circuitboard/computer/prisoner
light_color = COLOR_SOFT_RED
var/id = 0
var/temp = null
var/status = 0
var/timeleft = 60
var/stop = 0
var/screen = 0 // 0 - No Access Denied, 1 - Access allowed
circuit = /obj/item/circuitboard/computer/prisoner
light_color = LIGHT_COLOR_RED
/obj/machinery/computer/prisoner/management/ui_interact(mob/user)
. = ..()
+1 -2
View File
@@ -5,6 +5,7 @@
icon_keyboard = "security_key"
req_one_access = list(ACCESS_SECURITY, ACCESS_FORENSICS_LOCKERS)
circuit = /obj/item/circuitboard/computer/secure_data
light_color = COLOR_SOFT_RED
var/rank = null
var/screen = null
var/datum/data/record/active1 = null
@@ -18,8 +19,6 @@
var/sortBy = "name"
var/order = 1 // -1 = Descending - 1 = Ascending
light_color = LIGHT_COLOR_RED
/obj/machinery/computer/secure_data/syndie
icon_keyboard = "syndie_key"
@@ -11,7 +11,7 @@ GLOBAL_LIST_INIT(possible_uplinker_IDs, list("Alfa","Bravo","Charlie","Delta","E
clockwork = TRUE //it'd look weird, at least if ratvar ever got there
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
light_color = LIGHT_COLOR_RED
light_color = COLOR_SOFT_RED
/////////////////////////////////////////////
/obj/machinery/computer/telecrystals/uplinker
+47 -47
View File
@@ -141,58 +141,58 @@
FOR_DVIEW(var/turf/t, 3, get_turf(src),INVISIBILITY_LIGHTING)
if(t.x == cen.x && t.y > cen.y)
var/obj/item/flashlight/spotlight/L = new /obj/item/flashlight/spotlight(t)
L.light_color = LIGHT_COLOR_RED
L.light_power = 30-(get_dist(src,L)*8)
L.range = 1+get_dist(src, L)
L.set_light_color(COLOR_SOFT_RED)
L.set_light_power(30-(get_dist(src,L)*8))
L.set_light_range(1+get_dist(src, L))
spotlights+=L
continue
if(t.x == cen.x && t.y < cen.y)
var/obj/item/flashlight/spotlight/L = new /obj/item/flashlight/spotlight(t)
L.light_color = LIGHT_COLOR_PURPLE
L.light_power = 30-(get_dist(src,L)*8)
L.range = 1+get_dist(src, L)
L.set_light_color(LIGHT_COLOR_PURPLE)
L.set_light_power(30-(get_dist(src,L)*8))
L.set_light_range(1+get_dist(src, L))
spotlights+=L
continue
if(t.x > cen.x && t.y == cen.y)
var/obj/item/flashlight/spotlight/L = new /obj/item/flashlight/spotlight(t)
L.light_color = LIGHT_COLOR_YELLOW
L.light_power = 30-(get_dist(src,L)*8)
L.range = 1+get_dist(src, L)
L.set_light_color(LIGHT_COLOR_YELLOW)
L.set_light_power((get_dist(src,L)*8))
L.set_light_range(1+get_dist(src, L))
spotlights+=L
continue
if(t.x < cen.x && t.y == cen.y)
var/obj/item/flashlight/spotlight/L = new /obj/item/flashlight/spotlight(t)
L.light_color = LIGHT_COLOR_GREEN
L.light_power = 30-(get_dist(src,L)*8)
L.range = 1+get_dist(src, L)
L.set_light_color(LIGHT_COLOR_GREEN)
L.set_light_power((get_dist(src,L)*8))
L.set_light_range(1+get_dist(src, L))
spotlights+=L
continue
if((t.x+1 == cen.x && t.y+1 == cen.y) || (t.x+2==cen.x && t.y+2 == cen.y))
var/obj/item/flashlight/spotlight/L = new /obj/item/flashlight/spotlight(t)
L.light_color = LIGHT_COLOR_ORANGE
L.light_power = 30-(get_dist(src,L)*8)
L.range = 1.4+get_dist(src, L)
L.set_light_color(LIGHT_COLOR_ORANGE)
L.set_light_power(30-(get_dist(src,L)*8))
L.set_light_range(1.4+get_dist(src, L))
spotlights+=L
continue
if((t.x-1 == cen.x && t.y-1 == cen.y) || (t.x-2==cen.x && t.y-2 == cen.y))
var/obj/item/flashlight/spotlight/L = new /obj/item/flashlight/spotlight(t)
L.light_color = LIGHT_COLOR_CYAN
L.light_power = 30-(get_dist(src,L)*8)
L.range = 1.4+get_dist(src, L)
L.set_light_color(LIGHT_COLOR_CYAN)
L.set_light_power(30-(get_dist(src,L)*8))
L.set_light_range(1.4+get_dist(src, L))
spotlights+=L
continue
if((t.x-1 == cen.x && t.y+1 == cen.y) || (t.x-2==cen.x && t.y+2 == cen.y))
var/obj/item/flashlight/spotlight/L = new /obj/item/flashlight/spotlight(t)
L.light_color = LIGHT_COLOR_BLUEGREEN
L.light_power = 30-(get_dist(src,L)*8)
L.range = 1.4+get_dist(src, L)
L.set_light_color(LIGHT_COLOR_BLUEGREEN)
L.set_light_power(30-(get_dist(src,L)*8))
L.set_light_range(1.4+get_dist(src, L))
spotlights+=L
continue
if((t.x+1 == cen.x && t.y-1 == cen.y) || (t.x+2==cen.x && t.y-2 == cen.y))
var/obj/item/flashlight/spotlight/L = new /obj/item/flashlight/spotlight(t)
L.light_color = LIGHT_COLOR_BLUE
L.light_power = 30-(get_dist(src,L)*8)
L.range = 1.4+get_dist(src, L)
L.set_light_color(LIGHT_COLOR_BLUE)
L.set_light_power(30-(get_dist(src,L)*8))
L.set_light_range(1.4+get_dist(src, L))
spotlights+=L
continue
continue
@@ -233,50 +233,50 @@
for(var/obj/item/flashlight/spotlight/glow in spotlights) // The multiples reflects custom adjustments to each colors after dozens of tests
if(QDELETED(src) || !active || QDELETED(glow))
return
if(glow.light_color == LIGHT_COLOR_RED)
glow.light_color = LIGHT_COLOR_BLUE
glow.light_power = glow.light_power * 1.48
glow.light_range = 0
if(glow.light_color == COLOR_SOFT_RED)
glow.set_light_color(LIGHT_COLOR_BLUE)
glow.set_light_power(glow.light_power * 1.48)
glow.set_light_range(0)
glow.update_light()
continue
if(glow.light_color == LIGHT_COLOR_BLUE)
glow.light_color = LIGHT_COLOR_GREEN
glow.light_range = glow.range * DISCO_INFENO_RANGE
glow.light_power = glow.light_power * 2 // Any changes to power must come in pairs to neutralize it for other colors
glow.set_light_color(LIGHT_COLOR_GREEN)
glow.set_light_power(glow.light_power * 2) // Any changes to power must come in pairs to neutralize it for other colors
glow.set_light_range(glow.range * DISCO_INFENO_RANGE)
glow.update_light()
continue
if(glow.light_color == LIGHT_COLOR_GREEN)
glow.light_color = LIGHT_COLOR_ORANGE
glow.light_power = glow.light_power * 0.5
glow.light_range = 0
glow.set_light_color(LIGHT_COLOR_ORANGE)
glow.set_light_power(glow.light_power * 0.5)
glow.set_light_range(0)
glow.update_light()
continue
if(glow.light_color == LIGHT_COLOR_ORANGE)
glow.light_color = LIGHT_COLOR_PURPLE
glow.light_power = glow.light_power * 2.27
glow.light_range = glow.range * DISCO_INFENO_RANGE
glow.set_light_color(LIGHT_COLOR_PURPLE)
glow.set_light_power(glow.light_power * 2.27)
glow.set_light_range(glow.range * DISCO_INFENO_RANGE)
glow.update_light()
continue
if(glow.light_color == LIGHT_COLOR_PURPLE)
glow.light_color = LIGHT_COLOR_BLUEGREEN
glow.light_power = glow.light_power * 0.44
glow.light_range = 0
glow.set_light_color(LIGHT_COLOR_BLUEGREEN)
glow.set_light_power(glow.light_power * 0.44)
glow.set_light_range(0)
glow.update_light()
continue
if(glow.light_color == LIGHT_COLOR_BLUEGREEN)
glow.light_color = LIGHT_COLOR_YELLOW
glow.light_range = glow.range * DISCO_INFENO_RANGE
glow.set_light_color(LIGHT_COLOR_YELLOW)
glow.set_light_power(glow.range * DISCO_INFENO_RANGE)
glow.update_light()
continue
if(glow.light_color == LIGHT_COLOR_YELLOW)
glow.light_color = LIGHT_COLOR_CYAN
glow.light_range = 0
glow.set_light_color(LIGHT_COLOR_CYAN)
glow.set_light_range(0)
glow.update_light()
continue
if(glow.light_color == LIGHT_COLOR_CYAN)
glow.light_color = LIGHT_COLOR_RED
glow.light_power = glow.light_power * 0.68
glow.light_range = glow.range * DISCO_INFENO_RANGE
glow.set_light_color(COLOR_SOFT_RED)
glow.set_light_power(glow.light_power * 0.68)
glow.set_light_range(glow.range * DISCO_INFENO_RANGE)
glow.update_light()
continue
if(prob(2)) // Unique effects for the dance floor that show up randomly to mix things up
+2 -2
View File
@@ -671,9 +671,9 @@
else
if(lights && hasPower())
if(locked)
set_light(1, 0.1, "#0000FF")
set_light(1, 0.1, COLOR_BLUE)
else if(emergency)
set_light(1, 0.1, "#FFFF00")
set_light(1, 0.1, COLOR_YELLOW)
else
set_light(0)
else
+1 -1
View File
@@ -352,7 +352,7 @@
note_overlay_file = 'icons/obj/doors/airlocks/external/overlays.dmi'
color_overlay_file = 'icons/obj/doors/airlocks/external/color.dmi'
assemblytype = /obj/structure/door_assembly/door_assembly_ext
basecolor = "#ff0000" //red
basecolor = COLOR_RED
/obj/machinery/door/airlock/external/glass
+1 -2
View File
@@ -81,14 +81,13 @@
icon_screen = "dna"
icon_keyboard = "med_key"
circuit = /obj/item/circuitboard/computer/prototype_cloning
light_color = LIGHT_COLOR_BLUE
var/obj/machinery/dna_scannernew/scanner = null //Linked scanner. For scanning.
var/list/pods //Linked experimental cloning pods
var/temp = "Inactive"
var/scantemp = "Ready to Scan"
var/loading = FALSE // Nice loading text
light_color = LIGHT_COLOR_BLUE
/obj/machinery/computer/prototype_cloning/Initialize()
. = ..()
updatemodules(TRUE)
+1 -2
View File
@@ -24,10 +24,9 @@
active_power_usage = 6
power_channel = ENVIRON
resistance_flags = FIRE_PROOF
light_power = 0
light_range = 7
light_color = "#ff3232"
light_color = COLOR_VIVID_RED
var/detecting = 1
var/buildstage = 2 // 2 = complete, 1 = no wires, 0 = circuit gone
+1 -1
View File
@@ -7,7 +7,7 @@
icon_state = "mflash1"
max_integrity = 250
integrity_failure = 100
light_color = LIGHT_COLOR_WHITE
light_color = COLOR_WHITE
light_power = FLASH_LIGHT_POWER
var/obj/item/assembly/flash/handheld/bulb
var/id = null
+1 -1
View File
@@ -55,7 +55,7 @@
/obj/structure/emergency_shield/invoker
name = "Invoker's Shield"
desc = "A weak shield summoned by cultists to protect them while they carry out delicate rituals."
color = "#FF0000"
color = COLOR_RED
max_integrity = 20
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
layer = ABOVE_MOB_LAYER
+1 -2
View File
@@ -21,6 +21,7 @@
use_power = IDLE_POWER_USE
idle_power_usage = 50
circuit = /obj/item/circuitboard/computer/slot_machine
light_color = LIGHT_COLOR_BROWN
var/money = 3000 //How much money it has CONSUMED
var/plays = 0
var/working = 0
@@ -30,8 +31,6 @@
var/list/reels = list(list("", "", "") = 0, list("", "", "") = 0, list("", "", "") = 0, list("", "", "") = 0, list("", "", "") = 0)
var/list/symbols = list(SEVEN = 1, "<font color='orange'>&</font>" = 2, "<font color='yellow'>@</font>" = 2, "<font color='green'>$</font>" = 2, "<font color='blue'>?</font>" = 2, "<font color='grey'>#</font>" = 2, "<font color='white'>!</font>" = 2, "<font color='fuchsia'>%</font>" = 2) //if people are winning too much, multiply every number in this list by 2 and see if they are still winning too much.
light_color = LIGHT_COLOR_BROWN
/obj/machinery/computer/slot_machine/Initialize()
. = ..()
jackpots = rand(1, 4) //false hope
@@ -9,6 +9,7 @@
desc = "Used to monitor the crew's PDA messages, as well as request console messages."
icon_screen = "comm_logs"
circuit = /obj/item/circuitboard/computer/message_monitor
light_color = LIGHT_COLOR_GREEN
//Servers, and server linked to.
var/network = "tcommsat" // the network to probe
@@ -34,8 +35,6 @@
var/customjob = "Admin"
var/custommessage = "This is a test, please ignore."
light_color = LIGHT_COLOR_GREEN
/obj/machinery/computer/message_monitor/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE,\
datum/tgui/master_ui = null, datum/tgui_state/state = GLOB.tgui_default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
+1 -1
View File
@@ -73,8 +73,8 @@
icon_screen = "recharge_comp"
icon_keyboard = "rd_key"
circuit = /obj/item/circuitboard/computer/mech_bay_power_console
var/obj/machinery/mech_bay_recharge_port/recharge_port
light_color = LIGHT_COLOR_PINK
var/obj/machinery/mech_bay_recharge_port/recharge_port
/obj/machinery/computer/mech_bay_power_console/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/tgui_state/state = GLOB.tgui_default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
+1 -1
View File
@@ -8,7 +8,7 @@
invisibility = INVISIBILITY_OBSERVER
anchored = TRUE
layer = GHOST_LAYER
color = "#ff0000" // text color
color = COLOR_RED // text color
var/text_size = 3 // larger values clip when the displayed text is larger than 2 digits.
var/started = FALSE
var/displayed_text
+3 -3
View File
@@ -115,7 +115,7 @@
name = "Red Orb"
desc = "You feel angry just looking at it."
duration = 1200 //2min
color = "#FF0000"
color = COLOR_RED
/obj/effect/mine/pickup/bloodbath/mineEffect(mob/living/carbon/victim)
if(!victim.client || !istype(victim))
@@ -152,7 +152,7 @@
/obj/effect/mine/pickup/healing
name = "Blue Orb"
desc = "You feel better just looking at it."
color = "#0000FF"
color = COLOR_BLUE
/obj/effect/mine/pickup/healing/mineEffect(mob/living/carbon/victim)
if(!victim.client || !istype(victim))
@@ -163,7 +163,7 @@
/obj/effect/mine/pickup/speed
name = "Yellow Orb"
desc = "You feel faster just looking at it."
color = "#FFFF00"
color = COLOR_YELLOW
duration = 300
/obj/effect/mine/pickup/speed/mineEffect(mob/living/carbon/victim)
+1 -1
View File
@@ -75,7 +75,7 @@
name = "lighting fx obj"
desc = "Tell a coder if you're seeing this."
icon_state = "nothing"
light_color = "#FFFFFF"
light_color = COLOR_WHITE
light_range = MINIMUM_USEFUL_LIGHT_RANGE
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+1 -1
View File
@@ -2,7 +2,7 @@
name = "bundle spawner"
icon = 'icons/mob/screen_gen.dmi'
icon_state = "x2"
color = "#00FF00"
color = COLOR_GREEN
var/list/items
+3 -3
View File
@@ -764,7 +764,7 @@ RLD
var/obj/machinery/light/L = new /obj/machinery/light(light)
L.setDir(align)
L.color = color_choice
L.light_color = L.color
L.set_light_color(L.color)
return TRUE
return FALSE
@@ -784,7 +784,7 @@ RLD
var/destination = get_turf(A)
var/obj/machinery/light/floor/FL = new /obj/machinery/light/floor(destination)
FL.color = color_choice
FL.light_color = FL.color
FL.set_light_color(FL.color)
return TRUE
return FALSE
@@ -794,7 +794,7 @@ RLD
to_chat(user, "<span class='notice'>You fire a glowstick!</span>")
var/obj/item/flashlight/glowstick/G = new /obj/item/flashlight/glowstick(start)
G.color = color_choice
G.light_color = G.color
G.set_light_color(G.color)
G.throw_at(A, 9, 3, user)
G.on = TRUE
G.update_brightness()
+2 -2
View File
@@ -574,7 +574,7 @@
//Polychromatic Knight Badge
/obj/item/card/id/knight
var/id_color = "#00FF00" //defaults to green
var/id_color = COLOR_GREEN //defaults to green
name = "knight badge"
icon_state = "knight"
desc = "A badge denoting the owner as a knight! It has a strip for swiping like an ID"
@@ -624,7 +624,7 @@
. += "<span class='notice'>Alt-click to recolor it.</span>"
/obj/item/card/id/knight/blue
id_color = "#0000FF"
id_color = COLOR_BLUE
/obj/item/card/id/knight/captain
id_color = "#FFD700"
+7 -5
View File
@@ -502,9 +502,15 @@ CIGARETTE PACKETS ARE IN FANCY.DM
icon = 'icons/obj/cigarettes.dmi'
icon_state = "zippo"
item_state = "zippo"
heat = 1500
grind_results = list(/datum/reagent/iron = 1, /datum/reagent/fuel = 5, /datum/reagent/oil = 5)
w_class = WEIGHT_CLASS_TINY
flags_1 = CONDUCT_1
slot_flags = ITEM_SLOT_BELT
resistance_flags = FIRE_PROOF
price = 1
light_color = LIGHT_COLOR_FIRE
var/lit = 0
var/fancy = TRUE
var/overlay_state
@@ -514,10 +520,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
"thirteen",
"snake"
)
heat = 1500
resistance_flags = FIRE_PROOF
light_color = LIGHT_COLOR_FIRE
grind_results = list(/datum/reagent/iron = 1, /datum/reagent/fuel = 5, /datum/reagent/oil = 5)
/obj/item/lighter/Initialize()
. = ..()
@@ -906,7 +908,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
icon_state = null
item_state = null
w_class = WEIGHT_CLASS_NORMAL
light_color = "#FFCC66"
light_color = COLOR_CREAMY_ORANGE
var/icon_off = "bong"
var/icon_on = "bong_lit"
var/chem_volume = 100
+2 -2
View File
@@ -30,7 +30,7 @@
w_class = WEIGHT_CLASS_TINY
attack_verb = list("attacked", "coloured")
grind_results = list()
var/paint_color = "#FF0000" //RGB
var/paint_color = COLOR_RED
var/drawtype
var/text_buffer = ""
@@ -791,7 +791,7 @@
charges = 100
reagent_contents = list(/datum/reagent/clf3 = 1)
actually_paints = FALSE
paint_color = "#000000"
paint_color = COLOR_BLACK
/obj/item/toy/crayon/spraycan/lubecan
name = "slippery spraycan"
+2 -2
View File
@@ -44,7 +44,7 @@ GLOBAL_LIST_EMPTY(PDAs)
var/current_overlays = PDA_STANDARD_OVERLAYS
var/font_index = 0 //This int tells DM which font is currently selected and lets DM know when the last font has been selected so that it can cycle back to the first font when "toggle font" is pressed again.
var/font_mode = "font-family:monospace;" //The currently selected font.
var/background_color = "#808000" //The currently selected background color.
var/background_color = COLOR_OLIVE //The currently selected background color.
#define FONT_MONO "font-family:monospace;"
#define FONT_SHARE "font-family:\"Share Tech Mono\", monospace;letter-spacing:0px;"
@@ -60,7 +60,7 @@ GLOBAL_LIST_EMPTY(PDAs)
var/fon = FALSE //Is the flashlight function on?
var/f_lum = 2.3 //Luminosity for the flashlight function
var/f_pow = 0.6 //Power for the flashlight function
var/f_col = "#FFCC66" //Color for the flashlight function
var/f_col = COLOR_CREAMY_ORANGE //Color for the flashlight function
var/silent = FALSE //To beep or not to beep, that is the question
var/toff = FALSE //If TRUE, messenger disabled
var/tnote = null //Current Texts
+11 -12
View File
@@ -11,10 +11,10 @@
slot_flags = ITEM_SLOT_BELT
materials = list(MAT_METAL=50, MAT_GLASS=20)
actions_types = list(/datum/action/item_action/toggle_light)
light_color = COLOR_CREAMY_ORANGE
var/on = FALSE
var/brightness_on = 4 //range of light when on
var/flashlight_power = 0.8 //strength of the light when on
light_color = "#FFCC66"
/obj/item/flashlight/Initialize()
. = ..()
@@ -26,9 +26,10 @@
if(on)
icon_state = "[initial(icon_state)]-on"
if(flashlight_power)
set_light(l_range = brightness_on, l_power = flashlight_power)
set_light_range(brightness_on)
set_light_power(flashlight_power)
else
set_light(brightness_on)
set_light_range(brightness_on)
else
icon_state = initial(icon_state)
set_light(0)
@@ -258,16 +259,15 @@
desc = "A red Kinaris issued flare. There are instructions on the side, it reads 'pull cord, make light'."
w_class = WEIGHT_CLASS_SMALL
brightness_on = 7 // Pretty bright.
light_color = "#FA421A"
icon_state = "flare"
item_state = "flare"
actions_types = list()
var/fuel = 0
var/on_damage = 7
var/produce_heat = 1500
heat = 1000
light_color = LIGHT_COLOR_FLARE
grind_results = list(/datum/reagent/sulfur = 15)
var/fuel = 0
var/on_damage = 7
var/produce_heat = 1500
/obj/item/flashlight/flare/New()
fuel = rand(800, 1000) // Sorry for changing this so much but I keep under-estimating how long X number of ticks last in seconds.
@@ -332,14 +332,13 @@
desc = "A torch fashioned from some leaves and a log."
w_class = WEIGHT_CLASS_BULKY
brightness_on = 4
light_color = "#FAA44B"
icon_state = "torch"
item_state = "torch"
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
light_color = LIGHT_COLOR_ORANGE
on_damage = 10
slot_flags = null
light_color = LIGHT_COLOR_FIRE
/obj/item/flashlight/lantern
name = "lantern"
@@ -349,8 +348,8 @@
righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi'
desc = "A mining lantern."
brightness_on = 6 // luminosity when on
light_color = "#FFAA44"
flashlight_power = 0.75
light_color = LIGHT_COLOR_FIRE
/obj/item/flashlight/slime
@@ -491,7 +490,7 @@
/obj/item/flashlight/glowstick/red
name = "red glowstick"
color = LIGHT_COLOR_RED
color = COLOR_SOFT_RED
/obj/item/flashlight/glowstick/blue
name = "blue glowstick"
@@ -517,7 +516,7 @@
name = "disco light"
desc = "Groovy..."
icon_state = null
light_color = null
light_color = COLOR_WHITE
brightness_on = 0
flashlight_power = 1
light_range = 0
@@ -112,7 +112,7 @@
playsound(src, 'sound/effects/splat.ogg', 50, TRUE, frequency = 0.5)
jill.apply_damage(9999, BRUTE, BODY_ZONE_HEAD)
jill.death() //just in case, for some reason, they're still alive
flash_color(jill, flash_color = "#FF0000", flash_time = 100)
flash_color(jill, flash_color = COLOR_RED, flash_time = 100)
/obj/item/reverse_bear_trap/proc/reset()
ticking = FALSE
+1 -1
View File
@@ -14,6 +14,7 @@
w_class = WEIGHT_CLASS_NORMAL
materials = list(MAT_METAL=500)
resistance_flags = FIRE_PROOF
trigger_guard = TRIGGER_GUARD_NORMAL
var/status = FALSE
var/lit = FALSE //on or off
var/operating = FALSE//cooldown
@@ -25,7 +26,6 @@
var/create_full = FALSE
var/create_with_tank = FALSE
var/igniter_type = /obj/item/assembly/igniter
trigger_guard = TRIGGER_GUARD_NORMAL
/obj/item/flamethrower/Destroy()
if(weldtool)
@@ -13,7 +13,7 @@
return
do_sparks(rand(5, 9), FALSE, src)
playsound(flashbang_turf, 'sound/weapons/flashbang.ogg', 100, TRUE, 8, 0.9)
new /obj/effect/dummy/lighting_obj (flashbang_turf, LIGHT_COLOR_WHITE, (flashbang_range + 2), 4, 2)
new /obj/effect/dummy/lighting_obj (flashbang_turf, COLOR_WHITE, (flashbang_range + 2), 4, 2)
for(var/mob/living/M in get_hearers_in_view(flashbang_range, flashbang_turf))
bang(get_turf(M), M)
qdel(src)
+4 -4
View File
@@ -114,7 +114,7 @@
icon_state = "cuff"
item_state = "coil"
item_color = "red"
color = "#ff0000"
color = COLOR_RED
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
materials = list(MAT_METAL=150, MAT_GLASS=75)
@@ -136,11 +136,11 @@
/obj/item/restraints/handcuffs/cable/red
item_color = "red"
color = "#ff0000"
color = COLOR_RED
/obj/item/restraints/handcuffs/cable/yellow
item_color = "yellow"
color = "#ffff00"
color = COLOR_YELLOW
/obj/item/restraints/handcuffs/cable/blue
item_color = "blue"
@@ -160,7 +160,7 @@
/obj/item/restraints/handcuffs/cable/cyan
item_color = "cyan"
color = "#00ffff"
color = COLOR_CYAN
/obj/item/restraints/handcuffs/cable/white
item_color = "white"
+1 -1
View File
@@ -46,7 +46,7 @@
color_val = !color_val
if(istype(target))
current = WEAKREF(target)
target.add_atom_colour(color_val? "#ffff00" : "#00ffff", FIXED_COLOUR_PRIORITY)
target.add_atom_colour(color_val? COLOR_YELLOW : COLOR_CYAN, FIXED_COLOUR_PRIORITY)
/obj/item/hot_potato/proc/detonate()
var/atom/location = loc
+6 -6
View File
@@ -81,8 +81,8 @@
armour_penetration = 100
attack_verb_off = list("attacked", "chopped", "cleaved", "torn", "cut")
attack_verb_on = list()
light_color = "#40ceff"
total_mass = null
light_color = LIGHT_COLOR_LIGHT_CYAN
/obj/item/melee/transforming/energy/axe/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] swings [src] towards [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!</span>")
@@ -141,15 +141,15 @@
hitcost = 75 //Costs more than a standard cyborg esword
w_class = WEIGHT_CLASS_NORMAL
sharpness = IS_SHARP
light_color = "#40ceff"
tool_behaviour = TOOL_SAW
toolspeed = 0.7
light_color = LIGHT_COLOR_LIGHT_CYAN
/obj/item/melee/transforming/energy/sword/cyborg/saw/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
return 0
/obj/item/melee/transforming/energy/sword/saber
var/list/possible_colors = list("red" = LIGHT_COLOR_RED, "blue" = LIGHT_COLOR_LIGHT_CYAN, "green" = LIGHT_COLOR_GREEN, "purple" = LIGHT_COLOR_LAVENDER)
var/list/possible_colors = list("red" = COLOR_SOFT_RED, "blue" = LIGHT_COLOR_LIGHT_CYAN, "green" = LIGHT_COLOR_GREEN, "purple" = LIGHT_COLOR_LAVENDER)
var/hacked = FALSE
/obj/item/melee/transforming/energy/sword/saber/Initialize(mapload)
@@ -163,11 +163,11 @@
. = ..()
if(hacked)
var/set_color = pick(possible_colors)
light_color = possible_colors[set_color]
set_light_color(possible_colors[set_color])
update_light()
/obj/item/melee/transforming/energy/sword/saber/red
possible_colors = list("red" = LIGHT_COLOR_RED)
possible_colors = list("red" = COLOR_SOFT_RED)
/obj/item/melee/transforming/energy/sword/saber/blue
possible_colors = list("blue" = LIGHT_COLOR_LIGHT_CYAN)
@@ -200,7 +200,7 @@
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
icon_state_on = "cutlass1"
light_color = "#ff0000"
light_color = COLOR_RED
/obj/item/melee/transforming/energy/blade
name = "energy blade"
+2 -2
View File
@@ -249,11 +249,11 @@
/obj/item/godstaff/red
icon_state = "godstaff-red"
conversion_color = "#ff0000"
conversion_color = COLOR_RED
/obj/item/godstaff/blue
icon_state = "godstaff-blue"
conversion_color = "#0000ff"
conversion_color = COLOR_BLUE
/obj/item/clothing/gloves/plate
name = "Plate Gauntlets"
@@ -82,21 +82,21 @@
item_state = "tile-fairygrass"
turf_type = /turf/open/floor/grass/fairy
resistance_flags = FLAMMABLE
color = "#33CCFF"
color = COLOR_BLUE_LIGHT
/obj/item/stack/tile/fairygrass/white
name = "white fairygrass tile"
singular_name = "white fairygrass floor tile"
desc = "A patch of odd, glowing white grass."
turf_type = /turf/open/floor/grass/fairy/white
color = "#FFFFFF"
color = COLOR_WHITE
/obj/item/stack/tile/fairygrass/red
name = "red fairygrass tile"
singular_name = "red fairygrass floor tile"
desc = "A patch of odd, glowing red grass."
turf_type = /turf/open/floor/grass/fairy/red
color = "#FF3333"
color = COLOR_RED_LIGHT
/obj/item/stack/tile/fairygrass/yellow
name = "yellow fairygrass tile"
+6 -7
View File
@@ -13,14 +13,14 @@
throwforce = 5
hitsound = "swing_hit"
usesound = list('sound/items/welder.ogg', 'sound/items/welder2.ogg')
var/acti_sound = 'sound/items/welderactivate.ogg'
var/deac_sound = 'sound/items/welderdeactivate.ogg'
throw_speed = 3
throw_range = 5
w_class = WEIGHT_CLASS_SMALL
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30)
resistance_flags = FIRE_PROOF
heat = 3800
tool_behaviour = TOOL_WELDER
toolspeed = 1
materials = list(MAT_METAL=70, MAT_GLASS=30)
var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2)
var/status = TRUE //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower)
@@ -30,9 +30,8 @@
var/light_intensity = 2 //how powerful the emitted light is when used.
var/progress_flash_divisor = 10
var/burned_fuel_for = 0 //when fuel was last removed
heat = 3800
tool_behaviour = TOOL_WELDER
toolspeed = 1
var/acti_sound = 'sound/items/welderactivate.ogg'
var/deac_sound = 'sound/items/welderdeactivate.ogg'
drop_sound = 'sound/items/handling/weldingtool_drop.ogg'
pickup_sound = 'sound/items/handling/weldingtool_pickup.ogg'
@@ -354,12 +353,12 @@
item_state = "exwelder"
max_fuel = 40
materials = list(MAT_METAL=70, MAT_GLASS=120)
var/last_gen = 0
change_icons = 0
can_off_process = 1
light_intensity = 1
toolspeed = 0.5
var/nextrefueltick = 0
var/last_gen = 0
/obj/item/weldingtool/experimental/brass
name = "brass welding tool"
+4 -4
View File
@@ -284,7 +284,7 @@
var/hitsound_on = 'sound/weapons/blade1.ogg'
armour_penetration = 35
item_color = "green"
light_color = "#00ff00"//green
light_color = COLOR_GREEN
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
block_chance = 75
max_integrity = 200
@@ -293,7 +293,7 @@
var/hacked = FALSE
var/brightness_on = 6 //TWICE AS BRIGHT AS A REGULAR ESWORD
var/list/possible_colors = list("red", "blue", "green", "purple")
var/list/rainbow_colors = list(LIGHT_COLOR_RED, LIGHT_COLOR_GREEN, LIGHT_COLOR_LIGHT_CYAN, LIGHT_COLOR_LAVENDER)
var/list/rainbow_colors = list(COLOR_SOFT_RED, LIGHT_COLOR_GREEN, LIGHT_COLOR_LIGHT_CYAN, LIGHT_COLOR_LAVENDER)
var/spinnable = TRUE
total_mass = 0.4 //Survival flashlights typically weigh around 5 ounces.
var/total_mass_on = 3.4
@@ -329,7 +329,7 @@
item_color = pick(possible_colors)
switch(item_color)
if("red")
light_color = LIGHT_COLOR_RED
light_color = COLOR_SOFT_RED
if("green")
light_color = LIGHT_COLOR_GREEN
if("blue")
@@ -711,7 +711,7 @@
/obj/item/twohanded/pitchfork/demonic/Initialize()
. = ..()
set_light(3,6,LIGHT_COLOR_RED)
set_light(3,6,COLOR_SOFT_RED)
/obj/item/twohanded/pitchfork/demonic/greater
force = 24
+3 -3
View File
@@ -174,11 +174,11 @@
var/obj/item/pen/P = I
switch(P.colour)
if("black")
return "#000000"
return COLOR_BLACK
if("blue")
return "#0000ff"
return COLOR_BLUE
if("red")
return "#ff0000"
return COLOR_RED
return P.colour
else if(istype(I, /obj/item/soap) || istype(I, /obj/item/reagent_containers/rag))
return canvas_color
+1 -1
View File
@@ -350,7 +350,7 @@
name = "photosynthetic potted plant"
desc = "A bioluminescent plant."
icon_state = "plant-09"
light_color = "#2cb2e8"
light_color = COLOR_BRIGHT_BLUE
light_range = 3
@@ -109,19 +109,19 @@
floor_tile = /obj/item/stack/tile/fairygrass
light_range = 2
light_power = 0.80
light_color = "#33CCFF"
color = "#33CCFF"
light_color = COLOR_BLUE_LIGHT
color = COLOR_BLUE_LIGHT
/turf/open/floor/grass/fairy/white
name = "white fairygrass patch"
light_color = "#FFFFFF"
color = "#FFFFFF"
light_color = COLOR_WHITE
color = COLOR_WHITE
floor_tile = /obj/item/stack/tile/fairygrass/white
/turf/open/floor/grass/fairy/red
name = "red fairygrass patch"
light_color = "#FF3333"
color = "#FF3333"
light_color = COLOR_RED_LIGHT
color = COLOR_RED_LIGHT
floor_tile = /obj/item/stack/tile/fairygrass/red
/turf/open/floor/grass/fairy/yellow
@@ -23,7 +23,7 @@
/turf/open/floor/light/break_tile()
..()
light_range = 0
set_light_range(0)
update_light()
/turf/open/floor/light/update_icon()
@@ -31,10 +31,10 @@
if(on)
if(LAZYLEN(SSmapping.nuke_threats))
icon_state = "rcircuitanim"
light_color = LIGHT_COLOR_FLARE
set_light_color(LIGHT_COLOR_FLARE)
else
icon_state = icon_normal
light_color = initial(light_color)
set_light_color(initial(light_color))
set_light(1.4, 0.5)
else
icon_state = "[icon_normal]off"
+1 -1
View File
@@ -216,7 +216,7 @@
/obj/effect/vr_clean_master // Will keep VR areas that have this relatively clean.
icon = 'icons/mob/screen_gen.dmi'
icon_state = "x2"
color = "#00FF00"
color = COLOR_GREEN
invisibility = INVISIBILITY_ABSTRACT
var/area/vr_area
+1 -1
View File
@@ -660,7 +660,7 @@
"playersonly" = list("desc" = "Only spawn ghost-controlled mobs", "type" = "boolean", "value" = "No"),
"ghostpoll" = list("desc" = "Ghost poll question", "type" = "string", "value" = "Do you want to play as %TYPE% portal invader?"),
"delay" = list("desc" = "Time between portals, in deciseconds", "type" = "number", "value" = 50),
"color" = list("desc" = "Portal color", "type" = "color", "value" = "#00FF00"),
"color" = list("desc" = "Portal color", "type" = "color", "value" = COLOR_GREEN),
"playlightning" = list("desc" = "Play lightning sounds on announcement", "type" = "boolean", "value" = "Yes"),
"announce_players" = list("desc" = "Make an announcement", "type" = "boolean", "value" = "Yes"),
"announcement" = list("desc" = "Announcement", "type" = "string", "value" = "Massive bluespace anomaly detected en route to %STATION%. Brace for impact."),
@@ -36,7 +36,7 @@
if(overmind)
H.color = overmind.blob_reagent_datum.complementary_color
else
H.color = "#000000"
H.color = COLOR_BLACK
adjustHealth(-maxHealth*0.0125)
/mob/living/simple_animal/hostile/blob/fire_act(exposed_temperature, exposed_volume)
@@ -240,14 +240,14 @@
if(overmind)
H.color = overmind.blob_reagent_datum.complementary_color
else
H.color = "#000000"
H.color = COLOR_BLACK
if(locate(/obj/structure/blob/node) in blobs_in_area)
adjustHealth(-maxHealth*0.05)
var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(src))
if(overmind)
H.color = overmind.blob_reagent_datum.complementary_color
else
H.color = "#000000"
H.color = COLOR_BLACK
if(damagesources)
for(var/i in 1 to damagesources)
adjustHealth(maxHealth*0.025) //take 2.5% of max health as damage when not near the blob or if the naut has no factory, 5% if both
@@ -721,7 +721,7 @@ datum/antagonist/bloodsucker/proc/SpendRank()
// Update Rank Counter
if(owner.current.hud_used.vamprank_display)
var/valuecolor = vamplevel_unspent ? "#FFFF00" : "#FF0000"
var/valuecolor = vamplevel_unspent ? COLOR_YELLOW : COLOR_RED
owner.current.hud_used.vamprank_display.update_counter(vamplevel, valuecolor)
if(updateRank) // Only change icon on special request.
owner.current.hud_used.vamprank_display.icon_state = (vamplevel_unspent > 0) ? "rank_up" : "rank"
+2 -2
View File
@@ -503,7 +503,7 @@
name = "Binding Aura"
desc = "Allows you to bind a victim and temporarily silence them."
invocation = "In'totum Lig'abis."
color = "#000000" // black
color = COLOR_BLACK
/obj/item/melee/blood_magic/shackles/afterattack(atom/target, mob/living/carbon/user, proximity)
if(iscultist(user) && iscarbon(target) && proximity)
@@ -553,7 +553,7 @@
name = "Corrupting Aura"
desc = "Corrupts metal and plasteel into more sinister forms."
invocation = "Ethra p'ni dedol."
color = "#000000" // black
color = COLOR_BLACK
/obj/item/melee/blood_magic/construction/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
if(proximity_flag && iscultist(user))
+5 -5
View File
@@ -110,7 +110,7 @@
throw_speed = 1
throw_range = 3
sharpness = IS_SHARP
light_color = "#ff0000"
light_color = COLOR_RED
attack_verb = list("cleaved", "slashed", "torn", "hacked", "ripped", "diced", "carved")
icon_state = "cultbastard"
item_state = "cultbastard"
@@ -625,7 +625,7 @@
brightness_on = 1
icon_state = "torch"
item_state = "torch"
color = "#ff0000"
color = COLOR_RED
on_damage = 15
slot_flags = null
on = TRUE
@@ -783,7 +783,7 @@
/obj/item/gun/ballistic/shotgun/boltaction/enchanted/arcane_barrage/blood
name = "blood bolt barrage"
desc = "Blood for blood."
color = "#ff0000"
color = COLOR_RED
guns_left = 24
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/enchanted/arcane_barrage/blood
fire_sound = 'sound/magic/wand_teleport.ogg'
@@ -872,9 +872,9 @@
if(i > 1)
sleep(15)
if(i < 4)
O = new /obj/effect/temp_visual/cult/rune_spawn/rune1/inner(user.loc, 30, "#ff0000")
O = new /obj/effect/temp_visual/cult/rune_spawn/rune1/inner(user.loc, 30, COLOR_RED)
else
O = new /obj/effect/temp_visual/cult/rune_spawn/rune5(user.loc, 30, "#ff0000")
O = new /obj/effect/temp_visual/cult/rune_spawn/rune5(user.loc, 30, COLOR_RED)
new /obj/effect/temp_visual/dir_setting/cult/phase/out(user.loc, user.dir)
if(O)
qdel(O)
@@ -12,8 +12,8 @@
visible_message("<span class='danger'>[src] fades away.</span>")
invisibility = INVISIBILITY_OBSERVER
alpha = 100 //To help ghosts distinguish hidden runes
light_range = 0
light_power = 0
set_light_range(0)
set_light_range(0)
update_light()
STOP_PROCESSING(SSfastprocess, src)
@@ -22,8 +22,8 @@
invisibility = 0
visible_message("<span class='danger'>[src] suddenly appears!</span>")
alpha = initial(alpha)
light_range = initial(light_range)
light_power = initial(light_power)
set_light_range(initial(light_range))
set_light_power(initial(light_power))
update_light()
START_PROCESSING(SSfastprocess, src)
@@ -180,7 +180,7 @@
desc = "A floating crystal that slowly heals those faithful to Nar'Sie."
icon_state = "pylon"
light_range = 1.5
light_color = LIGHT_COLOR_RED
light_color = COLOR_SOFT_RED
break_sound = 'sound/effects/glassbr2.ogg'
break_message = "<span class='warning'>The blood-red crystal falls to the floor and shatters!</span>"
var/heal_delay = 25
+4 -4
View File
@@ -428,14 +428,14 @@ structure_check() searches for nearby cultist structures required for the invoca
playsound(T, pick('sound/effects/sparks1.ogg', 'sound/effects/sparks2.ogg', 'sound/effects/sparks3.ogg', 'sound/effects/sparks4.ogg'), 100, TRUE, 14)
inner_portal = new /obj/effect/temp_visual/cult/portal(T)
if(portal_type == "space")
light_color = color
set_light_color(color)
desc += "<br><b>A tear in reality reveals a black void interspersed with dots of light... something recently teleported here from space.<br><u>The void feels like it's trying to pull you to the [dir2text(get_dir(T, origin))]!</u></b>"
else
inner_portal.icon_state = "lava"
light_color = LIGHT_COLOR_FIRE
set_light_color(LIGHT_COLOR_FIRE)
desc += "<br><b>A tear in reality reveals a coursing river of lava... something recently teleported here from the Lavaland Mines!</b>"
outer_portal = new(T, 600, color)
light_range = 4
set_light_range(4)
update_light()
addtimer(CALLBACK(src, .proc/close_portal), 600, TIMER_UNIQUE)
@@ -443,7 +443,7 @@ structure_check() searches for nearby cultist structures required for the invoca
qdel(inner_portal)
qdel(outer_portal)
desc = initial(desc)
light_range = 0
set_light_range(0)
update_light()
//Ritual of Dimensional Rending: Calls forth the avatar of Nar'Sie upon the station.
@@ -707,7 +707,7 @@ This is here to make the tiles around the station mininuke change when it's arme
user.visible_message("<span class='suicide'>[user] is going delta! It looks like [user.p_theyre()] trying to commit suicide!</span>")
playsound(src, 'sound/machines/alarm.ogg', 50, -1, 1)
for(var/i in 1 to 100)
addtimer(CALLBACK(user, /atom/proc/add_atom_colour, (i % 2)? "#00FF00" : "#FF0000", ADMIN_COLOUR_PRIORITY), i)
addtimer(CALLBACK(user, /atom/proc/add_atom_colour, (i % 2)? COLOR_GREEN : COLOR_RED, ADMIN_COLOUR_PRIORITY), i)
addtimer(CALLBACK(src, .proc/manual_suicide, user), 101)
return MANUAL_SUICIDE
-1
View File
@@ -10,7 +10,6 @@
w_class = WEIGHT_CLASS_TINY
materials = list(MAT_METAL = 300, MAT_GLASS = 300)
crit_fail = FALSE //Is the flash burnt out?
light_color = LIGHT_COLOR_WHITE
light_power = FLASH_LIGHT_POWER
var/flashing_overlay = "flash-f"
var/times_used = 0 //Number of times it's been used.
@@ -652,17 +652,17 @@
if(0)
add_overlay(AALARM_OVERLAY_GREEN)
overlay_state = AALARM_OVERLAY_GREEN
light_color = LIGHT_COLOR_GREEN
set_light_color(LIGHT_COLOR_GREEN)
set_light(brightness_on)
if(1)
add_overlay(AALARM_OVERLAY_WARN)
overlay_state = AALARM_OVERLAY_WARN
light_color = LIGHT_COLOR_LAVA
set_light_color(LIGHT_COLOR_LAVA)
set_light(brightness_on)
if(2)
add_overlay(AALARM_OVERLAY_DANGER)
overlay_state = AALARM_OVERLAY_DANGER
light_color = LIGHT_COLOR_RED
set_light_color(COLOR_SOFT_RED)
set_light(brightness_on)
SSvis_overlays.add_vis_overlay(src, icon, overlay_state, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
@@ -158,7 +158,7 @@
/obj/machinery/atmospherics/miner/toxins
name = "\improper Plasma Gas Miner"
overlay_color = "#FF0000"
overlay_color = COLOR_RED
spawn_id = /datum/gas/plasma
/obj/machinery/atmospherics/miner/carbon_dioxide
+1 -1
View File
@@ -7,7 +7,7 @@
desc = "Used to check and claim bounties offered by Kinaris"
icon_screen = "bounty"
circuit = /obj/item/circuitboard/computer/bounty
light_color = "#E2853D"//orange
light_color = COLOR_BRIGHT_ORANGE
var/printer_ready = 0 //cooldown var
/obj/machinery/computer/bounty/Initialize()
+1 -2
View File
@@ -3,6 +3,7 @@
desc = "Used to order supplies, approve requests, and control the shuttle."
icon_screen = "supply"
circuit = /obj/item/circuitboard/computer/cargo
light_color = COLOR_BRIGHT_ORANGE
ui_x = 780
ui_y = 750
@@ -18,8 +19,6 @@
/// var that tracks message cooldown
var/message_cooldown
light_color = "#E2853D"//orange
/obj/machinery/computer/cargo/request
name = "supply request console"
desc = "Used to request supplies from cargo."
+24 -24
View File
@@ -65,7 +65,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/allow_midround_antag = 1
var/preferred_map = null
var/pda_style = MONO
var/pda_color = "#808000"
var/pda_color = COLOR_OLIVE
var/pda_skin = PDA_SKIN_ALT
var/list/alt_titles_preferences = list()
@@ -2012,11 +2012,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
//Now that we changed our species, we must verify that the mutant colour is still allowed.
var/temp_hsv = RGBtoHSV(features["mcolor"])
if(features["mcolor"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3]))
if(features["mcolor"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV(COLOR_NEARLY_BLACK)[3]))
features["mcolor"] = pref_species.default_color
if(features["mcolor2"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3]))
if(features["mcolor2"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV(COLOR_NEARLY_BLACK)[3]))
features["mcolor2"] = pref_species.default_color
if(features["mcolor3"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3]))
if(features["mcolor3"] == "#000" || (!(MUTCOLORS_PARTSONLY in pref_species.species_traits) && ReadHSV(temp_hsv)[3] < ReadHSV(COLOR_NEARLY_BLACK)[3]))
features["mcolor3"] = pref_species.default_color
if("custom_species")
@@ -2030,10 +2030,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/new_mutantcolor = input(user, "Choose your character's alien/mutant color:", "Character Preference","#"+features["mcolor"]) as color|null
if(new_mutantcolor)
var/temp_hsv = RGBtoHSV(new_mutantcolor)
if(new_mutantcolor == "#000000")
if(new_mutantcolor == COLOR_BLACK)
features["mcolor"] = pref_species.default_color
update_preview_icon()
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV(COLOR_NEARLY_BLACK)[3]) // mutantcolors must be bright, but only if they affect the skin
features["mcolor"] = sanitize_hexcolor(new_mutantcolor)
update_preview_icon()
else
@@ -2043,10 +2043,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/new_mutantcolor = input(user, "Choose your character's secondary alien/mutant color:", "Character Preference") as color|null
if(new_mutantcolor)
var/temp_hsv = RGBtoHSV(new_mutantcolor)
if(new_mutantcolor == "#000000")
if(new_mutantcolor == COLOR_BLACK)
features["mcolor2"] = pref_species.default_color
update_preview_icon()
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV(COLOR_NEARLY_BLACK)[3]) // mutantcolors must be bright, but only if they affect the skin
features["mcolor2"] = sanitize_hexcolor(new_mutantcolor)
update_preview_icon()
else
@@ -2056,10 +2056,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/new_mutantcolor = input(user, "Choose your character's tertiary alien/mutant color:", "Character Preference") as color|null
if(new_mutantcolor)
var/temp_hsv = RGBtoHSV(new_mutantcolor)
if(new_mutantcolor == "#000000")
if(new_mutantcolor == COLOR_BLACK)
features["mcolor3"] = pref_species.default_color
update_preview_icon()
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV(COLOR_NEARLY_BLACK)[3]) // mutantcolors must be bright, but only if they affect the skin
features["mcolor3"] = sanitize_hexcolor(new_mutantcolor)
update_preview_icon()
else
@@ -2186,7 +2186,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if("wings_color")
var/new_wing_color = input(user, "Choose your character's wing colour:", "Character Preference","#"+wing_color) as color|null
if(new_wing_color)
if (new_wing_color == "#000000")
if (new_wing_color == COLOR_BLACK)
wing_color = "#FFFFFF"
else
wing_color = sanitize_hexcolor(new_wing_color)
@@ -2422,9 +2422,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/new_cockcolor = input(user, "Penis color:", "Character Preference") as color|null
if(new_cockcolor)
var/temp_hsv = RGBtoHSV(new_cockcolor)
if(new_cockcolor == "#000000")
if(new_cockcolor == COLOR_BLACK)
features["cock_color"] = pref_species.default_color
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3])
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV(COLOR_NEARLY_BLACK)[3])
features["cock_color"] = sanitize_hexcolor(new_cockcolor)
else
to_chat(user,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
@@ -2454,9 +2454,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/new_ballscolor = input(user, "Testicle Color:", "Character Preference") as color|null
if(new_ballscolor)
var/temp_hsv = RGBtoHSV(new_ballscolor)
if(new_ballscolor == "#000000")
if(new_ballscolor == COLOR_BLACK)
features["balls_color"] = pref_species.default_color
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3])
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV(COLOR_NEARLY_BLACK)[3])
features["balls_color"] = sanitize_hexcolor(new_ballscolor)
else
to_chat(user,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
@@ -2465,9 +2465,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/new_bellycolor = input(user, "Belly Color:", "Character Preference") as color|null
if(new_bellycolor)
var/temp_hsv = RGBtoHSV(new_bellycolor)
if(new_bellycolor == "#000000")
if(new_bellycolor == COLOR_BLACK)
features["belly_color"] = pref_species.default_color
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3])
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV(COLOR_NEARLY_BLACK)[3])
features["belly_color"] = sanitize_hexcolor(new_bellycolor)
else
to_chat(user,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
@@ -2476,9 +2476,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/new_buttcolor = input(user, "Butt Color:", "Character Preference") as color|null
if(new_buttcolor)
var/temp_hsv = RGBtoHSV(new_buttcolor)
if(new_buttcolor == "#000000")
if(new_buttcolor == COLOR_BLACK)
features["butt_color"] = pref_species.default_color
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3])
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV(COLOR_NEARLY_BLACK)[3])
features["butt_color"] = sanitize_hexcolor(new_buttcolor)
else
to_chat(user,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
@@ -2515,7 +2515,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/new_egg_color = input(user, "Egg Color:", "Character Preference") as color|null
if(new_egg_color)
var/temp_hsv = RGBtoHSV(new_egg_color)
if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3])
if(ReadHSV(temp_hsv)[3] >= ReadHSV(COLOR_NEARLY_BLACK)[3])
features["eggsack_egg_color"] = sanitize_hexcolor(new_egg_color)
else
to_chat(user,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
@@ -2551,9 +2551,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/new_breasts_color = input(user, "Breast Color:", "Character Preference") as color|null
if(new_breasts_color)
var/temp_hsv = RGBtoHSV(new_breasts_color)
if(new_breasts_color == "#000000")
if(new_breasts_color == COLOR_BLACK)
features["breasts_color"] = pref_species.default_color
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3])
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV(COLOR_NEARLY_BLACK)[3])
features["breasts_color"] = sanitize_hexcolor(new_breasts_color)
else
to_chat(user,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
@@ -2579,9 +2579,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/new_vagcolor = input(user, "Vagina color:", "Character Preference") as color|null
if(new_vagcolor)
var/temp_hsv = RGBtoHSV(new_vagcolor)
if(new_vagcolor == "#000000")
if(new_vagcolor == COLOR_BLACK)
features["vag_color"] = pref_species.default_color
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3])
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV(COLOR_NEARLY_BLACK)[3])
features["vag_color"] = sanitize_hexcolor(new_vagcolor)
else
to_chat(user,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
+1 -1
View File
@@ -52,7 +52,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
if(current_version < 19)
pda_style = "mono"
if(current_version < 20)
pda_color = "#808000"
pda_color = COLOR_OLIVE
if(current_version < 22)
if(features["balls_fluid"])
features["balls_fluid"] = /datum/reagent/consumable/semen
+8 -8
View File
@@ -3,16 +3,16 @@
desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight."
icon_state = "hardhat0_yellow"
item_state = "hardhat0_yellow"
var/brightness_on = 4 //luminosity when on
light_color = "#FFCC66"
var/power_on = 0.8
var/on = FALSE
light_color = COLOR_CREAMY_ORANGE
item_color = "yellow" //Determines used sprites: hardhat[on]_[item_color] and hardhat[on]_[item_color]2 (lying down sprite)
armor = list("melee" = 15, "bullet" = 5, "laser" = 20,"energy" = 10, "bomb" = 20, "bio" = 10, "rad" = 20, "fire" = 100, "acid" = 50)
flags_inv = 0
actions_types = list(/datum/action/item_action/toggle_helmet_light)
resistance_flags = FIRE_PROOF
dynamic_hair_suffix = "+generic"
light_on = FALSE
var/brightness_on = 4 //luminosity when on
var/power_on = 0.8
dog_fashion = /datum/dog_fashion/head
@@ -20,16 +20,16 @@
toggle_helmet_light(user)
/obj/item/clothing/head/hardhat/proc/toggle_helmet_light(mob/living/user)
on = !on
if(on)
set_light_on(!light_on)
if(light_on)
turn_on(user)
else
turn_off(user)
update_icon()
/obj/item/clothing/head/hardhat/update_icon()
icon_state = "hardhat[on]_[item_color]"
item_state = "hardhat[on]_[item_color]"
icon_state = "hardhat[light_on]_[item_color]"
item_state = "hardhat[light_on]_[item_color]"
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
H.update_inv_head()
+1 -1
View File
@@ -77,7 +77,7 @@
STOP_PROCESSING(SSobj, src)
/obj/item/clothing/head/hardhat/cakehat/is_hot()
return on * heat
return light_on * heat
/*
* Ushanka
*/
+2 -3
View File
@@ -939,9 +939,8 @@
var/energy_color = "#35FFF0"
/obj/item/clothing/suit/space/hardsuit/lavaknight/Initialize()
..()
light_color = energy_color
set_light(1)
. = ..()
set_light(l_range=1, l_color = energy_color)
update_icon()
/obj/item/clothing/suit/space/hardsuit/lavaknight/update_icon()
@@ -48,7 +48,7 @@
var/brightness_on = 4 //luminosity when the light is on
var/on = FALSE
var/smile = FALSE
var/smile_color = "#FF0000"
var/smile_color = COLOR_RED
var/visor_icon = "envisor"
var/smile_state = "envirohelm_smile"
actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_welding_screen/plasmaman)
@@ -28,46 +28,6 @@
allowed = list (/obj/item/gun/energy/laser/redtag)
resistance_flags = NONE
/*
* Posshim's Corpus atire
*/
/obj/item/clothing/suit/hooded/corpus/
name = "Standard Voidsuit"
desc = "Standard issue voidsuit in the name of Grofit!"
icon_state = "corpus"
item_state = "armor"
body_parts_covered = CHEST|GROIN|LEGS|ARMS|FEET|HANDS
hoodtype = /obj/item/clothing/head/hooded/corpus
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT //"Hide shoes" but digi shoes dont get hidden, too bad!
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
mutantrace_variation = NO_MUTANTRACE_VARIATION //There is no need for a digi variant, it's a costume
/obj/item/clothing/suit/hooded/corpus/s //sec
name = "Enforcer Voidsuit"
desc = "Delux issue grofit voidsuit. Let the middle class know You're in charge."
icon_state = "corpuss"
hoodtype = /obj/item/clothing/head/hooded/corpus/s //Enjoy this nice red outfit Kinaris! There is NO NEED for a pink one! xoxo -VivI Fanteriso
/obj/item/clothing/suit/hooded/corpus/c //command
name = "Commander Voidsuit"
desc = "Premium issue correctional worker attire. Grease the gears of production."
icon_state = "corpusc"
hoodtype = /obj/item/clothing/head/hooded/corpus/c
/obj/item/clothing/head/hooded/corpus
name = "Voidsuit helmet"
desc = "galvanized reinforced helm to protect against the elements"
icon_state = "corpus"
body_parts_covered = HEAD
flags_inv = HIDEHAIR|HIDEEARS|HIDEFACIALHAIR|HIDEFACE|HIDEMASK|HIDESNOUT|HIDENECK //hide your ugly face with this one simple trick!
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
/obj/item/clothing/head/hooded/corpus/s //sec
icon_state = "corpuss"
/obj/item/clothing/head/hooded/corpus/c //command
icon_state = "corpusc"
/*
* Costume
*/
+1 -1
View File
@@ -14,7 +14,7 @@
announceWhen = 30
startWhen = 1
endWhen = 115
var/list/aurora_colors = list("#ffc8bc", "#ed927f", "#d5745f", "#bf3a1d", "#c71414", "#FF3131", "#ee0808", "#ff0000")
var/list/aurora_colors = list("#ffc8bc", "#ed927f", "#d5745f", "#bf3a1d", "#c71414", "#FF3131", "#ee0808", COLOR_RED)
var/aurora_progress = 0 //this cycles from 1 to 8, slowly grading towards a bright red
var/list/areasToFlicker = list(/area/hallway,
/area/security,
+1 -1
View File
@@ -15,7 +15,7 @@
announceWhen = 1
startWhen = 8 //Delayed with sleep()
endWhen = 50
var/list/aurora_colors = list("#ffd980", "#eaff80", "#eaff80", "#ffd980", "#eaff80", "#A2FFC7", "#9400D3", "#FFC0CB")
var/list/aurora_colors = list("#ffd980", "#eaff80", "#eaff80", "#ffd980", "#eaff80", "#A2FFC7", "#9400D3", COLOR_PINK)
var/aurora_progress = 0 //this cycles from 1 to 8, slowly changing colors from gentle green to gentle blue
var/list/applicable_areas = list()
+1 -1
View File
@@ -178,7 +178,7 @@
shuttleId = "pirateship"
icon_screen = "syndishuttle"
icon_keyboard = "syndie_key"
light_color = LIGHT_COLOR_RED
light_color = COLOR_SOFT_RED
possible_destinations = "pirateship_away;pirateship_home;pirateship_custom"
/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate
+1 -1
View File
@@ -64,7 +64,7 @@
/datum/round_event/portal_storm/setup()
storm = mutable_appearance('icons/obj/tesla_engine/energy_ball.dmi', "energy_ball_fast", FLY_LAYER)
storm.color = "#00FF00"
storm.color = COLOR_GREEN
number_of_bosses = 0
for(var/boss in boss_types)
+4 -4
View File
@@ -74,7 +74,7 @@
/datum/spacevine_mutation/light
name = "light"
hue = "#ffff00"
hue = COLOR_YELLOW
quality = POSITIVE
severity = 4
@@ -84,7 +84,7 @@
/datum/spacevine_mutation/toxicity
name = "toxic"
hue = "#ff00ff"
hue = COLOR_MAGENTA
severity = 10
quality = NEGATIVE
@@ -101,7 +101,7 @@
/datum/spacevine_mutation/explosive //OH SHIT IT CAN CHAINREACT RUN!!!
name = "explosive"
hue = "#ff0000"
hue = COLOR_RED
quality = NEGATIVE
severity = 2
@@ -192,7 +192,7 @@
/datum/spacevine_mutation/carbondioxide_eater
name = "CO2 consuming"
hue = "#00ffff"
hue = COLOR_CYAN
severity = 3
quality = POSITIVE
+4 -4
View File
@@ -47,14 +47,14 @@
last_holder = user
if(!(user in color_altered_mobs))
color_altered_mobs += user
user.add_atom_colour("#00FF00", ADMIN_COLOUR_PRIORITY)
user.add_atom_colour(COLOR_GREEN, ADMIN_COLOUR_PRIORITY)
START_PROCESSING(SSobj, src)
..()
/obj/item/greentext/dropped(mob/living/user as mob)
if(user in color_altered_mobs)
to_chat(user, "<span class='warning'>A sudden wave of failure washes over you...</span>")
user.add_atom_colour("#FF0000", ADMIN_COLOUR_PRIORITY) //ya blew it
user.add_atom_colour(COLOR_RED, ADMIN_COLOUR_PRIORITY) //ya blew it
last_holder = null
new_holder = null
STOP_PROCESSING(SSobj, src)
@@ -75,7 +75,7 @@
/obj/item/greentext/process()
if(last_holder && last_holder != new_holder) //Somehow it was swiped without ever getting dropped
to_chat(last_holder, "<span class='warning'>A sudden wave of failure washes over you...</span>")
last_holder.add_atom_colour("#FF0000", ADMIN_COLOUR_PRIORITY)
last_holder.add_atom_colour(COLOR_RED, ADMIN_COLOUR_PRIORITY)
last_holder = new_holder //long live the king
/obj/item/greentext/Destroy(force)
@@ -89,7 +89,7 @@
var/message = "<span class='warning'>A dark temptation has passed from this world"
if(M in color_altered_mobs)
message += " and you're finally able to forgive yourself"
if(M.color == "#FF0000" || M.color == "#00FF00")
if(M.color == COLOR_RED || M.color == COLOR_GREEN)
M.remove_atom_colour(ADMIN_COLOUR_PRIORITY)
message += "...</span>"
// can't skip the mob check as it also does the decolouring
+1 -1
View File
@@ -47,7 +47,7 @@
/mob/living/simple_animal/hostile/carp/ranged/chaos
name = "chaos magicarp"
desc = "50% carp, 100% magic, 150% horrible."
color = "#00FFFF"
color = COLOR_CYAN
maxHealth = 75
health = 75
@@ -103,8 +103,8 @@
/obj/item/reagent_containers/food/snacks/customizable/update_snack_overlays(obj/item/reagent_containers/food/snacks/S)
var/mutable_appearance/filling = mutable_appearance(icon, "[initial(icon_state)]_filling")
if(S.filling_color == "#FFFFFF")
filling.color = pick("#FF0000","#0000FF","#008000","#FFFF00")
if(S.filling_color == COLOR_WHITE)
filling.color = pick(COLOR_RED, COLOR_BLUE, COLOR_DARK_GREEN, COLOR_YELLOW)
else
filling.color = S.filling_color
+1 -1
View File
@@ -273,7 +273,7 @@ All foods are distributed among various categories. Use common sense.
cut_overlays()
var/mutable_appearance/filling = mutable_appearance(icon, "[initial(icon_state)]_filling")
if(S.filling_color == "#FFFFFF")
filling.color = pick("#FF0000","#0000FF","#008000","#FFFF00")
filling.color = pick(COLOR_RED, COLOR_BLUE, COLOR_DARK_GREEN, COLOR_YELLOW)
else
filling.color = S.filling_color
@@ -12,7 +12,7 @@
cooked_type = /obj/item/reagent_containers/food/snacks/meat/steak/plain
slice_path = /obj/item/reagent_containers/food/snacks/meat/rawcutlet/plain
slices_num = 3
filling_color = "#FF0000"
filling_color = COLOR_RED
tastes = list("meat" = 1)
foodtype = MEAT | RAW
@@ -90,7 +90,7 @@
icon_state = "slimemeat"
desc = "Because jello wasn't offensive enough to vegans."
list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/toxin/slimejelly = 3)
filling_color = "#00FFFF"
filling_color = COLOR_CYAN
tastes = list("slime" = 1, "jelly" = 1)
foodtype = MEAT | RAW | TOXIC
@@ -125,7 +125,7 @@
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/shadow
icon_state = "shadowmeat"
desc = "Ow, the edge."
filling_color = "#202020"
filling_color = COLOR_NEARLY_BLACK
tastes = list("darkness" = 1, "meat" = 1)
foodtype = MEAT | RAW
@@ -147,7 +147,7 @@
name = "bone"
icon_state = "skeletonmeat"
desc = "There's a point where this needs to stop, and clearly we have passed it."
filling_color = "#F0F0F0"
filling_color = COLOR_VERY_VERY_LIGHT_GRAY
tastes = list("bone" = 1)
slice_path = null //can't slice a bone into cutlets
foodtype = GROSS
@@ -167,7 +167,7 @@
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/ipc
icon_state = "ipcmeat"
desc = "Gross robot meat."
filling_color = "#000000"
filling_color = COLOR_BLACK
tastes = list("metal" = 1)
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/avian
@@ -218,7 +218,7 @@
desc = "A slice from a huge tomato."
icon_state = "tomatomeat"
list_reagents = list(/datum/reagent/consumable/nutriment = 2)
filling_color = "#FF0000"
filling_color = COLOR_RED
cooked_type = /obj/item/reagent_containers/food/snacks/meat/steak/killertomato
slice_path = /obj/item/reagent_containers/food/snacks/meat/rawcutlet/killertomato
tastes = list("tomato" = 1)
@@ -241,7 +241,7 @@
icon_state = "xenomeat"
list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 1)
bitesize = 4
filling_color = "#32CD32"
filling_color = COLOR_LIME
cooked_type = /obj/item/reagent_containers/food/snacks/meat/steak/xeno
slice_path = /obj/item/reagent_containers/food/snacks/meat/rawcutlet/xeno
tastes = list("meat" = 1, "acid" = 1)
@@ -72,7 +72,7 @@
name = "xenomeatbread slice"
desc = "A slice of delicious meatbread. Extra Heretical."
icon_state = "xenobreadslice"
filling_color = "#32CD32"
filling_color = COLOR_LIME
list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 1)
foodtype = GRAIN | MEAT
@@ -125,7 +125,7 @@
name = "lime cake slice"
desc = "Just a slice of cake, it is enough for everyone."
icon_state = "limecake_slice"
filling_color = "#00FF00"
filling_color = COLOR_GREEN
tastes = list("cake" = 5, "sweetness" = 2, "unbearable sourness" = 2)
foodtype = GRAIN | DAIRY | FRUIT | SUGAR | ANTITOXIC
@@ -222,7 +222,7 @@
name = "slime cake slice"
desc = "A slice of slime cake."
icon_state = "slimecake_slice"
filling_color = "#00FFFF"
filling_color = COLOR_CYAN
tastes = list("cake" = 5, "sweetness" = 1, "slime" = 1)
foodtype = GRAIN | DAIRY | SUGAR
@@ -290,7 +290,7 @@
name = "angel food cake slice"
desc = "A slice of heavenly cake."
icon_state = "holy_cake_slice"
filling_color = "#00FFFF"
filling_color = COLOR_CYAN
tastes = list("cake" = 5, "sweetness" = 1, "clouds" = 1)
foodtype = GRAIN | DAIRY | SUGAR
@@ -308,7 +308,7 @@ obj/item/reagent_containers/food/snacks/store/cake/pound_cake
name = "pound cake slice"
desc = "A slice of condensed cake made for filling people up quickly."
icon_state = "pound_cake_slice"
filling_color = "#00FFFF"
filling_color = COLOR_CYAN
tastes = list("cake" = 5, "sweetness" = 5, "batter" = 1)
foodtype = GRAIN | DAIRY | SUGAR | JUNKFOOD
@@ -325,7 +325,7 @@ obj/item/reagent_containers/food/snacks/store/cake/pound_cake
name = "hardware cake slice"
desc = "A slice of electronic boards and some acid."
icon_state = "hardware_cake_slice"
filling_color = "#00FFFF"
filling_color = COLOR_CYAN
tastes = list("acid" = 1, "metal" = 1, "regret" = 10)
foodtype = GRAIN | GROSS
@@ -342,7 +342,7 @@ obj/item/reagent_containers/food/snacks/store/cake/pound_cake
name = "vanilla cake slice"
desc = "A slice of vanilla frosted cake."
icon_state = "vanillacake_slice"
filling_color = "#00FFFF"
filling_color = COLOR_CYAN
tastes = list("cake" = 1, "sugar" = 1, "vanilla" = 10)
foodtype = GRAIN | SUGAR | DAIRY
@@ -359,7 +359,7 @@ obj/item/reagent_containers/food/snacks/store/cake/pound_cake
name = "clown cake slice"
desc = "A slice of bad jokes, and silly props."
icon_state = "clowncake_slice"
filling_color = "#00FFFF"
filling_color = COLOR_CYAN
tastes = list("cake" = 1, "sugar" = 1, "joy" = 10)
foodtype = GRAIN | SUGAR | DAIRY
@@ -376,7 +376,7 @@ obj/item/reagent_containers/food/snacks/store/cake/pound_cake
name = "peach cake slice"
desc = "A slice of peach cake."
icon_state = "peach_slice"
filling_color = "#00FFFF"
filling_color = COLOR_CYAN
tastes = list("cake" = 1, "sugar" = 1, "peachjuice" = 10)
foodtype = GRAIN | SUGAR | DAIRY
@@ -108,7 +108,7 @@
icon_state = "spiderleg"
list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/toxin = 2)
cooked_type = /obj/item/reagent_containers/food/snacks/boiledspiderleg
filling_color = "#000000"
filling_color = COLOR_BLACK
tastes = list("cobwebs" = 1)
foodtype = MEAT | TOXIC
@@ -137,7 +137,7 @@
desc = "A ball of meat."
icon_state = "meatball"
list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 1)
filling_color = "#800000"
filling_color = COLOR_RED
tastes = list("meat" = 1)
foodtype = MEAT
@@ -207,7 +207,7 @@
icon_state = "khinkali"
list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 2)
bitesize = 3
filling_color = "#F0F0F0"
filling_color = COLOR_VERY_VERY_LIGHT_GRAY
tastes = list("meat" = 1, "onions" = 1, "garlic" = 1)
foodtype = MEAT
@@ -274,7 +274,7 @@
trash = /obj/item/trash/plate
bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/capsaicin = 2, /datum/reagent/consumable/nutriment/vitamin = 2)
list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/capsaicin = 2)
filling_color = "#000000"
filling_color = COLOR_BLACK
tastes = list("hot peppers" = 1, "cobwebs" = 1)
foodtype = MEAT
@@ -320,7 +320,7 @@
icon_state = "pigblanket"
list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 1)
bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1)
filling_color = "#800000"
filling_color = COLOR_RED
tastes = list("meat" = 1, "butter" = 1)
/obj/item/reagent_containers/food/snacks/kebab/rat
@@ -176,7 +176,7 @@
bitesize = 1
trash = /obj/item/trash/plate
list_reagents = list(/datum/reagent/toxin/minttoxin = 2)
filling_color = "#800000"
filling_color = COLOR_RED
foodtype = TOXIC | SUGAR
/obj/item/reagent_containers/food/snacks/eggwrap
@@ -204,7 +204,7 @@
desc = "A cluster of juicy spider eggs. A great side dish for when you care not for your health."
icon_state = "spidereggs"
list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/toxin = 2)
filling_color = "#008000"
filling_color = COLOR_DARK_GREEN
tastes = list("cobwebs" = 1)
foodtype = MEAT | TOXIC
@@ -232,7 +232,7 @@
icon = 'modular_citadel/icons/obj/food/food.dmi'
icon_state = "sushie_egg"
list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 2)
filling_color = "#FF3333" // R225 G051 B051
filling_color = COLOR_RED_LIGHT // R225 G051 B051
tastes = list("seaweed" = 1, "cobwebs" = 1, "salty" = 2)
foodtype = MEAT | VEGETABLES
@@ -580,7 +580,7 @@
desc = "The food of choice for the seasoned botanist."
icon_state = "dankpocket"
list_reagents = list(/datum/reagent/toxin/lipolicide = 3, /datum/reagent/drug/space_drugs = 3, /datum/reagent/consumable/nutriment = 4)
filling_color = "#00FF00"
filling_color = COLOR_GREEN
tastes = list("meat" = 2, "dough" = 2)
foodtype = GRAIN | VEGETABLES
@@ -71,7 +71,7 @@
icon = 'modular_citadel/icons/obj/food/food.dmi'
icon_state = "sushie_egg"
list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 2)
filling_color = "#FF3333" // R225 G051 B051
filling_color = COLOR_RED_LIGHT // R225 G051 B051
tastes = list("seaweed" = 1, "salty" = 2)
foodtype = MEAT | VEGETABLES

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